Qubes-dist-upgrade script error 4.3.rc-2

Hello, I am stuck on the first 1-2-3 stages of the qubes-dist-upgrade script. Trying to upgrade to 4.3.rc-2 I have tried using --skip-broken as the error suggested. Anyone know how to resolve this within Qubes OS ?

Performing distro-sync. This may take a while...
Fedora 41 - x86_64                               15 kB/s |  27 kB     00:01    
Fedora 41 - x86_64 - Updates                    6.4 kB/s |  19 kB     00:02    
Qubes Host Repository (updates)                 1.7 kB/s | 2.7 kB     00:01    
Error: 
 Problem: The operation would result in removing the following protected packages: dnf
(try to add '--skip-broken' to skip uninstallable packages)

This is kinda interesting. Did you install anything major in dom0 before? Or heavy modifications?

Not really, I was having issues trying to get the qubes-dist-upgrade installed before this error. I did enable all testing in the global config. and installed a few updates before finally getting it installed.

Not really, I was having issues trying to get the qubes-dist-upgrade installed before this error. I did enable all testing in the global config. and installed a few updates before finally getting it installed.

What happens now if you want to update dom0?

It’s giving a error as well.

I am running the Updater so I can post the error…

         
Using sys-whonix as UpdateVM for Dom0
Downloading updates. This may take a while...
Fedora 41 - x86_64                               12 kB/s |  27 kB     00:02    
Fedora 41 - x86_64 - Updates                    8.9 kB/s |  19 kB     00:02    
Qubes Host Repository (updates)                 1.7 kB/s | 2.7 kB     00:01    
Error: 
 Problem 1: cannot install the best update candidate for package grub2-tools-minimal-1000:2.06-4.fc37.x86_64
  - problem with installed package grub2-tools-minimal-1000:2.06-4.fc37.x86_64
(try to add '--skip-broken' to skip uninstallable packages)
  - package grub2-tools-minimal-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
  - cannot install the best update candidate for package device-mapper-libs-1:1.02.171-6.fc37.x86_64
  - cannot install both device-mapper-libs-1.02.199-4.fc41.x86_64 and device-mapper-libs-1:1.02.171-6.fc37.x86_64
 Problem 2: cannot install the best update candidate for package grub2-tools-1000:2.06-4.fc37.x86_64
  - problem with installed package grub2-tools-1000:2.06-4.fc37.x86_64
  - package grub2-tools-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
  - package grub2-tools-efi-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
  - package grub2-tools-extra-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
  - package grub2-tools-minimal-1000:2.06-7.fc41.x86_64 requires libdevmapper.so.1.02(DM_1_02_197)(64bit), but none of the providers can be installed
  - cannot install the best update candidate for package device-mapper-1:1.02.171-6.fc37.x86_64
  - package device-mapper-1:1.02.171-6.fc37.x86_64 requires device-mapper-libs = 1:1.02.171-6.fc37, but none of the providers can be installed
  - package device-mapper-libs-1.02.199-4.fc41.x86_64 requires device-mapper = 1.02.199-4.fc41, but none of the providers can be installed
  - cannot install both device-mapper-libs-1.02.199-4.fc41.x86_64 and device-mapper-libs-1:1.02.171-6.fc37.x86_64

Ok. Please do not update dom0 for the time. This needs further study.

And assure you have backups.

Alright, I do have some backups.

@marmarek We have a strange version conflict here during F37 to F41 upgrade phase. I can not figure this out. And --allowerasing wants to remove dnf!

The device-mapper-libs in F41 has (intentionally) lower version than in F37 (epoch is dropped). I see dnf distro-sync has --best flag, maybe that’s an issue.

What happens if at this stage you run in dom0 sudo dnf distro-sync --allowerasing? (do not confirm if it complains about some conflicts)
Note this will work only if you haven’t called qubes-dom0-update manually in the meantime - qubes-dist-upgrade should left cached packages in dom0, but qubes-dom0-update would remove them.

cc @alimirjamali This is what I get when I run sudo dnf distro-sync --allowerasing

$ sudo dnf distro-sync --allowerasing
Qubes OS Repository for Dom0                    1.7 MB/s | 3.0 kB     00:00    
Dependencies resolved.
================================================================================
 Package                Arch      Version            Repository            Size
================================================================================
Upgrading:
 glibc                  x86_64    2.40-28.fc41       qubes-dom0-cached    2.2 M
 glibc-all-langpacks    x86_64    2.40-28.fc41       qubes-dom0-cached     17 M
 glibc-common           x86_64    2.40-28.fc41       qubes-dom0-cached    351 k
 glibc-gconv-extra      x86_64    2.40-28.fc41       qubes-dom0-cached    1.6 M

Transaction Summary
================================================================================
Upgrade  4 Packages

Total size: 22 M
Is this ok [y/N]: n


CC alimirjamali
Hello, after running sudo dnf distro-sync --allowerasing , it did not complain about any conflicts so I confirmed it did 4 upgrades. However I ran the $ sudo qubes-dist-upgrade --releasever=4.3 --all-pre-reboot -y --keep-running sys-firewall and received the same error as beginning post.
I know your both busy , I appreciate your time and responses .

You can also try individual stages, so instead of --all-pre-reboot, use --dist-upgrade (looks like stage 1 and 2 already completed).
Based on your earlier output, stage 3 might have completed too - you can verify by running rpm -qa |grep -v fc41 - it should output only a few pubkey lines and maybe one or two other packages. If there are many fc37, then stage 3 isn’t done yet.

I ran rpm -qa | grep -v fc41 the output was to many packages to count. I ran $ sudo qubes-dist-upgrade --releasever=4.3 -y --keep-running sys-firewall , this is the output then it just quits after shutting down other running qubes.

INFO: Please wait while running pre-checks...
INFO: Found sys-usb providing input devices. It will be kept running.
WARNING: /!\ MAKE SURE YOU HAVE MADE A BACKUP OF ALL YOUR VMs AND dom0 DATA /!\

Again, thank you for your assistance…

you forgot the --dist-upgrade option

Is this correct?

$ sudo  qubes-dist-upgrade --releasever=4.3 --dist-upgrade   -y  --keep-running sys-firewall 


Yes

I got the same error…

$ sudo  qubes-dist-upgrade --releasever=4.3 --dist-upgrade  -y --keep-running sys-firewall
INFO: Please wait while running pre-checks...
INFO: Found sys-usb providing input devices. It will be kept running.
WARNING: /!\ MAKE SURE YOU HAVE MADE A BACKUP OF ALL YOUR VMs AND dom0 DATA /!\
---> (STAGE 3) Upgrading to QubesOS R4.3 and Fedora 41 repositories...
INFO: Xscreensaver has been killed. Desktop won't lock before next reboot.
Using sys-whonix as UpdateVM for Dom0
Downloading packages. This may take a while...
0 files removed
4 kB/s | 2.7 kB     00:01    
Error: 
 Problem: The operation would result in removing the following protected packages: dnf
(try to add '--skip-broken' to skip uninstallable packages)

Another idea: try sudo qubes-dom0-update --action=distro-sync --force-xen-upgrade --allowerasing (similar to the one before, but via qubes-dom0-update, not dnf directly).
Note if that works, you’ll need few manual steps and reboot to continue:

  • systemctl preset-all
  • systemctl list-units | grep qubes-vm and then call systemctl enable for each listed service