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)
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.
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
Created attachment 592100 [details, diff] patch for /usr/portage/arch/amd64
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.
(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.
(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.
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.
You want to keep a bug open for basically failing to read Python wiki? https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS
(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
(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.
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
*** This bug has been marked as a duplicate of bug 702368 ***
*** Bug 702368 has been marked as a duplicate of this bug. ***
Seems like there is no reference to this bug from the commit but this was fixed in https://github.com/gentoo/gentoo/commit/bf36a7978f3aaacdb1f98fbf419769cdd32c7b91