View previous topic :: View next topic |
Author |
Message |
dg09 n00b
Joined: 24 Apr 2024 Posts: 11
|
Posted: Fri May 17, 2024 8:22 pm Post subject: [SOLVED] - PYTHON_TARGETS 3.12 and packages like UFW |
|
|
EDIT: marking as solved. The solution is to wait for the rest of the packages to bring support for 3.12, and remove or keep 3.11 for those that don't
Greetings fellow Gentoomen,
As most of you are aware already, soon comes the switch of the default Python target on Gentoo, from 3.11 to 3.12. With that said, some questions have arisen, since when trying to force the upgrade manually through the safe approach indicated in the news item, I am facing some issues. My apologies if these issues are an obvious thing. I am relatively new to using Gentoo as my main system so still getting acquainted with the power of Portage. I have dwelled with it in the past, but not for long and never through a major change such as this(my biggest change was the change from Profile 17.0 to 23.0 recently, which, to my mistake, picked the older profile during the installation, but it went well!).
Anyway, everything has worked fine, up to the last step, which is meant to remove all support of Python 3.11 from the system and rebuilding the packages with the Python3_12 overrides, as indicated by the instructions on the last news item:
Code: |
*/* PYTHON_TARGETS: -* python3_12
*/* PYTHON_SINGLE_TARGET: -* python3_12
|
The problem that arises at this point is with certain packages, such as UFW and webapp-config, which, at least on my current Portage tree(updated recently, ~12 hours ago), appear to have no PYTHON_TARGETS=python3_12 USE EXPAND flag available:
Code: |
gentoo ~ # equery u net-firewall/ufw
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for net-firewall/ufw-0.36.1:
U I
- - examples : Example ufw config files
+ + ipv6 : IPv6 support for iptables
- - python_targets_python3_10 : Build with Python 3.10
- + python_targets_python3_11 : Build with Python 3.11
gentoo ~ # equery u app-admin/webapp-config
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for app-admin/webapp-config-1.55-r3:
U I
+ + portage : Propagate python_targets dependencies to sys-apps/portage
- - python_targets_python3_10 : Build with Python 3.10
- + python_targets_python3_11 : Build with Python 3.11
|
These flags do not show when pretending an emerge either:
Code: |
gentoo ~ # emerge --pretend app-admin/webapp-config net-firewall/ufw
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 1.16 s (backtrack: 0/20).
[ebuild R ] app-admin/webapp-config-1.55-r3::gentoo USE="portage" PYTHON_TARGETS="python3_11 -python3_10" 0 KiB
[ebuild R ] net-firewall/ufw-0.36.1::gentoo USE="ipv6 -examples" PYTHON_TARGETS="python3_11 -python3_10" 0 KiB
Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB
|
I did check the package pages for both of these packages, and, at least on the page for webapp-config, I am able to see that it does have the python3_12 USE EXPAND for PYTHON_TARGETS, and according to the git change log, this was added recently(~2 days ago). On the other hand, the page for the package ufw, there is no addition of such USE EXPAND, and the last change on the git log dates goes back as far as 2023-01-14.
I attempted a mask for ufw, in /etc/portage/package.mask/, which would allow the rebuild to continue(using "emerge --pretend -1vUD @world", after having ran --depclean, as the instructions state). However, webapp-config was then holding it back, since it lacks the corresponding USE EXPAND for python3_12, so I also added a mask for it. At this point, many other packages were also being held back, including Portage since I had built webapp-config with "USE='portage'". I am able to get past that by rebuilding it with "USE='-portage'". However, a ton of other packages are still being skipped, and I am not sure if it would be best to carry on, or wait for future updates. Here is the log for the emerge at this point:
Log: emerge --pretend -1vUD @world
With the above, my conclusion is that, at least in the case of webapp-config and the other packages being held back, the corrections will come to my Portage tree eventually, through future invocations of emerge-webrsync, and I should just proceed and wait. As for UFW, I may need to look for an alternative perhaps, given the lack of changes in the git tree(?). Are these conclusions correct? If so, it seems simple enough; replace UFW and wait. If not, then, what would be the best approach to proceed here?
Thanks in advance!
- DG
Last edited by dg09 on Sat May 18, 2024 4:44 am; edited 1 time in total |
|
Back to top |
|
|
eeckwrk99 Apprentice
Joined: 14 Mar 2021 Posts: 232 Location: Gentoo forums
|
Posted: Fri May 17, 2024 8:54 pm Post subject: |
|
|
Just add:
Code: | net-firewall/ufw python_targets_python3_11 | to package.use. You'll have to keep Python 3.11 for now if you want to keep this package installed.
I'm in a similar situation because of sys-fs/udiskie, which isn't compatible with python 3.12 yet.
This will most likely be sorted out between now and June 1st, when the default switch from 3.11 to 3.12 will occur. |
|
Back to top |
|
|
dg09 n00b
Joined: 24 Apr 2024 Posts: 11
|
Posted: Fri May 17, 2024 10:08 pm Post subject: |
|
|
eeckwrk99 wrote: | Just add:
Code: | net-firewall/ufw python_targets_python3_11 | to package.use. You'll have to keep Python 3.11 for now if you want to keep this package installed.
I'm in a similar situation because of sys-fs/udiskie, which isn't compatible with python 3.12 yet.
This will most likely be sorted out between now and June 1st, when the default switch from 3.11 to 3.12 will occur. |
Great, that works for UFW. Thanks!
Having analysed the output of my emerge log more carefully, I have figured out the dependency conflict for all the other packages being skipped all go back up the chain to webapp-config, except for this one here:
Code: |
dev-python/six:0
(dev-python/six-1.16.0-r1:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11 (-python3_13)" conflicts with
dev-python/six[python_targets_python3_11(-)] required by (net-misc/spice-gtk-0.42-r3:0/0::gentoo, installed) USE="gtk3 introspection usbredir -gtk-doc -lz4 -mjpeg -policykit -sasl -smartcard -vala -valgrind -wayland -webdav" ABI_X86="(64)"
|
The rest I understand, given the missing USE EXPAND flag on webapp-config not being there and thus causing the dependency conflict to spread that far down, but for this particular one, dev-python/six does have the python3_12 USE EXPAND, so I can only assume net-misc/spice-gtk must have dev-python/six built with python3_11. Am I correct in assuming that, or am I missing something?
Thanks again for your input!
- DG |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22657
|
Posted: Fri May 17, 2024 10:53 pm Post subject: |
|
|
That is correct. Although spice-gtk does not have a PYTHON_TARGETS variable, it uses python-any-r1, and gets some Python dependencies from that. As of my last sync, spice-gtk is not marked compatible with python3.12, so its dependency on dev-python/six requires python3.11 instead. |
|
Back to top |
|
|
dg09 n00b
Joined: 24 Apr 2024 Posts: 11
|
Posted: Sat May 18, 2024 4:43 am Post subject: |
|
|
Hu wrote: | That is correct. Although spice-gtk does not have a PYTHON_TARGETS variable, it uses python-any-r1, and gets some Python dependencies from that. As of my last sync, spice-gtk is not marked compatible with python3.12, so its dependency on dev-python/six requires python3.11 instead. |
Gotcha. Thanks for the explanation! Will mark the thread as solved. Appreciate your time! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|