#8133 (Bug) Incorrect postinst, postrm and control files in Ubuntu package
+1 1
Closed as Fixed
Component: DisplayCAL 3.3.2
Created by Adrien Beau
Last modified
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_3.3.2.0-1_amd64.deb
, with md5sum fa06fb95ba4e4b284c675f2f5faeee7a
.
I used 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/DisplayCAL
paths), 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 the7z
command, which is in thep7zip-full
package. 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.
Indeed, a stale file on OBS. Thanks for noticing, rebuilds are underway.
My understanding (correct me if I’m wrong) is that the
-e
test follows symbolic links. So if the file is a symbolic link and the actual file the link points to does not exist, the symlink is removed, and this is the intention.No, DisplayCAL only uses 7z if available and falls back to other formats it can create natively otherwise (apart from a small part of the code that isn’t really used any longer due to workflow changes). I should probably remove the dependency altogether.
This dependency originates from a time when auto-download of the latest tested Argyll release was not implemented in DisplayCAL, and could possibly be removed altogether. I’ll change it to a “Recommends” for now.
You are correct, I misunderstood the test.
If I followed correctly, you’re talking about the part where you extract some files from .cab / .exe files? Anyway, as long as DisplayCAL makes use of the
7z
command on Debian and Ubuntu distributions, it should depend onpz7zip-full
(orRecommend
orSuggest
that package).The
p7zip
package only provides the 7zr command.It doesn’t though. The “natural” format created under Linux is tgz.