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/pkg-ruby-extras-maintain...@lists.alioth.debian.org.html#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 debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to