[gentoo-user] Stable Python package changes USE flags with ~amd64
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
Re: [gentoo-user] Stable Python package changes USE flags with ~amd64
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 : > 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 >
Re: [gentoo-user] Stable Python package changes USE flags with ~amd64
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 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 >: > >> 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 >> >
Re: [gentoo-user] Stable Python package changes USE flags with ~amd64
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 : > 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 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 > >: >> >>> 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 >>> >>
Re: [gentoo-user] Stable Python package changes USE flags with ~amd64
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 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 >: > >> 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 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 >>>
Re: [gentoo-user] Stable Python package changes USE flags with ~amd64
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 : > 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 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 > >: >> >>> 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 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: >
Re: [gentoo-user] Stable Python package changes USE flags with ~amd64
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 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 >: > >> 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 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 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