On 12/10/2024 10:12, Michał Górny wrote:
This approach has been causing a major annoyance for users -- due to Portage "greedy" upgrade behavior, any time a new Python version was keyworded, Portage insisted on installing it, even though user's selected targets did not request the specific version. The potentially worst consequence of that would be random user scripts stopping to work, as they suddenly start using new Python, while all their dependencies are still installed per PYTHON_TARGETS.
I don't understand the problem. Say we have some custom user script with #!/usr/bin/python, then this still goes through the python-exec mechanism. That config file is protected, so some new python version cannot suddenly replace the /usr/bin/python without explicit action from the system administrator. So in what scenario exactly does the current behavior cause breakage?