[Debian-med-packaging] Transition of Ruby packages to the new Ruby policy
Cédric Boutillier
cedric.boutillier at gmail.com
Fri Apr 27 12:08:34 UTC 2012
Hi!
In a few weeks from now, Wheezy will be frozen. One of the goals of the
Ruby Team for Wheezy is to try to push as far as possible the transition
to a new policy for Ruby library.
You receive this email because you are listed as the maintainer or
uploader of a Ruby package which has been detected as not using this new
policy. See the list of maintainers/packages at the end of this email.
The Debian Ruby Team have put a lot of effort on this goal, converting
(most of) the packages they maintain to this policy. The success of this
effort can be measured on the graph [0].
0: http://pkg-ruby-extras.alioth.debian.org/wheezy/
The data used for this graph taken into account *all* Ruby libraries
contained in Debian, and not only those maintained by the Ruby packaging
team. In order to improve the overall quality of Ruby packages in Debian
and to ensure consistency in the way Ruby packages are installed and
used, we need to finish the transition, and therefore we strongly
encourage all maintainers of Ruby packages in Debian to update their
packages to reflect these changes. These changes concern three
different aspects: the package naming convention, the path where
libraries are installed, and the execution of test suites at build time.
These aspects are briefly described below and detailed in the draft of
the Ruby policy [1], most of which being taken care of automatically by
our packaging tool gem2deb.
1: http://anonscm.debian.org/gitweb/?p=pkg-ruby-extras/ruby-policy.git;=summary
2: http://packages.debian.org/sid/gem2deb
Naming conventions
==================
The source packages libfoo-ruby should be renamed ruby-foo. If these
packages provide extensions needing to be compiled for the various Ruby
versions, these should nevertheless be shipped in the same binary
package, also called ruby-foo. If the package is mainly used as an
application, then it can be named just "foo". The naming convention can
be of course adapted in the case of the packaging of utilities (chef,
rails, redmine...).
With the convention we used before, not only were we shipping distinct
Ruby packages per interpreter version (i.e. libfoo-ruby1.8 and
libfoo-ruby1.9.1) and needed to hold large-scale repackaging on ABI
jumpis (as in the latest 1.9 → 1.9.1 change). With this new convention
(and build system – read on for details) only one binary package will be
built, and will carry all of the needed components, either in a common
place or in the version-specific directories.
For more extensive information see our guidelines for Ruby packaging [3].
3: http://wiki.debian.org/Teams/Ruby/Packaging#Guidelines_for_Ruby_packaging
Install locations for libraries
===============================
Libraries not bundled with the Ruby interpreters should be installed
somewhere in /usr/lib/ruby/vendor_ruby directory, instead of
/usr/lib/ruby/1.8 or /usr/lib/ruby/1.9.1. A Pure Ruby library working
for all Ruby version would go in /usr/lib/ruby/vendor_ruby. Files
specific to a version of the interpreter should go in
/usr/lib/ruby/vendor_ruby/$RUBYVER (vendorlibdir). Code compiled
specifically for the host architecture should go to
/usr/lib/ruby/vendor_ruby/$RUBYVER/$ARCH (vendorarchdir).
For the moment, MRI Ruby 1.8 and 1.9 can use the libraries installed in
these directories. JRuby would need to have theses directories added to
$LOAD_PATH and advertised by RbConfig (see #663342).
Running test suites during package build
========================================
A large number of Ruby libraries provide a test suite. It is recommended
to run these tests during the construction of the package in order to
check that the package will (at least partially) work with the
interpreters and other libraries included in the distribution.
A new packaging tool: gem2deb
=============================
The "gem2deb" tool takes care of most of the points mentioned above in
an automatised way. Running gem2deb on your orig tarball or a gem
package from your upstream will get you most of the way towards making
your package compatible with the new draft Ruby policy. Instructions
for the transition to gem2deb are available on the wiki page [4] of the
team.
4: http://wiki.debian.org/Teams/Ruby/Packaging#Howto:_converting_a_package_from_ruby-pkg-tools_to_gem2deb
gem2deb builds binary packages which are amenable to all of the
currently existing Ruby interpreters, and is future-proofed so that when
a new one is included in Debian, all of our packages will gain support
with just a rebuild. It also adds niceties such as proper Gem following
via debian/watch or packaging with simple, current practices for
debian/*. Please do consider repackaging using it!
To conclude, we encourage you to update these Ruby packages
packages so that they follow the guidelines above. Everyone willing to
team maintain their Ruby packages is of course welcome to join the Ruby
Packaging team (pkg-ruby-extras on alioth) and import their packages in
the team repository. We would be happy to answer your questions and hear
your comments on debian-ruby at lists.debian.org or on the #debian-ruby IRC
channel.
Cédric Boutillier, for the Ruby Team.
________
List of Ruby packages needing to be converted to the new policy, sorted
by maintainer/uploader:
Adam Majer <adamm at zombino.com>
libbz2-ruby
akira yamada <akira at debian.org>
bsfilter
libeb-ruby
libkakasi-ruby
libshadow-ruby
libuconv-ruby
racc
rdtool
Alan Boudreault <aboudreault at mapgears.com>
mapserver (U)
Aleksey Kravchenko <rhash.admin at gmail.com>
rhash
Alessandro Ghedini <ghedo at debian.org>
ecasound (U)
Alessio Treglia <alessio at debian.org>
ecasound (U)
Alex Pennace <alex at pennace.org>
raspell
Alexander Wirt <formorer at debian.org>
rrdtool (U)
Andreas Tille <tille at debian.org>
libsbml (U)
Andrew Pollock <apollock at debian.org>
puppet (U)
ARAKI Yasuhiro <ar at debian.org>
gonzui
mod-ruby (U)
Arnaud Cornet <acornet at debian.org>
ruby-prof
Athena Capital Research <acr-debian at athenacr.com>
quickfix
rubyluabridge
Aurélien GÉRÔME <ag at roxor.cx>
libnet-irc-ruby
libsnmp-ruby
Benjamin Drung <bdrung at debian.org>
xmms2
Bernd Zeimetz <bzed at debian.org>
rrdtool (U)
Bram Senders <bram at luon.net>
shoes
Bryan McLellan <btm at loftninjas.org>
libabstract-ruby
C.J. Adams-Collier <cjac at colliertech.org>
dlr-languages (U)
Cajus Pollmeier <cajus at debian.org>
qpid-cpp
Changyan Xie <panchoat at gmail.com>
libsbml (U)
Christoph Egger <christoph at debian.org>
graphviz (U)
Cleto Martín <cleto.martin at gmail.com>
zeroc-ice (U)
Dafydd Harries <daf at debian.org>
rbbr
ruby-amazon
Daigo Moriwaki <daigo at debian.org>
tdiary
Daniel Watkins <daniel at daniel-watkins.co.uk>
ditz
Dave Beckett <dajobe at debian.org>
redland-bindings
David Claughton <dave at eclecticdave.com>
graphviz
David Palacio <dpalacio at orbitalibre.org>
korundum (U)
qtruby (U)
Debian CLI Libraries Team <pkg-cli-libs-team at lists.alioth.debian.org>
dlr-languages
Debian GIS Project <pkg-grass-devel at lists.alioth.debian.org>
gdal
geos
mapserver
ruby-hdfeos5
Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
libsbml
Debian Multimedia Maintainers
<pkg-multimedia-maintainers at lists.alioth.debian.org>
ecasound
Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>
korundum
qtruby
Debian RRDtool Team <rrdtool at ml.snow-crash.org>
rrdtool
Debian Vim Maintainers <pkg-vim-maintainers at lists.alioth.debian.org>
vim
Decklin Foster <decklin at red-bean.com>
libchronic-ruby
liblockfile-ruby
libtrollop-ruby
Deepak Tripathi <apenguinlinux at gmail.com>
libhtml-htmltokenizer-ruby
libxml-simple-ruby
Dirk Eddelbuettel <edd at debian.org>
quantlib-swig
Esteban Manchado Velázquez <zoso at debian.org>
dhelp
Francesco Paolo Lovergine <frankie at debian.org>
gdal (U)
geos (U)
mapserver (U)
Francesco Poli (wintermute) <invernomuto at paranoici.org>
apt-listbugs
Francisco Moya <paco at debian.org>
zeroc-ice
Georgios M. Zarkadas <gz at member.fsf.org>
dhelp (U)
Gudjon I. Gudjonsson <gudjon at gudjon.org>
comedilib
Guilherme de S. Pastore <gpastore at debian.org>
subversion (U)
Gustavo Franco <stratus at debian.org>
ruby-mp3info
Hendrik Sattler <debian at hendrik-sattler.de>
obexftp
Ivo Maintz <ivo at maintz.de>
libsbml (U)
James McCoy <jamessan at debian.org>
vim (U)
Janos Guljas <janos at resenje.org>
uwsgi
Jesse van den Kieboom <jesse at icecrew.nl>
gnoemoe
Joey Schulze <joey at debian.org>
vpim
Jon Bernard <jbernard at debian.org>
libfam-ruby
libimlib2-ruby
Jérémy Bobbio <lunar at debian.org>
schleuder
Kenshi Muto <kmuto at debian.org>
quickml
KURASHIKI Satoru <lurdan at gmail.com>
hyperestraier
qdbm
Kurt Roeckx <kurt at roeckx.be>
epic5
Masahito Omote <omote at debian.org>
prime
prime-dict
sary-ruby
suikyo
Matt Palmer <mpalmer at debian.org>
dns323-firmware-tools
libaugeas-ruby
Matthias Klose <doko at debian.org>
dlr-languages (U)
Micah Anderson <micah at debian.org>
puppet (U)
Michael Janssen <jamuraa at debian.org>
player
Michael Meskes <meskes at debian.org>
korundum (U)
qtruby (U)
Mirco Bauer <meebey at debian.org>
dlr-languages (U)
Moritz Muehlenhoff <jmm at debian.org>
elinks (U)
Moriyoshi Koizumi <mozo at sfc.keio.ac.jp>
libsbml (U)
Nico Golde <nion at debian.org>
stfl
tpp
Nicolas Valcárcel Scerpella (Canonical) <nvalcarcel at canonical.com>
libaugeas-ruby (U)
Nigel Kersten <nigel at explanatorygap.net>
puppet (U)
NIIBE Yutaka <gniibe at fsij.org>
gonzui (U)
htree
langscan
libescape-ruby
libwebapp-ruby
samidare
tomoe
treil
wfo
Nobuhiro IMAI <nov at debian.or.jp>
rubilicious
Olly Betts <olly at survex.com>
xapian-bindings
Pablo Lorenzzoni <spectra at debian.org>
html-template
Paul van Tilburg <paulvt at debian.org>
gnoemoe (U)
shoes (U)
Peter Samuelson <peter at p12n.org>
subversion
Puppet Package Maintainers <pkg-puppet-devel at lists.alioth.debian.org>
puppet
Roberto C. Sanchez <roberto at connexer.com>
quickfix (U)
rubyluabridge (U)
Russ Allbery <rra at debian.org>
remctl
Ryan Niebur <ryanryan52 at gmail.com>
libxml-simple-ruby (U)
Sebastian Harl <tokkee at debian.org>
graphviz (U)
rrdtool (U)
Sebastien Delafond <seb at debian.org>
god
Shugo Maeda <shugo at debian.org>
eruby
librmail-ruby
libwrap-ruby
mod-ruby
mod-ruby (U)
Siegfried-Angel Gevatter Pujals <rainct at ubuntu.com>
screenruler
Stefan Hornburg (Racke) <racke at linuxia.de>
dhelp (U)
Stig Sandbeck Mathisen <ssm at debian.org>
puppet (U)
Sune Vuorela <sune at debian.org>
korundum (U)
qtruby (U)
Sylvestre Ledru <sylvestre at debian.org>
ohcount
Taku YASUI <tach at debian.or.jp>
libgettext-ruby (U)
libimage-size-ruby (U)
librd-html-ext-ruby (U)
libzip-ruby (U)
Taku YASUI <tach at debian.org>
hiki
libexif-ruby
libfilesystem-ruby (U)
libmp3tag-ruby
nadoka
ruby-exif (U)
TANIGUCHI Takaki <takaki at debian.org>
amrita2
aswiki
Tatsuki Sugiura <sugi at nemui.org>
libfcgi-ruby
libfilesystem-ruby
libgettext-ruby
libimage-size-ruby
libneedle-extras-ruby
libneedle-ruby
libnet-netrc-ruby
libnora-ruby
librd-html-ext-ruby
libvorbisfile-ruby
libzip-ruby
Tatsuya Kinoshita <tats at debian.org>
mhc
Thomas Mueller <thomas.mueller at tmit.eu>
apt-listbugs (U)
Thorsten Alteholz <debian at alteholz.de>
libsbml (U)
Todd Troxell <ttroxell at debian.org>
flvtool2
Tomas Pospisek <tpo_deb at sourcepole.ch>
posixlock
Torsten Marek <shlomme at debian.org>
korundum (U)
qtruby (U)
Torsten Werner <twerner at debian.org>
ohcount (U)
Troy Heber <troyh at debian.org>
subversion (U)
Y Giridhar Appaji Nag <appaji at debian.org>
elinks
YAEGASHI Takeshi <yaegashi at debian.org>
rubyfilter
Youhei SASAKI <uwabami at gfd-dennou.org>
rttool
ruby-hdfeos5 (U)
Yukiharu YABUKI <yyabuki at debian.org>
td2planet
More information about the Debian-med-packaging
mailing list