Re: Best Packaging Practices - collecting ideas (and texts!)
Although you might think this is obvious, it looks like a lot of people
don't understand how to do non-native uploads. Almost all of my
sponsorees send me one single tarball instead of an .orig file and a
.diff. I wrote this text some time ago and send it to anyone who does it
First, there is the app-version.tar.gz you get from the original
website. You're not going to do anything with that one. (Only exception
might be bunzip2->gzip conversion, since dpkg tools can't handle bzip2
AFAIK) Well, one thing.. Rename it to app_version.orig.tar.gz .
Then, untar it and you'll hopefully get an app-version/ directory. If
the name is different, well, dpkg utilities can handle that. So, now you
got app_version.orig.tar.gz and app-version/ . Good!
Now, do whatever you want. Make a debian/ directory, make it good, make
it the best you've ever made. Make it a piece of art. Make it
high-quality, after all that's what Debian's all about.. And you should
know how that works, you've probably done it before.
When finished, 'dpkg-buildpackage -rfakeroot' in the app-version/
directory. All the stuff should be created now. First, two source files:
The patch we're looking for. This patch adds the debian/ directory
and possibly some other Debian-specific program changes.
The descriptor file.. Contains MD5sums for all the source files.
And no tarball is created! After all, the tarball should exist already.
Also, the binary files are created:
The installable package. Possibly more binary packages, of course.
The changes file, necessary when you're going to upload the package.
Note that genchanges is very stupid and arch is always your system's
architecture, even for arch:all packages. Not a problem though.
Actually, the .changes file is created for source-only uploads as well..
Now it *is* possible that the dpkg tools create a .tar.gz . The apt and
dpkg source packages do this, for example. That's because those are
Debian-native and don't need a patch to be Debian-compliant,
fortunately. ;-) When your package is not native (especially if you're
not the upstream maintainer) it's very bad to do this.
Maybe a text like this would be useful in the manual..
+-------- .''`. - -- ---+ + - -- --- ---- ----- ------+
| lintux : :' : lintux.cx | | Today's random quote: |
| at `. `~' debian.org | | ing man the packagin debiand be e |
+--- -- - ` ---------------+ +------ ----- ---- --- -- - +
To UNSUBSCRIBE, email to email@example.com
with a subject of "unsubscribe". Trouble? Contact firstname.lastname@example.org