Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos)

I’m sharing here a tip that I’ve just found to make it simpler for major update for RPM Fusion users on Silverblue and other rpm-ostree based variants.

The first time you install RPM Fusion, you should follow the official guide: Configuration - RPM Fusion

But then, once you have rebooted into the new deployment, you can run the following command to remove the “lock” on a specific version of the packages (this is essentially removing the fixed version packages and installing the non-versioned ones in the same transaction):

$ sudo rpm-ostree update \
            --uninstall rpmfusion-free-release-34.0.3.noarch \
            --uninstall rpmfusion-nonfree-release-34.0.2.noarch \
            --install rpmfusion-free-release \
            --install rpmfusion-nonfree-release

I have not tested that yet across a major version rebase, but I’m hopeful that this should work. This will at least keep those packages updated for a given version, which is already better than what I had before.

Note that this also work with the Google Chrome RPM package which includes its own RPM repo.

2 Likes

What repository do those version-less packages come from? I have the RPM-fusion repos installed with rpm-ostree like that, and I get this:

$ rpm -qa|grep fusion
rpmfusion-free-release-34-1.noarch
rpmfusion-nonfree-release-34-1.noarch
rpmfusion-free-obsolete-packages-34-1.fc34.noarch
$ rpm-ostree update --uninstall rpmfusion-free-release-34-1.noarch --uninstall rpmfusion-nonfree-release-34-1.noarch --install rpm-fusion-free-release --install rpm-fusion-nonfree-release
⠂ Receiving metadata objects: 1/(estimating) 49 bytes/s 196 bytes... 
2 metadata, 0 content objects fetched; 788 B transferred in 5 seconds; 0 bytes cReceiving metadata objects: 1/(estimating) 49 bytes/s 196 bytes... done
Checking out tree 6964fa7... done
Enabled rpm-md repositories: updates rpmfusion-nonfree-updates rpmfusion-free-updates rpmfusion-free fedora rpmfusion-nonfree fedora-cisco-openh264 updates-archive
rpm-md repo 'updates' (cached); generated: 2021-06-01T00:51:53Z
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2021-05-27T12:03:54Z
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2021-05-27T11:44:59Z
rpm-md repo 'rpmfusion-free' (cached); generated: 2021-04-25T18:10:08Z
rpm-md repo 'fedora' (cached); generated: 2021-04-23T10:47:57Z
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2021-04-25T18:36:02Z
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2021-02-23T00:49:00Z
rpm-md repo 'updates-archive' (cached); generated: 2021-06-01T01:33:47Z
Importing rpm-md... done
error: Packages not found: rpm-fusion-free-release, rpm-fusion-nonfree-release
1 Like

@Siosm
thx for sharing this tip!

This is weird. Can you give us the output of rpm-ostree status?

The packages come from the rpm-fusion repository themselves.

Here it is:

bkhl@foxglove:~$ rpm-ostree status
State: idle
Deployments:
● ostree://fedora:fedora/34/x86_64/silverblue
                   Version: 34.20210531.0 (2021-05-31T00:37:11Z)
                BaseCommit: 4d5b7071e84ba156af8f6d333be77ac00244e24a824aa11a65501c49e90222ea
              GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
           LayeredPackages: NetworkManager-fortisslvpn-gnome chromium-freeworld emacs exfat-utils fuse-exfat git-lfs
                            gstreamer1-plugin-openh264 langpacks-en langpacks-en_GB langpacks-sv langpacks-th mozilla-openh264 net-tools
                            nextcloud-client nextcloud-client-nautilus qemu virt-manager wireguard-tools wl-clipboard
             LocalPackages: rpmfusion-nonfree-release-34-1.noarch rpmfusion-free-release-34-1.noarch

  ostree://fedora:fedora/34/x86_64/silverblue
                   Version: 34.20210531.0 (2021-05-31T00:37:11Z)
                BaseCommit: 4d5b7071e84ba156af8f6d333be77ac00244e24a824aa11a65501c49e90222ea
              GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
           LayeredPackages: NetworkManager-fortisslvpn-gnome chromium-freeworld emacs exfat-utils fuse-exfat git-lfs
                            gstreamer1-plugin-openh264 langpacks-en langpacks-en_GB langpacks-sv langpacks-th mozilla-openh264 net-tools
                            nextcloud-client nextcloud-client-nautilus qemu virt-manager wireguard-tools wl-clipboard
             LocalPackages: rpmfusion-free-release-34-1.noarch
                    Pinned: yes
bkhl@foxglove:~$ rpm-ostree update --uninstall rpmfusion-free-release-34-1.noarch --uninstall rpmfusion-nonfree-release-34-1.noarch --install rpm-fusion-free-release --install rpm-fusion-nonfree-release
⠚ Receiving metadata objects: 1/(estimating) 49 bytes/s 196 bytes... 
Receiving metadata objects: 1/(estimating) 49 bytes/s 196 bytes... done
Checking out tree cb5b9e7... done
Enabled rpm-md repositories: updates rpmfusion-nonfree-updates rpmfusion-free-updates rpmfusion-free fedora rpmfusion-nonfree fedora-cisco-openh264 updates-archive
rpm-md repo 'updates' (cached); generated: 2021-06-02T00:51:25Z
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2021-05-27T12:03:54Z
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2021-05-27T11:44:59Z
rpm-md repo 'rpmfusion-free' (cached); generated: 2021-04-25T18:10:08Z
rpm-md repo 'fedora' (cached); generated: 2021-04-23T10:47:57Z
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2021-04-25T18:36:02Z
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2021-02-23T00:49:00Z
rpm-md repo 'updates-archive' (cached); generated: 2021-06-02T01:46:41Z
Importing rpm-md... done
error: Packages not found: rpm-fusion-free-release, rpm-fusion-nonfree-release

My regular setup is the rollback here, and pinned because virt-manager stopped working they day after that, but that’s a story for a different post when I get to it.

Anyway, I get the same thing with only the free package installed as normal, but switched to your setup with both free and nonfree packages to check if it would make a difference.

Try instead:

bkhl@foxglove:~$ rpm-ostree update --uninstall
rpmfusion-free-release-34-1.noarch --uninstall
rpmfusion-nonfree-release-34-1.noarch --install rpm-fusion-free-release
–install rpm-fusion-nonfree-release

rpm-ostree update --uninstall rpmfusion-free-release-34-1.noarch --uninstall rpmfusion-nonfree-release-34-1.noarch --install rpmfusion-free-release --install rpmfusion-nonfree-release

V/r,
James Cassell

2 Likes

That did it, thanks.

Oh! My bad, I did not copy paste the package names and I had an unwanted - in there! :sweat_smile: Fixed now. Thanks!

for now, why use Google Chrome rpm instead of flatpak?

Flatpak of Google Chrome? Where?

Flathub beta

1 Like

The Flatpak version is unable to handle has some issues handling U2F USB keys (Yubikey, etc.).

1 Like

I’ve now tested that and it works great.

2 Likes

Whenever I run rpm-ostree status and see those versioned rpm fusion packages - I always wondered what would happen to them when i upgrade to SB 35 sometime in the future. I was expecting I might need to do some manual fix up…

I’m glad you’ve answered that for me ahead of time!

I’m curious though, what happens if we don’t “unpin” those packages before doing the SB 34 to 35 upgrade?

From memory, you get an error during the rebase.