fedora-silverblue / issue-tracker

Fedora Silverblue issue tracker
https://fedoraproject.org/atomic-desktops/silverblue/
126 stars 3 forks source link

Rebase errors with RPM Fusion Nvidia Drivers 'rpmfusion-nonfree-nvidia-driver' #458

Closed S7venLights closed 1 year ago

S7venLights commented 1 year ago

Describe the bug Seems on rebase, rpm-fusion GPG keys are not automatically updated to Fedora 38 GPG keys:

rpm-ostree rebase fedora:fedora/38/x86_64/kinoite
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora phracek-PyCharm rpmfusion-nonfree-nvidia-driver copr:copr.fedorainfracloud.org:kwizart:fedy updates-archive
Updating metadata for 'rpmfusion-nonfree-nvidia-driver'... done
error: Updating rpm-md repo 'rpmfusion-nonfree-nvidia-driver': Failed to download gpg key for repo 'rpmfusion-nonfree-nvidia-driver': Curl error (37): Couldn't read a file:// file for file:///etc/yum.repos.d/RPMFusionKeys/RPM-GPG-KEY-rpmfusion-nonfree-fedora-38 [Couldn't open file /etc/yum.repos.d/RPMFusionKeys/RPM-GPG-KEY-rpmfusion-nonfree-fedora-38]

To Reproduce I think the reason it's looking for the keys there is because previously when rebasing from silverblue 36 to kionite 37, I believe this or something similar also happened. I had to do this (manually download GPG keys and point the repo to them) to fix. Then presently:

  1. Use Kinoite with rpm-fusion
  2. Run a rebase (will fail)
  3. uninstall rpm-fusion rpm-ostree uninstall rpmfusion-free-release-37-1.noarch rpmfusion-nonfree-release-37-1.noarch
  4. Restart
  5. Run rebase (Still fails with above error)

Expected behavior Rebase resolves rpm-fusion GPG keys

OS version:

fedora:fedora/37/x86_64/kinoite
                  Version: 37.20230419.0 (2023-04-19T02:18:35Z)
               BaseCommit: 2c6d20e29a605f7625403fabead5ce69ccd0493a9484747f81b3c5e30ca41c6d
             GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
          LayeredPackages: akmod-nvidia akmods cockpit-composer cockpit-machines cockpit-networkmanager
                           cockpit-ostree cockpit-pcp cockpit-podman cockpit-selinux cockpit-storaged
                           cockpit-system fedy flatpak-builder gcc glibc-devel gnome-shell-extension-appindicator
                           gnome-shell-theme-flat-remix.noarch gnome-shell-theme-yaru.noarch gnome-tweak-tool
                           gstreamer1-plugin-openh264 kmod-nvidia libgda libgda-sqlite libguestfs-tools
                           libnetfilter_queue libva-utils libva-vdpau-driver libvirt-daemon-config-network
                           libvirt-daemon-kvm macchanger mozilla-ublock-origin nvidia-kmod pcp
                           python3-distutils-extra python3-libguestfs qemu-kvm sushi tlp vdpauinfo virt-install
                           virt-manager virt-top virt-viewer xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda
                           xorg-x11-drv-nvidia-cuda-libs xorg-x11-drv-nvidia-power
            LocalPackages: veracrypt-1.25.9-1.x86_64 virtio-win-0.1.225-2.noarch

Additional context I believe this or something similar also happened when rebasing from silverblue 36 to kionite 37 Posted here before: https://github.com/coreos/rpm-ostree/issues/4250 The current repo is not pointing to GPG keys in /etc/yum.repos.d/RPMFusionKeys which I manually put there, this may not be the default location for the keys??

S7venLights commented 1 year ago

I tried the following:

Went to https://rpmfusion.org/keys#CurrentlyUsedKeys: found Fedora 38 free and non-free version. But in 38 I couldn't find the right key for 38 from the subsequent list

So I made a backup of and then remove rpm-fusion and remove the repo at: /etc/yum.repos.d/ sudo rm /etc/yum.repos.d/rpmfusion-nonfree-nvidia-driver.repo

Then re-ran the rebase but since there are packages from that repo installed I get:

error: Packages not found: akmod-nvidia, kmod-nvidia, nvidia-kmod, xorg-x11-drv-nvidia, xorg
-x11-drv-nvidia-cuda, xorg-x11-drv-nvidia-cuda-libs, xorg-x11-drv-nvidia-power

So not sure what to do, I'm trying to reinstall the Rpm fusion repo as follows: sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm and I'll see if that puts the gpg keys back in place?? Edit* I had to restore the backed up repo from before in order to re-install rpm fusion. So basically I'm back to where I started.

In Short

I can't rebase upgrade to Fedora38 with rpm fusion and non-free nvidia drivers because my non-free driver repo is not getting a Fedora 38 GPG Key

travier commented 1 year ago

The keys are in /usr/share/distribution-gpg-keys/rpmfusion/ on F38 and the repo config as the right path:

$ cat /etc/yum.repos.d/rpmfusion-nonfree-nvidia-driver.repo
[rpmfusion-nonfree-nvidia-driver]
name=RPM Fusion for Fedora $releasever - Nonfree - NVIDIA Driver
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/nvidia-driver/$releasever/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-nvidia-driver-$releasever&arch=$basearch
enabled=0
type=rpm-md
gpgcheck=1
repo_gpgcheck=0
gpgkey=file:///usr/share/distribution-gpg-keys/rpmfusion/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$releasever
skip_if_unavailable=True
...

Where this one coming from? Notice the change in capitalization in your error compared to the config above.

Couldn't open file /etc/yum.repos.d/RPMFusionKeys/RPM-GPG-KEY-rpmfusion-nonfree-fedora-38
S7venLights commented 1 year ago

The gpg key is in a different place because that's how I fixed issues I had before when rebasing from Silverblue 36 to Kinoite 37. I have now made the rpmfusion-nonfree-nvidia-driver.repo point to /usr/share/distribution-gpg-keys/rpmfusion/ ,thanks. and will test if a rebase works soon

S7venLights commented 1 year ago

Okay after doing standard updates and rebooting here's what happens when I rebase:

$ rpm-ostree rebase fedora:fedora/38/x86_64/kinoite⠂ Receiving objects; 98% (547/557) 4.2 MB/s 125.9 MB                                                               146 metadata, 411 content objects fetched; 123240 KiB transferred in 34 seconds; 273.1 MB content written
Receiving objects; 98% (547/557) 4.2 MB/s 125.9 MB... done
Checking out tree 71da390... done
Inactive requests:
  breeze-gtk-gtk3.noarch (already provided by breeze-gtk-gtk3-5.27.4-1.fc38.noarch)
  glibc-all-langpacks (already provided by glibc-all-langpacks-2.37-1.fc38.x86_64)
  glibc-gconv-extra (already provided by glibc-gconv-extra-2.37-1.fc38.x86_64)
  libappindicator-gtk3 (already provided by libappindicator-gtk3-12.10.1-1.fc38.x86_64)
  glibc (already provided by glibc-2.37-1.fc38.x86_64)
  cpp (already provided by cpp-13.0.1-0.12.fc38.x86_64)
  breeze-gtk-gtk4.noarch (already provided by breeze-gtk-gtk4-5.27.4-1.fc38.noarch)
  firewall-config (already provided by firewall-config-1.3.1-1.fc38.noarch)
  glibc-common (already provided by glibc-common-2.37-1.fc38.x86_64)
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree phracek-PyCharm rpmfusion-nonfree-nvidia-driver copr:copr.fedorainfracloud.org:kwizart:fedy updates-archive
Updating metadata for 'updates-modular'... done
Updating metadata for 'updates'... done
Updating metadata for 'rpmfusion-nonfree-nvidia-driver'... done
Updating metadata for 'updates-archive'... done
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2023-03-14T10:56:46Z solvables: 4
rpm-md repo 'fedora-modular' (cached); generated: 2023-04-14T09:25:02Z solvables: 1082
rpm-md repo 'updates-modular'; generated: 2018-02-20T19:18:14Z solvables: 0
rpm-md repo 'updates'; generated: 2023-04-21T02:01:27Z solvables: 4044
rpm-md repo 'fedora' (cached); generated: 2023-04-14T09:32:40Z solvables: 69222
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2023-04-20T14:12:32Z solvables: 0
rpm-md repo 'rpmfusion-free' (cached); generated: 2023-04-14T11:37:11Z solvables: 468
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2023-04-14T12:02:51Z solvables: 235
rpm-md repo 'phracek-PyCharm' (cached); generated: 2023-04-15T11:41:45Z solvables: 5
rpm-md repo 'rpmfusion-nonfree-nvidia-driver'; generated: 2023-04-08T18:30:02Z solvables: 31
rpm-md repo 'copr:copr.fedorainfracloud.org:kwizart:fedy' (cached); generated: 2023-02-07T15:14:05Z solvables: 2
rpm-md repo 'updates-archive'; generated: 2022-11-11T05:17:33Z solvables: 0
Resolving dependencies... done
error: Could not depsolve transaction; 2 problems detected:
 Problem 1: conflicting requests
  - nothing provides system-release(37) needed by rpmfusion-free-release-37-1.noarch
 Problem 2: conflicting requests
  - nothing provides system-release(37) needed by rpmfusion-nonfree-release-37-1.noarch

This is the same issue discussed here So based on that discussion I tried the solution: rpm-ostree rebase fedora:fedora/38/x86_64/kinoite \ --uninstall rpmfusion-free-release-37-1.noarch \ --uninstall rpmfusion-nonfree-release-37-1.noarch \ --install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-38.noarch.rpm \ --install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-38.noarch.rpm But: error: usage error: Too many arguments

So I came across this which should help

travier commented 1 year ago

I'd recommend resetting all overrides and package layering, rebasing and then re-adding the things that you need.

Once you start adding a lot of things outside of the base images, conflict resolution is "on your own".

S7venLights commented 1 year ago

That last link I posted above seems like a promising solution:

sudo rpm-ostree update \
            --uninstall rpmfusion-free-release-37-1.noarch \
            --uninstall rpmfusion-nonfree-release-37-1.noarch \
            --install rpmfusion-free-release \
            --install rpmfusion-nonfree-release

If that is the solution then it's the RPM-Fusion docs that need to be adapted. I will see about posting the issue there. https://github.com/leigh123linux @leigh123linux regarding https://github.com/rpmfusion-infra/ansible-rpmfusion/issues/3 here I have troublshot the solution and basically all I'm asking is if you can read this and let me know where I should notify RPM Fusion, so that they can update their Docs.

I will update if this solves the isue, otherwise this will be what I end up having to do.

S7venLights commented 1 year ago

Issue was solved with this The command posted above :)

leigh123linux commented 1 year ago

That last link I posted above seems like a promising solution:

sudo rpm-ostree update \
            --uninstall rpmfusion-free-release-37-1.noarch \
            --uninstall rpmfusion-nonfree-release-37-1.noarch \
            --install rpmfusion-free-release \
            --install rpmfusion-nonfree-release

If that is the solution then it's the RPM-Fusion docs that need to be adapted. I will see about posting the issue there. https://github.com/leigh123linux @leigh123linux regarding rpmfusion-infra/ansible-rpmfusion#3 here I have troublshot the solution and basically all I'm asking is if you can read this and let me know where I should notify RPM Fusion, so that they can update their Docs.

I will update if this solves the isue, otherwise this will be what I end up having to do.

Try reporting it against the website component.

https://bugzilla.rpmfusion.org/enter_bug.cgi?product=Infrastructure

travier commented 1 year ago

We've already added that to: