Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 696084 - remove python3_7 masks from profiles
Summary: remove python3_7 masks from profiles
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Profiles (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
: 702368 (view as bug list)
Depends on: python3.7-compat
Blocks:
  Show dependency tree
 
Reported: 2019-10-02 22:03 UTC by Joel Berendzen
Modified: 2020-03-30 04:54 UTC (History)
3 users (show)

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


Attachments
patch for /usr/portage/arch/amd64 (python3_7_profile_unmask.patch,1019 bytes, patch)
2019-10-08 00:41 UTC, Joel Berendzen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joel Berendzen 2019-10-02 22:03:57 UTC
python 3.7 seems ready to go, but the masking in arch/*/use.stable.mask causes weird effects. Keyworded packages respect values in PYTHON_TARGETS and PYTHON_SINGLE_TARGET but stable packages mask, showing -(python3_7) and generally breaking things.  This behavior is poorly documented and took me a long time to find.

In profiles/arch/amd64/ (and others), comment out or remove

#python_targets_python3_7
#python_single_target_python3_7

The tracker for python 3.7 issues is bug #695996

Reproducible: Always

Steps to Reproduce:
1.USE="python_targets_python3_7" emerge -1pv dev-python/six
2.Observe -(python3_7)
Comment 1 Joel Berendzen 2019-10-03 22:49:50 UTC
The new title does not summarize my request. I'm not asking for python:3.7 to be stable.   I'm asking for the python_targets_python3_7 use flag to not be masked for stable packages.

This is a blocker for others joining me in testing 3.7 as default.  We are a ways from the package being stable, with several packages needing updates first.
Comment 2 Mike Gilbert gentoo-dev 2019-10-04 13:40:06 UTC
It's not as simple as dropping the entry from use.stable.mask. This list of packages must be marked stable first to avoid breaking things.

https://qa-reports.gentoo.org/output/gpyutils/36-to-37-stablereq.txt
Comment 3 Joel Berendzen 2019-10-08 00:41:12 UTC
Created attachment 592100 [details, diff]
patch for /usr/portage/arch/amd64
Comment 4 Joel Berendzen 2019-10-08 00:51:12 UTC
Mike, I respectfully believe that you have misunderstood the function of use.stable.mask, not that I would have been any different a few days ago myself.   I now have python3.7 working on my system as the only python3, and all seems well. 

Removing the masks in /usr/portage/arch/*/use.stable.mask does not break anything, it only enables gentoo users with the proper PYTHON_TARGETS to get python3.7 installed for stable packages (which already is the case for unstable packages).  I am unaware of any workaround involving /etc/portage, but I haven't checked the source code.

The list of stable python packages that are missing python3_7 use flags is misleadingly long.  On my system, which has a lot of python packages installed, about 35 packages needed 3_7 added, and one or two need a version bump.

I'm holding off on submitting the 3_7 bump list until this profile problem is fixed, though.
Comment 5 Greg Kubaryk 2019-10-08 01:05:09 UTC
(In reply to Joel Berendzen from comment #4)
> Mike, I respectfully believe that you have misunderstood the function of
> use.stable.mask, not that I would have been any different a few days ago
> myself.   I now have python3.7 working on my system as the only python3, and
> all seems well. 
> 

Mike is a Gentoo developer and definitely knows how use.stable.mask works. If you want to override it locally, create an entry in /etc/portage/profile/use.stable.mask to negate it or add a /etc/portage/package.accept_keywords entry such that you are not bound by stable restrictions. 'man 5 portage' describes both but we have support channels if you need more assistance.
Comment 6 Mike Gilbert gentoo-dev 2019-10-08 16:02:25 UTC
(In reply to Joel Berendzen from comment #4)

Rather than argue about this, I will simply ask you to submit a PR on github to drop the flag from use.stable.mask.

I expect the continuous integration test system will flag several dozen problems due to a broken dependency graph.
Comment 7 Joel Berendzen 2019-10-09 14:20:58 UTC
Generating a PR on GitHub is outside of my scope of work at the moment.

I would simply ask that you leave this bug open so users who finding themselves in the less-than-ideal position of having to develop code on Gentoo on python 3.6 when their key target platforms (Clear Linux, Arch, Anaconda Python) have moved to python 3.7 can find the recipes for updating on their own.
Comment 8 Andreas Sturmlechner gentoo-dev 2019-11-30 13:17:49 UTC
You want to keep a bug open for basically failing to read Python wiki?

https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS
Comment 9 Osiris 2019-12-27 10:52:17 UTC
(In reply to Andreas Sturmlechner from comment #8)
> You want to keep a bug open for basically failing to read Python wiki?

Yes please. This bugreport was the only way for me to shed some light on my current Python issue. I was already blaming Gentoo for being a (#)*$(#)$* piece of ()*$#() for being soooo annoyingly complex without good documentation. 

What is the issue you might ask? Well, recently Python 3.7.5-r1 was marked stable[1]. So when I updated @world, I got a brand new Python implementation. Great! So I immediately updated my `PYTHON_TARGETS` and `PYTHON_SINGLE_TARGET` to include resp. changed to `python3_7`.

Unfortunately, my `make.conf` changes didn't do ANYTHING. All packages were still ignoring the `python3_7` PYTHON_COMPAT. I read the PYTHON_TARGETS-Wiki. I was confused. Python 3.7 *IS* stable. So it didn't need unmasking, right?

It confused me very much it seems Gentoo has a stable Python version which needed to be unmasked anyway. This bug report got me on the right track again.


1: https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/python?id=fcc9d8beae1e0cdbba337c5fe204b0c59606475d
Comment 10 Guillaume Gelin 2020-01-03 08:51:40 UTC
(In reply to Andreas Sturmlechner from comment #8)
> You want to keep a bug open for basically failing to read Python wiki?
> 
> https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS

Yes, please. Although I think it's not just a question of documentation, because I'm in exactly the same situation as Osiris.
Comment 11 Israel G. Lugo 2020-01-06 02:43:30 UTC
This confused me as well and made me waste time trying to understand what was going on.

The wiki entry mentions "Unmasking non-stable implementation on a stable system", which is understandable. However, that's not the case here.

Python 3.7 is marked stable. I installed it, but then I can't use it because it's masked, presumably because it breaks a bunch of packages. So why is it marked stable?

I imagine the answer would be that Python 3.7 itself may be ready for use, e.g. for one's own development, even if it can't be used to run other existing stable packages. Still, that's confusing.

Perhaps the wiki could be reworded slightly, maybe a small introduction to explain the different use cases.


(In reply to Osiris from comment #9)
> (In reply to Andreas Sturmlechner from comment #8)
> > You want to keep a bug open for basically failing to read Python wiki?
> 
> Yes please. This bugreport was the only way for me to shed some light on my
> current Python issue. I was already blaming Gentoo for being a (#)*$(#)$*
> piece of ()*$#() for being soooo annoyingly complex without good
> documentation. 
> 
> What is the issue you might ask? Well, recently Python 3.7.5-r1 was marked
> stable[1]. So when I updated @world, I got a brand new Python
> implementation. Great! So I immediately updated my `PYTHON_TARGETS` and
> `PYTHON_SINGLE_TARGET` to include resp. changed to `python3_7`.
> 
> Unfortunately, my `make.conf` changes didn't do ANYTHING. All packages were
> still ignoring the `python3_7` PYTHON_COMPAT. I read the
> PYTHON_TARGETS-Wiki. I was confused. Python 3.7 *IS* stable. So it didn't
> need unmasking, right?
> 
> It confused me very much it seems Gentoo has a stable Python version which
> needed to be unmasked anyway. This bug report got me on the right track
> again.
> 
> 
> 1:
> https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/
> python?id=fcc9d8beae1e0cdbba337c5fe204b0c59606475d
Comment 12 Andreas Sturmlechner gentoo-dev 2020-03-07 21:21:05 UTC

*** This bug has been marked as a duplicate of bug 702368 ***
Comment 13 Andreas Sturmlechner gentoo-dev 2020-03-07 21:22:21 UTC
*** Bug 702368 has been marked as a duplicate of this bug. ***
Comment 14 Simon 2020-03-24 12:08:48 UTC
Seems like there is no reference to this bug from the commit but this was fixed in https://github.com/gentoo/gentoo/commit/bf36a7978f3aaacdb1f98fbf419769cdd32c7b91