Beginners packaging example from Debian Med sprint: pyhmm
[For those beginners who would like to follow the explanation I'm
talking about what you get when your do
dget http://www.biocomp.unibo.it/piero/debpackages/pyhmm/pyhmm_0.1+20120123-3.dsc
]
Hi Piero,
after my first longish mail about pscoils I think I could be less
verbose in this case. The first thing I would like to mention here that
I would suggest to talk to upstream (so please change your hats ;-)).
The tarball contains a directory trunk - nothing what you usually see in
a released tarball. Moreover it also contains a lot of .svn
directories. An
find . -name ".svn" -type d | xargs rm -rf
seems to be necessary before building the tarball to remove unwanted
stuff in the release tarball.
A further thing inside the tarball are *.pyc files. Having these inside
a tarball is asking for trouble because the clean target cleans these
files and thus your unpackages sourse tree will differ from the tarball
after cleaning up. So I would also advise to remove these and finally
things like .Sort_HMM.py.swp and remainings of LaTeX builds should be
stripped as well.
Basing your further packaging on a tarball cleaned up in the described
manner and regarding the hints I gave in my previous mail will most
probably lead you to a close to finished package.
One question remains regarding the changelog: You are using "-3" as
current Debian version. I would love to see if we start Ubuntu (or
whereever targeting versions that are released *before* the first Debian
package in a way that the version numbers of the other releases are
lower than "<upstream-version>-1". Even if not striktly necessary it is
a good idea to have the first released Debian package a package version
number "<upstream-version>-1". You can choose for instance:
0.1+20120123-0~oneric
or something like this. You can check the proper version number relation
using for instance:
$ dpkg --compare-versions 0.1+20120123-0~oneric lt 0.1+20120123-1; echo $?
0
so this is OK. More examples:
$ dpkg --compare-versions 0.1+20120123-1~oneric lt 0.1+20120123-1; echo $?
0
$ dpkg --compare-versions 0.1+20120123-1+oneric lt 0.1+20120123-1; echo $?
1
... so '~' is lower than no appendix while '+' is larger.
I'm not fully sure whether you really intended to increase the version
numbers really. I'm just mentioning it here as a general statement. As
a further general statement: There is no point in having a lot of
changelog entries *before* the first release which is uploaded to some
public place except you want to inform some coworker inside the Debian
team about important changes - but this can be done in Vcs anyway. In
short: It makes sense to have the first upload to official Debian
mirror with one singular changelog entry concerning one singular
upstream release which says:
Initial upload (Closes #????)
That's all. The history of Debian changes usually beginns *after* the
first upload to Debian and not before.
The only comment I have to predcchmm is rather a question: Are these
files
$ find . -name "mod*.mod"
Some files which can be recreated and do not really belong to the source
tarball? Everything else said in my first mail applies similarly to
this package.
I did not yet commited the packaging to SVN - just do it yourself after
polishing it according to my hints.
Kind regards and thanks again for your work
Andreas.
--
http://fam-tille.de
Reply to: