Arch Linux

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#66481 - [v4l-utils] does not enforce its dependency on package qt5-base

Attached to Project: Arch Linux
Opened by Ed Eyles (Ghepardo) - Thursday, 30 April 2020, 18:13 GMT
Last edited by Jelle van der Waa (jelly) - Saturday, 02 May 2020, 19:33 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jelle van der Waa (jelly)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: Without package qt5-base installed, install package v4l-utils, then attempt to run executable qv4l2 which has been provided by the package. This fails to run, with error:

qv4l2: error while loading shared libraries: libQt5OpenGL.so.5: cannot open shared object file: No such file or directory

I believe the v4l-utils package should enforce its dependency on the qt5-base package, which provides the library libQt5OpenGL. (I see that this library is also supplied by the package cuda, but a dependency on qt5-base would seem more natural.)

Additional info:
* package version(s): extra/v4l-utils 1.18.0-1
* config and/or log files etc.: NA
* link to upstream bug report, if any: NA

Steps to reproduce: See Description above.
This task depends upon

Closed by  Jelle van der Waa (jelly)
Saturday, 02 May 2020, 19:33 GMT
Reason for closing:  Implemented
Additional comments about closing:  v4l-utils-1.18.0-2
Comment by Doug Newgard (Scimmia) - Thursday, 30 April 2020, 22:45 GMT
It is optional, the description for the optdep is just missing.
Comment by Ed Eyles (Ghepardo) - Friday, 01 May 2020, 09:23 GMT
The Qt library isn't optional for the GUI executable - see the error I reported.
Comment by Antonio Rojas (arojas) - Friday, 01 May 2020, 09:28 GMT
The GUI executable isn't the only thing contained in the package, that's where the 'optional' comes from. It doesn't make sense for an application that needs libv4l to pull Qt.
Comment by Ed Eyles (Ghepardo) - Friday, 01 May 2020, 14:08 GMT
Comment by Ed Eyles (Ghepardo) - Friday, 01 May 2020, 14:22 GMT
@Antonio I agree completely with your second sentence. Surely, then, this package should be split into two - one providing the terminal version and one the Qt5 version. The latter would then have dependencies on the former and on the Qt5 library. Any package should be a discrete deployment unit; for it to have "optional" dependencies is no help to the user who then has to investigate which part of the package has such a dependency and what this actually implies for their installation. Other distributions with which I'm familiar - Debian and Red Hat - do not have this confusion in their packaging.
Comment by Doug Newgard (Scimmia) - Friday, 01 May 2020, 14:35 GMT
That's not how Arch works.
Comment by Ed Eyles (Ghepardo) - Friday, 01 May 2020, 16:22 GMT
I'm not sure how it can be justified that it should work that way, especially when other distributions do not. But I *am* sure this is not the place for that debate, so I'll leave it there. Thanks for your respective inputs, @Doug & @Antonio.

I believe that optional dependency is already declared in the package, so does anything further need to be done? @Doug you referred to a missing description?
Comment by Doug Newgard (Scimmia) - Friday, 01 May 2020, 22:37 GMT
Yes, it should tell you what the optional dep is needed for. In this case, something like 'qt5-base: for qv4l2'.

Loading...