NAME¶gem2deb - converts Rubygems' .gem file into Debian package
SYNOPSIS¶gem2deb [OPTIONS] GEMNAME (to download the gem with gem fetch)
gem2deb [OPTIONS] GEMFILE (to use a local .gem file)
DESCRIPTION¶gem2deb converts the gem into a Debian source package, and then will attempt to build it. The process is made of several steps.
First, gem2deb converts the gem file to a tar.gz archive containing a metadata.yml file with the Gem specification. This is equivalent to what gem2tgz does.
Then, gem2deb unpacks the tar.gz archive and prepares a Debian source package, guess many of the defaults from the files included in the archive, or the Gem specification. This is equivalent to what dh-make-ruby does. gem2deb cannot determine all parameters for obvious reasons. It is recommended to search for the "FIXME" string in the debian/ directory. The generated Debian source package uses dh_ruby to build the package.
Finally, gem2deb tries to build the source and binary packages using dpkg-buildpackage.
- -t, --only-tarball
- Stop after creating the tar.gz archive.
- -s, --only-source-dir
- Stop after preparing the Debian source package directory (do not attempt to build the package).
- -S, --only-debian-source
- Only build a Debian source package (do not build binary packages).
- -p PACKAGE, --package PACKAGE
- Specify package name (default: ruby-*). Passed to dh-make-ruby. See dh-make-ruby(1).
- --ruby-versions VERSIONS
- Ruby versions to build the package for (default: all). Passed to dh-make-ruby. See dh-make-ruby(1).
- Prevents dh-make-ruby to check wnpp reports to get the number of a possible ITP (intend to package) bug report. By default, dh-make-ruby does check these reports, which requires an Internet access.
- -o, --offline
- Prevents dh-make-ruby from accessing the internet at all.
- -h, --help
- Displays gem2deb usage information.
- -v, --version
- Displays gem2deb version information.
HOW THE .GEM -> .TGZ CONVERSION WORKS¶A gem named mygem-0.1.0.gem is converted in a tarball with (approximately) the following steps:
mkdir mygem-0.1.0 cd mygem-0.1.0 tar xfm /absolute/path/to/mygem-0.1.0.gem tar xzfm data.tar.gz zcat metadata.gz > metadata.yml rm -f data.tar.gz metadata.gz cd .. tar czf mygem-0.1.0.tar.gz mygem-0.1.0 rm -rf mygem-0.1.0
The generated tarball has the following properties:
- It contains all the files the gem contains.
- It contains the gem metadata in a file named ``metadata.yml`` inside the mygem-0.1.0 directory.
COPYRIGHT AND AUTHORS¶Copyright (c) 2011, Lucas Nussbaum <email@example.com>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.