GEM2DEB(1) | GEM2DEB(1) |
gem2deb - converts Rubygems' .gem file into Debian package
gem2deb [OPTIONS] GEMNAME (to download the gem with gem fetch)
gem2deb [OPTIONS] GEMFILE (to use a local .gem file)
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.
Note that --only-tarball or --only-source-dir will prevent this, since they make gem2deb stop early.
The import uses gbp import-dsc --pristine-tar (see gbp-import-dsc(1)), and thus git-buildpackage and pristine-tar need to be installed for this to work.
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:
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/>.
2022-12-01 |