Upgrade available in preview mode, but not in normal mode
Opened this issue · 8 comments
Host system details
rpm-ostree-2018.8-1.fc29.x86_64
● ostree://fedora-workstation:fedora/29/x86_64/silverblue
Version: 29.20180923.n.0 (2018-09-23 11:31:15)
BaseCommit: a1d5676c3f679387bd5d56aef7f898fcbdcc3cc150ad46d862469f20b0c4e56c
GPGSignature: Valid signature by 5A03B4DD8254ECA02FDA1637A20AA56B429476B4
LayeredPackages: adapta-gtk-theme adobe-source-code-pro-fonts adobe-source-sans-pro-fonts
adobe-source-serif-pro-fonts android-tools atomic baobab cheese chrome-gnome-shell
chromium dconf-editor easytag exa exfat-utils fd-find ffmpeg file-roller
file-roller-nautilus glances gnome-encfs-manager gnome-logs gnome-screenshot
gnome-tweaks gnome-usage gpick htop iftop julia libratbag-ratbagd
linux-libertine-biolinum-fonts linux-libertine-fonts mosh mozilla-fira-mono-fonts
mozilla-fira-sans-fonts neovim powerline-go pv ripgrep task tilix tilix-nautilus tmux
tokei xenlism-wildfire xenlism-wildfire-midnight youtube-dl zsh
LocalPackages: rpmfusion-nonfree-release-29-0.5.noarch rpmfusion-free-release-29-0.5.noarch
Expected vs actual behavior
See the following output: With --preview
it wants to upgrade mesa-libOpenCL
, while without, it doesn’t find anything up upgrade. That’s weird.
$ sudo rpm-ostree upgrade --preview
Updating metadata for 'updates-testing': [=============] 100% seconds
rpm-md repo 'updates-testing'; generated: 2018-09-23 20:37:40
Updating metadata for 'updates': [=============] 100%
rpm-md repo 'updates'; generated: 2018-02-20 19:18:14
Updating metadata for 'fedora': [=============] 100%
rpm-md repo 'fedora'; generated: 2018-09-23 10:24:03
Updating metadata for 'rpmfusion-free-updates-testing': [=============] 100%
rpm-md repo 'rpmfusion-free-updates-testing'; generated: 2018-09-25 10:12:34
Updating metadata for 'rpmfusion-free': [=============] 100%
rpm-md repo 'rpmfusion-free'; generated: 2018-09-25 10:27:23
Updating metadata for 'rpmfusion-nonfree-updates-testing': [=============] 100%
rpm-md repo 'rpmfusion-nonfree-updates-testing'; generated: 2018-09-25 10:44:23
Updating metadata for 'rpmfusion-nonfree': [=============] 100%
rpm-md repo 'rpmfusion-nonfree'; generated: 2018-09-25 10:50:40
Updating metadata for 'nalimilan-julia': [=============] 100%
rpm-md repo 'nalimilan-julia'; generated: 2018-09-17 16:24:08
Updating metadata for 'home_moritzmolch_gencfsm': [=============] 100%
rpm-md repo 'home_moritzmolch_gencfsm'; generated: 2017-10-24 15:16:37
Importing metadata [=============] 100%
AvailableUpdate:
Upgraded: mesa-libOpenCL 18.2.0-1.fc29 -> 18.2.1-1.fc29
$ sudo rpm-ostree upgrade
Receiving metadata objects: 0/(estimating) -/s 0 Bytes Checking out tree a1d5676... done
Enabled rpm-md repositories: updates-testing updates fedora rpmfusion-free-updates-testing rpmfusion-free rpmfusionUpdating metadata for 'updates-testing': [=============] 100%me_moritzmolch_gencfsm
rpm-md repo 'updates-testing'; generated: 2018-09-23 20:37:40
Updating metadata for 'updates': [=============] 100%
rpm-md repo 'updates'; generated: 2018-02-20 19:18:14
Updating metadata for 'fedora': [=============] 100%
rpm-md repo 'fedora'; generated: 2018-09-23 10:24:03
Updating metadata for 'rpmfusion-free-updates-testing': [=============] 100%
rpm-md repo 'rpmfusion-free-updates-testing'; generated: 2018-09-25 10:12:34
Updating metadata for 'rpmfusion-free': [=============] 100%
rpm-md repo 'rpmfusion-free'; generated: 2018-09-25 10:27:23
Updating metadata for 'rpmfusion-nonfree-updates-testing': [=============] 100%
rpm-md repo 'rpmfusion-nonfree-updates-testing'; generated: 2018-09-25 10:44:23
Updating metadata for 'rpmfusion-nonfree': [=============] 100%
rpm-md repo 'rpmfusion-nonfree'; generated: 2018-09-25 10:50:40
Updating metadata for 'nalimilan-julia': [=============] 100%
rpm-md repo 'nalimilan-julia'; generated: 2018-09-17 16:24:08
Updating metadata for 'home_moritzmolch_gencfsm': [=============] 100%
rpm-md repo 'home_moritzmolch_gencfsm'; generated: 2017-10-24 15:16:37
Importing metadata [=============] 100%
Resolving dependencies... done
No upgrade available.
Unfortunately, the way --preview
works, there's a bit of "guessing" when it comes to layered packages. It will alert for changes if any layered packages have newer versions in the fetched metadata, but it doesn't actually do any depsolving.
So e.g. if you have pkg-a
installed which pulls in pkg-b
at a specific version, a newer version of pkg-b
will show up as an available update regardless of whether it'd actually be pulled in (e.g. if pkg-a
has a tight binding on the version of pkg-b
, it won't).
We could resolve dependencies in the case where we already have the base layer (as is the case in your output, since there isn't a new OSTree commit available), but the problem would still exist if we don't.
Seems to be a duplicate of #680.
I'm going to reopen this one since it's not exactly the same as #680. That issue is about diff output formatting. This issue is about the discrepancy caused by the guessing rpm-ostree does.
Another real-life example of this in https://bugzilla.redhat.com/show_bug.cgi?id=1705494.
I think we should push to automatic staged updates by default and not care too much about --preview
.
Yeah, I don't want to spend too long trying to make --preview
perfect. Will think on this to see if there are any lightweight heuristics we could do.
I think we should push to automatic staged updates by default
That'd help, though (without going too much into the weeds of #247) I suspect check
to still be popular for a lot of use cases.
I have the same problem:
rpm-ostree upgrade
⠤ Receiving metadata objects: 0/(estimating) -/s 0 bytes...
Receiving metadata objects: 0/(estimating) -/s 0 bytes... done
Checking out tree b1e920e... done
Enabled rpm-md repositories: fedora updates rpmfusion-free google-chrome rpmfusion-nonfree-updates rpmfusion-nonfree rpmfusion-free-updates
rpm-md repo 'fedora' (cached); generated: 2019-10-23T22:52:47Z
rpm-md repo 'updates' (cached); generated: 2020-03-14T00:03:21Z
rpm-md repo 'rpmfusion-free' (cached); generated: 2019-10-22T10:21:36Z
rpm-md repo 'google-chrome' (cached); generated: 2020-03-12T16:55:01Z
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2020-03-13T11:20:29Z
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2019-10-22T10:43:47Z
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2020-03-13T10:46:34Z
Importing rpm-md... done
Resolving dependencies... done
No upgrade available.
rpm-ostree upgrade --preview
1 metadata, 0 content objects fetched; 569 B transferred in 3 seconds
Enabled rpm-md repositories: fedora updates rpmfusion-free google-chrome rpmfusion-nonfree-updates rpmfusion-nonfree rpmfusion-free-updates
Updating metadata for 'fedora'... done
rpm-md repo 'fedora'; generated: 2019-10-23T22:52:47Z
Updating metadata for 'updates'... done
rpm-md repo 'updates'; generated: 2020-03-14T00:03:21Z
Updating metadata for 'rpmfusion-free'... done
rpm-md repo 'rpmfusion-free'; generated: 2019-10-22T10:21:36Z
Updating metadata for 'google-chrome'... done
rpm-md repo 'google-chrome'; generated: 2020-03-12T16:55:01Z
Updating metadata for 'rpmfusion-nonfree-updates'... done
rpm-md repo 'rpmfusion-nonfree-updates'; generated: 2020-03-13T11:20:29Z
Updating metadata for 'rpmfusion-nonfree'... done
rpm-md repo 'rpmfusion-nonfree'; generated: 2019-10-22T10:43:47Z
Updating metadata for 'rpmfusion-free-updates'... done
rpm-md repo 'rpmfusion-free-updates'; generated: 2020-03-13T10:46:34Z
Importing rpm-md... done
AvailableUpdate:
Upgraded: google-chrome-stable 80.0.3987.116-1 -> 80.0.3987.132-1
rpmfusion-nonfree-release 31-1 -> 31-2
As seen here this information is used by gnome software to show to the user that available updates exist.
However when you hit "Restart and update", the PC reboots but the same updates are still listed.
It seems the root cause for all the problems is the following #1978