Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 933868 - sys-apps/portage: Make emerge --getbinpkgonly honor --usepkg-exclude
Summary: sys-apps/portage: Make emerge --getbinpkgonly honor --usepkg-exclude
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Binary packages support (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-09 11:39 UTC by Matthias Nagel
Modified: 2024-06-09 12:57 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Nagel 2024-06-09 11:39:31 UTC
This is a feature/improvement request.

Currently, emerge supports the options "--getbinpkg" and "--getbinpkgonly". The first one makes emerge prefer binary packages over self-compilation, the latter is stricter and restricts emerge to only use binary packages.

There is another option "--usepkg-exclude" which excludes certain binary packages, but this option only affects "--getbinpkg". It has no affect on "--getbinpkgonly". I would like to see that "--getbinpkgonly" and "--usepkg-exclude" work together. The expected behaviour would be that emerge only accepts binary packages (and never falls back to self-compilation) except for those packages which are explicitly excluded via "--usepkg-exclude".

The use case is where one runs an own build server and wants to ensure that the clients only pull pre-built binary packages from the build server except for those packages where binary packages make not much sense, i.e. I would like to use

EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --getbinpkgonly --usepkg-exclude \"acct-*/* sys-kernel/*-sources virtual/* */*-bin\""

in make.conf on the clients. This way, I would be sure that running a @world upgrade is safe and will never accidentally fall back to self-compilation. Right now I only have two options: either use --getbinpkgonly for everything and also build binary packages which don't make much sense or use --getbinpg in combination with --usepkg-exclude and take extreme manual care that emerge --update @world does not accidentally pulls in non-binary packages.

Reproducible: Always

Steps to Reproduce:
1. emerge --ask --getbinpkgonly --usepkg-exclude "acct-*/* sys-kernel/*-sources virtual/* */*-bin" --update --deep --changed-use @world

Actual Results:  
--getbinpkgonly and --usepkg-exclude do not work together nicely.

Expected Results:  
--getbinpkgonly should restrict emerge to only use binary packages and bail out with an error if no binary package is available, except for those which are explicitly excluded by --usepkg-exclude.