#8133 (Bug) Incorrect postinst, postrm and control files in Ubuntu package
This is actually three bugs and a feature request, but since they all relate to .deb file packaging, I thought I would bundle there here. I can split to separate issues if you prefer.
I tried installing the DisplayCAL package provided on the web site for Ubuntu 16.04. I'm actually running KDE Neon (based on Ubuntu 16.04), but the issues at hand are most likely not dependent on that. The downloaded file is
displaycal_22.214.171.124-1_amd64.deb, with md5sum
dpkg-deb -R to extract the .deb file contents, notably to have a look in the DEBIAN directory that contains the install scripts.
- Somehow, even though the project source code contains a corrected postinst script (with
/usr/share/DisplayCALpaths), the .deb package itself still contains a postinst script that uses
/usr/share/dispcalGUI. This prevents the udev symlinks from working. Maybe some stale files on a build server?
- The postrm script seems incorrect to me: inside the loop, it tests if the file does not exist and then if it exists and is a symbolic link, tries to remove it. The first test should simply be reversed.
- The control file lists a dependency on
p7zip, but DisplayCAL actually runs the
7zcommand, which is in the
p7zip-fullpackage. Besides, the p7zip package only provides support for .7z files, and looking briefly at the source code, DisplayCAL seems to need support for other kinds of archive formats.
Finally, here is a related request: the control file lists a dependency on
argyll, which means the corresponding Ubuntu package must be installed. Graeme Gill does not like those packages (and they are indeed outdated), and encourages users to install ArgyllCMS manually. I believe it there would be more flexibility in changing the
argyll dependency to a
Recommends dependency. For users with default settings, this would not change anything (recommended packages are automatically installed); more advanced users would be free to not install the package and do a more up-to-date manual install.