Hi Franz

Thanks for your reply.

However your assumption is incorrect: these two commands are run on the
same machine, with only the keyword on "olefile" changed.
Thinking a bit more about it, Python 3.7 isn't stable yet, so I also have
"=dev-lang/python-3.7* ~amd64" in package.accept_keyword.

I've been able to reproduce this behavior in a chroot based on stage 3 with
the minimum packages installed.
I have in make.conf
PYTHON_TARGETS="python2_7 python3_6 python3_7"
In /var/lib/portage/world
dev-lang/python:3.7
dev-python/olefile
In /etc/portage/package.accept_keywords
dev-python/olefile ~amd64
=dev-lang/python-3.7* ~amd64
dev-python/setuptools ~amd64
dev-python/certifi ~amd64

And emerge says :
# emerge -pv1 olefile
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R    ] dev-python/olefile-0.46::gentoo  USE="-doc"
PYTHON_TARGETS="python2_7 python3_6 python3_7 -pypy3 -python3_8" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB

When I remove " dev-python/olefile ~amd64", Python 3.7 would be disabled :
# emerge -pv1 olefile
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild   R    ] dev-python/olefile-0.46::gentoo  USE="-doc"
PYTHON_TARGETS="python2_7 python3_6 (-pypy3) (-python3_7*) (-python3_8)" 0
KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB

This is still puzzling me, but one interpretation may be :
I you enable the unstable ~amd64 keyword on a package, the stable version
of said package is allowed to run on the unstable version of the Python
interpreter.

This seems to be the intended behavior, as I found that at least 40 Python
packages on each of my 2 systems are stable and have Python 3.7 enabled (I
keyworded all of them sometime in the past...)

Thanks
Best regards
Mickaël Bucas

Le mar. 7 janv. 2020 à 08:08, Franz Fellner <[email protected]> a
écrit :

> I assume those emerge commands weren't done on one machine but come from
> those two different machines.
> This change in USE Flags can't come from that line in
> package.accept_keywords.
> This is a change in PYTHON_TARGETS in make.conf, package.use or
> package.env.
> Carefully go through those config files/directories, I am sure you will
> find the offending line.
>
> Regards
> Franz
>
> Am Fr., 3. Jan. 2020 um 11:44 Uhr schrieb Mickaël Bucas <[email protected]
> >:
>
>> Hello
>>
>> For some time I've been wondering why I had a difference on
>> dev-python/olefile-0.46 between 2 machines : one was installed with
>> python_targets_python3_7, the other wasn't.
>> And I finally pinpointed it to package.accept_keywords containing
>> "dev-python/olefile ~amd64" on one of the machines only
>>
>> At the time of writing, dev-python/olefile-0.46 is the stable version,
>> and KEYWORDS contains "amd64" (no tilde) among others.
>>
>> When package.accept_keywords doesn't contain "dev-python/olefile ~amd64",
>> I get :
>>     emerge -pv1 --verbose-conflicts olefile
>>     These are the packages that would be merged, in order:
>>     Calculating dependencies... done!
>>     [ebuild   R    ] dev-python/olefile-0.46::gentoo  USE="-doc"
>> PYTHON_TARGETS="python2_7 python3_6 (-pypy3) (-python3_7) (-python3_8)" 0
>> KiB
>>     Total: 1 package (1 reinstall), Size of downloads: 0 KiB
>>
>> => Python 3.7 is disabled
>>
>> When package.accept_keywords contains "dev-python/olefile ~amd64", I get
>> :
>>     emerge -pv1 olefile
>>     These are the packages that would be merged, in order:
>>     Calculating dependencies... done!
>>     [ebuild   R    ] dev-python/olefile-0.46::gentoo  USE="-doc"
>> PYTHON_TARGETS="python2_7 python3_6 python3_7* -pypy3 -python3_8" 0 KiB
>>     Total: 1 package (1 reinstall), Size of downloads: 0 KiB
>>
>> => Python 3.7 is enabled
>>
>> It seems really really strange to me for the same version of a stable
>> package to be "influenced" by keywording.
>> Is it a bug or a feature ?
>> Did I do something wrong ?
>>
>> Thanks
>> Best regards
>> Mickaël Bucas
>>
>

Reply via email to