gem2rpm¶
$ su -c "yum install rubygem-gem2rpm"
$ gem2rpm -h
/usr/bin/gem2rpm [OPTIONS] GEMFILE
Convert ruby Gems to source RPMs and specfiles
Uses a template to generate the RPM specfile
from the Gem spec
-T, --current-template Print the current template
-t, --template TEMPLATE Use TEMPLATE for the specfile
-v, --version Print gem2rpm's version and exit
-o, --output FILE Send the specfile to FILE
-s, --srpm Create a source RPM
-l, --local Do not retrieve Gem information over
the network. Use on disconnected machines
-d, --dependencies Print the dependencies of the gem
-n, --nongem Generate a subpackage for non-gem use
--no-doc Disable document subpackage
Generando un spec¶
Al ejecutar pasando un archivo gem, gem2rpm genera en stdout el resultado de su conversión. Para guardar en un archivo simplemente redirija la stdout a un archivo (> rubygem-gemname.spec).
$ gem2rpm SOURCES/jnunemaker-matchy-0.4.0.gem
# Generated from jnunemaker-matchy-0.4.0.gem by gem2rpm -*- rpm-spec -*-
%global gemname jnunemaker-matchy
%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
%global geminstdir %{gemdir}/gems/%{gemname}-%{version}
%global rubyabi 1.8
Summary: RSpec-esque matchers for use in Test::Unit
Name: rubygem-%{gemname}
Version: 0.4.0
Release: 1%{?dist}
Group: Development/Languages
License: GPLv2+ or Ruby
URL: http://matchy.rubyforge.org
Source0: http://rubygems.org/gems/%{gemname}-%{version}.gem
Requires: ruby(abi) = %{rubyabi}
Requires: ruby(rubygems)
Requires: ruby
BuildRequires: ruby(abi) = %{rubyabi}
BuildRequires: ruby(rubygems)
BuildRequires: ruby
BuildArch: noarch
Provides: rubygem(%{gemname}) = %{version}
%description
RSpec-esque matchers for use in Test::Unit
%package doc
Summary: Documentation for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
Documentation for %{name}
%prep
%setup -q -c -T
mkdir -p .%{gemdir}
gem install --local --install-dir .%{gemdir} \
--force %{SOURCE0}
%build
%install
mkdir -p %{buildroot}%{gemdir}
cp -a .%{gemdir}/* \
%{buildroot}%{gemdir}/
%files
%dir %{geminstdir}
%{geminstdir}/lib
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
%files doc
%doc %{gemdir}/doc/%{gemname}-%{version}
%doc %{geminstdir}/History.txt
%doc %{geminstdir}/Manifest.txt
%doc %{geminstdir}/README.rdoc
%changelog
* Thu Feb 02 2012 Guillermo <gomix@movix.fedora-ve.org> - 0.4.0-1
- Initial package
Generando un srpm¶
$ gem2rpm -s jnunemaker-matchy-0.4.0.gem