rubygem-bundler/rubygem-bundler.spec
2022-06-17 06:43:10 +00:00

142 lines
4.2 KiB
RPMSpec

%global gem_name bundler
%bcond_with tests
%global fileutils_version 0.7.2
%global molinillo_version 0.7.0
%global net_http_persistent_version 4.0.0
%global thor_version 1.1.0
Name: rubygem-%{gem_name}
Version: 2.2.33
Release: 1
Summary: Library and utilities to manage a Ruby application's gem dependencies
License: MIT
URL: http://bundler.io
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
Source1: https://github.com/rubygems/rubygems/archive/refs/tags/%{gem_name}-v%{version}.tar.gz
BuildArch: noarch
Requires: rubygem(io-console)
BuildRequires: ruby(release) rubygems-devel ruby
%if %{with tests}
BuildRequires: ruby-devel rubygem(rspec) >= 3.0 git %{_bindir}/ps
%endif
Provides: bundled(rubygem-fileutils) = %{fileutils_version}
Provides: bundled(rubygem-molinillo) = %{molinillo_version}
Provides: bundled(rubygem-net-http-persisntent) = %{net_http_persistent_version}
Provides: bundled(rubygem-thor) = %{thor_version}
%description
Bundler manages an application's dependencies through its entire life, across
many machines, systematically and repeatably.
%package help
Summary: %{name} documentation
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
Provides: %{name}-doc = %{version}-%{release}
Obsoletes: %{name}-doc < %{version}-%{release}
%description help
This package provides help documents for %{name}.
%prep
%autosetup -c -T -n %{name}
%gem_install -n %{SOURCE0}
%build
%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* %{buildroot}%{gem_dir}/
mkdir -p %{buildroot}%{_bindir}
cp -a .%{_bindir}/* %{buildroot}%{_bindir}/
find %{buildroot}%{gem_instdir}/exe -type f | xargs chmod a+x
chmod a-x %{buildroot}%{gem_libdir}/bundler/templates/Executable
for n in 5 1; do
mkdir -p %{buildroot}%{_mandir}/man${n}
for file in %{buildroot}%{gem_instdir}/lib/bundler/man/*.${n}; do
base_name=$(basename "${file}")
cp -a "${file}" "%{buildroot}%{_mandir}/man${n}/${base_name}"
done
done
%check
pushd .%{gem_instdir}
[ `ls lib/bundler/vendor | wc -l` == 8 ]
ruby -e '
module Bundler; end
require "./lib/bundler/vendor/fileutils/lib/fileutils.rb"'
[ `ruby -e '
module Bundler; end
require "./lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata"
puts Bundler::Molinillo::VERSION'` == '%{molinillo_version}' ]
[ `ruby -Ilib -e '
module Bundler; module Persistent; module Net; module HTTP; end; end; end; end
require "./lib/bundler/vendor/net-http-persistent/lib/net/http/persistent"
puts Bundler::Persistent::Net::HTTP::Persistent::VERSION'` == '%{net_http_persistent_version}' ]
[ `ruby -e '
module Bundler; end
require "./lib/bundler/vendor/thor/lib/thor/version"
puts Bundler::Thor::VERSION'` == '%{thor_version}' ]
%if %{with tests}
tar xzvf %{SOURCE1}
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
sed -i '/^ context "with color" do$/,/^ end$/ s/^/#/' \
spec/bundler/source_spec.rb
sed -i '/^ it "like a normally executed executable" do$/,/^ end$/ s/^/#/' \
spec/commands/exec_spec.rb
sed -i '/^ context "given a default gem shippped in ruby" do$/,/^ end$/ s/^/#/' \
spec/commands/info_spec.rb
mkdir -p %{_builddir}/rubygems/rubygems/defaults/
touch %{_builddir}/rubygems/rubygems/defaults/operating_system.rb
RUBYOPT=-I%{_builddir}/rubygems GEM_PATH=%{gem_dir} rspec -rspec_helper spec -f d
%endif
popd
%files
%dir %{gem_instdir}
%{_bindir}/bundle
%{_bindir}/bundler
%exclude %{gem_instdir}/.*
%exclude %{gem_libdir}/bundler/ssl_certs/index.rubygems.org
%exclude %{gem_libdir}/bundler/ssl_certs/rubygems.global.ssl.fastly.net
%exclude %{gem_libdir}/bundler/ssl_certs/rubygems.org
%exclude %{gem_libdir}/bundler/ssl_certs/.document
%license %{gem_instdir}/LICENSE.md
%exclude %{gem_instdir}/bundler.gemspec
%{gem_instdir}/exe
%{gem_libdir}
%exclude %{gem_instdir}/lib/bundler/man/*.ronn
%exclude %{gem_cache}
%{gem_spec}
%files help
%doc %{gem_instdir}/lib/bundler/man
%doc %{gem_docdir}
%doc %{gem_instdir}/CHANGELOG.md
%doc %{gem_instdir}/README.md
%doc %{_mandir}/man1/*
%doc %{_mandir}/man5/*
%changelog
* Wed Dec 29 2021 houyingchao <houyingchao@huawei.com> - 2.2.33-1
- Upgrade to 2.2.33
- Fix CVE-2021-43809
* Tue Jun 8 2021 zhaomengchao <zhaomengchao3@huawei.com> - 2.2.19-1
* Upgrade to 2.2.19
* Thu Feb 06 2020 openEuler Buildteam <buildteam@openeuler.org> - 1.61.1-5
* Package init