Silverblue can't upgrade to new version F31

Hello,

Today I’ve been notified a new version of Fedora is available. I’ve followed the instruction to download and reboot my laptop but no upgrade happened.

I guess this feature is only activated for true Fedora user and it’s not active for silverblue users.

Pierre

1 Like

Please have a look here: https://docs.fedoraproject.org/en-US/fedora-silverblue/updates-upgrades-rollbacks/#upgrading

Just change the release number to 31.

You probably don’t need to import the gpg key.

rpm-ostree rebase fedora/31/x86_64/silverblue

should do the trick.

Thank you @returntrip and @pluto these CLI methods solved the problem and I didn’t need a new gpg key.

# rpm-ostree rebase fedora-workstation:fedora/31/x86_64/silverblue
error: Commit 1f77b254e196f244b20f14e0bac895ca151dd90dd18e0431e716ee1dbbe3f06e: GPG signatures found, but none are in trusted keyring
# ostree remote gpg-import fedora -k /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-31-primary
Imported 1 GPG key to remote "fedora"
# rpm-ostree rebase fedora-workstation:fedora/31/x86_64/silverblue                 
error: Commit 1f77b254e196f244b20f14e0bac895ca151dd90dd18e0431e716ee1dbbe3f06e: GPG signatures found, but none are in trusted keyring
% ls -l RPM-GPG-KEY-fedora-31-primary 
-rw-r--r--. 1 root root 1.7K Oct 31 13:06 RPM-GPG-KEY-fedora-31-primary

How can I solve this keyring issue?

You’re rebasing from the fedora-workstation remote.

What does ostree remote list show?

% ostree remote list
fedora
fedora-atomic-29
fedora-workstation

Try

rpm-ostree rebase fedora:fedora/31/x86_64/silverblue

instead. The remote got renamed at one point.

I have an issue with rpmfusion, which I can solve, but your solution seems to work:

# rpm-ostree rebase fedora:fedora/31/x86_64/silverblue 
⠈ Receiving objects: 99% (38176/38202) 6.4 MB/s 1.1 GB 
Receiving objects: 99% (38176/38202) 6.4 MB/s 1.1 GB... done
Checking out tree 1f77b25... done
Enabled rpm-md repositories: updates fedora yarn rpm-fusion
Updating metadata for 'updates'... done
rpm-md repo 'updates'; generated: 2019-10-31T00:49:58Z
Updating metadata for 'fedora'... done
rpm-md repo 'fedora'; generated: 2019-10-25T01:48:20Z
Updating metadata for 'yarn'... done
rpm-md repo 'yarn'; generated: 2019-10-08T12:00:19Z
Updating metadata for 'rpm-fusion'... done
error: Failed to download gpg key for repo 'rpm-fusion': Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-31 [Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-31]

Thank you for your very prompt help

I wonder if that’s caused by the rpmfusion packages being installed as rpms, thus never getting updated and not having the 31 GPG keys. This is similar to why installing Google Chrome with the RPM is a bad idea.

You can remove the rpmfusion packages under LocalPackages and then grab the rpmfusion 31 repos.

sudo rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-31.noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-31.noarch.rpm

The RPMFusion configuration page should really say something about this. The current setup will break on upgrades.

I removed from /etc/yum.d/ these 3 files: rpmfusion-free.repo, rpmfusion-nonfree-nvidia-driver.repo, rpmfusion-nonfree-steam.repo
but now rpm-ostree complains:
error: Packages not found: compat-ffmpeg28, ffmpeg, ffmpeg-devel, ffmpeg-libs, gstreamer1-libav, python2-kobo-rpmlib, vlc

I will follow your method.

% rpm -qa --qf "%{NAME} %{PACKAGER}\n" | grep "RPM Fusion" | cut -d\  -f1       
7:ffmpeg
120:vlc
358:x264-libs
394:libdca
469:xvidcore
481:opencore-amr
...

Any idea howto get rid of the numbers so I can create a list I will pass to rpm-ostree?
Sorry, it is of topic, but I would be glad to avoid picking names one by one !

dnf list installed | grep rpm-fusion | awk -F" " '{if ($1) print $1}' This looks for stuff from the repo rpm-fusion, you will also need to do it for rpm-fusion-updates

EDIT: the actual command is
dnf list installed | grep rpmfusion* | awk -F" " '{if ($1) print $1}'

your command returns empty :frowning:

1 Like

I managed to upgrade to Fedora 31, but there is still an issue with rpm fusion.

# rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-31.noarch.rpm
Downloading 'https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-31.noarch.rpm'... done!
Checking out tree 1f77b25... done
Enabled rpm-md repositories: updates fedora yarn rpm-fusion
rpm-md repo 'updates' (cached); generated: 2019-10-31T00:49:58Z
rpm-md repo 'fedora' (cached); generated: 2019-10-25T01:48:20Z
rpm-md repo 'yarn' (cached); generated: 2019-10-08T12:00:19Z
Updating metadata for 'rpm-fusion'... done
error: Failed to download gpg key for repo 'rpm-fusion': Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-31 [Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-31]
# rpm-ostree upgrade
1 metadata, 0 content objects fetched; 569 B transferred in 2 seconds
Checking out tree 1f77b25... done
Enabled rpm-md repositories: updates fedora yarn rpm-fusion
rpm-md repo 'updates' (cached); generated: 2019-10-31T00:49:58Z
rpm-md repo 'fedora' (cached); generated: 2019-10-25T01:48:20Z
rpm-md repo 'yarn' (cached); generated: 2019-10-08T12:00:19Z
Updating metadata for 'rpm-fusion'... done
error: Failed to download gpg key for repo 'rpm-fusion': Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-31 [Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-31]

How can I deal with this issue?

Maybe some SELinux issue? I edited /etc/yum.repos.d/rpmfusion* to tell 0 to gpgckeck, then run again:

# rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-31.noarch.rpm
Downloading 'https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-31.noarch.rpm'... done!
Checking out tree 1f77b25... done
Enabled rpm-md repositories: updates fedora yarn rpm-fusion
rpm-md repo 'updates' (cached); generated: 2019-10-31T00:49:58Z
rpm-md repo 'fedora' (cached); generated: 2019-10-25T01:48:20Z
rpm-md repo 'yarn' (cached); generated: 2019-10-08T12:00:19Z
rpm-md repo 'rpm-fusion' (cached); generated: 2019-10-22T10:21:36Z
Importing rpm-md... done
Resolving dependencies... done
error: Loading pkgcache branch rpmostree/pkg/rpmfusion-free-release/31-1.noarch: Failed to find metadata key rpmostree.sepolicy (signature s)

You might need to uninstall rpm-fusion and its associated packages (just note them down first) with rpm-ostree uninstall then reinstall them

I already uninstall all packages from rpm-fusion. I will try uninstalling rpm-fusion itself
NOTE: dnf list installed does not show any rpm fusion installed

$ dnf list installed | grep rpmfusion*
$

So for now is it the expected behaviour that upgrades via Gnome Software just don’t work?

Is this bug likely to be fixed in time for Fedora 32? Is there a ticket tracking I can follow?

1 Like

I did the:

but on rebooting systemd-logind always fails to start. Any way around this? I’ve rolled back to f30 for now.

I just found this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1763449 but there is no resolution.