Comment 40 for bug 1448092

Revision history for this message
Guo, Liang Chang (lcguo) wrote :

Hi Mathieu,

Thank you for your quick review and response. I am uploading the new tar file, with the following answers to your comments:

- Version for Ubuntu should be -0ubuntu1 rather than -1.

  The '1' in the PMLinux version "3.2.0-1" is an initial build serial number. PMLinux product is for all IBM-specific Linux platforms, some of them dislike the build number starts from '0', nor suggest a long repeated subfix (such as "-0ubuntu1") in their versioning. In fact, even on Ubuntu, I only see half of deb packages having "ubuntu" in their version strings.

- compat file should contain "9", not "5".

  Changed as suggested, although we are unwilling to tight any limitations.

- for debian/control, please use the following line in place of the Depends: line for ibmpmlinux:
Depends: ${shlibs:Depends}, dialog (>= 0.8), bash (>= 3.0), ${misc:Depends}

  Changed as suggested.

- no need for preinst or postrm. Running verify or uninstall in postinst/prerm is most likely wrong.

  That's the style converted into deb from rpm.
  It could have problem only when PMLinux is kicked in before its dependencies in system installation, which is unlikely for a leaf package.
  Sharing common programs is a good thing, so is what we do here to eliminate multiple copies existing in installation/upgrade and daily maintenance programs.

- no application should change crontab for the root user by editing the file. If anything, it should instead ship a file in the right directories in /etc/cron.d

  Again, PMLinux is compatible for all Linux variants. It has diverse options & features for users to choose. That program branches to change crontab will not be reached on Ubuntu by default.

- 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.

  Again, that's rpm style converted into deb. It's just a way of self integrity to eliminate any special dependencies on an installation environment.
  For deb, PMLinux package already contains the major symlinks in the files list, which can then be created by dpkg in installtion, and postinst is just to verify if dpkg or rpm does it right.

- please use debian/install containing the following, rather than copying files in debian/rules:
opt
etc
usr/share/man opt/

  Added debian/install with the above content, except " opt/" (which will ruin the man page feature under current Ubuntu releases, because they still do not support (add /opt/man in searching paths) any files in /opt/man/*)

- you don't need file copies, creating directories or any such thing using override_dh_auto_build in debian/rules; instead, you can use the following:
override_dh_install:
 mkdir $(CURDIR)/debian/tmp
 tar -xpzf $(pkg_tgz) -C $(CURDIR)/debian/tmp
 dh_install

 Yes, optimized as you suggested.

- It will be easiest for you to get the package name and version like this:
package := $(shell dpkg-parsechangelog -S Source)
version := $(shell dpkg-parsechangelog -S Version | sed -e 's/-.*//')
Note that here I pick just what goes in front of the - for the version number.

 No. dpkg-parsechangelog does not support "-S" option in Ubuntu 14.03

- please remove the line "override_dh_shlibdeps:" in debian/rules; this will fill in ${shlibs:Depends} for you automatically with the right version of libc.

  Done as suggested.

- 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 warning is not real but a lintian bug. Please see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762105.
  Nothing looks wrong for gzipping PMLinux-deb.manual. Decompressing is not an option because it makes a simple thing complicated and is merely to satisfy lintian's unimportant hobby.