FS#78455 - [gst-plugins-bad-libs] Remove wayland-protocols from depends

Attached to Project: Arch Linux
Opened by Link Mauve (linkmauve) - Tuesday, 09 May 2023, 15:13 GMT
Last edited by Balló György (City-busz) - Thursday, 23 November 2023, 00:47 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Very Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
wayland-protocols is purely a build-time dependency, it contains XML description files which are used to generate actual source code using wayland-scanner. This was introduced in https://github.com/archlinux/svntogit-packages/commit/1f31a6b740d89e9910df2d0a99c474764bff2ae6 for no stated reason, and that change should be reverted.

Additional info:
* package version(s) 1.22.2-1
* config and/or log files etc. N/A
* link to upstream bug report, if any N/A

Steps to reproduce:
% pacman -Qi gst-plugins-bad-libs | grep Depends
This task depends upon

Closed by  Balló György (City-busz)
Thursday, 23 November 2023, 00:47 GMT
Reason for closing:  Fixed
Additional comments about closing:  gst-plugins-bad-libs 1.22.7-1
Comment by Mark Wagie (yochananmarqos) - Tuesday, 09 May 2023, 15:31 GMT
It's also required by fcitx5, gamescope, hyprland & wlc. A separate bug report for each package seems a bit redundant, however there are different packagers involved.
Comment by Toolybird (Toolybird) - Wednesday, 10 May 2023, 04:27 GMT
This change was likely made because of a new namcap check. I argued the point about this [1][2] but it fell on deaf ears. The namcap devs apparently do not understand how run-time deps work in the real world (of course not true...but it sure seems like it!). It appears packaging convenience has been preferred over common sense. It's a shame because namcap is really good at a lot of things. But it's this kind of bogus rule that gives namcap a bad rep. I wouldn't go as far as Allan [3] but I can see why folks feel that way sometimes... (Oops, sorry for getting all ranty).

[1] https://gitlab.archlinux.org/pacman/namcap/-/issues/29#note_89781
[2] https://bugs.archlinux.org/task/77766#comment215990
[3] https://bugs.archlinux.org/task/69618#comment196673
Comment by Jan de Groot (JGC) - Friday, 12 May 2023, 08:58 GMT
As Archlinux doesn't have widespread -dev packages, the namcap check and added dependency is valid. This is described by comment [1].
Removing wayland-protocols breaks pkg-config --all for example.

However, wayland-protocols is just a bunch of XML files not used by anything installed by gst-plugins-bad-libs.
The protocols are converted to header files at build time.
I see no reason why gstreamer-wayland-1.0 should reference wayland-protocols in Requires.private.

Patch it out from requires.private and move wayland-protocols to makedepends.

[1] https://gitlab.archlinux.org/pacman/namcap/-/issues/29#note_89784


Comment by Toolybird (Toolybird) - Saturday, 13 May 2023, 00:50 GMT
> the namcap check and added dependency is valid

I disagree. We cannot escape the facts:
- these "protocol" pkgs are not required for the packaged software to run
- .pc files have *zero* to do with run-time. They are not required at run-time. They have no influence at run-time. All they do is aid in building software (build-time). Because of this reliance on .pc files as some kind of authority, we are polluting our systems with unnecessary crap i.e. the "protocol" pkgs.

Anyway, maybe namcap could special-case the obvious "protocol" pkgs that are not needed at run-time e.g. wayland-protocols, spice-protocol, xorgproto, etc...then this problem would go away.
Comment by Balló György (City-busz) - Friday, 26 May 2023, 17:56 GMT
This is an upstream bug in gstreamer. I created a patch which fixes this issue:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4724
Comment by Balló György (City-busz) - Tuesday, 07 November 2023, 20:31 GMT
It has been merged by upstream and backported into the 1.22 branch:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5618

So the dependency can be removed from the next release.

Loading...