Accepting request 256648 from devel:languages:ruby

- add 0011-fixes-for-the-opensuse-template.patch to survive
  format_spec formatting

- added 0009-rubinius-has-no-extensions-docdir.patch
  special casing for rubinius
- added 0010-switch-to-new-packaging-scheme-by-default.patch
  move to new packaging templates by default

- added ruby 1.9 support

- added ruby 1.8 support
- also guarded the 2.1 part

- added 0008-dont-allow-suffixes-with-just-a-plain-number.-prefix.patch 
  Dont allow an suffix with just a plain number. prefix it with
  ruby.

- added ruby 2.0 support

OBS-URL: https://build.opensuse.org/request/show/256648
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rubygem-gem2rpm?expand=0&rev=16
This commit is contained in:
Stephan Kulow 2014-10-20 05:26:52 +00:00 committed by Git OBS Bridge
commit 4cedd8f88c
14 changed files with 1360 additions and 8 deletions

View File

@ -1,7 +1,7 @@
From 91bc63e3fbba24a5f90c4fce4f74b371c4694657 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 16:46:19 +0200
Subject: [PATCH 1/7] - use the ID from os-release to use the proper template
Subject: [PATCH 01/10] - use the ID from os-release to use the proper template
---
bin/gem2rpm | 10 ++++++++++

View File

@ -1,7 +1,7 @@
From 1742038eb7ec8fcb25009ce8b270b420183875bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 16:54:45 +0200
Subject: [PATCH 2/7] added basic config file support to gem2rpm in yaml
Subject: [PATCH 02/10] added basic config file support to gem2rpm in yaml
format.
There is no validation as it is basically a hash where certain keys are

View File

@ -1,7 +1,7 @@
From 152e9ec100f30a3c46535a65fa411d014cb264e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 16:55:57 +0200
Subject: [PATCH 3/7] sle 12 templates. they require the config file support.
Subject: [PATCH 03/10] sle 12 templates. they require the config file support.
---
templates/sles12.gem_packages.spec.erb | 233 +++++++++++++++++++++++++++++++++

View File

@ -1,7 +1,7 @@
From fff45bc96294b974a25c99f626e2d5359c06d717 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 17:01:17 +0200
Subject: [PATCH 4/7] openSUSE template fixes
Subject: [PATCH 04/10] openSUSE template fixes
---
templates/opensuse.spec.erb | 194 ++++++++++++++++++++++++++++++++++++--------

View File

@ -1,7 +1,7 @@
From 4eba3dc8c65e4298e650852eeb79461fb648b675 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 17:02:56 +0200
Subject: [PATCH 5/7] added example gem2rpm.yml
Subject: [PATCH 05/10] added example gem2rpm.yml
---
Rakefile | 2 +-

View File

@ -1,7 +1,7 @@
From b6a01a354d9b7fb0f1c9cb68c3ea58ffc34240ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 17:09:35 +0200
Subject: [PATCH 6/7] properly shorten description and summary
Subject: [PATCH 06/10] properly shorten description and summary
This also includes the description if we reuse the summary.
---

View File

@ -1,7 +1,7 @@
From 3f955d9ed723ecf5a72bc73f3252b0d247329648 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 17:17:33 +0200
Subject: [PATCH 7/7] Preserve the license header found in the output file
Subject: [PATCH 07/10] Preserve the license header found in the output file
---
bin/gem2rpm | 13 +++++++++++--

View File

@ -0,0 +1,27 @@
From 3bd29ca337636665ecca5b68590d0c32fd11e92d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Wed, 17 Sep 2014 16:50:21 +0200
Subject: [PATCH 08/10] dont allow suffixes with just a plain number. prefix
them with ruby.
---
templates/sles12.gem_packages.spec.erb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/templates/sles12.gem_packages.spec.erb b/templates/sles12.gem_packages.spec.erb
index 5b02f2c..e148494 100644
--- a/templates/sles12.gem_packages.spec.erb
+++ b/templates/sles12.gem_packages.spec.erb
@@ -49,6 +49,9 @@
rb_suffix = RbConfig::CONFIG['ruby_install_name'].gsub(/^ruby/, '')
rb_pkgname = RbConfig::CONFIG['ruby_install_name'].gsub(/^ruby\./, '')
+ if rb_suffix =~ /\A\d+\.\d+\z/
+ rb_suffix = '.ruby' + rb_suffix
+ end
pkg_basename = rb_pkgname + '-rubygem-' + spec.name
mod_full_name = "#{spec.name}-#{spec.version}"
--
1.8.4.5

View File

@ -0,0 +1,25 @@
From 0abcc03623950eafddf0dd2bd1a96cea6756063f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Wed, 17 Sep 2014 17:11:52 +0200
Subject: [PATCH 09/10] rubinius has no extensions docdir
---
templates/sles12.gem_packages.spec.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/templates/sles12.gem_packages.spec.erb b/templates/sles12.gem_packages.spec.erb
index e148494..d1734db 100644
--- a/templates/sles12.gem_packages.spec.erb
+++ b/templates/sles12.gem_packages.spec.erb
@@ -9,7 +9,7 @@
end
def self.get_extension_doc_dir(gem_spec)
- if gem_spec.respond_to? :extensions_dir
+ if gem_spec.respond_to?(:extensions_dir) && RUBY_ENGINE != 'rbx'
rp = gem_spec.extensions_dir.rpartition(gem_spec.base_dir)
return File.join(rp[1], 'doc', rp[2])
end
--
1.8.4.5

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
commit eed51b54253c303c593d9466ed8ed17523bda3d1
Author: Stephan Kulow <coolo@suse.de>
Date: Wed Oct 15 10:38:29 2014 +0200
fixes for the opensuse template:
- add one more space for sources
- add empty lines in front of the warning preamble - otherwise format_spec_file
removes it as old license comment
- don't %ghost %_bindir
diff --git a/templates/gem_packages.spec.erb b/templates/gem_packages.spec.erb
index d1734db..058660b 100644
--- a/templates/gem_packages.spec.erb
+++ b/templates/gem_packages.spec.erb
@@ -173,9 +173,9 @@ fi
<% end -%>
<% spec.executables.each do |executable| -%>
<%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %>
-%ghost <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}" %>
-%ghost <%= rb_bindir %>/<%= "#{executable}-#{spec.version}" %>
-%ghost <%= rb_bindir %>/<%= executable %>
+<%= rb_bindir %>/<%= "#{executable}#{rb_suffix}" %>
+<%= rb_bindir %>/<%= "#{executable}-#{spec.version}" %>
+<%= rb_bindir %>/<%= executable %>
%ghost <%= rb_sysconfdir %>/alternatives/<%= executable %>
%ghost <%= rb_sysconfdir %>/alternatives/<%= "#{executable}#{rb_suffix}" %>
%ghost <%= rb_sysconfdir %>/alternatives/<%= "#{executable}-#{spec.version}" %>
diff --git a/templates/opensuse.spec.erb b/templates/opensuse.spec.erb
index 25fdec3..8bc281c 100644
--- a/templates/opensuse.spec.erb
+++ b/templates/opensuse.spec.erb
@@ -15,6 +15,8 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
<% if config && not(config.empty?) -%>
+
+
#
# This file was generated with a gem2rpm.yml and not just plain gem2rpm.
# All sections marked as MANUAL, license headers, summaries and descriptions
@@ -74,7 +76,7 @@ Url: <%= spec.homepage %>
Source: http://rubygems.org/gems/%{mod_full_name}.gem
<% if config[:sources]
config[:sources].each_with_index do |src, i| -%>
-Source<%= i+1 %>: <%= src %>
+Source<%= i+1 %>: <%= src %>
<% end
end -%>
<% if config[:patches] -%>

View File

@ -1,3 +1,40 @@
-------------------------------------------------------------------
Wed Oct 15 08:44:14 UTC 2014 - coolo@suse.com
- add 0011-fixes-for-the-opensuse-template.patch to survive
format_spec formatting
-------------------------------------------------------------------
Mon Oct 13 13:46:58 UTC 2014 - mrueckert@suse.de
- added 0009-rubinius-has-no-extensions-docdir.patch
special casing for rubinius
- added 0010-switch-to-new-packaging-scheme-by-default.patch
move to new packaging templates by default
-------------------------------------------------------------------
Mon Sep 22 16:12:08 UTC 2014 - mrueckert@suse.de
- added ruby 1.9 support
-------------------------------------------------------------------
Wed Sep 17 16:16:59 UTC 2014 - mrueckert@suse.de
- added ruby 1.8 support
- also guarded the 2.1 part
-------------------------------------------------------------------
Wed Sep 17 14:55:33 UTC 2014 - mrueckert@suse.de
- added 0008-dont-allow-suffixes-with-just-a-plain-number.-prefix.patch
Dont allow an suffix with just a plain number. prefix it with
ruby.
-------------------------------------------------------------------
Wed Sep 17 13:25:27 UTC 2014 - mrueckert@suse.de
- added ruby 2.0 support
-------------------------------------------------------------------
Mon Sep 8 11:02:50 UTC 2014 - mrueckert@suse.de

View File

@ -15,6 +15,10 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%bcond_without gem2rpm_bootstrap
%bcond_with ruby18
%bcond_with ruby19
%bcond_with ruby20
%bcond_with ruby21
%bcond_with ruby22
%bcond_with rubinius22
@ -47,6 +51,10 @@ Patch3: 0004-openSUSE-template-fixes.patch
Patch4: 0005-added-example-gem2rpm.yml.patch
Patch5: 0006-properly-shorten-description-and-summary.patch
Patch6: 0007-Preserve-the-license-header-found-in-the-output-file.patch
Patch7: 0008-dont-allow-suffixes-with-just-a-plain-number.-prefix.patch
Patch8: 0009-rubinius-has-no-extensions-docdir.patch
Patch9: 0010-switch-to-new-packaging-scheme-by-default.patch
Patch10: 0011-fixes-for-the-opensuse-template.patch
Summary: Generate rpm specfiles from gems
License: GPL-2.0+
Group: Development/Languages/Ruby
@ -65,6 +73,10 @@ The spec file tries to follow the gem as closely as possible
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%build
%gem_build
@ -73,10 +85,10 @@ The spec file tries to follow the gem as closely as possible
%gem_install -f --symlink-binaries --doc-files="AUTHORS LICENSE README"
for i in %{buildroot}%{_docdir}/*rubygem-gem2rpm*/ ; do
install -m 0644 %{S:1} $i/gem2rpm.yml
install -m 0644 %{mod_full_name}/templates/sles12*.spec.erb $i/
done
%if %{with gem2rpm_bootstrap}
%if %{with ruby21}
%package -n ruby2.1-rubygem-gem2rpm
Summary: Generate rpm specfiles from gems
Group: Development/Languages/Ruby
@ -130,6 +142,175 @@ fi
%files -n ruby2.1-rubygem-gem2rpm-doc
%defattr(-,root,root,-)
%doc %{_libdir}/ruby/gems/2.1.0/doc/gem2rpm-%{version}
%endif
%if %{with ruby18}
%package -n ruby1.8-rubygem-gem2rpm
Summary: Generate rpm specfiles from gems
Group: Development/Languages/Ruby
PreReq: update-alternatives
%description -n ruby1.8-rubygem-gem2rpm
Generate source rpms and rpm spec files from a Ruby Gem.
The spec file tries to follow the gem as closely as possible
%package -n ruby1.8-rubygem-gem2rpm-doc
Summary: RDoc documentation for %{mod_name}
Group: Development/Languages/Ruby
Requires: ruby1.8-rubygem-gem2rpm = %{version}
%description -n ruby1.8-rubygem-gem2rpm-doc
Documentation generated at gem installation time.
Usually in RDoc and RI formats.
%post -n ruby1.8-rubygem-gem2rpm
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm gem2rpm %{_bindir}/gem2rpm.ruby1.8-%{version} %{mod_weight}
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm-%{version} gem2rpm-%{version} %{_bindir}/gem2rpm.ruby1.8-%{version} %{mod_weight}
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm.ruby1.8 gem2rpm.ruby1.8 %{_bindir}/gem2rpm.ruby1.8-%{version} %{mod_weight}
%preun -n ruby1.8-rubygem-gem2rpm
if [ "$1" = 0 ] ; then
/usr/sbin/update-alternatives --remove gem2rpm %{_bindir}/gem2rpm.ruby1.8-%{version}
/usr/sbin/update-alternatives --remove gem2rpm-%{version} %{_bindir}/gem2rpm.ruby1.8-%{version}
/usr/sbin/update-alternatives --remove gem2rpm.ruby1.8 %{_bindir}/gem2rpm.ruby1.8-%{version}
fi
%files -n ruby1.8-rubygem-gem2rpm
%defattr(-,root,root,-)
%{_docdir}/ruby1.8-rubygem-gem2rpm
#{_bindir}/gem2rpm-opensuse
%{_bindir}/gem2rpm.ruby1.8-%{version}
%ghost %{_bindir}/gem2rpm.ruby1.8
%ghost %{_bindir}/gem2rpm-%{version}
%ghost %{_bindir}/gem2rpm
%ghost %{_sysconfdir}/alternatives/gem2rpm
%ghost %{_sysconfdir}/alternatives/gem2rpm.ruby1.8
%ghost %{_sysconfdir}/alternatives/gem2rpm-%{version}
# cache file
%{_libdir}/ruby/gems/1.8/cache/gem2rpm-%{version}.gem
%{_libdir}/ruby/gems/1.8/gems/gem2rpm-%{version}
%{_libdir}/ruby/gems/1.8/specifications/gem2rpm-%{version}.gemspec
%files -n ruby1.8-rubygem-gem2rpm-doc
%defattr(-,root,root,-)
%doc %{_libdir}/ruby/gems/1.8/doc/gem2rpm-%{version}
%endif
%if %{with ruby19}
%package -n ruby1.9-rubygem-gem2rpm
Summary: Generate rpm specfiles from gems
Group: Development/Languages/Ruby
PreReq: update-alternatives
%description -n ruby1.9-rubygem-gem2rpm
Generate source rpms and rpm spec files from a Ruby Gem.
The spec file tries to follow the gem as closely as possible
%package -n ruby1.9-rubygem-gem2rpm-doc
Summary: RDoc documentation for %{mod_name}
Group: Development/Languages/Ruby
Requires: ruby1.9-rubygem-gem2rpm = %{version}
%description -n ruby1.9-rubygem-gem2rpm-doc
Documentation generated at gem installation time.
Usually in RDoc and RI formats.
%post -n ruby1.9-rubygem-gem2rpm
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm gem2rpm %{_bindir}/gem2rpm.ruby1.9-%{version} %{mod_weight}
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm-%{version} gem2rpm-%{version} %{_bindir}/gem2rpm.ruby1.9-%{version} %{mod_weight}
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm.ruby1.9 gem2rpm.ruby1.9 %{_bindir}/gem2rpm.ruby1.9-%{version} %{mod_weight}
%preun -n ruby1.9-rubygem-gem2rpm
if [ "$1" = 0 ] ; then
/usr/sbin/update-alternatives --remove gem2rpm %{_bindir}/gem2rpm.ruby1.9-%{version}
/usr/sbin/update-alternatives --remove gem2rpm-%{version} %{_bindir}/gem2rpm.ruby1.9-%{version}
/usr/sbin/update-alternatives --remove gem2rpm.ruby1.9 %{_bindir}/gem2rpm.ruby1.9-%{version}
fi
%files -n ruby1.9-rubygem-gem2rpm
%defattr(-,root,root,-)
%{_docdir}/ruby1.9-rubygem-gem2rpm
#{_bindir}/gem2rpm-opensuse
%{_bindir}/gem2rpm.ruby1.9-%{version}
%ghost %{_bindir}/gem2rpm.ruby1.9
%ghost %{_bindir}/gem2rpm-%{version}
%ghost %{_bindir}/gem2rpm
%ghost %{_sysconfdir}/alternatives/gem2rpm
%ghost %{_sysconfdir}/alternatives/gem2rpm.ruby1.9
%ghost %{_sysconfdir}/alternatives/gem2rpm-%{version}
# cache file
%{_libdir}/ruby/gems/1.9.1/cache/gem2rpm-%{version}.gem
%{_libdir}/ruby/gems/1.9.1/gems/gem2rpm-%{version}
%{_libdir}/ruby/gems/1.9.1/specifications/gem2rpm-%{version}.gemspec
%files -n ruby1.9-rubygem-gem2rpm-doc
%defattr(-,root,root,-)
%doc %{_libdir}/ruby/gems/1.9.1/doc/gem2rpm-%{version}
%endif
%if %{with ruby20}
%package -n ruby2.0-rubygem-gem2rpm
Summary: Generate rpm specfiles from gems
Group: Development/Languages/Ruby
PreReq: update-alternatives
%description -n ruby2.0-rubygem-gem2rpm
Generate source rpms and rpm spec files from a Ruby Gem.
The spec file tries to follow the gem as closely as possible
%package -n ruby2.0-rubygem-gem2rpm-doc
Summary: RDoc documentation for %{mod_name}
Group: Development/Languages/Ruby
Requires: ruby2.0-rubygem-gem2rpm = %{version}
%description -n ruby2.0-rubygem-gem2rpm-doc
Documentation generated at gem installation time.
Usually in RDoc and RI formats.
%post -n ruby2.0-rubygem-gem2rpm
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm gem2rpm %{_bindir}/gem2rpm.ruby2.0-%{version} %{mod_weight}
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm-%{version} gem2rpm-%{version} %{_bindir}/gem2rpm.ruby2.0-%{version} %{mod_weight}
/usr/sbin/update-alternatives --install \
%{_bindir}/gem2rpm.ruby2.0 gem2rpm.ruby2.0 %{_bindir}/gem2rpm.ruby2.0-%{version} %{mod_weight}
%preun -n ruby2.0-rubygem-gem2rpm
if [ "$1" = 0 ] ; then
/usr/sbin/update-alternatives --remove gem2rpm %{_bindir}/gem2rpm.ruby2.0-%{version}
/usr/sbin/update-alternatives --remove gem2rpm-%{version} %{_bindir}/gem2rpm.ruby2.0-%{version}
/usr/sbin/update-alternatives --remove gem2rpm.ruby2.0 %{_bindir}/gem2rpm.ruby2.0-%{version}
fi
%files -n ruby2.0-rubygem-gem2rpm
%defattr(-,root,root,-)
%{_docdir}/ruby2.0-rubygem-gem2rpm
#{_bindir}/gem2rpm-opensuse
%{_bindir}/gem2rpm.ruby2.0-%{version}
%ghost %{_bindir}/gem2rpm.ruby2.0
%ghost %{_bindir}/gem2rpm-%{version}
%ghost %{_bindir}/gem2rpm
%ghost %{_sysconfdir}/alternatives/gem2rpm
%ghost %{_sysconfdir}/alternatives/gem2rpm.ruby2.0
%ghost %{_sysconfdir}/alternatives/gem2rpm-%{version}
# cache file
%{_libdir}/ruby/gems/2.0.0/cache/gem2rpm-%{version}.gem
%{_libdir}/ruby/gems/2.0.0/gems/gem2rpm-%{version}
%{_libdir}/ruby/gems/2.0.0/specifications/gem2rpm-%{version}.gemspec
%files -n ruby2.0-rubygem-gem2rpm-doc
%defattr(-,root,root,-)
%doc %{_libdir}/ruby/gems/2.0.0/doc/gem2rpm-%{version}
%endif
%if %{with ruby22}
%package -n ruby2.2-rubygem-gem2rpm

3
series
View File

@ -5,3 +5,6 @@
0005-added-example-gem2rpm.yml.patch -p1
0006-properly-shorten-description-and-summary.patch -p1
0007-Preserve-the-license-header-found-in-the-output-file.patch -p1
0008-dont-allow-suffixes-with-just-a-plain-number.-prefix.patch -p1
0009-rubinius-has-no-extensions-docdir.patch -p1
0010-switch-to-new-packaging-scheme-by-default.patch -p1