Description of problem: I installed some -devel packages to debug a FTBFS problem that someone on fedora-devel.o asked for help with. After I finished looking at the problem I erased the -devel packages again, which also erased an unrelated package, mesa-dri-drivers, and without that I couldn't start X on my next reboot. This meant a simple pair of install/erase commands, with no --force or --best, left my system unusable. Version-Release number of selected component (if applicable): dnf-1.1.8-1.fc23.noarch mesa-dri-drivers-11.1.0-2.20151218.fc23.i686 mesa-dri-drivers-11.1.0-2.20151218.fc23.x86_64 How reproducible: Always Steps to Reproduce: 1. dnf install audacious-devel 2. dnf erase audacious-devel 3. reboot to broken system Actual results: The install command installs 14 new packages. The erase commands erases 15 packages, adding mesa-dri-drivers to the list. Apr 14 16:03:34 INFO Installed: glib2-devel-2.46.2-1.fc23.x86_64 Apr 14 16:03:35 INFO Installed: atk-devel-2.18.0-1.fc23.x86_64 Apr 14 16:03:35 INFO Installed: gdk-pixbuf2-devel-2.32.3-1.fc23.x86_64 Apr 14 16:03:36 INFO Installed: graphite2-devel-1.3.6-1.fc23.x86_64 Apr 14 16:03:36 INFO Installed: harfbuzz-devel-1.0.6-1.fc23.x86_64 Apr 14 16:03:36 INFO Installed: pixman-devel-0.34.0-1.fc23.x86_64 Apr 14 16:03:37 INFO Installed: mesa-libEGL-devel-11.1.0-2.20151218.fc23.x86_64 Apr 14 16:03:37 INFO Installed: cairo-devel-1.14.2-2.fc23.x86_64 Apr 14 16:03:38 INFO Installed: pango-devel-1.38.1-1.fc23.x86_64 Apr 14 16:03:38 INFO Installed: libXcomposite-devel-0.4.4-7.fc23.x86_64 Apr 14 16:03:40 INFO Installed: gtk2-devel-2.24.30-1.fc23.x86_64 Apr 14 16:03:41 INFO Installed: libguess-1.2-2.fc23.x86_64 Apr 14 16:03:41 INFO Installed: audacious-libs-3.6.2-3.fc23.x86_64 Apr 14 16:03:42 INFO Installed: audacious-devel-3.6.2-3.fc23.x86_64 Apr 14 16:22:23 INFO Erased: audacious-devel-3.6.2-3.fc23.x86_64 Apr 14 16:22:23 INFO Erased: gtk2-devel-2.24.30-1.fc23.x86_64 Apr 14 16:22:24 INFO Erased: pango-devel-1.38.1-1.fc23.x86_64 Apr 14 16:22:24 INFO Erased: cairo-devel-1.14.2-2.fc23.x86_64 Apr 14 16:22:24 INFO Erased: atk-devel-2.18.0-1.fc23.x86_64 Apr 14 16:22:25 INFO Erased: harfbuzz-devel-1.0.6-1.fc23.x86_64 Apr 14 16:22:25 INFO Erased: gdk-pixbuf2-devel-2.32.3-1.fc23.x86_64 Apr 14 16:22:26 INFO Erased: audacious-libs-3.6.2-3.fc23.x86_64 Apr 14 16:22:27 INFO Erased: graphite2-devel-1.3.6-1.fc23.x86_64 Apr 14 16:22:27 INFO Erased: mesa-libEGL-devel-11.1.0-2.20151218.fc23.x86_64 Apr 14 16:22:28 INFO Erased: pixman-devel-0.34.0-1.fc23.x86_64 Apr 14 16:22:28 INFO Erased: libXcomposite-devel-0.4.4-7.fc23.x86_64 Apr 14 16:22:28 INFO Erased: libguess-1.2-2.fc23.x86_64 Apr 14 16:22:29 INFO Erased: glib2-devel-2.46.2-1.fc23.x86_64 Apr 14 16:22:29 INFO Erased: mesa-dri-drivers-11.1.0-2.20151218.fc23.x86_64 Expected results: If mesa-dri-drivers is needed (which it appears to be, because my system was broken without it!) then it should not be removed by some unrelated package install/erase commands. Additional info:
Created attachment 1147609 [details] Output of sudo dnf erase audacious-devel --debugsolver
Created attachment 1147611 [details] /var/log/dnf.log See events: Apr 14 16:03:03 DDEBUG Command: dnf install audacious-devel and: Apr 14 16:22:14 DDEBUG Command: dnf erase audacious-devel
Created attachment 1147612 [details] /var/log/dnf.rpm.log See events at Apr 14 16:03:34 and Apr 14 16:22:23
# rpm -q --whatrequires mesa-dri-drivers tigervnc-server-minimal-1.6.0-1.fc23.x86_64 # rpm -q --whatrequires mesa-dri-drivers.x86_64 no package requires mesa-dri-drivers.x86_64 # rpm -q --whatrequires mesa-dri-drivers.i686 no package requires mesa-dri-drivers.i686 That dependency in tigervnc-server-minimal seems broken, it should require the x86_64 package, no?
Created attachment 1147614 [details] dnf history userinstalled
(In reply to Jonathan Wakely from comment #4) > That dependency in tigervnc-server-minimal seems broken, it should require > the x86_64 package, no? The problem does seem related to this, and to having both the i686 and x86_64 versions of mesa-dri-drivers installed. The 32-bit mesa drivers were installed as a dependency of steam.i686 (from rpmfusion), but that meant that the 'mesa-dri-drivers' capability was being provided by two packages, and so the x86_64 package appeared to be redundant. In fact it's not redundant, it's needed by tigervnc-server-minimal which is needed by anaconda-gui, which is needed by anaconda (and is presumably what prevented me starting X? That seems odd though). If I 'dnf erase steam' then it also removes the mesa-dri-drivers.i686 package that was installed as a dependency, and then after that if I do 'dnf -y install audacious-devel && dnf -y erase audacious-devel' then it doesn't remove mesa-dri-drivers.x86_64 However, after reinstalling steam (and so the mesa-dri-drivers.i686 dependency) I can't reproduce the problem now. Installing and erasing audacious-devel no longer removes the mesa-dri-drivers.x86_64 package.
(In reply to Jonathan Wakely from comment #6) > However, after reinstalling steam (and so the mesa-dri-drivers.i686 > dependency) I can't reproduce the problem now. Installing and erasing > audacious-devel no longer removes the mesa-dri-drivers.x86_64 package. Ignore that, if I 'dnf mark remove mesa-dri-drivers' then I can reproduce the problem again.
I can reproduce the problem reliably with the following (note only audacious-libs is needed, not audacious-devel): dnf -y install mesa-dri-drivers.i686 dnf -y install audacious-libs dnf -y erase audacious-libs This simulates my original setup, where the 32-bit package was required explicitly (by steam.i686) but the 64-bit package was only needed in order to provide the mesa-dri-drivers capability, which was also provided by the 32-bit package. When removing audacious-libs the mesa-dri-drivers.x86_64 package is judged to be redundant because of the userinstalled i686 package, and so is removed.
Hi, have you used packagekit for package upgrades?
Yes, sometimes, but that shouldn't matter, should it? Bug 1259865 is about packages *installed* from PK, not updated. Neither DNF nor PK should mark upgraded packages with 'mark install'. That flag should be set on the initial install of the package, to say if it was userinstalled or a dependency, it should not get changed by later updates to existing packages.
The problem seems simple: mesa-dri-drivers.x86_64 is apparently necessary for plymouth to show the login screen on x86_64, but nothing prevents mes-dri-drivers.x86_64 being removed if the 32-bit package is present. That seems like a packaging bug to me: something should explicitly require mesa-dri-drivers.x86_64 so that DNF doesn't autoremove it.
@Jonathan, I am pretty sure I've had major system components like selinux-policy-targeted being marked for autoremove because they were upgraded by PK.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
*** This bug has been marked as a duplicate of bug 1259865 ***