-
Notifications
You must be signed in to change notification settings - Fork 30
Description
Packages regularly get PYTHON_COMPAT updated with new impls,.and pkgcheck then complains that the ebuild has been modified and RDEPEND has changed without a revbump to force the RDEPEND to be propagated to installed user systems.
But PYTHON_COMPAT always adds new RDEPEND in the form:
USE+="
python_targets_python3_14
"
RDEPEND+="
python_targets_python3_14? (
dev-lang/python:3.14
)
"... hence it's inaccurate to claim that a revbump is needed to propagate metadata changes. Furthermore, it's undesirable to revbump. We generally don't, and in cases where the ebuild doesn't need patches to ensure tests pass for the new python implementation, avoiding revbump+30day+stablereqs means we can actually get the whole ecosystem ported in a timely manner. It also means that for example when other packages have an optional dependency on python (and use python modules), we aren't forced to make an "either or" decision about whether to enable new python versions (that depend on additional unstable-only packages) or successfully stable a trivial bugfix which does legitimately need a revbump but there is already a revbumped unstable package doing nothing but adding PYTHON_COMPAT. We could of course revbump yet again with an urgent bugfix, drop python support, stable that, then revbump yet again with new PYTHON_COMPAT but that sounds incredibly painful.
Generically, the issue here is that USE-dependencies that can only be enabled together with enabling a USE flag newly added to the package in the same commit that added the dependencies, should not trigger this warning. It just mostly occurs for python since all PYTHON_TARGETS are guaranteed to act like (-) use, not like (+) use. So we know that the RdependChange that is being warned about is only applicable to users who have rebuilt with a newly enabled USE flag.