public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Migrate away from python-2 or not
@ 2019-11-24 12:15 Benda Xu
  2019-11-24 13:31 ` Francesco Riosa
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Benda Xu @ 2019-11-24 12:15 UTC (permalink / raw)
  To: Gentoo Dev

Dear all,

Bug 684962 (dev-python/ipython-7.5.0: package conflicts) has
demonstrated a painful consequence when upstream start to release
python3 only versions.

Upstream has dropped python-2.7 support in dev-python/ipython-7.5.0,
thus there is no python_targets_python2_7 USE flag for the ebuild.
dev-python/qtconsole, a dependant of dev-python/ipython, still supports
python-2.7.  When qtconsole get emerged with
USE="python_targets_python2_7 python_targets_python3_6" for example, old
dev-python/ipython-5.8.0-r1 is drawn, resulting in conflict against
dev-python/ipython-7.5.0.  USE=python_targets_python2_7 had to be
removed from dev-python/qtconsole to avoid it.

If one package drops python-2.7, all its dependants have to drop
python-2.7 even if they can work with python-2.7.


Given the python-2 countdown deadline being 2020-01-01, a month away,
shall we get rid of python-2?


If the answer is yes, we will need to decide on the following
python-2-only packages.

,----
| $ comm -23 <(equery -qC h python_targets_python2_7 | sort ) <(equery -qC h python_targets_python3_6 | sort) 
| dev-lang/yasm-1.3.0
| dev-libs/libxslt-1.1.33-r1
| dev-python/backports-functools-lru-cache-1.5
| dev-python/enum34-1.1.6-r1
| dev-python/functools32-3.2.3
| dev-python/futures-3.2.0
| dev-python/pygobject-2.28.6-r55
| dev-python/pygtk-2.24.0-r4
| dev-python/subprocess32-3.2.7
| dev-util/boost-build-1.70.0
| dev-vcs/subversion-1.12.2
| gnome-base/libglade-2.6.4-r2
| net-analyzer/nmap-7.70
| sys-devel/clang-8.0.1
| x11-wm/xpra-2.4.3
`----

If the answer is no, to avoid holding back new versions having only
python3, such as bug 671796 for dev-python/matplotlib bump, old versions
with python_targets_python2_7 and new versions without should be
co-installable into different SLOTs.

What do you think?

Yours,
Benda


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Migrate away from python-2 or not
  2019-11-24 12:15 [gentoo-dev] Migrate away from python-2 or not Benda Xu
@ 2019-11-24 13:31 ` Francesco Riosa
  2019-11-24 18:13 ` Philip Webb
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Francesco Riosa @ 2019-11-24 13:31 UTC (permalink / raw)
  To: gentoo development

[-- Attachment #1: Type: text/plain, Size: 1513 bytes --]

Il giorno dom 24 nov 2019 alle ore 13:20 Benda Xu <heroxbd@gentoo.org> ha
scritto:

>
>
>
> Given the python-2 countdown deadline being 2020-01-01, a month away,
> shall we get rid of python-2?
>
> yes please as much as possible.
In my experience most server instances can live without py2 at all (after
clang 9).
In desktop world thare are very few, but important packages that still
require it.
The Gimp being one prominent example



>
> If the answer is yes, we will need to decide on the following
> python-2-only packages.
>
> ,----
> | $ comm -23 <(equery -qC h python_targets_python2_7 | sort ) <(equery -qC
> h python_targets_python3_6 | sort)
> | dev-lang/yasm-1.3.0
> | dev-libs/libxslt-1.1.33-r1
> | dev-python/backports-functools-lru-cache-1.5
> | dev-python/enum34-1.1.6-r1
> | dev-python/functools32-3.2.3
> | dev-python/futures-3.2.0
> | dev-python/pygobject-2.28.6-r55
> | dev-python/pygtk-2.24.0-r4
> | dev-python/subprocess32-3.2.7
> | dev-util/boost-build-1.70.0
> | dev-vcs/subversion-1.12.2
> | gnome-base/libglade-2.6.4-r2
> | net-analyzer/nmap-7.70
> | sys-devel/clang-8.0.1
> | x11-wm/xpra-2.4.3
> `----
>
"As much as possible" IMHO exclude at least yasm, libxslt and nmap



>
> If the answer is no, to avoid holding back new versions having only
> python3, such as bug 671796 for dev-python/matplotlib bump, old versions
> with python_targets_python2_7 and new versions without should be
> co-installable into different SLOTs.
>

whatever your (gentoo dev) choice  I wish you good luck

[-- Attachment #2: Type: text/html, Size: 2314 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Migrate away from python-2 or not
  2019-11-24 12:15 [gentoo-dev] Migrate away from python-2 or not Benda Xu
  2019-11-24 13:31 ` Francesco Riosa
@ 2019-11-24 18:13 ` Philip Webb
  2019-11-25  7:41 ` Eddie Chapman
  2019-11-25  8:39 ` Jaco Kroon
  3 siblings, 0 replies; 8+ messages in thread
From: Philip Webb @ 2019-11-24 18:13 UTC (permalink / raw)
  To: gentoo-dev

191124 Benda Xu wrote:
> Bug 684962 (dev-python/ipython-7.5.0: package conflicts) has demonstrated
> a painful consequence when upstream start to release python3 only versions.
> Upstream has dropped python-2.7 support in dev-python/ipython-7.5.0,
> thus there is no python_targets_python2_7 USE flag for the ebuild.
> dev-python/qtconsole, a dependant of dev-python/ipython,
> still supports python-2.7.  When qtconsole get emerged
> with USE="python_targets_python2_7 python_targets_python3_6" for example,
> old dev-python/ipython-5.8.0-r1 is drawn, resulting in conflict
> against dev-python/ipython-7.5.0.  USE=python_targets_python2_7
> had to be removed from dev-python/qtconsole to avoid it.
> If one package drops python-2.7, all its dependants
> have to drop python-2.7 even if they can work with python-2.7.
> Given the python-2 countdown deadline being 2020-01-01, a month away,
> shall we get rid of python-2?

As a user, I wb delighted to see the end of it.
It's a constant hindrance when updating some pkgs.

> If the answer is yes,
> we will need to decide on the following python-2-only packages.
> 
> ,----
> | $ comm -23 <(equery -qC h python_targets_python2_7 | sort ) <(equery -qC h python_targets_python3_6 | sort) 
> | dev-lang/yasm-1.3.0
> | dev-libs/libxslt-1.1.33-r1
> | dev-python/backports-functools-lru-cache-1.5
> | dev-python/enum34-1.1.6-r1
> | dev-python/functools32-3.2.3
> | dev-python/futures-3.2.0
> | dev-python/pygobject-2.28.6-r55
> | dev-python/pygtk-2.24.0-r4
> | dev-python/subprocess32-3.2.7
> | dev-util/boost-build-1.70.0
> | dev-vcs/subversion-1.12.2
> | gnome-base/libglade-2.6.4-r2
> | net-analyzer/nmap-7.70
> | sys-devel/clang-8.0.1
> | x11-wm/xpra-2.4.3
> `----

On my system, I get

  root:588 portage> emerge -cpv python:2.7

  Calculating dependencies... done!
  dev-lang/python-2.7.15 pulled in by:
    dev-lang/spidermonkey-60.5.2_p0-r2 requires >=dev-lang/python-2.7.5-r2:2.7[ncurses,sqlite,ssl,threads]
    dev-qt/qtwebkit-5.212.0_pre20190629 requires >=dev-lang/python-2.7.5-r2:2.7
    net-libs/nodejs-8.12.0 requires >=dev-lang/python-2.7.5-r2:2.7[threads]
    net-mail/fetchmail-6.3.26-r4 requires >=dev-lang/python-2.7.5-r2:2.7[tk]
    sys-devel/clang-8.0.1 requires >=dev-lang/python-2.7.5-r2:2.7
    sys-devel/llvm-8.0.1 requires >=dev-lang/python-2.7.5-r2:2.7
    www-client/firefox-68.2.0 requires dev-lang/python:2.7[ncurses,sqlite,ssl,threads(+)]

Is there eg an easy replacement for Fetchmail ?
Is there an easy way to avoid the other requirements ?

> If the answer is no, to avoid holding back new versions having only python3,
> such as bug 671796 for dev-python/matplotlib bump,
> old versions with python_targets_python2_7 and new versions without
> should be co-installable into different SLOTs.

-- 
========================,,============================================
SUPPORT     ___________//___,   Philip Webb
ELECTRIC   /] [] [] [] [] []|   Cities Centre, University of Toronto
TRANSIT    `-O----------O---'   purslowatchassdotutorontodotca



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Migrate away from python-2 or not
  2019-11-24 12:15 [gentoo-dev] Migrate away from python-2 or not Benda Xu
  2019-11-24 13:31 ` Francesco Riosa
  2019-11-24 18:13 ` Philip Webb
@ 2019-11-25  7:41 ` Eddie Chapman
  2019-11-25  8:39 ` Jaco Kroon
  3 siblings, 0 replies; 8+ messages in thread
From: Eddie Chapman @ 2019-11-25  7:41 UTC (permalink / raw)
  To: gentoo-dev, Benda Xu


On 24/11/2019 12:15, Benda Xu wrote:
> Given the python-2 countdown deadline being 2020-01-01, a month away,
> shall we get rid of python-2?


> If the answer is no, to avoid holding back new versions having only
> python3, such as bug 671796 for dev-python/matplotlib bump, old versions
> with python_targets_python2_7 and new versions without should be
> co-installable into different SLOTs.

Rather than slots, perhaps a separate directory hierarchy containing 
only python2 + deps (/opt/python2 ?) i.e. it's just a --prefix change

It's ugly I know but the advantage is the majority of installations with 
python3 don't see any change and they'll have a clean python3 only /usr. 
Anyone who wants/needs python2 will be happy to put up with the ugliness 
and pull all the duplicate deps in (yes, have duplicate set of ebuilds 
for python2 only deps - dev-python2/* - forked off and with the 
understanding that no new features, this is a semi-temporary situation 
until python2 can finally die properly). Also, I think it helps everyone 
psychologically to have a very visible separation.

Not being a dev and with my lack of a deep understanding of python 
there's probably an big reason this idea is a non-starter, so just 
throwing it out there.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Migrate away from python-2 or not
  2019-11-24 12:15 [gentoo-dev] Migrate away from python-2 or not Benda Xu
                   ` (2 preceding siblings ...)
  2019-11-25  7:41 ` Eddie Chapman
@ 2019-11-25  8:39 ` Jaco Kroon
  2019-11-29 13:49   ` Mathy Vanvoorden
  2019-12-03 13:17   ` Benda Xu
  3 siblings, 2 replies; 8+ messages in thread
From: Jaco Kroon @ 2019-11-25  8:39 UTC (permalink / raw)
  To: gentoo-dev, Benda Xu

Hi Benda,

On 2019/11/24 14:15, Benda Xu wrote:
> What do you think?

Is it possible to disable python2_7 by default, even if python2 is
installed, and only enable python2_7 for those packages specifically
requiring it (ie, being a dep for one of the packages that only supports
python2_7?

I tried removing python2 on a handful of test systems over the last week
... it's back everywhere.

Kind Regards,
Jaco



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Migrate away from python-2 or not
  2019-11-25  8:39 ` Jaco Kroon
@ 2019-11-29 13:49   ` Mathy Vanvoorden
  2019-11-29 15:40     ` Haelwenn (lanodan) Monnier
  2019-12-03 13:17   ` Benda Xu
  1 sibling, 1 reply; 8+ messages in thread
From: Mathy Vanvoorden @ 2019-11-29 13:49 UTC (permalink / raw)
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1731 bytes --]

> I tried removing python2 on a handful of test systems over the last week
> ... it's back everywhere.
>
>
I attempted the same over the last couple of days as I was thinking "It's
going anyway, why not get a head start?". I had to do the following:

* Remove metagen
* Remove rr
* Update kodi and related packages to 9999 (I know they are working on
getting their 19.0 package out asap because of the 2.7 EOL)
* Update clang and related packages to 9.0.0
* Remove python dependency in libdbusmenu (it's not needed, PR here:
https://github.com/gentoo/gentoo/pull/13790)
* Port gnome-doc-utils to python3 (
https://github.com/gentoo/gentoo/pull/13791)
* Remove qt-creator as it depends on clang 8, changing USE to -clang would
also work but not really using it anyway atm
* Remove gconf dep from discord-bin (
https://github.com/gentoo/gentoo/pull/13793)
* Remove gconf dep from spotify (https://github.com/gentoo/gentoo/pull/13794
)
* Update gcr to 3.34.0 (https://github.com/gentoo/gentoo/pull/13798)
* Unmask a number of other packages that luckily did have updated versions
available: samba, talloc, javatoolkit, tdb, tevent, ldb, itstool,
dropbox-cli, nodejs
* Unmerge typing (now provided by python package)
* Reinstall m2crypto, python-typing, scons
* Reinstall crda with patch in https://bugs.gentoo.org/693728
* Manually fix some packages that were not being selected for emerge by -N:
m2crypto, virtual/python-typing, typing, scons

Unfortunately I was not able to completely purge python2.7 from my system.
The base package is still installed as it is required to build qtwebkit,
qtwebengine, zziplib, firefox and spidermonkey. At least however I am now
running with -python_targets_python2_7 so there's that.

br,
Mathy

[-- Attachment #2: Type: text/html, Size: 2684 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Migrate away from python-2 or not
  2019-11-29 13:49   ` Mathy Vanvoorden
@ 2019-11-29 15:40     ` Haelwenn (lanodan) Monnier
  0 siblings, 0 replies; 8+ messages in thread
From: Haelwenn (lanodan) Monnier @ 2019-11-29 15:40 UTC (permalink / raw)
  To: gentoo-dev

[2019-11-29 14:49:12+0100] Mathy Vanvoorden:
> > I tried removing python2 on a handful of test systems over the last week
> > ... it's back everywhere.
> >
> >
> I attempted the same over the last couple of days as I was thinking "It's
> going anyway, why not get a head start?". I had to do the following:
> 
> * Remove metagen
> * Remove rr
> * Update kodi and related packages to 9999 (I know they are working on
> getting their 19.0 package out asap because of the 2.7 EOL)
> * Update clang and related packages to 9.0.0
> * Remove python dependency in libdbusmenu (it's not needed, PR here:
> https://github.com/gentoo/gentoo/pull/13790)
> * Port gnome-doc-utils to python3 (
> https://github.com/gentoo/gentoo/pull/13791)
> * Remove qt-creator as it depends on clang 8, changing USE to -clang would
> also work but not really using it anyway atm
> * Remove gconf dep from discord-bin (
> https://github.com/gentoo/gentoo/pull/13793)
> * Remove gconf dep from spotify (https://github.com/gentoo/gentoo/pull/13794
> )
> * Update gcr to 3.34.0 (https://github.com/gentoo/gentoo/pull/13798)
> * Unmask a number of other packages that luckily did have updated versions
> available: samba, talloc, javatoolkit, tdb, tevent, ldb, itstool,
> dropbox-cli, nodejs
> * Unmerge typing (now provided by python package)
> * Reinstall m2crypto, python-typing, scons
> * Reinstall crda with patch in https://bugs.gentoo.org/693728
> * Manually fix some packages that were not being selected for emerge by -N:
> m2crypto, virtual/python-typing, typing, scons
> 
> Unfortunately I was not able to completely purge python2.7 from my system.
> The base package is still installed as it is required to build qtwebkit,
> qtwebengine, zziplib, firefox and spidermonkey. At least however I am now
> running with -python_targets_python2_7 so there's that.

Been running my server without python2 since… 2019-11-16 I thought it 
was more than that but still quite a lot considering that I kept clang-8 
for a while before switching to clang-9 on it. (I use clang as main 
compiler, I'm also deprecating gcc so prefer to play it safe)

I still have a bunch of stuff on my desktop&laptop requiring python2,
like nodejs or renpy but it's getting quite better in the last months,
one I'm trully fearing about how it will go is dev-util/scons, I guess
a lot of patches will be required on the releases.

I think this kind of discussion might be better on the forums or
a user list btw.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [gentoo-dev] Migrate away from python-2 or not
  2019-11-25  8:39 ` Jaco Kroon
  2019-11-29 13:49   ` Mathy Vanvoorden
@ 2019-12-03 13:17   ` Benda Xu
  1 sibling, 0 replies; 8+ messages in thread
From: Benda Xu @ 2019-12-03 13:17 UTC (permalink / raw)
  To: gentoo-dev

Hi guys,

Thank you very much for your comments.  I have made up my mind to just
help remove python 2.7.  Actually, a lot of efforts are ongoing, for
example,

  https://github.com/gentoo/gentoo/pull/13771

Cheers,
Benda



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-12-03 13:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-24 12:15 [gentoo-dev] Migrate away from python-2 or not Benda Xu
2019-11-24 13:31 ` Francesco Riosa
2019-11-24 18:13 ` Philip Webb
2019-11-25  7:41 ` Eddie Chapman
2019-11-25  8:39 ` Jaco Kroon
2019-11-29 13:49   ` Mathy Vanvoorden
2019-11-29 15:40     ` Haelwenn (lanodan) Monnier
2019-12-03 13:17   ` Benda Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox