Created attachment 538992 [details] emerge --info Steps to reproduce: 1) find a package with the python use flag that has been built without python. The Wiki page for the python use flag is relatively current. 2) Set PYTHON_TARGETS= and/or PYTHON_SINGLE_TARGET= in your make.conf to something that is not the current default or that is different compared to the build of the package in question. 3) Issue emerge -auD --newuse @world That should list the package being built without python. My command even lists app-office/libreoffice-6.0.3.2 which has no python use flag but lists PYTHON_SINGLE_TARGET= and PYTHON_TARGETS=. LIBREOFFICE_EXTENSIONS= all have disabling use flags.
(In reply to Gerhard Gedigk from comment #0) > Created attachment 538992 [details] > emerge --info > > Steps to reproduce: > 1) find a package with the python use flag that has been built without > python. > The Wiki page for the python use flag is relatively current. > 2) Set PYTHON_TARGETS= and/or PYTHON_SINGLE_TARGET= in your make.conf to > something that is not the current default or that is different compared to > the build of the package in question. > 3) Issue emerge -auD --newuse @world > > That should list the package being built without python. > > My command even lists app-office/libreoffice-6.0.3.2 which has no python use > flag but lists PYTHON_SINGLE_TARGET= and PYTHON_TARGETS=. > LIBREOFFICE_EXTENSIONS= all have disabling use flags. PYTHON_TARGETS are just USE flags themselves. They expand into (eg) python_targets_python3_6. Such packages you mention are rebuild because of --newuse changes. Currently, there is no functionality to tie different USE flags together by requirements. Though you could do this yourself via package.use. Perhaps this could be a feature request, but may have to be suggested as a PMS change.
Maybe we can use GLEP 73 to make REQUIRED_USE disable the python_targets_* flags automatically when the python USE flag is disabled.
That could be nice, though note that this is not related to initial bug case of libreoffice. libreoffice uses PYTHON_SINGLE_TARGET, and it is not conditional to any python USE flag. That said, a rebuild could be avoided if PYTHON_TARGETS changes, but PYTHON_SINGLE_TARGET does not; the end result doesn't change then (PYTHON_TARGETS exists only to avoid a mess with a single python version needing package depending on other python packages).
(In reply to Mart Raudsepp from comment #3) > That said, a rebuild could be avoided if PYTHON_TARGETS changes, but > PYTHON_SINGLE_TARGET does not; the end result doesn't change then > (PYTHON_TARGETS exists only to avoid a mess with a single python version > needing package depending on other python packages). This might also be enforced by making REQUIRED_USE automatically disable python_targets_* flags when a python_single_target_* flag is enabled.