Man pages sections > man1 > gem2deb

gem2deb - converts Rubygems' .gem file into Debian package

GEM2DEB(1) GEM2DEB(1)

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.

OPTIONS

-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).
--no-wnpp-check
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:
Files
It contains all the files the gem contains.
Metadata
It contains the gem metadata in a file named ``metadata.yml`` inside the mygem-0.1.0 directory.

SEE ALSO

dh_ruby(1) Copyright (c) 2011, Lucas Nussbaum <lucas@debian.org>
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/>.
2017-09-16