How to update ONE specific rpm package on Silverblue with rpm-ostree

Hi all !
(Fedora Silverblue 34 installed)
My use case here is to upgrade a specific package version:
From livecd-tools-27.1-9.fc34.x86_64 to the latest version livecd-tools-30.0-1.fc37.x86_64.rpm

Following rpm-ostree man page , I executed this:

$ rpm -iq livecd-tools
livecd-tools-27.1-9.fc34.x86_64
$ rpm-ostree override replace https://download-ib01.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/l/livecd-tools-30.0-1.fc37.x86_64.rpm

But it ended updating much more than the ONE desired package…


> Will download: 50 packages (259,5 Mo)

What did I miss ? (see below for deteails)

Downloading https://download-ib01.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/l/livecd-tools-30.0-1.fc37.x86_64.rpm...done

Inactive base replacements:
  livecd-tools-1:30.0-1.fc37.x86_64
Checking out tree 7b99463... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora rpmfusion-free-updates rpmfusion-free teamviewer
Updating metadata for 'fedora-cisco-openh264'... done
rpm-md repo 'fedora-cisco-openh264'; generated: 2021-02-23T00:49:00Z
Updating metadata for 'updates'... done
rpm-md repo 'updates'; generated: 2022-05-09T13:12:28Z
Updating metadata for 'fedora'... done
rpm-md repo 'fedora'; generated: 2021-04-23T10:47:57Z
Updating metadata for 'rpmfusion-free-updates'... done
rpm-md repo 'rpmfusion-free-updates'; generated: 2022-05-09T05:03:31Z
Updating metadata for 'rpmfusion-free'... done
rpm-md repo 'rpmfusion-free'; generated: 2021-04-25T18:10:08Z
Updating metadata for 'teamviewer'... done
rpm-md repo 'teamviewer'; generated: 2022-04-26T10:22:20Z
Importing rpm-md... done
Resolving dependencies... done
Will download: 50 packages (259,5 Mo)
Downloading from 'updates'... done
Downloading from 'rpmfusion-free-updates'... done
Downloading from 'fedora'... done
Importing packages... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Writing OSTree commit... done
Staging deployment... done
Freed: 272,3 Mo (pkgcache branches: 0)
Upgraded:
  ImageMagick 1:6.9.12.32-1.fc34 -> 1:6.9.12.44-1.fc34
  ImageMagick-libs 1:6.9.12.32-1.fc34 -> 1:6.9.12.44-1.fc34
  autocorr-en 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  autocorr-fr 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  cinnamon-desktop 5.0.0-1.fc34 -> 5.2.0-1.fc34
  cinnamon-translations 5.0.2-1.fc34 -> 5.2.2-1.fc34
  compat-ffmpeg28 2.8.18-1.fc34 -> 2.8.19-1.fc34
  gnome-tweaks 40.0-2.fc34 -> 40.10-1.fc34
  inxi 3.3.09-1.fc34 -> 3.3.14-1.fc34
  java-11-openjdk-headless 1:11.0.13.0.8-2.fc34 -> 1:11.0.15.0.10-1.fc34
  keepassxc 2.6.6-1.fc34 -> 2.7.1-1.fc34
  kf5-filesystem 5.85.0-1.fc34 -> 5.91.0-1.fc34
  libass 0.14.0-7.fc34 -> 0.15.2-1.fc34
  libreoffice-core 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-data 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-gtk3 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-help-en 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-help-fr 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-langpack-en 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-langpack-fr 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-opensymbol-fonts 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-ure 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-ure-common 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  libreoffice-x11 1:7.1.8.1-1.fc34 -> 1:7.1.8.1-4.fc34
  lorax 34.13-1.fc34 -> 34.14-1.fc34
  lorax-templates-generic 34.13-1.fc34 -> 34.14-1.fc34
  mtools 4.0.36-1.fc34 -> 4.0.38-1.fc34
  nemo 5.0.5-1.fc34 -> 5.2.3-1.fc34
  nemo-compare 5.0.0-4.fc34 -> 5.2.0-2.fc34
  nemo-extensions 5.0.5-1.fc34 -> 5.2.3-1.fc34
  nemo-image-converter 5.0.0-4.fc34 -> 5.2.0-2.fc34
  nemo-preview 5.0.0-4.fc34 -> 5.2.0-2.fc34
  nemo-python 5.0.0-4.fc34 -> 5.2.0-2.fc34
  nemo-search-helpers 5.0.5-1.fc34 -> 5.2.3-1.fc34
  neon 0.31.2-6.fc34 -> 0.32.2-1.fc34
  netpbm 10.96.00-1.fc34 -> 10.97.00-1.fc34
  python3-pyparted 1:3.11.7-2.fc34 -> 1:3.12.0-1.fc34
  python3-pytz 2021.3-1.fc34 -> 2022.1-1.fc34
  python3-xapps-overrides 2.2.4-1.fc34 -> 2.2.8-1.fc34
  qt5-qtwebengine 5.15.5-1.fc34 -> 5.15.8-2.fc34
  syncthing 1.18.5-1.fc34 -> 1.19.2-1.fc34
  tzdata-java 2021e-1.fc34 -> 2022a-1.fc34
  vim-filesystem 2:8.2.3755-1.fc34 -> 2:8.2.4804-1.fc34
  xapps 2.2.4-1.fc34 -> 2.2.8-1.fc34
  xreader-data 3.0.2-1.fc34 -> 3.2.2-1.fc34
  xreader-libs 3.0.2-1.fc34 -> 3.2.2-1.fc34
Downgraded:
  squashfs-tools 4.5-3.20210913gite048580.fc34 -> 4.5.1-1.fc34
Removed:
  libsodium-1.0.18-7.fc34.x86_64
  libyubikey-1.13-15.fc34.x86_64
  python3-pycdlib-1.11.0-2.fc34.noarch
  quazip-qt5-0.7.6-10.fc34.x86_64
  ykpers-1.20.0-7.fc34.x86_64
Added:
  botan2-2.17.3-4.fc34.x86_64
  python3-pycdio-2.1.0-4.fc34.x86_64
  python3-xlrd-2.0.1-2.fc34.noarch
Use "rpm-ostree override reset" to undo overrides
Run "systemctl reboot" to start a reboot
$ rpm -iq livecd-tools
livecd-tools-27.1-9.fc34.x86_64
$ rpm-ostree status
State: idle
Deployments:
  ostree://fedora:fedora/34/x86_64/silverblue
                   Version: 34.20210423.n.0 (2021-04-23T08:10:25Z)
                BaseCommit: 7b99463136830fd9b18f8daf5f7973f3e15eaa3532f8dbcbb4f7eb9673170461
              GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
                      Diff: 46 upgraded, 1 downgraded, 5 removed, 3 added
           LayeredPackages: NetworkManager-fortisslvpn-gnome compat-ffmpeg28 custom-kickstarts.noarch fedora-kickstarts.noarch gedit gnome-tweaks gpart gparted gthumb keepassxc
                            l10n-kickstarts langpacks-fr libinsane libreoffice-langpack-fr livecd-tools mozilla-openh264 nautilus-image-converter nautilus-python nemo nemo-compare
                            nemo-extensions nemo-gsconnect nemo-image-converter nemo-preview nextcloud-client-nemo openfortivpn openssl protonvpn-cli pwkickstart.x86_64 pykickstart.noarch
                            sane-backends-daemon sane-frontends simple-scan spin-kickstarts spin-kickstarts.noarch syncthing vim xsane
             LocalPackages: teamviewer-15.22.3-0.x86_64 rpmfusion-free-release-34-1.noarch

â—Ź ostree://fedora:fedora/34/x86_64/silverblue
                   Version: 34.20210423.n.0 (2021-04-23T08:10:25Z)
                BaseCommit: 7b99463136830fd9b18f8daf5f7973f3e15eaa3532f8dbcbb4f7eb9673170461
              GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
           LayeredPackages: NetworkManager-fortisslvpn-gnome compat-ffmpeg28 custom-kickstarts.noarch fedora-kickstarts.noarch gedit gnome-tweaks gpart gparted gthumb keepassxc
                            l10n-kickstarts langpacks-fr libinsane libreoffice-langpack-fr livecd-tools mozilla-openh264 nautilus-image-converter nautilus-python nemo nemo-compare
                            nemo-extensions nemo-gsconnect nemo-image-converter nemo-preview nextcloud-client-nemo openfortivpn openssl protonvpn-cli pwkickstart.x86_64 pykickstart.noarch
                            sane-backends-daemon sane-frontends simple-scan spin-kickstarts spin-kickstarts.noarch syncthing vim xsane
             LocalPackages: teamviewer-15.22.3-0.x86_64 rpmfusion-free-release-34-1.noarch
                    Pinned: yes

  ostree://fedora:fedora/34/x86_64/silverblue
                   Version: 34.20210423.n.0 (2021-04-23T08:10:25Z)
                BaseCommit: 7b99463136830fd9b18f8daf5f7973f3e15eaa3532f8dbcbb4f7eb9673170461
              GPGSignature: Valid signature by 8C5BA6990BDB26E19F2A1A801161AE6945719A39
           LayeredPackages: NetworkManager-fortisslvpn-gnome compat-ffmpeg28 custom-kickstarts.noarch fedora-kickstarts.noarch gedit gnome-tweaks gpart gparted gthumb keepassxc
                            l10n-kickstarts langpacks-fr libinsane libreoffice-langpack-fr livecd-tools mozilla-openh264 nautilus-image-converter nautilus-python nemo nemo-compare
                            nemo-extensions nemo-gsconnect nemo-image-converter nemo-preview nextcloud-client-nemo openfortivpn openssl protonvpn-cli pwkickstart.x86_64 pykickstart.noarch
                            sane-backends-daemon sane-frontends simple-scan spin-kickstarts spin-kickstarts.noarch vim xsane
             LocalPackages: teamviewer-15.22.3-0.x86_64 rpmfusion-free-release-34-1.noarch
$

And after a reboot I got thoses messages:

$ rpm --install https://kojipkgs.fedoraproject.org//packages/livecd-tools/30.0/1.fc34/x86_64/livecd-tools-30.0-1.fc34.x86_64.rpm
 Problem : conflicting requests
  - nothing provides livecd-iso-to-mediums = 1:30.0-1.fc37 needed by livecd-tools-1:30.0-1.fc37.x86_64
  - nothing provides python3-imgcreate = 1:30.0-1.fc37 needed by livecd-tools-1:30.0-1.fc37.x86_64


I believe rpm-ostree will run an rpm-ostree upgrade as well, so that’s where the additional upgrades are coming from.

This is most likely because rpm-ostree can’t find the appropriate dependencies for livecd-tools 30.0-1. Looking at the listed dependencies, it requires certain dependencies with a minimum version number. Since you are running Silverblue 34, those versions of those dependencies aren’t in the repositories.

Either you will have to download and install all the missing dependencies with the appropriate versions, or rebase to Silverblue 36, which appears to ship with livecd-tools 30.0-1.

1 Like

Could I add an appropriate repository from a later branch ? I am using Silverblue 34, so maybe a branch 35, 36 or rawhide. Maybe this way I could install livecd-tools 30.0-1 without having to go throught a whole system upgrade for one package ?

I could not find it in Fedora Silverblue Cheatsheet…, I am not sure to my knowledge that the initial command is even the right one to upgrade ONE package in Silverblue ?