coreos / rpm-ostree

⚛📦 Hybrid image/package system with atomic upgrades and package layering
https://coreos.github.io/rpm-ostree
Other
855 stars 193 forks source link

rpm-ostree should show problematic packages when depsolve fails #4316

Open MateusRodCosta opened 1 year ago

MateusRodCosta commented 1 year ago

Host system details

State: idle
Deployments:
  fedora:fedora/38/x86_64/silverblue
                  Version: 38.20230223.n.0 (2023-02-23T08:04:45Z)
               BaseCommit: d5ab1b7b1154e3706550969a4c9d6662ec6a6129bb125da30f420d7833ba65df
             GPGSignature: Valid signature by 6A51BBABBA3D5467B6171221809A8D7CEB10B464
                     Diff: 7 upgraded, 2 downgraded
      RemovedBasePackages: firefox firefox-langpacks 110.0-3.fc38 nano-default-editor 7.2-2.fc38
          LayeredPackages: abrt-desktop akmod-nvidia code distrobox dptfxtract gamescope gnome-shell-extension-appindicator gnome-shell-extension-drive-menu gnome-shell-extension-gsconnect gnome-tweaks google-chrome-stable htop
                           intel-media-driver java-11-openjdk java-11-openjdk-devel libratbag-ratbagd libva-utils libvirt neofetch neovim rpmfusion-free-release rpmfusion-nonfree-release steam-devices syncthing vim-default-editor
                           virt-manager waydroid xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda xorg-x11-drv-nvidia-power
            LocalPackages: duplicati-2.0.6.3-2.0.6.3_beta_20210617.noarch

● fedora:fedora/38/x86_64/silverblue
                  Version: 38.20230222.n.0 (2023-02-22T08:07:12Z)
               BaseCommit: a085b0b8f7a4e41861e80b7597e68e2682da07163816a021a1c46e5c9a79581b
             GPGSignature: Valid signature by 6A51BBABBA3D5467B6171221809A8D7CEB10B464
      RemovedBasePackages: firefox firefox-langpacks 110.0-3.fc38 nano-default-editor 7.2-2.fc38
          LayeredPackages: abrt-desktop akmod-nvidia code distrobox dptfxtract gamescope gnome-shell-extension-appindicator gnome-shell-extension-drive-menu gnome-shell-extension-gsconnect gnome-tweaks google-chrome-stable htop
                           intel-media-driver java-11-openjdk java-11-openjdk-devel libratbag-ratbagd libva-utils libvirt neofetch neovim rpmfusion-free-release rpmfusion-nonfree-release steam-devices syncthing vim-default-editor
                           virt-manager waydroid xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda xorg-x11-drv-nvidia-power
            LocalPackages: duplicati-2.0.6.3-2.0.6.3_beta_20210617.noarch

  fedora:fedora/38/x86_64/silverblue
                  Version: 38.20230220.n.0 (2023-02-20T08:06:55Z)
               BaseCommit: f2130e63f0c3e23f60afe16bc4607390b7b6bcc1718bd6a7f5789b1c95093b03
             GPGSignature: Valid signature by 6A51BBABBA3D5467B6171221809A8D7CEB10B464
      RemovedBasePackages: firefox firefox-langpacks 110.0-3.fc38 nano-default-editor 7.2-2.fc38
          LayeredPackages: akmod-nvidia code distrobox dptfxtract gnome-shell-extension-appindicator gnome-shell-extension-drive-menu gnome-shell-extension-gsconnect gnome-tweaks google-chrome-stable htop intel-media-driver
                           java-11-openjdk java-11-openjdk-devel libratbag-ratbagd libva-utils libvirt neofetch neovim rpmfusion-free-release rpmfusion-nonfree-release steam-devices syncthing vim-default-editor virt-manager waydroid
                           xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda xorg-x11-drv-nvidia-power
            LocalPackages: duplicati-2.0.6.3-2.0.6.3_beta_20210617.noarch
                   Pinned: yes

  fedora:fedora/37/x86_64/silverblue
                  Version: 37.20230221.0 (2023-02-21T00:44:37Z)
               BaseCommit: 521691fcb10306daf330ad64fa04ad23097a05b5adaebe2f1ef4c170c679b9e8
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
      RemovedBasePackages: firefox firefox-langpacks 110.0-3.fc37 nano-default-editor 6.4-1.fc37
          LayeredPackages: akmod-nvidia code distrobox dptfxtract gnome-shell-extension-appindicator gnome-shell-extension-drive-menu gnome-shell-extension-gsconnect gnome-tweaks google-chrome-stable htop intel-media-driver
                           java-11-openjdk java-11-openjdk-devel libratbag-ratbagd libva-utils libvirt neofetch neovim rpmfusion-free-release rpmfusion-nonfree-release steam-devices syncthing vim-default-editor virt-manager waydroid
                           xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda xorg-x11-drv-nvidia-power
            LocalPackages: duplicati-2.0.6.3-2.0.6.3_beta_20210617.noarch
                   Pinned: yes

Expected vs actual behavior

The following message appeared a while ago when trying to upgrade to 38.20230221.n.1 on my system, luckily I was able to skip it and upgrade to a posterior commit.

Checking out tree d6c9eee... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora google-chrome code rpmfusion-free-updates-testing rpmfusion-free rpmfusion-nonfree-updates-testing rpmfusion-nonfree updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2022-10-06T10:49:41Z solvables: 4
rpm-md repo 'fedora-modular' (cached); generated: 2023-02-20T09:16:19Z solvables: 1082
rpm-md repo 'updates-modular' (cached); generated: 2018-02-20T19:18:14Z solvables: 0
rpm-md repo 'updates' (cached); generated: 2018-02-20T19:18:14Z solvables: 0
rpm-md repo 'fedora' (cached); generated: 2023-02-20T09:23:27Z solvables: 68414
rpm-md repo 'google-chrome' (cached); generated: 2023-02-17T17:32:02Z solvables: 3
rpm-md repo 'code' (cached); generated: 2023-02-21T06:44:15Z solvables: 3077
rpm-md repo 'rpmfusion-free-updates-testing' (cached); generated: 2023-02-19T20:17:37Z solvables: 27
rpm-md repo 'rpmfusion-free' (cached); generated: 2023-02-19T20:30:14Z solvables: 477
rpm-md repo 'rpmfusion-nonfree-updates-testing' (cached); generated: 2023-02-19T20:50:58Z solvables: 2
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2023-02-19T20:57:16Z solvables: 223
rpm-md repo 'updates-archive' (cached); generated: 2022-11-11T05:17:33Z solvables: 0
Resolving dependencies... done
error: Could not depsolve transaction; 6 problems detected:
 Problem 1: The operation would result in removing the following protected packages: systemd
 Problem 2: The operation would result in removing the following protected packages: systemd
 Problem 3: The operation would result in removing the following protected packages: systemd
 Problem 4: The operation would result in removing the following protected packages: systemd
 Problem 5: The operation would result in removing the following protected packages: systemd
 Problem 6: The operation would result in removing the following protected packages: systemd

This seems to be a packaging bug on RPMFusion side, but rpm-ostree could at least tell me which packages are affected so I don't have to figure which packages one by one

Expected:

The error message should show which packages cause the depsolve to solve intead of only showing that it's a conflict with systemd and no info about how it conflicts.

Steps to reproduce it

Provide any additional data that may help debug this - which specific version of an RPM is in the repo, or any host system configuration.

Install some RPMFusion packages on Fedora Silverblue 38 or install them on Fedora Silverblue 37 and try to rebase to 38.

Would you like to work on the issue?

No, I don't have any knowledge on how rpm-ostree works at the moment.


The related bug on Silverblue tracker is https://github.com/fedora-silverblue/issue-tracker/issues/422

jlebon commented 1 year ago

Notes: This error comes from libdnf. We'd have to enhance the code around here. Probably libdnf should use SOLVER_LOCK for protected packages like we do in https://github.com/coreos/rpm-ostree/pull/2125. That would cause libsolv itself to report a more helpful problem message. But probably not worth changing before moving to dnf5 and seeing if this bug reproduces.