Comment 45 for bug 1448092

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Re-did a review of ibmpmlinux. Some issues still apply. I have added more details. I'm sorry if this seems complicated, I realize we're having an issue with the language barrier. Please feel free to ask for more info, or that I explain things differently.

- Version for Ubuntu should be -0ubuntu1 rather than -1. This is important, since there isn't an ibmpmlinux package in Debian currently that we sync to ubuntu. Should there be, then it would be fine to ship a package with a version -1ubuntu1. The 'ubuntu' suffix denotes it is an upload for ubuntu.
If you must use an internal revision number following a - in the filename for the include source tarball, then let's modify debian/rules to account for this. Either debian/rules should go extract the specific file needed for the version, or it should avoid that entirely and just extract any tarball named ibmpmlinux_*.tgz
Even the architecture name there is irrelevant if there won't be a build for other architectures. This would mean it's possible to remove all the variables aside from $package.

- override_dh_clean: rm -rf there will not do anything, it is unnecessary, since there will not be an ibmpmlinux directory to remove (since things are extracted to debian/tmp, which will get cleaned up automatically.

- no need for preinst or postrm. Running verify or uninstall in postinst/prerm is most likely wrong.
It is just as easy (not to say easier) to not run them at all and ship the right files from the source of the package. Tuning configuration is fine, but we should not create new directories, symlinks, and such, since that short-circuits the package installation processes from apt and dpkg. They will handle package updates and removing files just fine.
In other words, if the source already ships all the right files (including a pre-made systemd service and reasonable default config), then all the maintainer scripts (postinst, preinst, prerm, postrm) can be removed. Otherwise, I would strongly recommend not keeping preinst and postrm. Postrm is completely unnecessary if the symlinks are done using dh_link (see below).

- rather than doing symlinks in postinst/prerm; the links should be created using dh_links, a file debian/links will have to simply contain the source and destination for the symlinks to create. This is much easier to maintain anyway, as you only need to list the source and destinations for the symlinks.

- also, I suppose the PMLinux.8 manpage should be decompressed and let dh_installman deal with it in debian/rules, to get rid of this lintian warning:
W: ibmpmlinux: package-contains-timestamped-gzip opt/man/man8/PMLinux.8.gz

This may or may not be an error, but it definitely *should* be investigated. We don't program lintian checks for no reason, but to catch specific issues that come up regularly in Debian packages, such as including timestamps in tarballs, which makes it impossible to have fully reproducible builds. See https://wiki.debian.org/ReproducibleBuilds/TimestampsInGzipHeaders