[rubygems] And again rebuild 1.8.15 for f17-ruby

Mamoru Tasaka mtasaka at fedoraproject.org
Sun Jan 29 11:40:55 UTC 2012


commit 65f96b2709a3c434e5ffe1077ce796d0ccbdfb3d
Author: Mamoru Tasaka <tasaka1 at localhost.localdomain>
Date:   Sun Jan 29 20:40:51 2012 +0900

    And again rebuild 1.8.15 for f17-ruby

 rubygems.spec |  150 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 96 insertions(+), 54 deletions(-)
---
diff --git a/rubygems.spec b/rubygems.spec
index 08d19ad..6b600f9 100644
--- a/rubygems.spec
+++ b/rubygems.spec
@@ -1,12 +1,15 @@
 # Upstream git:
 # https://github.com/rubygems/rubygems.git
 #
-%global	gem_dir	%(ruby -rrbconfig -e 'puts File::expand_path(File::join(Config::CONFIG["sitedir"],"..","gems"))')
-%global	rb_ver		%(ruby -rrbconfig -e 'puts Config::CONFIG["ruby_version"]')
-%global	gem_home	%{gem_dir}/%{rb_ver}
-%global	ruby_sitelib	%(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')
 
-%global	repoid		75475
+# The RubyGems library has to stay out of Ruby directory three, since the
+# RubyGems should be share by all Ruby implementations.
+%global rubygems_dir %{_datadir}/rubygems
+
+# Specify custom RubyGems root and other related macros.
+%global gem_dir %{_datadir}/gems
+# TODO: Should we create arch specific rubygems-filesystem?
+%global gem_extdir %{_exec_prefix}/lib{,64}/gems
 
 # Executing testsuite (enabling %%check section) will cause dependency loop.
 # To avoid dependency loop when necessary, please set the following value to 0
@@ -14,14 +17,21 @@
 
 Summary:	The Ruby standard for packaging ruby libraries
 Name:		rubygems
-Version:	1.8.11
-Release:	2%{?dist}
+Version:	1.8.15
+Release:	2%{?dist}.1
 Group:		Development/Libraries
 License:	Ruby or MIT
 
-URL:		http://rubyforge.org/projects/rubygems/
-Source0:	http://rubyforge.org/frs/download.php/%{repoid}/rubygems-%{version}.tgz
-Patch0:		rubygems-1.8.5-noarch-gemdir.patch
+URL:		https://rubygems.org/
+Source0:	http://production.cf.rubygems.org/rubygems/%{name}-%{version}.tgz
+
+# Sources from the works by Vít Ondruch <vondruch at redhat.com>
+# Please keep Source100 and Patch{105,109} in sync with ruby.spec
+
+Source100:	operating_system.rb
+
+# Kill patch0 for ruby 1.9.x
+##Patch0:		rubygems-1.8.5-noarch-gemdir.patch
 # Will discuss upstream
 # https://github.com/rubygems/rubygems/issues/120
 # rubygems-Patches-28631
@@ -33,20 +43,30 @@ Patch3:		rubygems-1.8.5-show-rdoc-process-verbosely.patch
 # on 2011-10-01)
 Patch6:		rubygems-1.8.5-all-load-paths.patch
 
-Requires:	ruby(abi) = 1.8
-Requires:	ruby >= 1.8.7
-Requires:	ruby-rdoc
-BuildRequires:	ruby
-BuildRequires:	ruby-rdoc
+# Patches from the works by Vít Ondruch <vondruch at redhat.com>
+# Fix the uninstaller, so that it doesn't say that gem doesn't exist
+# when it exists outside of the GEM_HOME (already fixed in the upstream)
+Patch105:	ruby-1.9.3-rubygems-1.8.11-uninstaller.patch
+# Add support for installing binary extensions according to FHS.
+# https://github.com/rubygems/rubygems/issues/210
+Patch109:	rubygems-1.8.11-binary-extensions.patch
+
+
+Requires:	ruby(abi) = 1.9.1
+Requires:	rubygem(rdoc) >= 3.9.4
+Requires:	rubygem(io-console) >= 0.3
+BuildRequires:	ruby(abi) = 1.9.1
 %if %{enable_check}
 # For mkmf.rb
 BuildRequires:	ruby-devel
-BuildRequires:	rubygem(hoe)
 BuildRequires:	rubygem(minitest)
 BuildRequires:	rubygem(rake)
+BuildRequires:	rubygem(rdoc) >= 3.9.4
+BuildRequires:	rubygem(io-console) >= 0.3
 %endif
 BuildArch:	noarch
 Provides:	ruby(rubygems) = %{version}-%{release}
+Provides:   gem = %{version}-%{release}
 
 %description
 RubyGems is the Ruby standard for publishing and managing third party
@@ -64,10 +84,14 @@ Macros and development tools for packagin RubyGems.
 
 %prep
 %setup -q
-%patch0 -p1 -b .noarch
+#%%patch0 -p1 -b .noarch
+%if 1
 %patch1 -p1 -b .insync
 %patch3 -p1 -b .rdoc_v
 %patch6 -p1 -b .load_path
+%endif
+%patch105 -p1 -b .uninst
+%patch109 -p1 -b .bindir
 
 # Some of the library files start with #! which rpmlint doesn't like
 # and doesn't make much sense
@@ -75,79 +99,97 @@ for f in `find lib -name \*.rb` ; do
   head -1 $f | grep -q '^#!/usr/bin/env ruby' && sed -i -e '1d' $f
 done
 
-# Cleanups
-rm -rf rubygems-update-%{version}/
-
 %build
 # Nothing
 
 %install
-GEM_HOME=%{buildroot}/%{gem_home} \
-    ruby setup.rb --prefix=/ \
-        --no-rdoc --no-ri \
-        --destdir=%{buildroot}/%{ruby_sitelib}/
+GEM_HOME=%{buildroot}/%{gem_dir} \
+    ruby setup.rb --rdoc --prefix=/ \
+        --destdir=%{buildroot}/%{rubygems_dir}/
 
 mkdir -p %{buildroot}/%{_bindir}
-mv %{buildroot}/%{ruby_sitelib}/bin/gem %{buildroot}/%{_bindir}/gem
-rm -rf %{buildroot}/%{ruby_sitelib}/bin
-mv %{buildroot}/%{ruby_sitelib}/lib/* %{buildroot}/%{ruby_sitelib}/.
+mv %{buildroot}/%{rubygems_dir}/bin/gem %{buildroot}/%{_bindir}/gem
+rm -rf %{buildroot}/%{rubygems_dir}/bin
 
-# FIXME!!
-mkdir -p $RPM_BUILD_ROOT%{gem_home}/{cache,gems,specifications,doc}
+mv %{buildroot}/%{rubygems_dir}/lib/* %{buildroot}/%{rubygems_dir}/.
+# No longer needed
+rmdir %{buildroot}%{rubygems_dir}/lib
 
-# create macros.rubygems
+# Install custom operating_system.rb.
+mkdir -p %{buildroot}%{rubygems_dir}/rubygems/defaults
+install -cpm 0644 %{SOURCE100} %{buildroot}%{rubygems_dir}/rubygems/defaults/
+
+# Create gem folders.
+mkdir -p %{buildroot}%{gem_dir}/{cache,gems,specifications,doc}
+mkdir -p %{buildroot}%{gem_extdir}/exts
+
+# Create macros.rubygems file for rubygems-devel
 mkdir -p %{buildroot}%{_sysconfdir}/rpm
+
 cat >> %{buildroot}%{_sysconfdir}/rpm/macros.rubygems << \EOF
 # The RubyGems root folder.
-%%gem_dir %{gem_home}
+%%gem_dir %{gem_dir}
 
 # Common gem locations and files.
-# ... But don't provide gem_extdir for F-16 and below
-# - This directory won't work
 %%gem_instdir %%{gem_dir}/gems/%%{gem_name}-%%{version}
+%%gem_extdir %%{_libdir}/gems/exts/%%{gem_name}-%%{version}
 %%gem_libdir %%{gem_instdir}/lib
 %%gem_cache %%{gem_dir}/cache/%%{gem_name}-%%{version}.gem
 %%gem_spec %%{gem_dir}/specifications/%%{gem_name}-%%{version}.gemspec
 %%gem_docdir %%{gem_dir}/doc/%%{gem_name}-%%{version}
 EOF
 
-
 %if %{enable_check}
 %check
-# Don't use isolate
-sed -i.tmp -e '\@isolate at d' Rakefile
-rake test || :
-mv Rakefile.tmp Rakefile
+# Create an empty operating_system.rb, so that the system's one doesn't get used,
+# otherwise the test suite fails.
+mkdir -p lib/rubygems/defaults
+touch lib/rubygems/defaults/operating_system.rb
+
+# It is necessary to specify the paths using RUBYOPT to let the test suite pass."
+GEM_PATH=%{gem_dir} RUBYOPT="-Itest -I%{_libdir}/gems/exts/io-console-0.3/lib/ -I./lib/" \
+	testrb test
 %endif
 
 %files
-%defattr(-, root, root, -)
 %doc README* 
-#%%doc ChangeLog
 %doc History.txt
 %doc MIT.txt LICENSE.txt
 %dir %{gem_dir}
-%dir %{gem_home}
-%dir %{gem_home}/cache
-%dir %{gem_home}/gems
-%dir %{gem_home}/specifications
-%doc %{gem_home}/doc
+%dir %{gem_dir}/cache
+%dir %{gem_dir}/gems
+%dir %{gem_dir}/specifications
+%doc %{gem_dir}/doc
 %{_bindir}/gem
 
-%dir %{ruby_sitelib}/
-%{ruby_sitelib}/gauntlet_rubygems.rb
-%{ruby_sitelib}/lib
-%{ruby_sitelib}/rbconfig/
-%{ruby_sitelib}/rubygems/
-%{ruby_sitelib}/rubygems.rb
-%{ruby_sitelib}/ubygems.rb
+%dir %{rubygems_dir}/
+%{rubygems_dir}/rbconfig/
+%{rubygems_dir}/rubygems/
+%{rubygems_dir}/rubygems.rb
+%{rubygems_dir}/ubygems.rb
+%{rubygems_dir}/gauntlet_rubygems.rb
+
+%dir %{_exec_prefix}/lib/gems
+%dir %{_exec_prefix}/lib64/gems
+%dir %{_exec_prefix}/lib/gems/exts
+%dir %{_exec_prefix}/lib64/gems/exts
 
 %files	devel
 %config(noreplace)  %{_sysconfdir}/rpm/macros.rubygems
 
 %changelog
-* Thu Jan 26 2012 Mamoru Tasaka <mtasaka at fedoraproject.org> - 1.8.11-1.1
-- Provide -devel package except for %%gem_extdir 
+* Thu Jan 26 2012 Vít Ondruch <vondruch at redhat.com> - 1.8.15-2
+- Make test suite green.
+
+* Thu Jan 26 2012 Mamoru Tasaka <mtasaka at fedoraproject.org> - 1.8.15-1
+- 1.8.15
+
+* Thu Jan 26 2012 Mamoru Tasaka <mtasaka at fedoraproject.org> - 1.8.11-10
+- Incorpolate works by Vít Ondruch <vondruch at redhat.com>
+  made for ruby 1.9.x
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.8.11-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
 * Mon Nov 11 2011 Mamoru Tasaka <mtasaka at fedoraproject.org> - 1.8.11-1
 - 1.8.11


More information about the scm-commits mailing list