Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 2224858
Summary: | Newly recommended packages not always installed on update | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mikhail <mikhail.v.gavrilov> | ||||||||||
Component: | dnf | Assignee: | Jaroslav Mracek <jmracek> | ||||||||||
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||
Severity: | unspecified | Docs Contact: | |||||||||||
Priority: | unspecified | ||||||||||||
Version: | rawhide | CC: | awilliam, daniel.mach, gnome-sig, igor.raits, jmracek, jrohel, klember, mblaha, mcatanza, mclasen, packaging-team-maint, pkratoch, rhughes, rpm-software-management, rstrode | ||||||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||||||
Target Release: | --- | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2023-07-31 08:54:34 UTC | Type: | Bug | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Bug Depends On: | |||||||||||||
Bug Blocks: | 2143444, 2143445 | ||||||||||||
Attachments: |
|
Proposed as a Blocker and Freeze Exception for 39-beta by Fedora user mikhail using the blocker tracking app because: Because major regression in base GUI Do you have installation of soft dependencies disabled? The SVG pixbuf loader is now split out of the main package, which Recommends: it, so you *should* get it on update unless you disabled soft deps... I just checked that when I update my own system (which is currently on the old librsvg2), dnf will pull in rsvg-pixbuf-loader: Installing weak dependencies: avif-pixbuf-loader x86_64 0.11.1-9.fc39 rawhide 23.9 KiB gstreamer1-plugins-good-qt6 x86_64 1.22.5-1.fc39 rawhide 101.6 KiB rsvg-pixbuf-loader x86_64 2.56.90-7.fc39 rawhide 15.3 KiB ❯ dnf upgrade --refresh
Updating and loading repositories:
RPM Fusion for Fedora Rawhide - Nonfree 100% | 25.4 KiB/s | 6.4 KiB | 00m00s
Fedora rawhide - x86_64 - Debug 100% | 17.3 KiB/s | 11.9 KiB | 00m01s
Fedora - Rawhide - Developmental packages for the next Fedora release 100% | 25.2 KiB/s | 15.0 KiB | 00m01s
Fedora rawhide openh264 (From Cisco) - x86_64 100% | 1.8 KiB/s | 989.0 B | 00m01s
Brave Browser - Nightly 100% | 8.6 KiB/s | 3.3 KiB | 00m00s
RPM Fusion for Fedora Rawhide - Free 100% | 30.1 KiB/s | 6.4 KiB | 00m00s
pgadmin4 100% | 5.4 KiB/s | 3.8 KiB | 00m01s
Sublime Text - x86_64 - Dev 100% | 4.6 KiB/s | 2.9 KiB | 00m01s
local repo 100% | 0.0 B/s | 3.0 KiB | 00m00s
google-chrome-unstable 100% | 8.7 KiB/s | 1.3 KiB | 00m00s
Repositories loaded.
Package Arch Version Repository Size
Upgrading:
librsvg2 x86_64 2.56.90-7.fc39 rawhide 4.6 MiB
replacing librsvg2 x86_64 2.56.90-1.fc39 local-repo 4.4 MiB
Transaction Summary:
Upgrading: 1 packages
Replacing: 1 packages
Total size of inbound packages is 2 MiB. Need to download 2 MiB.
After this operation 227 KiB will be used (install 5 MiB, remove 4 MiB).
Is this ok [y/N]: n
Operation aborted by the user.
❯ rpm -q avif-pixbuf-loader
avif-pixbuf-loader-0.11.1-9.fc39.x86_64
❯ rpm -q gstreamer1-plugins-good-qt6
gstreamer1-plugins-good-qt6-1.22.5-1.fc39.x86_64
❯ rpm -q rsvg-pixbuf-loader
package rsvg-pixbuf-loader is not installed
Hmmm for some reasons rsvg-pixbuf-loader is not installed.
> Do you have installation of soft dependencies disabled?
How check this? Anyway I didn't configure dnf.
❯ cat /etc/dnf/dnf.conf
# see `man dnf.conf` for defaults and possible options
[main]
Huh. That's...weird. Does old DNF do the same? (try dnf-3 upgrade). And also try with `--setopt=install_weak_deps=True` (both dnfs, I guess). Created attachment 1977189 [details] screen of whats doing old and new dnf with --setopt=install_weak_deps=True (In reply to Adam Williamson from comment #5) > Huh. That's...weird. > > Does old DNF do the same? (try dnf-3 upgrade). And also try with > `--setopt=install_weak_deps=True` (both dnfs, I guess). Should we reassign this to dnf? I don't think there's anything else to do here? This is expected behavior if the subpackage is not installed. It's supposed to get installed on upgrade due to the Recommends. I don't know how to explain why that doesn't happen. The only reason I can think of for dnf to not install the package is (a) if you've disabled installation of weak deps, in which case you've opted-in to this, or (b) if you've previously uninstalled the subpackage, but it's brand new so that shouldn't be the case here. This is likely due to https://fedoraproject.org/wiki/Changes/ExcludeFromWeakAutodetect where DNF got changed to not install new recommends to existing package any more (if I understood it right what the dnf change did). Note that we've already discussed a similar issue in the openh264 context - we used to add "Recommends: gstreamer1-openh264" to totem in a post-GA update to pull openh264 in, but in F36+ that stopped working due to the dnf change above. Why is it getting pulled in for Adam, then? Hm, I guess we need to switch from Recommends to Requires, I suppose. > Why is it getting pulled in for Adam, then? I don't know - I am probably missing some crucial bit of how dnf's recommends handling works :) > Hm, I guess we need to switch from Recommends to Requires, I suppose. That might be a prudent thing to do, yes, at least until we understand better what's going on with dnf sometimes pulling recommends in and sometimes not. At the same time, it would also make the whole subpackage split pointless because then we'd have two subpackage that require each other and can only ever be installed together. (In reply to Kalev Lember from comment #10) > At the same time, it would also make the whole subpackage > split pointless because then we'd have two subpackage that require each > other and can only ever be installed together. A little bit pointless, but it's nicely parallel to the other pixbuf loader subpackages, so that's OK. I'll change it to Requires. OK! +1 from me New build incoming. Thanks for reporting this. Um. But as I read it, that's not what the Change *intends* to do. As I read it, the intent of the Change is this: say you have foo-1.0-1 installed, which `Recommends: bar`. However, you don't have bar installed - you manually removed it, or whatever. Now, foo-1.0-2 comes out, which *also* `Recommends: bar`. When you run `dnf update`, you probably don't want bar to be installed: the current situation indicates that you do not want it. The Change intends not to pull bar back in *in this situation*. But, that is not the situation here. The situation here is that there's a *new* Recommends: . As I read the Change, it was not intended that it should forestall the installation of *new* soft dependencies. If foo-1.0-1 didn't `Recommends: bar` but foo-1.0-2 does `Recommends: bar`, then on update, bar should be installed. I don't know why this 'worked' for me but not for Mikhail, but I don't think we can just say things are working as intended here. I don't think they are. Let's re-open and pull in dnf folks? dnf folks, the issue here is that, between librsvg2-2.56.90-1.fc39 and librsvg2-2.56.90-7.fc39, a `Recommends: rsvg-pixbuf-loaders` was added to the package, with the intent that on upgrade, that package should be pulled in. It seems like for me, this works. Here's my `dnf update librsvg2` output: Package Arch Version Repository Size Upgrading: librsvg2 x86_64 2.56.90-7.fc39 rawhide 4.6 MiB replacing librsvg2 x86_64 2.56.90-1.fc39 <unknown> 4.4 MiB Installing weak dependencies: rsvg-pixbuf-loader x86_64 2.56.90-7.fc39 rawhide 15.3 KiB Transaction Summary: Installing: 1 packages Upgrading: 1 packages Replacing: 1 packages but for Mikhail, it does not - see the outputs he attached. We don't understand why not. Kalev suggested this is 'intended behaviour' per https://fedoraproject.org/wiki/Changes/ExcludeFromWeakAutodetect , but by my reading it is not. Do you have any ideas? May I ask you for debugsolver data (`dnf --debugsolver ...`) for use case what the autodetection of unsatisfied dependencies fails? Please try to disable as much repositories as possible to reduce dataset. The reported behavior might be as a consequence of presence of another package that already recommended it. The another reason could be that recommended package has conflict with installed packages. Then solver can skip weak dependencies. And the last option - there is a bug in autodetection algorithm. Created attachment 1980092 [details]
debugdata
❯ dnf upgrade --cacheonly --debugsolver
Updating and loading repositories:
Repositories loaded.
Debug data written to "/root/./debugdata/packages"
Package Arch Version Repository Size
Upgrading:
librsvg2 x86_64 2.56.90-7.fc39 rawhide 4.6 MiB
replacing librsvg2 x86_64 2.56.90-1.fc39 rawhide 4.4 MiB
Transaction Summary:
Upgrading: 1 packages
Replacing: 1 packages
Total size of inbound packages is 2 MiB. Need to download 2 MiB.
After this operation 227 KiB will be used (install 5 MiB, remove 4 MiB).
Is this ok [y/N]: n
Operation aborted by the user.
Thank you. In test case there is job excludefromweak pkg rsvg-pixbuf-loader-2.56.90-7.fc39.i686@rawhide job excludefromweak pkg rsvg-pixbuf-loader-2.56.90-7.fc39.x86_64@rawhide May I ask you for output from `dnf repoquery --whatrecommends rsvg-pixbuf-loader --installed` ? ❯ dnf repoquery --whatrecommends rsvg-pixbuf-loader --installed gdk-pixbuf2-modules-0:2.42.10-5.fc39.i686 gdk-pixbuf2-modules-0:2.42.10-5.fc39.x86_64 Created attachment 1980097 [details]
dnf.log
May toy want to know hwo needed gdk-pixbuf2-modules...
Answer steam client.
2023-06-18T19:30:25+0500 INFO --- logging initialized ---
2023-06-18T19:30:25+0500 DDEBUG timer: config: 1 ms
2023-06-18T19:30:25+0500 DEBUG Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, needs-restarting, notify-packagekit, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade
2023-06-18T19:30:25+0500 DEBUG DNF version: 4.15.1
2023-06-18T19:30:25+0500 DDEBUG Command: dnf install steam
2023-06-18T19:30:25+0500 DDEBUG Installroot: /
2023-06-18T19:30:25+0500 DDEBUG Releasever: rawhide
2023-06-18T19:30:25+0500 DEBUG cachedir: /var/cache/dnf
2023-06-18T19:30:25+0500 DDEBUG Base command: install
2023-06-18T19:30:25+0500 DDEBUG Extra commands: ['install', 'steam']
2023-06-18T19:30:25+0500 DEBUG User-Agent: constructed: 'libdnf (Fedora Linux 39; workstation; Linux.x86_64)'
2023-06-18T19:30:25+0500 DEBUG repo: using cache for: fedora-cisco-openh264
2023-06-18T19:30:25+0500 DEBUG fedora-cisco-openh264: using metadata from Tue 14 Mar 2023 03:57:01 PM +05.
2023-06-18T19:30:25+0500 DEBUG repo: using cache for: rawhide
2023-06-18T19:30:25+0500 DEBUG rawhide: using metadata from Sat 17 Jun 2023 12:40:42 PM +05.
2023-06-18T19:30:25+0500 DEBUG repo: using cache for: google-chrome-unstable
2023-06-18T19:30:25+0500 DEBUG google-chrome-unstable: using metadata from Fri 16 Jun 2023 10:23:03 PM +05.
2023-06-18T19:30:25+0500 DEBUG repo: downloading from remote: rpmfusion-free-rawhide
2023-06-18T19:30:26+0500 DEBUG rpmfusion-free-rawhide: using metadata from Thu 15 Jun 2023 07:52:16 PM +05.
2023-06-18T19:30:26+0500 DEBUG repo: downloading from remote: rpmfusion-nonfree-rawhide
2023-06-18T19:30:28+0500 DEBUG rpmfusion-nonfree-rawhide: using metadata from Thu 15 Jun 2023 08:04:46 PM +05.
2023-06-18T19:30:28+0500 DDEBUG timer: sack setup: 2566 ms
2023-06-18T19:30:28+0500 DEBUG Completion plugin: Generating completion cache...
2023-06-18T19:30:28+0500 DEBUG --> Starting dependency resolution
2023-06-18T19:30:28+0500 DEBUG ---> Package NetworkManager-libnm.i686 1:1.43.10-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package adwaita-gtk2-theme.x86_64 3.28-16.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package alsa-lib.i686 1.2.9-3.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package at-spi2-atk.i686 2.48.3-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package at-spi2-core.i686 2.48.3-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package atk.i686 2.48.3-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package avahi-libs.i686 0.8-23.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package bluez-libs.i686 5.66-5.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package bzip2-libs.i686 1.0.8-13.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package cairo.i686 1.17.8-4.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package cairo-gobject.i686 1.17.8-4.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package colord-libs.i686 1.4.6-4.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package cups-libs.i686 1:2.4.4-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package dbus-libs.i686 1:1.14.8-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package dconf.i686 0.40.0-8.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package duktape.i686 2.7.0-4.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package elfutils-debuginfod-client.i686 0.189-2.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package elfutils-libelf.i686 0.189-2.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package elfutils-libs.i686 0.189-2.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package expat.i686 2.5.0-2.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package fdk-aac-free.i686 2.0.0-10.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package flac-libs.i686 1.4.2-2.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package fontconfig.i686 2.14.2-3.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package freetype.i686 2.13.0-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package fribidi.i686 1.0.13-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package gamemode.i686 1.7-2.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package gdk-pixbuf2.i686 2.42.10-2.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package gdk-pixbuf2-modules.i686 2.42.10-2.fc38 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package glib-networking.i686 2.76.0-2.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package glib2.i686 2.76.3-1.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package glibc.i686 2.37.9000-13.fc39 will be installed
2023-06-18T19:30:28+0500 DEBUG ---> Package glibc-gconv-extra.i686 2.37.9000-13.fc39 will be installed
note, the recommends in gdb-pixbuf2-modules is also new, it was added in 2.42.10-5 on July 21st, basically in this same set of changes. May I ask you to reset your system into state before installation of `gdk-pixbuf2-modules`? Then we can investigate why the recommend wasn't pulled in. In case that you want to only resolve your temporal issue, the it is possible to use --setopt=exclude_from_weak_autodetect=false with command that install, reinstall, upgrade of `gdb-pixbuf2-modules`. ❯ dnf upgrade --refresh --disablerepo="rawhide" --setopt=allow_vendor_change=true --setopt=exclude_from_weak_autodetect=false Updating and loading repositories: local repo 100% | 0.0 B/s | 3.0 KiB | 00m00s Fedora rawhide openh264 (From Cisco) - 100% | 1.7 KiB/s | 989.0 B | 00m01s Fedora - Rawhide - Debug 100% | 10.7 KiB/s | 4.8 KiB | 00m00s RPM Fusion for Fedora Rawhide - Nonfre 100% | 13.2 KiB/s | 6.4 KiB | 00m00s google-chrome-unstable 100% | 10.4 KiB/s | 1.3 KiB | 00m00s RPM Fusion for Fedora Rawhide - Free 100% | 30.6 KiB/s | 6.9 KiB | 00m00s RPM Fusion for Fedora Rawhide - Free 100% | 207.2 KiB/s | 192.9 KiB | 00m01s Repositories loaded. Package Arch Version Repository Size Removing: kernel-core x86_64 6.5.0-0.rc2.17.fc39 <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.18.fc39 <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.20230719git <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.20230721git <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.20230721git <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc3.23.fc39 <unknown> 65.2 MiB kernel-debug-core x86_64 6.5.0-0.rc2.17.fc39 <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc2.18.fc39 <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc2.20230719git <unknown> 92.6 MiB kernel-debug-core x86_64 6.5.0-0.rc2.20230721git <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc2.20230721git <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc3.23.fc39 <unknown> 92.6 MiB Upgrading: librsvg2 x86_64 2.56.90-7.fc39 local-repo 4.6 MiB replacing librsvg2 x86_64 2.56.90-1.fc39 rawhide 4.4 MiB Installing: kernel x86_64 6.5.0-0.rc3.20230728git local-repo 0.0 B Installing weak dependencies: rsvg-pixbuf-loader x86_64 2.56.90-7.fc39 local-repo 15.3 KiB Transaction Summary: Installing: 2 packages Upgrading: 1 packages Replacing: 1 packages Removing: 12 packages Total size of inbound packages is 2 MiB. Need to download 2 MiB. After this operation 946 MiB will be freed (install 5 MiB, remove 951 MiB). Is this ok [y/N]: n Operation aborted by the user. ~ ❯ dnf upgrade --refresh --disablerepo="rawhide" --setopt=allow_vendor_change=true Updating and loading repositories: Fedora rawhide openh264 (From Cisco) - 100% | 1.8 KiB/s | 989.0 B | 00m01s Fedora - Rawhide - Debug 100% | 10.2 KiB/s | 4.8 KiB | 00m00s RPM Fusion for Fedora Rawhide - Free 100% | 13.9 KiB/s | 6.9 KiB | 00m00s google-chrome-unstable 100% | 8.7 KiB/s | 1.3 KiB | 00m00s RPM Fusion for Fedora Rawhide - Nonfre 100% | 30.0 KiB/s | 6.4 KiB | 00m00s local repo 100% | 0.0 B/s | 3.0 KiB | 00m00s RPM Fusion for Fedora Rawhide - Free 100% | 286.7 KiB/s | 204.7 KiB | 00m01s Repositories loaded. Package Arch Version Repository Size Removing: kernel-core x86_64 6.5.0-0.rc2.17.fc39 <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.18.fc39 <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.20230719gitccff6 <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.20230721gitf7e3a <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc2.20230721gitf7e3a <unknown> 65.2 MiB kernel-core x86_64 6.5.0-0.rc3.23.fc39 <unknown> 65.2 MiB kernel-debug-core x86_64 6.5.0-0.rc2.17.fc39 <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc2.18.fc39 <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc2.20230719gitccff6 <unknown> 92.6 MiB kernel-debug-core x86_64 6.5.0-0.rc2.20230721gitf7e3a <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc2.20230721gitf7e3a <unknown> 92.5 MiB kernel-debug-core x86_64 6.5.0-0.rc3.23.fc39 <unknown> 92.6 MiB Upgrading: librsvg2 x86_64 2.56.90-7.fc39 local-repo 4.6 MiB replacing librsvg2 x86_64 2.56.90-1.fc39 rawhide 4.4 MiB Installing: kernel x86_64 6.5.0-0.rc3.20230728git57012 local-repo 0.0 B Transaction Summary: Installing: 1 packages Upgrading: 1 packages Replacing: 1 packages Removing: 12 packages Total size of inbound packages is 2 MiB. Need to download 2 MiB. After this operation 946 MiB will be freed (install 5 MiB, remove 951 MiB). Is this ok [y/N]: n Operation aborted by the user. ~ So as I can see "--setopt=exclude_from_weak_autodetect=false" helps to see weak dependencies "rsvg-pixbuf-loader" I think that the issue was caused by presence of package that recommends `rsvg-pixbuf-loader`. Why the package wasn't installed is unclear. There is a workaround to get weak dependency on upgrade - "--setopt=exclude_from_weak_autodetect=false", therefore I am closing the issue as not a bug. |
Created attachment 1977145 [details] demonstration of disappeared icons Description of problem: all icons disappeared after update librsvg2 to version 2.56.90-7.fc39 last good librsvg2 version is librsvg2-2.56.90-1.fc39 For restore icons download previous version from koji and downgrade package. $ koji download-build librsvg2-2.56.90-1.fc39 --arch="i686" --arch="x86_64" --arch="noarch" --debuginfo # dnf downgrade librsvg2 --refresh