Gentoo Archives: gentoo-user

From: Franz Fellner <alpine.art.de@×××××.com>
To: Gentoo <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] Stable Python package changes USE flags with ~amd64
Date: Tue, 07 Jan 2020 16:55:50
Message-Id: CADtyuE4pOJfB8svqH4tX5ZCNKUYL3yfDVULgx4CF7r0xphLm=w@mail.gmail.com
In Reply to: Re: [gentoo-user] Stable Python package changes USE flags with ~amd64 by "Mickaël Bucas"
1 OK, seems I can reproduce (had an issue with my config in a previous
2 attempt).
3 Probably related:
4 https://bugs.gentoo.org/491166
5 But your view on the matter isn't correct.
6 Portage is strict when it comes to dependencies. Just because py3_7 is
7 installed it won't enable the PYTHON_TARGET because you might uninstall
8 python-3.7 and end up with a broken olefile.
9 What actually seems to happen: python3_7 (together with other)
10 PYTHON_TARGETS is disabled in the profile via use.stable.mask.
11 That config file disables certain USE-Flags for stable packages. That way
12 py3_7 is available for testing versions but not for stable ones.
13 olefile-0.46 is only available as stable version. But now adding it to
14 package.accept_keywords automagically seems to enable those
15 use.stable.mask'ed USE-Flags.
16 IMO this is a bug as it introduces totally unpredictable (and AFAICS
17 undocumented) behaviour.
18
19 Let's see what the DEVs say about this!
20
21 Regards
22 Franz
23
24 Am Di., 7. Jan. 2020 um 18:27 Uhr schrieb Mickaël Bucas <mbucas@×××××.com>:
25
26 > I get the following result:
27 > # emerge -pv1 olefile
28 >
29 >
30 > These are the packages that would be merged, in order:
31 > Calculating dependencies... done!
32 > [ebuild R ] dev-python/olefile-0.46::gentoo USE="-doc"
33 > PYTHON_TARGETS="python2_7 python3_6 (-pypy3) (-python3_7*) (-python3_8)" 0
34 > KiB
35 > Total: 1 package (1 reinstall), Size of downloads: 0 KiB
36 >
37 > It seems to be in line with the interpretation I've come up with.
38 >
39 > Best regards
40 > Mickaël Bucas
41 >
42 > Le mar. 7 janv. 2020 à 16:18, Franz Fellner <alpine.art.de@×××××.com> a
43 > écrit :
44 >
45 >> And what if you change the line to "dev-python/olefile amd64"?
46 >>
47 >> Am Di., 7. Jan. 2020 um 17:10 Uhr schrieb Mickaël Bucas <mbucas@×××××.com
48 >> >:
49 >>
50 >>> Hi Franz
51 >>>
52 >>> Thanks for your reply.
53 >>>
54 >>> However your assumption is incorrect: these two commands are run on the
55 >>> same machine, with only the keyword on "olefile" changed.
56 >>> Thinking a bit more about it, Python 3.7 isn't stable yet, so I also
57 >>> have "=dev-lang/python-3.7* ~amd64" in package.accept_keyword.
58 >>>
59 >>> I've been able to reproduce this behavior in a chroot based on stage 3
60 >>> with the minimum packages installed.
61 >>> I have in make.conf
62 >>> PYTHON_TARGETS="python2_7 python3_6 python3_7"
63 >>> In /var/lib/portage/world
64 >>> dev-lang/python:3.7
65 >>> dev-python/olefile
66 >>> In /etc/portage/package.accept_keywords
67 >>> dev-python/olefile ~amd64
68 >>> =dev-lang/python-3.7* ~amd64
69 >>> dev-python/setuptools ~amd64
70 >>> dev-python/certifi ~amd64
71 >>>
72 >>> And emerge says :
73 >>> # emerge -pv1 olefile
74 >>> These are the packages that would be merged, in order:
75 >>> Calculating dependencies... done!
76 >>> [ebuild R ] dev-python/olefile-0.46::gentoo USE="-doc"
77 >>> PYTHON_TARGETS="python2_7 python3_6 python3_7 -pypy3 -python3_8" 0 KiB
78 >>> Total: 1 package (1 reinstall), Size of downloads: 0 KiB
79 >>>
80 >>> When I remove " dev-python/olefile ~amd64", Python 3.7 would be disabled
81 >>> :
82 >>> # emerge -pv1 olefile
83 >>> These are the packages that would be merged, in order:
84 >>> Calculating dependencies... done!
85 >>> [ebuild R ] dev-python/olefile-0.46::gentoo USE="-doc"
86 >>> PYTHON_TARGETS="python2_7 python3_6 (-pypy3) (-python3_7*) (-python3_8)" 0
87 >>> KiB
88 >>> Total: 1 package (1 reinstall), Size of downloads: 0 KiB
89 >>>
90 >>> This is still puzzling me, but one interpretation may be :
91 >>> I you enable the unstable ~amd64 keyword on a package, the stable
92 >>> version of said package is allowed to run on the unstable version of the
93 >>> Python interpreter.
94 >>>
95 >>> This seems to be the intended behavior, as I found that at least 40
96 >>> Python packages on each of my 2 systems are stable and have Python 3.7
97 >>> enabled (I keyworded all of them sometime in the past...)
98 >>>
99 >>> Thanks
100 >>> Best regards
101 >>> Mickaël Bucas
102 >>>
103 >>> Le mar. 7 janv. 2020 à 08:08, Franz Fellner <alpine.art.de@×××××.com> a
104 >>> écrit :
105 >>>
106 >>>> I assume those emerge commands weren't done on one machine but come
107 >>>> from those two different machines.
108 >>>> This change in USE Flags can't come from that line in
109 >>>> package.accept_keywords.
110 >>>> This is a change in PYTHON_TARGETS in make.conf, package.use or
111 >>>> package.env.
112 >>>> Carefully go through those config files/directories, I am sure you will
113 >>>> find the offending line.
114 >>>>
115 >>>> Regards
116 >>>> Franz
117 >>>>
118 >>>> Am Fr., 3. Jan. 2020 um 11:44 Uhr schrieb Mickaël Bucas <
119 >>>> mbucas@×××××.com>:
120 >>>>
121 >>>>> Hello
122 >>>>>
123 >>>>> For some time I've been wondering why I had a difference on
124 >>>>> dev-python/olefile-0.46 between 2 machines : one was installed with
125 >>>>> python_targets_python3_7, the other wasn't.
126 >>>>> And I finally pinpointed it to package.accept_keywords containing
127 >>>>> "dev-python/olefile ~amd64" on one of the machines only
128 >>>>>
129 >>>>> At the time of writing, dev-python/olefile-0.46 is the stable version,
130 >>>>> and KEYWORDS contains "amd64" (no tilde) among others.
131 >>>>>
132 >>>>> When package.accept_keywords doesn't contain "dev-python/olefile
133 >>>>> ~amd64", I get :
134 >>>>> emerge -pv1 --verbose-conflicts olefile
135 >>>>> These are the packages that would be merged, in order:
136 >>>>> Calculating dependencies... done!
137 >>>>> [ebuild R ] dev-python/olefile-0.46::gentoo USE="-doc"
138 >>>>> PYTHON_TARGETS="python2_7 python3_6 (-pypy3) (-python3_7) (-python3_8)" 0
139 >>>>> KiB
140 >>>>> Total: 1 package (1 reinstall), Size of downloads: 0 KiB
141 >>>>>
142 >>>>> => Python 3.7 is disabled
143 >>>>>
144 >>>>> When package.accept_keywords contains "dev-python/olefile ~amd64", I
145 >>>>> get :
146 >>>>> emerge -pv1 olefile
147 >>>>> These are the packages that would be merged, in order:
148 >>>>> Calculating dependencies... done!
149 >>>>> [ebuild R ] dev-python/olefile-0.46::gentoo USE="-doc"
150 >>>>> PYTHON_TARGETS="python2_7 python3_6 python3_7* -pypy3 -python3_8" 0 KiB
151 >>>>> Total: 1 package (1 reinstall), Size of downloads: 0 KiB
152 >>>>>
153 >>>>> => Python 3.7 is enabled
154 >>>>>
155 >>>>> It seems really really strange to me for the same version of a stable
156 >>>>> package to be "influenced" by keywording.
157 >>>>> Is it a bug or a feature ?
158 >>>>> Did I do something wrong ?
159 >>>>>
160 >>>>> Thanks
161 >>>>> Best regards
162 >>>>> Mickaël Bucas
163 >>>>>
164 >>>>

Replies

Subject Author
Re: [gentoo-user] Stable Python package changes USE flags with ~amd64 "Mickaël Bucas" <mbucas@×××××.com>