Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 685974 - dev-lang/python-exec-2.4.6 ignores USE="python_targets_python3_7" flag
Summary: dev-lang/python-exec-2.4.6 ignores USE="python_targets_python3_7" flag
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-14 18:06 UTC by Sergey Torokhov
Modified: 2019-05-14 18:55 UTC (History)
1 user (show)

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


Attachments
emerge_info.txt (emerge_info.txt,6.31 KB, text/plain)
2019-05-14 18:06 UTC, Sergey Torokhov
Details
make.conf (make.conf,1.32 KB, text/plain)
2019-05-14 18:07 UTC, Sergey Torokhov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Torokhov 2019-05-14 18:06:00 UTC
To test compatibility of dev-util/scons package with python-3.7 I installed dev-lang/python-3.7.3, copied the dev-util/scons-3.0.5.ebuild to my local overlay, change "PYTHON_COMPAT=( python{2_7,3_{5,6}} )" to "PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )" within local ebuild file (and ran "repoman manifest" at its directory). Finaly I tried to install it:


# USE="python_targets_python3_7" emerge -1av =dev-util/scons-3.0.5::local

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U *] dev-lang/python-exec-9999:2::gentoo [2.4.6:2::gentoo] PYTHON_TARGETS="(jython2_7) (pypy) (pypy3) (python2_7) (python3_5) (python3_6) (python3_7*)" 0 KiB
[ebuild   R   ~] dev-util/scons-3.0.5::local [3.0.5::gentoo] USE="-doc -test" PYTHON_TARGETS="python2_7 python3_6 python3_7%* -python3_5" 0 KiB

Total: 2 packages (1 upgrade, 1 reinstall), Size of downloads: 0 KiB

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by dev-python/xcffib-0.5.1::gentoo
# required by dev-python/cairocffi-0.8.0::gentoo
# required by dev-python/matplotlib-2.2.2-r1::gentoo[cairo]
# required by @dev-tools
# required by @selected
# required by @world (argument)
=dev-lang/python-exec-9999 **

NOTE: The --autounmask-keep-masks option will prevent emerge
      from creating package.unmask or ** keyword changes.


The portage offers to install live-package instead of rebuilding of "dev-lang/python-exec-2.4.6" with appropriate USE-flags.

Also I tried to reinstall "dev-lang/python-exec-2.4.6" with this USE_flag:

# USE="python_targets_python3_7" emerge -1av =dev-lang/python-exec-2.4.6

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-lang/python-exec-2.4.6:2::gentoo  PYTHON_TARGETS="(jython2_7) (pypy) (pypy3) (python2_7) (python3_5) (python3_6) (-python3_7)" 86 KiB


The strange thing is that it's already compiled with "python3_5" while my system has
variables PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" (see attached file with "emerge --info" output in "emerge_info.txt").

It seems that "python3_5" stays after transition form python3.5 to python3.6 as default target.

I use profile "[16]  default/linux/amd64/17.0/desktop (stable) *".



P.S.
Also I tried to install another package with such USE:

# USE="python_targets_python3_7" emerge -1av dev-python/six

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-python/six-1.12.0::gentoo  USE="-doc -test" PYTHON_TARGETS="python2_7 python3_6 (-pypy) (-pypy3) -python3_5 (-python3_7)" 0 KiB

and there the "python_targets_python3_7" is also ignored.



Reproducible: Always
Comment 1 Sergey Torokhov 2019-05-14 18:06:42 UTC
Created attachment 576676 [details]
emerge_info.txt
Comment 2 Sergey Torokhov 2019-05-14 18:07:16 UTC
Created attachment 576678 [details]
make.conf
Comment 3 Brian Evans (RETIRED) gentoo-dev 2019-05-14 18:12:52 UTC
This is called stable USE masking.  A feature which prevents stable machines from installing unstable software unnecessarily.

You can override this locally in /etc/portage/profile/use.stable.mask with an entry of "-python_targets_python3_7"
Comment 4 Sergey Torokhov 2019-05-14 18:55:34 UTC
(In reply to Brian Evans from comment #3)
> This is called stable USE masking.  A feature which prevents stable machines
> from installing unstable software unnecessarily.
> 
> You can override this locally in /etc/portage/profile/use.stable.mask with
> an entry of "-python_targets_python3_7"

Great thanks! 
I use "/etc/portage/profile/package.use.stable.mask" now for specific packages.