Pokorra, Gerd 66b598f
%global gem_name rack
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
Name: rubygem-%{gem_name}
aec92ba
Version: 2.2.4
Pokorra, Gerd 66b598f
Release: 1%{?dist}
Pokorra, Gerd 66b598f
Summary: a modular Ruby webserver interface
Pokorra, Gerd 66b598f
# lib/rack/show_{status,exceptions}.rb contains snippets from Django under BSD license.
Pokorra, Gerd 66b598f
License: MIT and BSD
Pokorra, Gerd 66b598f
URL: https://rack.github.io/
Pokorra, Gerd 66b598f
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
Pokorra, Gerd 66b598f
BuildRequires: ruby(release)
Pokorra, Gerd 66b598f
BuildRequires: rubygems-devel
Pokorra, Gerd 66b598f
BuildRequires: ruby >= 2.2.2
Pokorra, Gerd 66b598f
BuildArch: noarch
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%global __brp_mangle_shebangs_exclude_from ^%{gem_instdir}/test/cgi/test.ru$
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%description
Pokorra, Gerd 66b598f
Rack provides a minimal, modular and adaptable interface for developing
Pokorra, Gerd 66b598f
web applications in Ruby.  By wrapping HTTP requests and responses in
Pokorra, Gerd 66b598f
the simplest way possible, it unifies and distills the API for web
Pokorra, Gerd 66b598f
servers, web frameworks, and software in between (the so-called
Pokorra, Gerd 66b598f
middleware) into a single method call.
Pokorra, Gerd 66b598f
Also see https://rack.github.io/.
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%package doc
Pokorra, Gerd 66b598f
Summary: Documentation for %{name}
Pokorra, Gerd 66b598f
Requires: %{name} = %{version}-%{release}
Pokorra, Gerd 66b598f
BuildArch: noarch
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%description doc
Pokorra, Gerd 66b598f
Documentation for %{name}.
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%prep
Pokorra, Gerd 66b598f
%setup -q -n %{gem_name}-%{version}
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%build
Pokorra, Gerd 66b598f
# Create the gem as gem install only works on a gem file
Pokorra, Gerd 66b598f
gem build ../%{gem_name}-%{version}.gemspec
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
# %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir
Pokorra, Gerd 66b598f
# by default, so that we can move it into the buildroot in %%install
Pokorra, Gerd 66b598f
%gem_install
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%install
Pokorra, Gerd 66b598f
mkdir -p %{buildroot}%{gem_dir}
Pokorra, Gerd 66b598f
cp -a .%{gem_dir}/* \
Pokorra, Gerd 66b598f
        %{buildroot}%{gem_dir}/
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
mkdir -p %{buildroot}%{_bindir}
Pokorra, Gerd 66b598f
cp -a .%{_bindir}/* \
Pokorra, Gerd 66b598f
        %{buildroot}%{_bindir}/
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
Pokorra, Gerd 66b598f
find %{buildroot}%{gem_instdir}/{bin,test/cgi} -type f | \
Pokorra, Gerd 66b598f
  xargs sed -i 's|^#!/usr/bin/env ruby$|#!/usr/bin/ruby|'
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
# Fix anything executable that does not have a shebang
Pokorra, Gerd 66b598f
for file in `find %{buildroot}/%{gem_instdir} -type f -perm /a+x`; do
Pokorra, Gerd 66b598f
    [ -z "`head -n 1 $file | grep \"^#!/\"`" ] && chmod -v 644 $file
Pokorra, Gerd 66b598f
done
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
# Find files with a shebang that do not have executable permissions
Pokorra, Gerd 66b598f
for file in `find %{buildroot}%{gem_instdir} -type f`; do
Pokorra, Gerd 66b598f
    [ ! -z "`head -n 1 $file | grep \"^#!\"`" ] && chmod -v 755 $file
Pokorra, Gerd 66b598f
done
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%check
Pokorra, Gerd 66b598f
pushd .%{gem_instdir}
Pokorra, Gerd 66b598f
ruby -e 'Dir.glob "./test/**/*_test.rb", &method(:require)'
Pokorra, Gerd 66b598f
popd
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%files
Pokorra, Gerd 66b598f
%dir %{gem_instdir}
Pokorra, Gerd 66b598f
%{_bindir}/rackup
Pokorra, Gerd b9ec0b5
%license %{gem_instdir}/MIT-LICENSE
Pokorra, Gerd 66b598f
%{gem_instdir}/bin
Pokorra, Gerd 66b598f
%{gem_libdir}
Pokorra, Gerd 66b598f
%exclude %{gem_cache}
Pokorra, Gerd 66b598f
%{gem_spec}
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%files doc
Pokorra, Gerd 66b598f
%doc %{gem_docdir}
Pokorra, Gerd b9ec0b5
%doc %{gem_instdir}/CHANGELOG.md
Pokorra, Gerd 66b598f
%doc %{gem_instdir}/README.rdoc
Pokorra, Gerd b9ec0b5
%doc %{gem_instdir}/CONTRIBUTING.md
Pokorra, Gerd 66b598f
%doc %{gem_instdir}/contrib
Pokorra, Gerd 66b598f
%doc %{gem_instdir}/example
Pokorra, Gerd 66b598f
%{gem_instdir}/Rakefile
Pokorra, Gerd b9ec0b5
%{gem_instdir}/SPEC.rdoc
Pokorra, Gerd 66b598f
%{gem_instdir}/rack.gemspec
Pokorra, Gerd 66b598f
Pokorra, Gerd 66b598f
%changelog
aec92ba
* Wed Aug 31 2022 Troy Dawson <tdawson@redhat.com> - 2.2.4-1
aec92ba
- Update to Rack 2.2.4
aec92ba
  Resolves: rhbz#2099525
aec92ba
  Resolves: CVE-2022-30123
aec92ba
Pokorra, Gerd b9ec0b5
* Thu Jun 04 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> - 2.2.2-1
Pokorra, Gerd b9ec0b5
- Update to 2.2.2
Pokorra, Gerd b9ec0b5
Pokorra, Gerd 8ed0724
* Thu Jan 09 2020 Gerd Pokorra <gp@zimt.uni-siegen.de> - 2.0.8-1
Pokorra, Gerd 64c4f58
- Update to 2.0.8
Pokorra, Gerd 64c4f58
Pokorra, Gerd 66b598f
* Fri Nov 15 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> - 2.0.7-1
Pokorra, Gerd 66b598f
- Initial package for EPEL 8