Reverted python3.4 defaults

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Reverted python3.4 defaults

Mike Gilbert-2
Just a heads-up: I have reverted PYTHON_TARGETS to contain python2_7
and python3_3 (removing python3_4).

The stable tree is not quite ready for python3_4; there are many
packages that need to have python3_4 added to PYTHON_COMPAT, and a
smaller set that need to be stabilized.

If you would like to assist in this effort, please let me know.

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Pacho Ramos
El dom, 23-11-2014 a las 20:56 -0500, Mike Gilbert escribió:
> Just a heads-up: I have reverted PYTHON_TARGETS to contain python2_7
> and python3_3 (removing python3_4).
>
> The stable tree is not quite ready for python3_4; there are many
> packages that need to have python3_4 added to PYTHON_COMPAT, and a
> smaller set that need to be stabilized.
>
> If you would like to assist in this effort, please let me know.
>

If anyone lets me to directly handle his/her packages for python-3.4
stuff (also for herds), please let me to know to not need to report a
bug for the amount of packages that still need to be ported (for the
stabilization I would still report the bug as in some cases they need a
newer version that could have other issues)


Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Mike Gilbert-2
In reply to this post by Mike Gilbert-2
On Sun, Nov 23, 2014 at 8:56 PM, Mike Gilbert <[hidden email]> wrote:
> Just a heads-up: I have reverted PYTHON_TARGETS to contain python2_7
> and python3_3 (removing python3_4).
>
> The stable tree is not quite ready for python3_4; there are many
> packages that need to have python3_4 added to PYTHON_COMPAT, and a
> smaller set that need to be stabilized.
>
> If you would like to assist in this effort, please let me know.

Looking at bug 530258, we seem to be in much better shape today than
we were back in November. I think it is time to move forward on this.
If you are aware of some critical failure, please speak up now.

If there are no objections, I would like to enable python3.4 by
default on Saturday, July 25. That means making the following change:

profiles/base/make.defaults:
PYTHON_TARGETS="python2_7 python3_4"

I would also re-add the related news item, with the path/dates updated.

https://gitweb.gentoo.org/proj/gentoo-news.git/tree/2014/2014-11-23-python-targets/2014-11-23-python-targets.en.txt?id=e36107e556950cca359541e75a19f452388f9c82

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Ben de Groot-2
On 20 July 2015 at 00:03, Mike Gilbert <[hidden email]> wrote:
> If there are no objections, I would like to enable python3.4 by
> default on Saturday, July 25. That means making the following change:
>
> profiles/base/make.defaults:
> PYTHON_TARGETS="python2_7 python3_4"

I would like to note that we only have around 50 packages that require
python3, while the majority requires python2, and the remainder will
function with either. For this reason it seems to make more sense to
me to only set PYTHON_TARGETS="python2_7" as default, and leave adding
any python3_* targets to the user. This will also debloat our stage3
tarballs.

--
Cheers,

Ben | yngwin
Gentoo developer

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Anthony G. Basile
On 7/19/15 12:42 PM, Ben de Groot wrote:

> On 20 July 2015 at 00:03, Mike Gilbert <[hidden email]> wrote:
>> If there are no objections, I would like to enable python3.4 by
>> default on Saturday, July 25. That means making the following change:
>>
>> profiles/base/make.defaults:
>> PYTHON_TARGETS="python2_7 python3_4"
> I would like to note that we only have around 50 packages that require
> python3, while the majority requires python2, and the remainder will
> function with either. For this reason it seems to make more sense to
> me to only set PYTHON_TARGETS="python2_7" as default, and leave adding
> any python3_* targets to the user. This will also debloat our stage3
> tarballs.
>
What are those 50 packages, if you have the list handy?  Its not the
number but their impact.  Some of the stuff I do requires python3 and
while it would be possible to live with python2 only in the stages, it
would require more bootstrapping work on my part.  I suspect others may
be in the same situation.

In fact, I'm looking forward to python3.4 because it cleans up some
stuff wrt to os.makedirs() and similar minutiae.  So I'm all for the
july 25 date.

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail    : [hidden email]
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA


Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Mike Gilbert-2
In reply to this post by Ben de Groot-2
On Sun, Jul 19, 2015 at 12:42 PM, Ben de Groot <[hidden email]> wrote:

> On 20 July 2015 at 00:03, Mike Gilbert <[hidden email]> wrote:
>> If there are no objections, I would like to enable python3.4 by
>> default on Saturday, July 25. That means making the following change:
>>
>> profiles/base/make.defaults:
>> PYTHON_TARGETS="python2_7 python3_4"
>
> I would like to note that we only have around 50 packages that require
> python3, while the majority requires python2, and the remainder will
> function with either. For this reason it seems to make more sense to
> me to only set PYTHON_TARGETS="python2_7" as default, and leave adding
> any python3_* targets to the user. This will also debloat our stage3
> tarballs.

It looks like we have eliminated most (all?) of the unbounded
dependencies on dev-lang/python from the gentoo repository, so this
could actually work to satisfy the goal of smaller stages and only
having one version of python installed.

However, it feels like a step backward to me; I would rather treat
python3 as the primary interpreter and python2 as the one necessary
for the legacy baggage.

I don't see any strong technical reason to switch from python2 +
python3 to python2-only enabled. Some people don't like having two
versions of python installed -- that's about the gist of it.

So, I'm personally not going to make that change without some kind of
vote on it. I can arrange a vote within the python team if you like.

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Ben de Groot-2
In reply to this post by Anthony G. Basile
On 20 July 2015 at 01:01, Anthony G. Basile <[hidden email]> wrote:

> On 7/19/15 12:42 PM, Ben de Groot wrote:
>>
>> On 20 July 2015 at 00:03, Mike Gilbert <[hidden email]> wrote:
>>>
>>> If there are no objections, I would like to enable python3.4 by
>>> default on Saturday, July 25. That means making the following change:
>>>
>>> profiles/base/make.defaults:
>>> PYTHON_TARGETS="python2_7 python3_4"
>>
>> I would like to note that we only have around 50 packages that require
>> python3, while the majority requires python2, and the remainder will
>> function with either. For this reason it seems to make more sense to
>> me to only set PYTHON_TARGETS="python2_7" as default, and leave adding
>> any python3_* targets to the user. This will also debloat our stage3
>> tarballs.
>>
> What are those 50 packages, if you have the list handy?  Its not the number
> but their impact.

It's actually 74 packages at current, if my quick and dirty grepping is correct:

% qgrep -H PYTHON_COMPAT | grep -v python2 | grep -v 'python{2' | cut
-f1 -d : | cut -f 1,2 -d / | uniq
app-accessibility/accerciser
app-accessibility/orca
app-accessibility/speech-dispatcher
app-admin/cdist
app-arch/tardelta
app-arch/vimball
app-backup/backintime
app-editors/gedit
app-editors/gedit-plugins
app-editors/retext
app-emulation/lxc
app-i18n/ibus-cangjie
app-misc/media-player-info
app-portage/grs
app-text/nfoview
dev-libs/libgit2-glib
dev-libs/libixion
dev-python/aiohttp
dev-python/asyncio
dev-python/beautifulsoup
dev-python/cangjie
dev-python/cfgio
dev-python/dugong
dev-python/elasticsearch-py
dev-python/mypy
dev-python/pmw
dev-python/polygon
dev-python/pydns
dev-python/pyfltk
dev-python/pymtp
dev-python/python3-openid
dev-python/pythondialog
dev-python/pyx
dev-python/simpletal
dev-python/torment
dev-python/utmp
dev-util/cligh
dev-util/devhelp
dev-util/fatrace
dev-vcs/gitg
games-util/nml
gnome-base/gnome-shell
gnome-extra/gnome-builder
media-gfx/blender
media-gfx/eog-plugins
media-sound/gnome-music
media-sound/lyvi
media-sound/pithos
media-sound/rhythmbox
media-video/gaupol
media-video/pitivi
net-analyzer/pypacker
net-irc/znc
net-misc/gns3-converter
net-misc/gns3-gui
net-misc/gns3-server
net-misc/wget
net-news/canto-curses
net-news/canto-daemon
sci-electronics/pulseview
sci-electronics/sigrok-cli
sci-libs/libsigrokdecode
sys-apps/razercfg
sys-block/blocks
sys-fs/s3ql
sys-kernel/kergen
sys-process/systemd-cron
www-client/pybugz
www-client/qutebrowser
x11-apps/intel-gpu-tools
x11-misc/compton
x11-misc/dex
x11-misc/redshift
x11-misc/treeline

I have removed portage and python-exec as false positives from this
grep. Then there is net-misc/wget which only needs python if USE=test
is enabled. There may be a few more like that.

I don't see anything else that is immediately important.
--
Cheers,

Ben | yngwin
Gentoo developer

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Ben de Groot-2
In reply to this post by Mike Gilbert-2
On 20 July 2015 at 02:31, Mike Gilbert <[hidden email]> wrote:

> On Sun, Jul 19, 2015 at 12:42 PM, Ben de Groot <[hidden email]> wrote:
>> On 20 July 2015 at 00:03, Mike Gilbert <[hidden email]> wrote:
>>> If there are no objections, I would like to enable python3.4 by
>>> default on Saturday, July 25. That means making the following change:
>>>
>>> profiles/base/make.defaults:
>>> PYTHON_TARGETS="python2_7 python3_4"
>>
>> I would like to note that we only have around 50 packages that require
>> python3, while the majority requires python2, and the remainder will
>> function with either. For this reason it seems to make more sense to
>> me to only set PYTHON_TARGETS="python2_7" as default, and leave adding
>> any python3_* targets to the user. This will also debloat our stage3
>> tarballs.
>
> It looks like we have eliminated most (all?) of the unbounded
> dependencies on dev-lang/python from the gentoo repository, so this
> could actually work to satisfy the goal of smaller stages and only
> having one version of python installed.
>
> However, it feels like a step backward to me; I would rather treat
> python3 as the primary interpreter and python2 as the one necessary
> for the legacy baggage.

I understand the sentiment, and I wish it was possible. I'm not some
kind of Luddite. But too many useful packages (still) depend on
python2. A couple of months ago I tried switching to python3 (either
3.3 or 3.4) only, but I had a growing list of stuff I wanted that
ended up in my package.use/py2 file. Pretty soon I decided it was not
worth the trouble, and I switched back to python 2.7 only.

My tree grepping shows 1527 out of 2371 packages with python support
need py2 and don't work with py3. It is definitely too early to treat
python2 as legacy.

There are two packages I want to use that need python 3 (compton and
pybugz), but I decided I can live without them. And I think this is
true for many of our users. They could happily live with just python
2.7 as only default. If they do want py3 packages, it is easy enough
to add that to PYTHON_TARGETS in make.conf, or individual useflags in
package.use.

> I don't see any strong technical reason to switch from python2 +
> python3 to python2-only enabled. Some people don't like having two
> versions of python installed -- that's about the gist of it.

Indeed, there is no strong technical reason, except that some people
like to keep their systems more lean. But I think having a smaller
stage3 tarball is a more important reason. The python team has
historically left that up to the RelEng team, which has been averse to
handling that themselves.

> So, I'm personally not going to make that change without some kind of
> vote on it. I can arrange a vote within the python team if you like.

I would like to hear from the other team members, yes.

--
Cheers,

Ben | yngwin
Gentoo developer

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Rémi Cardona-3
In reply to this post by Ben de Groot-2
Le 19/07/2015 18:42, Ben de Groot a écrit :
> I would like to note that we only have around 50 packages that require
> python3, while the majority requires python2, and the remainder will
> function with either.

How far are we from building a python3-only stage3? Are there any major
blockers? Would any outside help be of use?

Rémi

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Dirkjan Ochtman-3
In reply to this post by Ben de Groot-2
On Mon, Jul 20, 2015 at 6:03 AM, Ben de Groot <[hidden email]> wrote:

>> I don't see any strong technical reason to switch from python2 +
>> python3 to python2-only enabled. Some people don't like having two
>> versions of python installed -- that's about the gist of it.
>
> Indeed, there is no strong technical reason, except that some people
> like to keep their systems more lean. But I think having a smaller
> stage3 tarball is a more important reason. The python team has
> historically left that up to the RelEng team, which has been averse to
> handling that themselves.
>
>> So, I'm personally not going to make that change without some kind of
>> vote on it. I can arrange a vote within the python team if you like.
>
> I would like to hear from the other team members, yes.

I have sympathy towards those who are asking for only one Python in
stages (as in, I would be fine with that), but I very much think we
should not leave Python 3 out of generally installed systems by
default. We need to move through the transition, and increasing the
barriers to Python 3 adoption will only make that process slower.

I also feel like a voting process for this is probably not a solution.

Cheers,

Dirkjan

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Jason Zaman-2
On Mon, Jul 20, 2015 at 10:39:25AM +0200, Dirkjan Ochtman wrote:

> On Mon, Jul 20, 2015 at 6:03 AM, Ben de Groot <[hidden email]> wrote:
> >> I don't see any strong technical reason to switch from python2 +
> >> python3 to python2-only enabled. Some people don't like having two
> >> versions of python installed -- that's about the gist of it.
> >
> > Indeed, there is no strong technical reason, except that some people
> > like to keep their systems more lean. But I think having a smaller
> > stage3 tarball is a more important reason. The python team has
> > historically left that up to the RelEng team, which has been averse to
> > handling that themselves.
> >
> >> So, I'm personally not going to make that change without some kind of
> >> vote on it. I can arrange a vote within the python team if you like.
> >
> > I would like to hear from the other team members, yes.
>
> I have sympathy towards those who are asking for only one Python in
> stages (as in, I would be fine with that), but I very much think we
> should not leave Python 3 out of generally installed systems by
> default. We need to move through the transition, and increasing the
> barriers to Python 3 adoption will only make that process slower.
>
> I also feel like a voting process for this is probably not a solution.

I also very much dislike shipping only python2. Having only one python
is admirable and I'm all for it but if we only ship one by default it
should be python3.

Fedora's next release is going to ship only python3 in all their media
(livecd, default install etc). Of course they will allow python2 to be
installed too but that will have to be a concious choice by the user.

https://fedoraproject.org/wiki/Changes/Python_3_as_Default

I think the change next weekend should be as originally stated and have
2_7,3_4. Later on (perhaps we can see how fedora manages) we can see if
dropping 2_7 from the default stages would be doable.

-- Jason

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Ben de Groot-2
On 20 July 2015 at 17:27, Jason Zaman <[hidden email]> wrote:

> On Mon, Jul 20, 2015 at 10:39:25AM +0200, Dirkjan Ochtman wrote:
>> On Mon, Jul 20, 2015 at 6:03 AM, Ben de Groot <[hidden email]> wrote:
>> > I would like to hear from the other team members, yes.
>>
>> I have sympathy towards those who are asking for only one Python in
>> stages (as in, I would be fine with that), but I very much think we
>> should not leave Python 3 out of generally installed systems by
>> default. We need to move through the transition, and increasing the
>> barriers to Python 3 adoption will only make that process slower.
>>
>> I also feel like a voting process for this is probably not a solution.
>
> I also very much dislike shipping only python2. Having only one python
> is admirable and I'm all for it but if we only ship one by default it
> should be python3.

That is a nice sentiment, but unpractical. We have a lot more packages
that require python2, while we only have 74 that require python3.

While it may be possible to ship with python3 only (I haven't looked
at what the packages in stage3 support), users will almost certainly
need to install python2 when they start installing more packages.

But if we ship with python2 only, then most users won't need python3.
Those who want it, can of course simply add it. Going with python2 as
default simply makes more sense.

--
Cheers,

Ben | yngwin
Gentoo developer

Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

agentsmith
On Tuesday 21 July 2015 18:59:00 Ben de Groot wrote:

> On 20 July 2015 at 17:27, Jason Zaman <[hidden email]> wrote:
> > On Mon, Jul 20, 2015 at 10:39:25AM +0200, Dirkjan Ochtman wrote:
> >> On Mon, Jul 20, 2015 at 6:03 AM, Ben de Groot <[hidden email]> wrote:
> >> > I would like to hear from the other team members, yes.
> >>
> >> I have sympathy towards those who are asking for only one Python in
> >> stages (as in, I would be fine with that), but I very much think we
> >> should not leave Python 3 out of generally installed systems by
> >> default. We need to move through the transition, and increasing the
> >> barriers to Python 3 adoption will only make that process slower.
> >>
> >> I also feel like a voting process for this is probably not a solution.
> >
> > I also very much dislike shipping only python2. Having only one python
> > is admirable and I'm all for it but if we only ship one by default it
> > should be python3.
>
> That is a nice sentiment, but unpractical. We have a lot more packages
> that require python2, while we only have 74 that require python3.
>
> While it may be possible to ship with python3 only (I haven't looked
> at what the packages in stage3 support), users will almost certainly
> need to install python2 when they start installing more packages.
>
> But if we ship with python2 only, then most users won't need python3.
> Those who want it, can of course simply add it. Going with python2 as
> default simply makes more sense.
Hmm on desktop machine with kde and etc. i have only one package with deps on
python3 - onboard (because no packages with same functional). :)

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Reverted python3.4 defaults

Andrew Savchenko
In reply to this post by Ben de Groot-2
On Tue, 21 Jul 2015 18:59:00 +0800 Ben de Groot wrote:

> On 20 July 2015 at 17:27, Jason Zaman <[hidden email]> wrote:
> > On Mon, Jul 20, 2015 at 10:39:25AM +0200, Dirkjan Ochtman wrote:
> >> On Mon, Jul 20, 2015 at 6:03 AM, Ben de Groot <[hidden email]> wrote:
> >> > I would like to hear from the other team members, yes.
> >>
> >> I have sympathy towards those who are asking for only one Python in
> >> stages (as in, I would be fine with that), but I very much think we
> >> should not leave Python 3 out of generally installed systems by
> >> default. We need to move through the transition, and increasing the
> >> barriers to Python 3 adoption will only make that process slower.
> >>
> >> I also feel like a voting process for this is probably not a solution.
> >
> > I also very much dislike shipping only python2. Having only one python
> > is admirable and I'm all for it but if we only ship one by default it
> > should be python3.
>
> That is a nice sentiment, but unpractical. We have a lot more packages
> that require python2, while we only have 74 that require python3.
>
> While it may be possible to ship with python3 only (I haven't looked
> at what the packages in stage3 support), users will almost certainly
> need to install python2 when they start installing more packages.
Seconded here. Too many userspace stuff I use doesn't support
python3 at all.
 
> But if we ship with python2 only, then most users won't need python3.
> Those who want it, can of course simply add it. Going with python2 as
> default simply makes more sense.
 
Can't agree here.

1) Sooner or later python2 will be deprecated upstream, so we
should encourange users to use python3 for packages supporting it.
This will increase user base, feedbacks and will help such
transition.

2) In many cases (e.g. for emerge) python3 is faster than python2.
This is also important, especially in Gentoo.

I see little harm with shipping both python versions as it will
suit needs most of the users out-of-the-box. And python3 should be
set as default so that will stick to present, not to the past.

As for people interested in single python version installed only,
they are always free to switch to selected version and drop all
others. It may require rebuild of python-dependent packages of
course, but this is a normal procedure.

Best regards,
Andrew Savchenko

attachment0 (836 bytes) Download Attachment