Hi Franz

Thanks for your insight into Portage inner workings. I'm glad I learned
something !
And that bug from 6 years ago is a sign that something isn't clear about
this subject.

Thanks
Best regards
Mickaël Bucas


Le mar. 7 janv. 2020 à 17:56, Franz Fellner <alpine.art...@gmail.com> a
écrit :

> OK, seems I can reproduce (had an issue with my config in a previous
> attempt).
> Probably related:
> https://bugs.gentoo.org/491166
> But your view on the matter isn't correct.
> Portage is strict when it comes to dependencies. Just because py3_7 is
> installed it won't enable the PYTHON_TARGET because you might uninstall
> python-3.7 and end up with a broken olefile.
> What actually seems to happen: python3_7 (together with other)
> PYTHON_TARGETS is disabled in the profile via use.stable.mask.
> That config file disables certain USE-Flags for stable packages. That way
> py3_7 is available for testing versions but not for stable ones.
> olefile-0.46 is only available as stable version. But now adding it to
> package.accept_keywords automagically seems to enable those
> use.stable.mask'ed USE-Flags.
> IMO this is a bug as it introduces totally unpredictable (and AFAICS
> undocumented) behaviour.
>
> Let's see what the DEVs say about this!
>
> Regards
> Franz
>
> Am Di., 7. Jan. 2020 um 18:27 Uhr schrieb Mickaël Bucas <mbu...@gmail.com
> >:
>
>> I get the following result:
>> # 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
>>
>> It seems to be in line with the interpretation I've come up with.
>>
>> Best regards
>> Mickaël Bucas
>>
>> Le mar. 7 janv. 2020 à 16:18, Franz Fellner <alpine.art...@gmail.com> a
>> écrit :
>>
>>> And what if you change the line to "dev-python/olefile amd64"?
>>>
>>> Am Di., 7. Jan. 2020 um 17:10 Uhr schrieb Mickaël Bucas <
>>> mbu...@gmail.com>:
>>>
>>>> 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 <alpine.art...@gmail.com>
>>>> 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 <
>>>>> mbu...@gmail.com>:
>>>>>
>>>>>> 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