Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: NP-Hardass <NP-Hardass@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] News item review: python-exec 2.3 reclaims python* symlinks
Date: Sat, 21 Jan 2017 22:09:08
Message-Id: 20170121230849.777054ee.mgorny@gentoo.org
In Reply to: Re: [gentoo-dev] News item review: python-exec 2.3 reclaims python* symlinks by NP-Hardass
1 On Sat, 21 Jan 2017 13:00:52 -0500
2 NP-Hardass <NP-Hardass@g.o> wrote:
3
4 > On 01/21/2017 04:49 AM, Michał Górny wrote:
5 > > Please review the following news item. It was requested by users.
6 > > Preferably I'd like to commit it today.
7 > >
8 > > --
9 > >
10 > > Title: python-exec 2.3 reclaims python* symlinks
11 > > Author: Michał Górny <mgorny@g.o>
12 > > Content-Type: text/plain
13 > > Posted: 2017-01-21
14 > > Revision: 1
15 > > News-Item-Format: 1.0
16 > > Display-If-Installed: <app-eselect/eselect-python-20160206
17 > > Display-If-Installed: <dev-lang/python-exec-2.3
18 > >
19 > > The new versions of python-exec (2.3 and newer) are reclaiming multiple
20 > > Python-related symlinks in /usr/bin, most notably /usr/bin/python*. This
21 > > may result in your package manager reporting file collisions.
22 > >
23 > > The respective symlinks were previously either unowned and created
24 > > dynamically by app-eselect/eselect-python, or installed by it. From now
25 > > on, all Python-related symlinks are installed and handled
26 > > by python-exec. This ensures that they respect the python-exec
27 > > configuration files and variables consistently with regular Python
28 > > packages, and improves their reliability.
29 > >
30 > > If you are using FEATURES=collision-protect, Portage will reject
31 > > the upgrade. If this is the case, please temporarily switch to
32 > > FEATURES=protect-owned for the upgrade.
33 > >
34 > > If you are using FEATURES=protect-owned, Portage will verbosely warn
35 > > about the file collisions but will proceed with the upgrade once
36 > > determining no replaced files are owned. Please disregard the warning.
37 > >
38 > > The potentially colliding files are:
39 > >
40 > > * /usr/bin/2to3
41 > > * /usr/bin/pydoc
42 > > * /usr/bin/python
43 > > * /usr/bin/python2
44 > > * /usr/bin/python3
45 > > * /usr/bin/python-config
46 > >
47 > > For more information on python-exec, please see:
48 > > https://wiki.gentoo.org/wiki/Project:Python/python-exec
49 >
50 > Personally, I'd like to see an explicit, one liner on how to remediate
51 > in the case of collision-protect since I think it is default for several
52 > profiles. Additionally, it'd be unwise to disable collision-protect for
53 > more than just the affected packages. Something like
54 >
55 > If you are using FEATURES=collision-protect, Portage will reject the
56 > upgrade. If this is the case, please temporarily switch to
57 > FEATURES=protect-owned for the upgrade, like with:
58 > FEATURES=protect-owned emerge -1 '=python-exec-2.3'
59 >
60 > Or similar. this way, the user is only going to be disabling
61 > collision-protect for this one package, lest it cause issues like if the
62 > user edits their make.conf and them emerges @world
63
64 This is not that simple since it's a lock-step upgrade of python-exec +
65 eselect-python. And it requires all versions of Python upgraded first.
66 Since protect-owned is the default, I don't see a major issue with
67 telling people to enable it for complete upgrade.
68
69 In other words, if you're using collision-protect, you should be able
70 to deal with the fallout. The news item purely informs you that those
71 collisions are safe to accept.
72
73 --
74 Best regards,
75 Michał Górny
76 <http://dev.gentoo.org/~mgorny/>