Package: packaging-tutorial
Version: 0.7
Severity: minor
Hi Lucas,
I've just finished reading the packaging tutorial (at last...).
What follows is my list of suggestions, corrections, enhancements
for the second half, again grouped by relevant slide.
Once again, I hope it may be useful to you.
Slide 45
--------
Typo? s/Debian project members/Debian project member/
(since "Debian Developer (DD)" is singular...)
Slide 47
--------
The referenced Ubuntu Packaging Guide claims to be obsolete in its
very first section: maybe some other Ubuntu-specific guide should
be mentioned instead... Or, otherwise, the reference could perhaps
be dropped entirely...
Slide 52
--------
Please remember to update the copyright notice: I would say that
the document is now Copyright © 2011-2012 Lucas Nussbaum ...
Slide 53
--------
The latest version link is broken and I cannot find any up-to-date
compiled PDF file on the git repository...
Please fix this link.
Slide 55
--------
While doing practical session 2, I first managed to get a basic working
package, without incomplete files in the debian/ subdirectory.
However a check with
lintian -EviIL +pedantic gnujump_*.changes
highlighted various flaws in the package I prepared.
This is good (after all, it's lintian's job to point out flaws,
so that the packager may fix them!), but two of the reported
problems were due to things that are not explained at all in the
tutorial.
It would be nice if the tutorial gave at least some basic knowledge
about these aspects:
a) lintian complains about the lack of hardening compiler flags
and refers me to http://wiki.debian.org/Hardening for details;
while trying to fix this, I found out that, for dh style packages,
it's enough to declare compat=9 with a versioned dependency
on debhelper (>= 9) and to place a couple of lines at the
beginning of the rules file:
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
I suggest including a slide somewhere in the "Advanced packaging
topics" to give some basic hints about this topic...
b) lintian complains that files are not installed to /usr/games
(and to /usr/share/games/): I see that the official Debian
gnujump package fixes this (at least in part) with a patch
for the upstream src/Makefile.am
http://patch-tracker.debian.org/patch/series/view/gnujump/1.0.6-4/01_Makefile_am_datadir_fix.patch
on the other hand, I tried to simply add an override to the rules file:
override_dh_auto_configure:
dh_auto_configure -- --bindir=/usr/games
--datadir=/usr/share/games
and it seemed to work; am I missing anything? or is this really
the way to go (at least in the case of gnujump version 1.0.8)?
I suggest including a slide somewhere in the "Advanced packaging
topics" to explain how this kind of debianization fixes should be
done...
Slide 59
--------
While doing practical session 4, I encountered difficulties with
debian/ruby-tests.rb
It's not clear to me how this file should be prepared.
I thought that somethink like
require 'rbconfig'
ruby = File.join(RbConfig::CONFIG['bindir'],
RbConfig::CONFIG['ruby_install_name'])
exec("#{ruby} -Ilib -Itest -rrubygems test/test_all.rb")
could work, but it failed miserably.
I see that the tutorial (in Slide 76) suggests:
$: << 'test' << 'lib' << '.'
require 'test/test_all.rb'
I cannot understand why this should work, while my attempt fails.
The tutorial does not explain much.
Maybe the dh_ruby(1) man page should include a more detailed
explanation: it just says that the file is executed and must
finish with 0 exit status.
It does not explain much else...
Another thing that is not suggested is how to properly install
CHANGELOG.rdoc as /usr/share/doc/ruby-net-ssh/changelog.gz
If I don't worry about this aspect, no upstream changelog is
installed into /usr/share/doc/ruby-net-ssh/ and lintian (correcly)
complains.
I think I found out how to fix this issue with the an override:
override_dh_installchangelogs:
dh_installchangelogs -O--buildsystem=ruby -k CHANGELOG.rdoc
Maybe the tutorial should say something about this...
Mmmmh, I see that the official Debian ruby-net-ssh package
has the same issue with the upstream changelog:
http://lintian.debian.org/full/[email protected]#ruby-net-ssh
Hence, maybe my solution should be sent as a patch for that package...
Lucas, I see that you are one of the uploaders of the ruby-net-ssh package:
would you like me to file a dedicated bug report against ruby-net-ssh
for this issue?
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]