I synced portage a couple of days now and now my systems are rebuilding python modules for 3.10 without any input from me [...]Yes, that's normal and there was a news item about it. Do:
I synced portage a couple of days now and now my systems are rebuilding python modules for 3.10 without any input from me (prior to this 3.10
was on the system but wasn't picked up by applications.) This is
breaking non portage apps like homeassistant which are still not fully
3.10 safe - ok that's sort of expected and in this case will be fixed,
but I cant find anything definitive on the task of "I want to control
which python is used" and when to update.
I eventually found that changing the order in python-exec.conf helped on
the homeassistant system.
There is a LOT of out of date documentation
out there, particularly with eselect being used but is actually not used
with python anymore (why? - from a user point of view having consistent access to configuration is a no brainer!)
- so how can one get python to
behave reliably and override its automatic get things wrong installation system? Is manually editing python-exec.conf the way (which seems to
get overwritten - shouldn't that be a protected config file then?)
BillK
I synced portage a couple of days now and now my systems are
rebuilding python modules for 3.10 without any input from me (prior
to this 3.10 was on the system but wasn't picked up by applications.)
This is breaking non portage apps like homeassistant which are still
not fully 3.10 safe - ok that's sort of expected and in this case
will be fixed, but I cant find anything definitive on the task of "I
want to control which python is used" and when to update.
I eventually found that changing the order in python-exec.conf helped
on the homeassistant system. There is a LOT of out of date
documentation out there, particularly with eselect being used but is
actually not used with python anymore (why? - from a user point of
view having consistent access to configuration is a no brainer!) - so
how can one get python to behave reliably and override its automatic
get things wrong installation system? Is manually editing
python-exec.conf the way (which seems to get overwritten - shouldn't
that be a protected config file then?)
BillK
I did read the news item and set the systems as above with multiple
python targets - there is no mention of python-exec and its role in
which python version is in use for packages that just call "python". Perhaps I should have been clearer - what I see is with multiple python targets present the python ebuild automatically selects the latest
version that is stable via python-exec - ok, some would want that. But
what it should do is respect the users choice of running version and not automaticly overide it without asking. It looks like python-exec is the controlling factor so I'll try CONFIG_PROTECTon that file and manually
manage it via ansible.
Dnia 2022-07-05, o godz. 13:04:07
William Kenworthy <billk@iinet.net.au> napisał(a):
I synced portage a couple of days now and now my systems areHello!
rebuilding python modules for 3.10 without any input from me (prior
to this 3.10 was on the system but wasn't picked up by applications.)
This is breaking non portage apps like homeassistant which are still
not fully 3.10 safe - ok that's sort of expected and in this case
will be fixed, but I cant find anything definitive on the task of "I
want to control which python is used" and when to update.
I eventually found that changing the order in python-exec.conf helped
on the homeassistant system. There is a LOT of out of date
documentation out there, particularly with eselect being used but is
actually not used with python anymore (why? - from a user point of
view having consistent access to configuration is a no brainer!) - so
how can one get python to behave reliably and override its automatic
get things wrong installation system? Is manually editing
python-exec.conf the way (which seems to get overwritten - shouldn't
that be a protected config file then?)
BillK
In "eselect news" info about python update there is a paragraph about blocking the upgrade. It just means adding:
*/* PYTHON_TARGETS: -* python3_9
*/* PYTHON_SINGLE_TARGET: -* python3_9
to /etc/portage/make.conf or /etc/portage/package.use or /etc/portage/package.use/zz-somename - whichever suites you best.
You can also change these settings just for some packages, by adding:
cat/pkg PYTHON_TARGETS: -* python3_9 PYTHON_SINGLE_TARGET: -* python3_9
to one of aforementioned files.
Hope that helps!
On Tue, 5 Jul 2022 15:31:38 +0800, William Kenworthy wrote:
I did read the news item and set the systems as above with multiple
python targets - there is no mention of python-exec and its role in
which python version is in use for packages that just call "python". Perhaps I should have been clearer - what I see is with multiple python targets present the python ebuild automatically selects the latest
version that is stable via python-exec - ok, some would want that. But what it should do is respect the users choice of running version and not automaticly overide it without asking. It looks like python-exec is the controlling factor so I'll try CONFIG_PROTECTon that file and manually manage it via ansible.
It is already CONFIG_PROTECTed, I had to approve the changes in the usual
way before they went ahead. What I find slightly odd is that this file is also managed by eselect-python, but that is not installed by default. I
would have expected it to be part of @system.
It is already CONFIG_PROTECTed, I had to approve the changes in the
usual way before they went ahead. What I find slightly odd is that
this file is also managed by eselect-python, but that is not
installed by default. I would have expected it to be part of @system.
This change is described in https://www.gentoo.org/support/news-items/2021-01-30-python-preference-to-follow-python-targets.html
On 2022-07-05, William Kenworthy <billk@iinet.net.au> wrote:As far as I can tell, you just need to add python_targets_python3_9 for
I synced portage a couple of days now and now my systems arerebuilding
python modules for 3.10 without any input from me [...]
Every time there's a Python upgrade like this, it turns into a bit of
an ordeal because I always have a small handful of packages that don't support the newer version.
The news item offers no advice on what to do in this situation other
than completely postponing the upgrade of everything (which doesn't
seem like the best choice.)
It would be nice if the news item explained how to let the upgrade
procede while holding back a few packages.
Can you set 3_9 and 3_10 globally, and then disable 3_10 for a few
individual packages that can't be built with 3_10?
I synced portage a couple of days now and now my systems are rebuilding python modules for 3.10 without any input from me [...]
On 2022.07.05 12:24, Grant Edwards wrote:
On 2022-07-05, William Kenworthy <billk@iinet.net.au> wrote:
It would be nice if the news item explained how to let the upgrade
procede while holding back a few packages.
Can you set 3_9 and 3_10 globally, and then disable 3_10 for a few
individual packages that can't be built with 3_10?
As far as I can tell, you just need to add python_targets_python3_9 for
the package in the appropriate package.use file.
On 2022.07.05 12:24, Grant Edwards wrote:
On 2022-07-05, William Kenworthy <billk@iinet.net.au> wrote:
I synced portage a couple of days now and now my systems arerebuilding
python modules for 3.10 without any input from me [...]
Every time there's a Python upgrade like this, it turns into a bit of
an ordeal because I always have a small handful of packages that don't support the newer version.
The news item offers no advice on what to do in this situation other
than completely postponing the upgrade of everything (which doesn't
seem like the best choice.)
It would be nice if the news item explained how to let the upgrade
procede while holding back a few packages.
Can you set 3_9 and 3_10 globally, and then disable 3_10 for a few individual packages that can't be built with 3_10?As far as I can tell, you just need to add python_targets_python3_9 for
the package in the appropriate package.use file.
On 2022-07-05, Jack <ostroffjh@users.sourceforge.net> wrote:Oh, it still does. I just think I anticipate it more often, so I am frequently able to deal with more than one "layer" in each round, so
On 2022.07.05 12:24, Grant Edwards wrote:
On 2022-07-05, William Kenworthy <billk@iinet.net.au> wrote:
It would be nice if the news item explained how to let the upgrade
procede while holding back a few packages.
Can you set 3_9 and 3_10 globally, and then disable 3_10 for a few
individual packages that can't be built with 3_10?
As far as I can tell, you just need to add python_targets_python3_9for
the package in the appropriate package.use file.
I've tried that, and it takes forever. Everything time you do it, the
next emerge attempt will fail because one of that package's
dependencies doesn't have 3_9 set. So you set that one, do an emerge,
and it fails because there's another depenency that doesn't have 3_9
set. Repeat this for an hour or two...
If it would tell you about all of them at once, it wouldn't be so bad.
But, if you're trying to hold back a large application with dozens and
dozens of dependancies it makes you want to scream.
Or doesn't it torture you like that any longer?
hat and its dependencies. Obviously you need to be caught up before
things get removed from the repo, but the offending package itself
will get removed when that happens anyway.
You can always just globally keep the older version around longer if
you don't want to deal with a bunch of cruft in
/etc/portage/package.use. The news item explains how to do this.
On 05/07/2022 17:44, Rich Freeman wrote:
hat and its dependencies. Obviously you need to be caught up before
things get removed from the repo, but the offending package itself
will get removed when that happens anyway.
You can always just globally keep the older version around longer if
you don't want to deal with a bunch of cruft in
/etc/portage/package.use. The news item explains how to do this.
I'd be inclined to lock the older version of the package you want so it
won't upgrade automatically (don't know how to do this, probably put
that particular version in @world), and also give that a python 9
dependency in package.use.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 302 |
Nodes: | 16 (2 / 14) |
Uptime: | 97:48:32 |
Calls: | 6,766 |
Calls today: | 4 |
Files: | 12,295 |
Messages: | 5,376,382 |
Posted today: | 1 |