From 6cdbb78865eb56a389f29c14f08e4f468be82d9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 28 Aug 2014 12:24:16 +0200 Subject: [PATCH] List RubyGems directories and extract test-unit and power_assert into sub-packages. - Explicitly list RubyGems directories to avoid accidentaly packaged content. - Split test-unit and power_assert gems into separate sub-packages. --- ruby.spec | 82 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 63 insertions(+), 19 deletions(-) diff --git a/ruby.spec b/ruby.spec index fe406a2..4efb7ff 100644 --- a/ruby.spec +++ b/ruby.spec @@ -38,9 +38,11 @@ %global io_console_version 0.4.2 %global json_version 1.8.1 %global minitest_version 5.4.0 +%global power_assert_version 0.1.3 %global psych_version 2.0.5 %global rake_version 10.3.2 %global rdoc_version 4.1.0 +%global test_unit_version 3.0.0 # Might not be needed in the future, if we are lucky enough. # https://bugzilla.redhat.com/show_bug.cgi?id=888262 @@ -325,6 +327,22 @@ minitest/pride shows pride in testing and adds coloring to your test output. +# The Summary/Description fields are rather poor. +# https://github.com/k-tsj/power_assert/issues/3 +%package -n rubygem-power_assert +Summary: Power Assert for Ruby +Version: %{power_assert_version} +Group: Development/Libraries +License: Ruby or BSD +Requires: ruby(release) +Requires: ruby(rubygems) >= %{rubygems_version} +Provides: rubygem(power_assert) = %{version}-%{release} +BuildArch: noarch + +%description -n rubygem-power_assert +Power Assert for Ruby. + + %package -n rubygem-psych Summary: A libyaml wrapper for Ruby Version: %{psych_version} @@ -341,6 +359,26 @@ capabilities. In addition to wrapping libyaml, Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. +# The Summary/Description fields are rather poor. +# https://github.com/test-unit/test-unit/issues/73 +%package -n rubygem-test-unit +Summary: Improved version of Test::Unit bundled in Ruby 1.8.x +Version: %{test_unit_version} +Group: Development/Libraries +# lib/test/unit/diff.rb is a double license of the Ruby license and PSF license. +# lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later. +License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+) +Requires: ruby(release) +Requires: ruby(rubygems) >= %{rubygems_version} +Provides: rubygem(test-unit) = %{version}-%{release} +BuildArch: noarch + +%description -n rubygem-test-unit +Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit +bundled in Ruby 1.8.x had not been improved but unbundled +Test::Unit (test-unit) is improved actively. + + %package tcltk Summary: Tcl/Tk interface for scripting language Ruby Group: Development/Languages @@ -513,9 +551,6 @@ sed -i '/^end$/ i\ s.require_paths = ["lib"]\ s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' %{buildroot}%{gem_dir}/specifications/json-%{json_version}.gemspec -sed -i '/^end$/ i\ - s.require_paths = ["lib"]' %{buildroot}%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec - # Install a tapset and fix up the path to the library. mkdir -p %{buildroot}%{tapset_dir} sed -e "s|@LIBRARY_PATH@|%{tapset_libdir}/libruby.so.%{ruby_version}|" \ @@ -748,22 +783,21 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS" %files -n rubygems %{_bindir}/gem %{rubygems_dir} -%{gem_dir} -%exclude %{gem_dir}/gems/* -%{_exec_prefix}/lib*/gems -%exclude %{_exec_prefix}/lib*/gems/%{name}/bigdecimal-%{bigdecimal_version} -%exclude %{_exec_prefix}/lib*/gems/%{name}/io-console-%{io_console_version} -%exclude %{_exec_prefix}/lib*/gems/%{name}/json-%{json_version} -%exclude %{_exec_prefix}/lib*/gems/%{name}/psych-%{psych_version} -%exclude %{gem_dir}/gems/rake-%{rake_version} -%exclude %{gem_dir}/gems/rdoc-%{rdoc_version} -%exclude %{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec -%exclude %{gem_dir}/specifications/io-console-%{io_console_version}.gemspec -%exclude %{gem_dir}/specifications/json-%{json_version}.gemspec -%exclude %{gem_dir}/specifications/minitest-%{minitest_version}.gemspec -%exclude %{gem_dir}/specifications/rake-%{rake_version}.gemspec -%exclude %{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec -%exclude %{gem_dir}/specifications/psych-%{psych_version}.gemspec + +# Explicitly include only RubyGems directory strucure to avoid accidentally +# packaged content. +%dir %{gem_dir} +%dir %{gem_dir}/build_info +%dir %{gem_dir}/cache +%dir %{gem_dir}/doc +%dir %{gem_dir}/extensions +%dir %{gem_dir}/gems +%dir %{gem_dir}/specifications +%dir %{gem_dir}/specifications/default +%dir %{_exec_prefix}/lib*/gems +%dir %{_exec_prefix}/lib*/gems/ruby + +%exclude %{gem_dir}/cache/* %files -n rubygems-devel %{_rpmconfigdir}/macros.d/macros.rubygems @@ -821,6 +855,10 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS" %{gem_dir}/gems/minitest-%{minitest_version} %{gem_dir}/specifications/minitest-%{minitest_version}.gemspec +%files -n rubygem-power_assert +%{gem_dir}/gems/power_assert-%{power_assert_version} +%{gem_dir}/specifications/power_assert-%{power_assert_version}.gemspec + %files -n rubygem-psych %{ruby_vendorlibdir}/psych %{ruby_vendorlibdir}/psych.rb @@ -829,6 +867,10 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS" %{gem_dir}/gems/psych-%{psych_version} %{gem_dir}/specifications/psych-%{psych_version}.gemspec +%files -n rubygem-test-unit +%{gem_dir}/gems/test-unit-%{test_unit_version} +%{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec + %files tcltk %{ruby_libdir}/*-tk.rb %{ruby_libdir}/tcltk.rb @@ -841,6 +883,8 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS" %changelog * Wed Aug 27 2014 Vít Ondruch - 2.2.0-0.24.r47288 - Upgrade to Ruby 2.2.0 (r47288). +- Explicitly list RubyGems directories to avoid accidentaly packaged content. +- Split test-unit and power_assert gems into separate sub-packages. * Mon Aug 25 2014 Vít Ondruch - 2.1.2-24 - Use load macro introduced in RPM 4.12.