Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 660810 - emerge rebuilds packages with USE -python on PYTHON_TARGETS change
Summary: emerge rebuilds packages with USE -python on PYTHON_TARGETS change
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on: 628004
Blocks:
  Show dependency tree
 
Reported: 2018-07-09 16:36 UTC by Gerhard Gedigk
Modified: 2021-02-02 23:40 UTC (History)
3 users (show)

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


Attachments
emerge --info (emerge --info,5.53 KB, text/plain)
2018-07-09 16:36 UTC, Gerhard Gedigk
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerhard Gedigk 2018-07-09 16:36:24 UTC
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.
Comment 1 Brian Evans (RETIRED) gentoo-dev 2018-07-09 16:55:47 UTC
(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.
Comment 2 Zac Medico gentoo-dev 2018-07-09 17:07:36 UTC
Maybe we can use GLEP 73 to make REQUIRED_USE disable the python_targets_* flags automatically when the python USE flag is disabled.
Comment 3 Mart Raudsepp gentoo-dev 2018-07-09 17:16:46 UTC
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).
Comment 4 Zac Medico gentoo-dev 2018-07-09 18:08:37 UTC
(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.