Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 796230

Summary: systemd.eclass: Permit entirely skipping pkgconfig BDEPEND
Product: Gentoo Linux Reporter: Daniel M. Weeks <dan>
Component: EclassesAssignee: Gentoo systemd Team <systemd>
Status: RESOLVED WONTFIX    
Severity: normal CC: sam
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Daniel M. Weeks 2021-06-15 14:04:01 UTC
I'll preface this by saying it's a corner case. I'm also not sure whether this should be fixed by way of the eclass or refining the policy on requiring systemd unit files to always be installed. Regardless, the issue arises from the systemd eclass forcing a dependency on pkgconfig.

On a system exclusively using binary packages, there is typically no need for pkgconfig and it won't be installed. The BDEPEND on pkgconfig is good for this case since it won't be triggered. However, *-bin packages do still trigger BDEPEND which can result in pkgconfig being installed for maybe just 1 file location to be selected, only for pkgconfig to be removed again. (grafana-bin is an example of this.)

*-bin packages affected by this could take advantage of the fallback path and avoid the churn if they had an option to bypass the injection of pkgconfig in BDEPEND by the systemd eclass.

Alternatively, *-bin packages could be permitted to use USE=systemd to control the installation of the unit file(s). This would be a small deviation from the current policy but I don't think it violates the spirit of it; *-bin packages are not going to be rebuilt if the user enables/disabled the systemd useflag.

Reproducible: Always
Comment 1 Mike Gilbert gentoo-dev 2021-06-15 15:29:13 UTC
My suggestion would be to create binpkgs for these *-bin packages to avoid pulling in BDEPEND on systems where you are not compiling things.

Adding any additional complexity to any ebuilds/eclasses to work around this corner case is not worth the effort.