Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] - PYTHON_TARGETS 3.12 and packages like UFW
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
dg09
n00b
n00b


Joined: 24 Apr 2024
Posts: 8

PostPosted: Fri May 17, 2024 8:22 pm    Post subject: [SOLVED] - PYTHON_TARGETS 3.12 and packages like UFW Reply with quote

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
View user's profile Send private message
eeckwrk99
Apprentice
Apprentice


Joined: 14 Mar 2021
Posts: 170
Location: Gentoo forums

PostPosted: Fri May 17, 2024 8:54 pm    Post subject: Reply with quote

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
View user's profile Send private message
dg09
n00b
n00b


Joined: 24 Apr 2024
Posts: 8

PostPosted: Fri May 17, 2024 10:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21820

PostPosted: Fri May 17, 2024 10:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
dg09
n00b
n00b


Joined: 24 Apr 2024
Posts: 8

PostPosted: Sat May 18, 2024 4:43 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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