Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#73072 - [libjxl] Broken .so dependencies in default install (Packaging Issue)

Attached to Project: Community Packages
Opened by J. S. (Vaporeon) - Saturday, 18 December 2021, 00:46 GMT
Last edited by Daniel Bermond (Bermond) - Saturday, 25 December 2021, 12:40 GMT
Task Type General Gripe
Category Packages
Status Closed
Assigned To Daniel Bermond (Bermond)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
The provided cli binaries are broken by default due to hard dependencies being listed as optional.

I would not expect a package to install broken binaries on the system. This creates an environment where although the binaries exist there is no guarantee that they will actually work.

As an example, if I wanted to create a package that depended on the cli tools contained in the libjxl package, I would have to depend on libjxl _and_ all of the packages libjxl optionally depends on in order for them to work. This breaks what you would expect from Arch Linux package management.

Hard dependencies should always be listed as explicit dependencies. If the intention is to cut down on dependency bloat then the cli tools should instead be moved to a split package that in turn hard depends on whatever is needed for the tools to run.

Package version: 0.6.1-1

Steps to reproduce:
Install "libjxl", then run "cjxl".
If all of the "optional" dependencies are not installed, you will get an error like the following:
"cjxl: error while loading shared libraries: libtcmalloc_minimal.so.4: cannot open shared object file: No such file or directory"

This task depends upon

Closed by  Daniel Bermond (Bermond)
Saturday, 25 December 2021, 12:40 GMT
Reason for closing:  Implemented
Additional comments about closing:  libjxl 0.6.1-2
Comment by Daniel Bermond (Bermond) - Friday, 24 December 2021, 21:51 GMT
Personally, I don't see this as a bug at all (as it was reported). This is a point of view, and I think it would be best fitted as a feature request (instead of a bug report).

If you take a look at the [arch-dev-public] mailing list, there is a discussion[1] ongoing right now that considered the case of optional dependencies for binaries. A packager called Xyne raised this point when discussing about the new library dependency that is being proposed for implementation in pacman/makepkg. Another packager (and pacman developer) named Allan is against using optional dependency for binaries. So, as you can see, this is a point of view that can be genuinely discussed. And as far as I know, there is no official word about this on our Wiki. In the specific case of this task/ticket, optional dependencies for binaries in a package that is mainly a library (as the name suggests), seems fine for me at a first glance, allowing the library to become much lighter in terms of dependencies. Of course, your point is also totally valid.

[1] https://lists.archlinux.org/pipermail/arch-dev-public/2021-December/030587.html
Comment by Daniel Bermond (Bermond) - Friday, 24 December 2021, 21:55 GMT
That being said, I kindly ask @AndyRTR (Andreas Radke) or any other bug wrangler to change this Task Type from 'Bug Report' to 'Feature Request', if possible :)
Comment by Daniel Bermond (Bermond) - Saturday, 25 December 2021, 00:06 GMT
Thank you @arojas for changing the Task Type :)

Loading...