Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 474128 (python-3.3-stable) - =dev-lang/python-3.3.2-r2 and dev-python/python-docs-3.3.2 stabilization request
Summary: =dev-lang/python-3.3.2-r2 and dev-python/python-docs-3.3.2 stabilization request
Status: RESOLVED FIXED
Alias: python-3.3-stable
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords: STABLEREQ
Depends on: python-3.3 474194 481940 487868 487870 487872 487874 CVE-2013-4251 489894
Blocks: gnome-3.8-stable 493836
  Show dependency tree
 
Reported: 2013-06-22 12:47 UTC by Christian Theune
Modified: 2014-01-18 14:56 UTC (History)
7 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Theune 2013-06-22 12:47:18 UTC
There is no stable Python 3.3 ebuild around. Python 3.3 is a major step forward for Python 3 adoption and I'd like to be able to refer to a stable one.

I would hope that 3.3.2 is stable packaged already. If I can help somehow to move this forward, please tell me what to do.

Reproducible: Always

Steps to Reproduce:
1. emerge dev-lang/python:3.3
2. ...
3.
Actual Results:  
Requires to change keywords.


Expected Results:  
Installs Python 3.3 without additional keyword changes.
Comment 1 Dirkjan Ochtman (RETIRED) gentoo-dev 2013-06-22 15:19:28 UTC
You could help with the bugs mentioned in the tracker. We probably need at least some of those fixed before going ahead with stabilization.

Personally, I'm not really in a hurry to stabilize this, though.
Comment 2 Christian Theune 2013-06-24 11:39:41 UTC
Hmm. Thanks for referencing that other bug. I'm a bit confused that this would block getting Python 3.3 stable? I'm not sure what the policy is on this.

I can perfectly use Python 3.3 without those packages - it's not even the ebuild's fault that those packages aren't compatible. I might be missing something why it can't be stabilized then...
Comment 3 Dirkjan Ochtman (RETIRED) gentoo-dev 2013-06-24 11:45:53 UTC
The policy is that we don't like to provide users with a python that doesn't work with their packages. But I suppose we could just make sure those packages don't support installation on python-3.3 just yet.

What do others think about this?
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-06-24 12:07:21 UTC
Do we have any stats on how many packages support various Python versions?

If all affected packages were using the new eclasses, we could go for stabilizing py3.3 without enabling it by default. Then it would be only used by users expecting it.

However, in the current situation stabilizing it would mean that shortly all users will be having it installed. Then they would eselect it as suggested and python.eclass will want to use that, and you know what goes next...

If a fair number of packages supports py3.3, I'm all for it. Just remember to change the default PYTHON_TARGETS altogether with it.
Comment 5 Dirkjan Ochtman (RETIRED) gentoo-dev 2013-06-24 12:11:35 UTC
(In reply to Michał Górny from comment #4)
> If all affected packages were using the new eclasses, we could go for
> stabilizing py3.3 without enabling it by default. Then it would be only used
> by users expecting it.

Why is that? Couldn't we stabilize 3.3 without putting it in the default PYTHON_TARGETS?
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-06-24 13:06:20 UTC
(In reply to Dirkjan Ochtman from comment #5)
> (In reply to Michał Górny from comment #4)
> > If all affected packages were using the new eclasses, we could go for
> > stabilizing py3.3 without enabling it by default. Then it would be only used
> > by users expecting it.
> 
> Why is that? Couldn't we stabilize 3.3 without putting it in the default
> PYTHON_TARGETS?

There is a fair number of packages that have just 'dev-lang/python' in (R)DEPEND. Unless I'm mistaken, this will cause python3.3 to be installed as an upgrade.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-08-04 13:05:43 UTC
In case anyone was wondering, here's a list of packages which have py3.2 enabled but no py3.3. The tool is pretty early so it may have missed something.

app-accessibility/accerciser:0
app-editors/retext:0
app-misc/solaar:0
app-portage/overlint:0
app-portage/portpeek:0
dev-libs/libgit2-glib:0
dev-python/alembic:0
dev-python/astng:0
dev-python/backports-lzma:0
dev-python/beaker:0
dev-python/bitstring:0
dev-python/cement:0
dev-python/cherrypy:0
dev-python/cliff:0
dev-python/cmd2:0
dev-python/colorama:0
dev-python/deform:0
dev-python/guessit:0
dev-python/http-parser:0
dev-python/logilab-common:0
dev-python/mako:0
dev-python/mpi4py:0
dev-python/mpmath:0
dev-python/pandas:0
dev-python/progressbar:0
dev-python/pyasn1:0
dev-python/pyenchant:0
dev-python/pyev:0
dev-python/pylint:0
dev-python/pyside:0
dev-python/pysnmp:0
dev-python/pysvn:0
dev-python/python-ldap:0
dev-python/python-musicbrainz-ngs:0
dev-python/pyudev:0
dev-python/pyxattr:0
dev-python/shiboken:0
dev-python/sleekxmpp:0
dev-python/sympy:0
dev-python/testfixtures:0
dev-python/timelib:0
dev-python/tinycss:0
dev-python/translationstring:0
dev-python/twitter:0
dev-python/txAMQP:0
dev-python/ujson:0
dev-python/versiontools:0
dev-python/virtualenv-clone:0
dev-python/xlrd:0
dev-python/yapsy:0
dev-util/catfish:0
dev-util/cdiff:0
dev-util/devhelp:0/3-1
gnome-extra/gnome-packagekit:0
net-irc/irssi-otr:0
net-p2p/torrentinfo:0
sci-chemistry/openbabel-python:0
sys-fs/bedup:0
sys-libs/libselinux:0
Comment 8 Pacho Ramos gentoo-dev 2013-08-20 09:55:58 UTC
We would need this for some accesibility related packages on Gnome 3.8

Regarding its stabilization, if I don't misremember there was a news item explaining people they they should keep using python2 as "python" provider (I am talking about python.eclass, I guess there shouldn't be any problem for new -r1 eclasses)
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-09-02 11:49:16 UTC
I'm not sure if we can make 3.3 stable without putting it to PYTHON_TARGETS. I don't think we're going to have USE change issues like ruby has now but I think python.eclass will start using it, and python-r1 deps will not satisfy that.
Comment 10 Dirkjan Ochtman (RETIRED) gentoo-dev 2013-09-02 11:56:12 UTC
I always expected 3.3 to appear in default PYTHON_TARGETS when it hit stable.
Comment 11 Pacho Ramos gentoo-dev 2013-09-03 05:55:53 UTC
(In reply to Dirkjan Ochtman from comment #10)
> I always expected 3.3 to appear in default PYTHON_TARGETS when it hit stable.

How will -r1 eclasses work if 2.7, 3.2 and 3.3 are in PYTHON_TARGETS? I guess they will be used only if package supports them (I mean, a package only with 3.2 in python compat will only try to use 3.2), right? In that case adding it to PYTHON_TARGETS wouldn't be so problematic
Comment 12 Pacho Ramos gentoo-dev 2013-09-22 10:20:30 UTC
(In reply to Pacho Ramos from comment #11)
> (In reply to Dirkjan Ochtman from comment #10)
> > I always expected 3.3 to appear in default PYTHON_TARGETS when it hit stable.
> 
> How will -r1 eclasses work if 2.7, 3.2 and 3.3 are in PYTHON_TARGETS? I
> guess they will be used only if package supports them (I mean, a package
> only with 3.2 in python compat will only try to use 3.2), right? In that
> case adding it to PYTHON_TARGETS wouldn't be so problematic

OK, looks like it will only end up installing modules for 3.3 that is the wanted behavior :)
Comment 13 Pacho Ramos gentoo-dev 2013-10-07 18:49:17 UTC
Running diff between current stable python-3.2 and 3.3.2-r2 shows no additional *DEPEND to be stabilized with it, but I guess some stuff needs to be done at profiles level: I have seen python3_3 is masked in stable profiles, and I guess 3.3 needs to be appended in PYTHON_TARGETS
Comment 14 Dirkjan Ochtman (RETIRED) gentoo-dev 2013-10-10 07:59:20 UTC
I think we're ready for this. Any objections?!
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-10-10 20:29:56 UTC
(In reply to Dirkjan Ochtman from comment #14)
> I think we're ready for this. Any objections?!

I agree we should go with it already. I don't see any major blockers. The remaining packages not supporting 3.3 [1] can be taken care of later, I guess.

[1]:http://dev.gentoo.org/~mgorny/python-r1/32-to-33.txt
Comment 16 Pacho Ramos gentoo-dev 2013-10-14 18:32:33 UTC
Arches were CCed in all stable bugs blocking this one :)
Comment 17 Mike Gilbert gentoo-dev 2013-10-18 17:08:00 UTC
(In reply to Pacho Ramos from comment #16)
> Arches were CCed in all stable bugs blocking this one :)

Yeah, let's move on this once those bugs are resolved.
Comment 18 Mike Gilbert gentoo-dev 2013-10-18 17:28:03 UTC
Ok, so the remaining question for me is whether or not we immediately remove python3_2 from PYTHON_TARGETS. If not, how long do we wait to remove it?

In any case, the stabilization procedure for arch testers should go something like this:

1. Un-stable mask the python_targets_python3_3 and python_single_targets_python3_3 locally.

2. Add python3_3 to PYTHON_TARGETS.

3. Update keywords on dev-lang/python:3.3

4. Do a newuse world update to reinstall packages with python3_3 support.

As for actually committing the stable keyword, it might be best if we can wait for all arch teams to test and commit them all at once to minimize profile updates.

If that does not work out, we will need to update profiles/default/linux/$ARCH/13.0/use.stable.mask as each arch is stabilized.
Comment 19 Nikoli 2013-10-18 19:06:47 UTC
I think stages should have only one dev-lang/python package installed, when 3.3 is stable it should replace 3.2. But support for 3.2 should not be removed from IUSE. Now 18 packages from tree support python3.2, but do not support python3.3, same number have support for python3.3,  but do not support python3.2.
Comment 20 Dirkjan Ochtman (RETIRED) gentoo-dev 2013-10-19 08:41:21 UTC
Yeah, I think we should remove 3.2 from the default targets at the same time we add 3.3.
Comment 21 Pacho Ramos gentoo-dev 2013-10-20 07:53:44 UTC
(In reply to Mike Gilbert from comment #18)
> Ok, so the remaining question for me is whether or not we immediately remove
> python3_2 from PYTHON_TARGETS. If not, how long do we wait to remove it?

Maybe other option is to wait for next PYTHON_TARGETS change for that (and, then, minimize rebuilds), when is python3.4 or python2.6 removal scheduled? Too far?

> 
> In any case, the stabilization procedure for arch testers should go
> something like this:
> 
> 1. Un-stable mask the python_targets_python3_3 and
> python_single_targets_python3_3 locally.
> 
> 2. Add python3_3 to PYTHON_TARGETS.
> 
> 3. Update keywords on dev-lang/python:3.3
> 
> 4. Do a newuse world update to reinstall packages with python3_3 support.
> 
> As for actually committing the stable keyword, it might be best if we can
> wait for all arch teams to test and commit them all at once to minimize
> profile updates.
> 

for this, maybe would be interesting to CC arches now to let them start testing it 

> If that does not work out, we will need to update
> profiles/default/linux/$ARCH/13.0/use.stable.mask as each arch is stabilized.

Maybe this will be better as, from I see in other bug reports, there are important differences between each arch team :/
Comment 22 Dirkjan Ochtman (RETIRED) gentoo-dev 2013-10-20 08:43:50 UTC
(In reply to Pacho Ramos from comment #21)
> (In reply to Mike Gilbert from comment #18)
> > Ok, so the remaining question for me is whether or not we immediately remove
> > python3_2 from PYTHON_TARGETS. If not, how long do we wait to remove it?
> 
> Maybe other option is to wait for next PYTHON_TARGETS change for that (and,
> then, minimize rebuilds), when is python3.4 or python2.6 removal scheduled?
> Too far?

IIUC, Mike is talking about the *default* PYTHON_TARGETS here, and you are talking about the complete/full PYTHON_TARGETS. Is that correct?
Comment 23 Pacho Ramos gentoo-dev 2013-10-20 08:52:45 UTC
I am talking about the default PYTHON_TARGETS in profiles -> from my point of view the problem of keeping 3.2 in default now and, later, dropping it will be that people will get another rebuild round, that could be prevented if we keep 3.2 enabled until we need to modify PYTHON_TARGETS other time
Comment 24 Mike Gilbert gentoo-dev 2013-10-20 16:12:55 UTC
Arches: We would like to begin testing of python-3.3 for stabilization. I have outlined a test procedure in comment 18; if you have any questions, please let me know.

Please hold off on actually committing any changes to the tree; right now I just want to collect test results and try to catch any problems early.
Comment 25 Jeroen Roovers (RETIRED) gentoo-dev 2013-10-24 16:09:59 UTC
Um, so this isn't a stabilisation request as yet.

dev-lang/python-3.3.2-r2 works fine on HPPA.
Comment 26 Pacho Ramos gentoo-dev 2013-10-26 15:59:41 UTC
(In reply to Jeroen Roovers from comment #25)
> Um, so this isn't a stabilisation request as yet.
> 
> dev-lang/python-3.3.2-r2 works fine on HPPA.

Also the case on amd64
Comment 27 Pacho Ramos gentoo-dev 2013-11-07 07:00:55 UTC
(In reply to Mike Gilbert from comment #18)
[...]
> If that does not work out, we will need to update
> profiles/default/linux/$ARCH/13.0/use.stable.mask as each arch is stabilized.

Looks like we will need to go with this option as some arches will likely keep taking more time to test (I can try to help with x86, but not others :S)
Comment 28 Pacho Ramos gentoo-dev 2013-11-14 21:12:05 UTC
ping for remaining arches :/

Thanks!
Comment 29 Mike Gilbert gentoo-dev 2013-11-23 17:12:28 UTC
Let's proceed with this.

Arches: We are going to have to do some profile juggling to make this happen. Here is my suggested procedure:

1. Test/commit stable keyword on dev-lang/python-3.3.2-r2.

2. Disable the stable mask on python_targets_python3_3 and python_single_target_python3_3 use flags by adding entries to an EAPI 5 use.stable.mask file for your arch.

For example:

default/linux/amd64/13.0/use.stable.mask
default/linux/x86/13.0/use.stable.mask

For other arches, a suitable file will need to be added.

3. Remove python3_2 / add python3_3 to PYTHON_TARGETS in your arch profile. This can be accomplished by manipulating the USE variable in arch/$arch/make.defaults. For example:

arch/amd64/make.defaults:
USE="${USE} -python_targets_python3_2 python_targets_python3_3"


The profile changes can be consolidated into the base profile once all stable arches have stabilized dev-lang/python:3.3.
Comment 30 Pacho Ramos gentoo-dev 2013-11-30 13:19:18 UTC
amd64 done
Comment 31 Jeroen Roovers (RETIRED) gentoo-dev 2013-11-30 16:08:35 UTC
Stable for HPPA.
Comment 32 Jeroen Roovers (RETIRED) gentoo-dev 2013-11-30 17:02:12 UTC
(In reply to Mike Gilbert from comment #29)
> 2. Disable the stable mask on python_targets_python3_3 and
> python_single_target_python3_3 use flags by adding entries to an EAPI 5
> use.stable.mask file for your arch.

Also, make sure the <eapi> file is up to date:

# repoman full
--- EAPI '2' does not support 'use.stable.mask': '/newaches/gentoo/cvs/gentoo-x86/profiles/default/linux/hppa/13.0/use.stable.mask'
Comment 33 Mike Gilbert gentoo-dev 2013-11-30 20:18:57 UTC
I think the hardend/linux/$ARCH profiles may also need to be updated since we do not have a shared eapi 5 arch profile directory.
Comment 34 Mike Gilbert gentoo-dev 2013-12-01 01:17:02 UTC
I updated the hardend/linux/amd64 profile.

+  01 Dec 2013; Mike Gilbert <floppym@gentoo.org> +linux/amd64/use.stable.mask:
+  Disable stable-mask for python3.3 flags, bug 474128.
Comment 35 Yichao Zhou 2013-12-04 10:17:22 UTC
I found that PYTHON_SINGLE_TARGET in AMD64 still does not contain python 3.3.  Should it be added?
Comment 36 Mike Gilbert gentoo-dev 2013-12-04 15:45:26 UTC
(In reply to Yichao Zhou from comment #35)
> I found that PYTHON_SINGLE_TARGET in AMD64 still does not contain python
> 3.3.  Should it be added?

No. The default value for PYTHON_SINGLE_TARGET remains python2_7.
Comment 37 Mike Gilbert gentoo-dev 2013-12-04 20:05:29 UTC
Release engineering has alerted me that we also need to update BOOTSTRAP_USE to avoid breaking stage1.

For example, I committed the following for amd64:

Index: make.defaults
===================================================================
RCS file: /var/cvsroot/gentoo-x86/profiles/arch/amd64/make.defaults,v
retrieving revision 1.19
diff -u -r1.19 make.defaults
--- make.defaults       30 Nov 2013 13:18:57 -0000      1.19
+++ make.defaults       4 Dec 2013 19:58:02 -0000
@@ -41,6 +41,7 @@
 # Pacho Ramos <pacho@gentoo.org> (30 Nov 2013)
 # Python 3.3 is going to stable, bug #474128
 USE="${USE} -python_targets_python3_2 python_targets_python3_3"
+BOOTSTRAP_USE="${BOOTSTRAP_USE} -python_targets_python3_2 python_targets_python3_3"

 # Michał Górny <mgorny@gentoo.org> (03 Sep 2013)
 # Enable abi_x86_64 for packages that don't have it forced.
Comment 38 Mike Gilbert gentoo-dev 2013-12-04 20:20:04 UTC
(In reply to Mike Gilbert from comment #37)

Actually, with remove of the REQUIRED_USE constraint from the python-r1 eclasses, we probably don't need the BOOTSTRAP_USE hack anymore. Releng will confirm.
Comment 39 Pacho Ramos gentoo-dev 2013-12-08 09:31:57 UTC
x86 stable
Comment 40 Matt Turner gentoo-dev 2013-12-13 06:15:21 UTC
alpha stable.
Comment 41 Agostino Sarubbo gentoo-dev 2013-12-15 08:54:55 UTC
sparc stable
Comment 42 Markus Meier gentoo-dev 2013-12-26 15:33:06 UTC
arm stabilized and profiles updated according to comment #29.
Comment 43 Alexander Tsoy 2013-12-28 20:22:10 UTC
How about a hardened profile? =/

# grep -rl python3_3 /usr/portage/profiles/{default,hardened}/
/usr/portage/profiles/default/linux/hppa/13.0/use.stable.mask
/usr/portage/profiles/default/linux/arm/13.0/use.stable.mask
/usr/portage/profiles/default/linux/amd64/13.0/use.stable.mask
/usr/portage/profiles/default/linux/x86/13.0/use.stable.mask
/usr/portage/profiles/default/linux/alpha/13.0/use.stable.mask
/usr/portage/profiles/hardened/linux/amd64/use.stable.mask
/usr/portage/profiles/hardened/linux/x86/use.stable.mask
Comment 44 Agostino Sarubbo gentoo-dev 2014-01-05 17:48:54 UTC
ppc stable
Comment 45 Agostino Sarubbo gentoo-dev 2014-01-05 17:49:04 UTC
ppc64 stable
Comment 46 Pacho Ramos gentoo-dev 2014-01-11 09:09:15 UTC
ia64 should probably go directly with the newer versions from bug 497758
Comment 47 Agostino Sarubbo gentoo-dev 2014-01-15 12:34:04 UTC
ia64 stable. Closing.
Comment 50 Mike Gilbert gentoo-dev 2014-01-18 14:56:44 UTC
(In reply to SpanKY from comment #49)

Thanks for the cleanup work!