Dependency error when updating ArchLinux templates with the python<3.12 message

When trying to update my archlinux templates, pacman complains about dependancies

:: installing python (3.12.3-1) breaks dependency 'python<3.12' required by qubes-db-vm
:: installing python (3.12.3-1) breaks dependency 'python<3.12' required by qubes-vm-core

I’ve tried updating everything except python. I’ve even tried updating with --nodeps. In both cases, the qube entirely breaks and no longer gives windows to dom0 to display.

When updating with --nodeps, this error is displayed about a hundred times during the Updating the Qubes desktop file Apps Icons and features... step:

Traceback (most recent call last):
  File "/usr/bin/qvm-features-request", line 30, in <module>
    import qubesdb
ModuleNotFoundError: No module named 'qubesdb'

This happened on 2 different machines, and ensuring dom0 was updated as well.

Is anyone else experiencing this? Is there a workaround until it’s fixed?

UPDATE:

I found out through experimentation that if you open a disposable console for that qube and run xfce4-terminal directly from there, a terminal does in fact open. It seems like the buttons in the qubes app menu isn’t properly opening xfce4-terminal. I’ve tried refreshing them in app shortcuts but it still doesn’t open a terminal when clicked.

2 Likes

Now fixed and the repositories updated, you can update your ArchLinux template.

You will get a minor error message which will be fixed later with this pull request.

Note: I updated the topic title (dependaency, and related to python<3.12)

3 Likes

I still have the issue if I update the archlinux template, do I have to reinstall ArchLinux template?

I updated with only the above described minor error message.

The ArchLinux packages are available in the current-testing repository:

  1. qubes-db-vm-4.2.5-1
  2. qubes-vm-core-4.2.32-1

@qEawma5f Do you use the current-testing repository ?

[user@archlinux ~]$ cat /etc/pacman.d/85-qubes-4.2-current-testing.conf
[qubes-r4.2-current-testing]
Server = https://archlinux.qubes-os.org/r4.2/current-testing/vm/archlinux/pkgs

If you don’t want to use this repository you should wait, these packages will switch later to the current repository (more than a week delay).

1 Like

Yep, it gave me the same error before enabling the testing repository. After that, it updated without issue.

I don’t use the current-testing repo, I’ll wait a week or so to let it switch to the current repo.

Been more than a week, still doesn’t work, so I switched to the current-testing repo (via the template renamed the current-testing.conf.disabled to current-testing.conf), but if I update again it gives me a SSL connection error, can you help me to fix this?

Do you still have this bug? I have the suspicion that there was a problem with Qubes OS mirror at that time. There is a relevant issue on Github at the exact time. I was updating other templates at that moment and saw issues with Debian and Fedora template Qubes repositories. But it was temporal.

Currently I have no issue with Archlinux, Debian & Fedora templates.

I still have this same issue, tried to wait seems like the repo updated but I can’t still update without having this error

:: installing python (3.12.3-1) breaks dependency 'python<3.12' required by qubes-db-vm
:: installing python (3.12.3-1) breaks dependency 'python<3.12' required by qubes-vm-core
1 Like

Then I would assure than only and only one .conf file in /etc/pacman.d points to the current-testing repos:

sudo ln -sf /etc/pacman.d/85-qubes-4.2-current-testing.conf.disabled /etc/pacman.d/90-qubes-4.2-current.conf

Subsequently ls -lah /etc/pacman.d/*.conf should show only the symbolic link

I don’t understand, what command do I exactly run to enable testing so I can fix this? I’m still stuck on it.

If I rename the 90-qubes-4.2-current.conf to 90-qubes-4.2-current.conf.disabled and rename 90-qubes-4.2-current-testing.conf.disabled to 90-qubes-4.2-current-testing.conf It gives me an SSL error that it doesn’t work

It would be extremely hard to provide help without knowing the exact SSL error. It would be nice if you could copy/paste the output here on forum. So we might be able to provide better help.

My bad for that

error: failed retrieving file 'qubes-r4.2-current-testing.db' from archlinux.qubes-os.org : SSL connection timeout

error: failed to synchronize all databases (download library error)

Very useful information. It appears that either the template does not have any kind of network connectivity via updateproxy or there is a serious issue with HTTPS connection. The former is most probable and the later latter is probable only in some countries where the HTTPS connection is tampered with. So lets rule out one by one.

If you run the below command in the template, you should get your IP address via updateproxy:

curl -x localhost:8082 https://ifconfig.io

or this should show the index page of example.com

curl -x localhost:8082 https://example.com

I ran those two commands, and I got my IP via the updateproxy. Can it be because of I run the updateproxy via tor? Also am I doing it right? I renamed two files (qubes current by disabling it and qubes current testing by enabling it) It should work right?

Most probably not. If there was a problem with Tor connectivity, you should have not received any IP or reply from those sites. BTW, if you are using sys-whonix as updateproxy, the IP you receive from ifconfig.io should be the IP address of Tor exit node.

It should work. Renaming the files should work, modifying the files should work, using ln to create relevant symlinks should work. All should work. They are all legitimate workarounds. And the output of pacman you posted earlier shows that the setup should be correct (unless your Tor connection is extremely slow). I could not think of any other issues at the moment. If anything comes to mind, I will send a reply.

Seems like I’ve solved the issue, I ran pacman -Sy because it gave an error that the current-testing database didn’t exist and by running that command it fixed it. Tried to update via the Qubes OS Update but that didn’t work because it told me that it was too slow. So I’m now updating the template via terminal with the command pacman -Syyu and that currrently works. If it’s done I will switch back to current repo and update via salt if necessary. Thank you for your help.

1 Like