rubygem-rack/rubygem-rack.spec

159 lines
4.2 KiB
RPMSpec
Raw Permalink Normal View History

2020-03-06 20:11:55 +08:00
%global gem_name rack
%bcond_with bootstrap
Name: rubygem-%{gem_name}
Version: 2.2.3.1
Epoch: 1
Release: 8
Summary: A modular Ruby webserver interface
License: MIT and BSD
URL: https://rack.github.io/
Source0: https://rubygems.org/downloads/%{gem_name}-%{version}.gem
2024-07-03 17:55:00 +08:00
Patch0: CVE-2024-39316.patch
Patch1: CVE-2024-26141.patch
Patch2: CVE-2024-26146.patch
Patch3: CVE-2024-25126.patch
Patch4: CVE-2022-44570.patch
Patch5: CVE-2022-44571.patch
Patch6: CVE-2022-44572.patch
Patch7: CVE-2025-27610.patch
Patch8: CVE-2025-27111.patch
Patch9: CVE-2025-25184.patch
2024-07-03 17:55:00 +08:00
BuildRequires: ruby(release) rubygems-devel ruby >= 2.2.2 rubygem(concurrent-ruby)
BuildRequires: memcached rubygem(memcache-client) rubygem(minitest)
BuildRequires: rubygem(memcache-client)
BuildRequires: rubygem(minitest)
%if ! %{with bootstrap}
BuildRequires: rubygem(thin)
%endif
BuildArch: noarch
%global __brp_mangle_shebangs_exclude_from ^%{gem_instdir}/test/cgi/test.ru$
2020-03-06 20:11:55 +08:00
%description
Rack provides a minimal, modular and adaptable interface for developing
web applications in Ruby. By wrapping HTTP requests and responses in
the simplest way possible, it unifies and distills the API for web
servers, web frameworks, and software in between (the so-called
middleware) into a single method call.
%package help
Summary: Documentation for %{name}
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: %{name}-doc = %{epoch}:%{version}-%{release}
Obsoletes: %{name}-doc < %{epoch}:%{version}-%{release}
BuildArch: noarch
%description help
Documentation for %{name}.
2020-03-06 20:11:55 +08:00
%prep
%autosetup -n %{gem_name}-%{version} -p1
2020-03-06 20:11:55 +08:00
%build
gem build ../%{gem_name}-%{version}.gemspec
%gem_install
2020-03-06 20:11:55 +08:00
%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/
mkdir -p %{buildroot}%{_bindir}
cp -a .%{_bindir}/* \
%{buildroot}%{_bindir}/
2020-03-06 20:11:55 +08:00
find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
find %{buildroot}%{gem_instdir}/{bin,test/cgi} -type f | \
xargs sed -i 's|^#!/usr/bin/env ruby$|#!/usr/bin/ruby|'
2020-03-06 20:11:55 +08:00
for file in `find %{buildroot}/%{gem_instdir} -type f -perm /a+x`; do
[ -z "`head -n 1 $file | grep \"^#!/\"`" ] && chmod -v 644 $file
2020-03-06 20:11:55 +08:00
done
for file in `find %{buildroot}%{gem_instdir} -type f`; do
[ ! -z "`head -n 1 $file | grep \"^#!\"`" ] && chmod -v 755 $file
2020-03-06 20:11:55 +08:00
done
%check
pushd .%{gem_instdir}
PID=%(mktemp)
memcached -d -u root -P "$PID"
LC_ALL=C.UTF-8 \
ruby -Ilib:test -e 'Dir.glob "./test/spec_*.rb", &method(:require)'
kill -TERM $(< "$PID")
popd
2020-03-06 20:11:55 +08:00
%files
%dir %{gem_instdir}
%{_bindir}/rackup
%license %{gem_instdir}/MIT-LICENSE
2020-03-06 20:11:55 +08:00
%{gem_libdir}
%{gem_instdir}/bin
%exclude %{gem_cache}
%{gem_spec}
2020-03-06 20:11:55 +08:00
%files help
2020-03-06 20:11:55 +08:00
%doc %{gem_docdir}
%doc %{gem_instdir}/CHANGELOG.md
2020-03-06 20:11:55 +08:00
%doc %{gem_instdir}/README.rdoc
%doc %{gem_instdir}/CONTRIBUTING.md
%doc %{gem_instdir}/SPEC.rdoc
2020-03-06 20:11:55 +08:00
%{gem_instdir}/Rakefile
%{gem_instdir}/%{gem_name}.gemspec
%doc %{gem_instdir}/example
%doc %{gem_instdir}/contrib
2020-03-06 20:11:55 +08:00
%changelog
* Tue Mar 18 2025 changtao <changtao@kylinos.cn> - 1:2.2.3.1-8
- Type:CVE
- CVE:CVE-2025-25184
- SUG:NA
- DESC:fix CVE-2025-25184
* Thu Mar 13 2025 changtao <changtao@kylinos.cn> - 1:2.2.3.1-7
- Type:CVE
- CVE:CVE-2025-27111
- SUG:NA
- DESC:fix CVE-2025-27111
* Wed Mar 12 2025 changtao <changtao@kylinos.cn> - 1:2.2.3.1-6
- Type:CVE
- CVE:CVE-2025-27610
- SUG:NA
- DESC:fix CVE-2025-27610
* Fri Jul 05 2024 zouzhimin <zouzhimin@kylinos.cn> - 1:2.2.3.1-5
- Type:CVES
- ID:CVE-2022-44570 CVE-2022-44571 CVE-2022-44572
- SUG:NA
- DESC:CVE-2022-44570 CVE-2022-44571 CVE-2022-44572
* Fri Jul 05 2024 zouzhimin <zouzhimin@kylinos.cn> - 1:2.2.3.1-4
- Type:CVES
- ID:CVE-2024-26141 CVE-2024-26146 CVE-2024-25126
- SUG:NA
- DESC:CVE-2024-26141 CVE-2024-26146 CVE-2024-25126
2024-07-03 17:55:00 +08:00
* Wed Jul 3 2024 liningjie <liningjie@xfusion.com> - 1:2.2.3.1-3
- Fix CVE-2024-39316
* Wed Apr 19 2023 sjxur <sjxur@isoftstone.com> - 1:2.2.3.1-2
- fix issue(I6UCVJ) for rubygem-rack build problem in openEuler:22.03:LTS:Next
* Tue Jun 28 2022 wangkai <wangkai385@h-partners.com> - 1:2.2.3.1-1
- Upgrade to 2.2.3.1 for fix CVE-2020-8184 CVE-2022-30122 CVE-2022-30123
* Mon Feb 8 2021 sunguoshuai<sunguoshuai@huawei.com>- 1:2.2.2-1
- Upgrade to 1:2.2.2
2020-09-17 12:51:08 +08:00
* Wed Sep 9 2020 Ge Wang <wangge20@huawei.com> - 1:2.0.4-2
- Modify Source0 Url
2020-03-06 20:11:55 +08:00
* Thu Mar 5 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:2.0.4-1
- Package init