
On 18.09.05, Faré wrote: Hello Faré,
Because I very much want cl-launch to be more widely used, I've packaged it for debian myself. I'd upload it or whatever, if only I knew how to do that.
You can not do that for yourself. You'll have to get an existing Debian developer to upload it for you.
This is my first attempt at building a debian package, so please tell me what I did wrong, if anything.
Please make use of our package checkers: linda and lintian, this will tell you about some problems with your package. lintian -i cl-launch....changes Especially the native-package-with-dash-version warning is important. Having the original source code and the debian modifications seperated makes it easier for other people to fix bugs. (more info is in the lintian output) Okay, I've found some things that lintian did not find: - your copyright file, that now contains the LLGPL preable to the LGPL, should also contain a pointer to /usr/share/common-licenses/LGPL - you have an preinst script in your debian/ directory that does not take any action, remove it - your postinst script registers something to the common lisp controller. However, there is nothing to register. Also, if you really meant to register something in the postinst script, you should unregister it in your prerm script, which is not done currently. - your postinst script installs /usr/share/common-lisp/cl-launch ... better generate these things at package build time to have them included in the deb file. Install them by means of debian/rules Otherwise, these files will not be under dpkg's control and other packages could easily overwrite them. I see no reason in generating these files at postinst stage rather than build time - the watch file, as it is currently, is useless. try "uscan --verbose" in your source directory to test it and "man uscan" - your postinst script calls register-common-lisp-source, but your package only Recommends: the common-lisp-controller. But just don't call the CLC, there is nothing to register So you see, I just got rid of all your pre- and post- -inst and -rm scripts. ;-) You could also call dh_lisp (Build-Depends on dh-lisp) as the last thing in your install: target of debian/rules You can also put files to install in debian/install with lines like source usr/bin/dest instead of calling dh_install -i every time. Same goes for debian/manpages instead of dh_installman, debian/dirs instead of dh_installdirs, and so on. That's just an advise, no mistake. :-) (more info is in the manpages of the dh_ tools) Your package is completely architecture independent, you should not need a Build-Depends: line in your control file, only Build-Depends-Indep: You might get useful information in the packages maint-guide, developers-referenec and debian-policy Regards, René