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 1327556 - dnf removed mesa-dri-drivers leaving my system without X or graphical login
Summary: dnf removed mesa-dri-drivers leaving my system without X or graphical login
Keywords:
Status: CLOSED DUPLICATE of bug 1259865
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 23
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: rpm-software-management
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-15 11:36 UTC by Jonathan Wakely
Modified: 2016-07-21 14:12 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-21 14:12:04 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Output of sudo dnf erase audacious-devel --debugsolver (2.49 MB, application/octet-stream)
2016-04-15 11:38 UTC, Jonathan Wakely
no flags Details
/var/log/dnf.log (667.91 KB, text/plain)
2016-04-15 11:45 UTC, Jonathan Wakely
no flags Details
/var/log/dnf.rpm.log (31.37 KB, text/plain)
2016-04-15 11:46 UTC, Jonathan Wakely
no flags Details
dnf history userinstalled (1.26 KB, text/plain)
2016-04-15 11:50 UTC, Jonathan Wakely
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1259865 0 unspecified CLOSED call `dnf mark install <pkgs...>`on packages installed from PK 2022-05-16 11:32:56 UTC

Internal Links: 1259865

Description Jonathan Wakely 2016-04-15 11:36:52 UTC
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:

Comment 1 Jonathan Wakely 2016-04-15 11:38:36 UTC
Created attachment 1147609 [details]
Output of sudo dnf erase  audacious-devel --debugsolver

Comment 2 Jonathan Wakely 2016-04-15 11:45:57 UTC
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

Comment 3 Jonathan Wakely 2016-04-15 11:46:36 UTC
Created attachment 1147612 [details]
/var/log/dnf.rpm.log

See events at Apr 14 16:03:34 and Apr 14 16:22:23

Comment 4 Jonathan Wakely 2016-04-15 11:48:54 UTC
# 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?

Comment 5 Jonathan Wakely 2016-04-15 11:50:36 UTC
Created attachment 1147614 [details]
dnf history userinstalled

Comment 6 Jonathan Wakely 2016-04-15 12:17:01 UTC
(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.

Comment 7 Jonathan Wakely 2016-04-15 12:19:12 UTC
(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.

Comment 8 Jonathan Wakely 2016-04-15 13:17:44 UTC
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.

Comment 9 Honza Silhan 2016-04-18 11:50:56 UTC
Hi, have you used packagekit for package upgrades?

Comment 10 Jonathan Wakely 2016-04-18 12:12:38 UTC
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.

Comment 11 Jonathan Wakely 2016-04-18 12:14:55 UTC
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.

Comment 12 Benjamin Xiao 2016-04-19 05:41:03 UTC
@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.

Comment 13 Fedora Admin XMLRPC Client 2016-07-08 09:34:28 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 14 Igor Gnatenko 2016-07-21 14:12:04 UTC

*** This bug has been marked as a duplicate of bug 1259865 ***


Note You need to log in before you can comment on or make changes to this bug.