Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 916498 - update of python-exec yields to system "breakage"
Summary: update of python-exec yields to system "breakage"
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal major
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
: 919384 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-10-29 19:00 UTC by Enrique Domínguez
Modified: 2025-01-16 12:17 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Enrique Domínguez 2023-10-29 19:00:28 UTC
When updating my system from python3_9 to python3_10 portage firstly updated python-exec pkg and then other pkgs begin to fail with missing python dependencies (system update fails). Solved problem editing /usr/portage/eclass/python-utils-r1.eclass (2nd order inherited from python-exec) and added my old python3_9 version to _PYTHON_ALL_IMPLS array and reemerged python-exec.
Maybe _PYTHON_ALL_IMPLS could take its value from PYTHON_COMPAT array from python-exec ebuild, no idea if this could break other things.
Information could be a little inexact because i'm reporting without system at hand.

Reproducible: Always




Possibly related BUG reports: #770421, #830273
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-10-29 19:40:46 UTC
I've been thinking about this for a while.

Obviously, the case you hit "shouldn't" happen because it either implies a Portage bug (misordering for the merge list) or bad luck/fragility (because some package in the list failed between python-exec being re-emerged and Portage being re-emerged with new Python). But that's little comfort and not very helpful practically.

Maybe we could use the list of historical implementations and have python-exec fall back to that (possibly with some warning on stderr?) if it must.
Comment 2 Enrique Domínguez 2023-11-18 02:37:40 UTC
(In reply to Sam James from comment #1)
> I've been thinking about this for a while.
> 
> Obviously, the case you hit "shouldn't" happen because it either implies a
> Portage bug (misordering for the merge list) or bad luck/fragility (because
> some package in the list failed between python-exec being re-emerged and
> Portage being re-emerged with new Python). But that's little comfort and not
> very helpful practically.
> 
> Maybe we could use the list of historical implementations and have
> python-exec fall back to that (possibly with some warning on stderr?) if it
> must.

Thanks for your reply. Not so frequently updated systems finds trouble each time (same with archlinux)
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-09 23:17:23 UTC
*** Bug 919384 has been marked as a duplicate of this bug. ***
Comment 4 Larry the Git Cow gentoo-dev 2025-01-16 12:17:06 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/pkgcore/pkgcheck.git/commit/?id=49c22943ba73c948023881452525420fe61210bf

commit 49c22943ba73c948023881452525420fe61210bf
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-01-15 23:41:27 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-01-16 11:07:39 +0000

    OutdatedBlocker: update from 2 years -> 4 years
    
    2 years is too aggressive IMHO. See de65ca7b4a3f3a68b65b56e2dcaf6e511d3a3443
    for a recent example of this in ::gentoo but there's been plenty of such
    cases in #gentoo on IRC where we got users upgrading fine but they became
    unstuck by a removed blocker.
    
    Such blockers are really cheap and the purpose of the warning is really
    to remove ancient cruft rather than actually obstruct people upgrading
    systems where it's viable.
    
    Note that it's especially problematic because of the current behaviour
    of python-exec where emerge won't be able to resume if python-exec got
    updated but portage hasn't yet been rebuilt w/ new PYTHON_TARGETS.
    
    (... because if any interruption occurs, it can be fatal.)
    
    Bug: https://bugs.gentoo.org/916498
    Signed-off-by: Sam James <sam@gentoo.org>

 src/pkgcheck/checks/metadata.py | 4 ++--
 tests/checks/test_metadata.py   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)