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 |
>>>> |