Bug 1734089

Summary: DNF removes wrong packages!
Product: [Fedora] Fedora Reporter: mohamedjss11
Component: dnfAssignee: Jaroslav Mracek <jmracek>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 30CC: bgoncalv, dmach, extras-orphan, igor.raits, jmracek, jrohel, mblaha, mgahagan, mhatina, mmathesi, packaging-team-maint, pkratoch, ppisar, psabata, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-05 11:51:06 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:

Description mohamedjss11 2019-07-29 15:07:08 UTC
# sudo dnf remove libimobiledevice libimobiledevice-utils
Dependencies resolved.
==========================================================================================
 Package                                   Arch   Version          Repository        Size
==========================================================================================
Removing:
 libimobiledevice                          x86_64 1.2.0-18.fc30    @anaconda        236 k
 libimobiledevice-utils                    x86_64 1.2.0-18.fc30    @fedora          530 k
Removing dependent packages:
 chrome-gnome-shell                        x86_64 10.1-4.fc30      @anaconda         61 k
 evince-nautilus                           x86_64 3.32.0-3.fc30    @updates          30 k
 gnome-classic-session                     noarch 3.32.1-1.fc30    @anaconda        199 k
 gnome-initial-setup                       x86_64 3.32.1-2.fc30    @anaconda        2.7 M
 gnome-photos                              x86_64 3.32.0-1.fc30    @anaconda        3.8 M
 gnome-shell-extension-background-logo     noarch 3.32.0-1.fc30    @anaconda         54 k
 gnome-tweaks                              noarch 3.32.0-2.fc30    @updates         1.4 M
 ifuse                                     x86_64 1.1.3-15.fc30    @fedora           61 k
 rhythmbox                                 x86_64 3.4.3-3.fc30     @anaconda         14 M
 tracker-miners                            x86_64 2.2.2-1.fc30     @updates         2.8 M
Removing unused dependencies:
 OpenEXR-libs                              x86_64 2.2.0-16.fc30    @anaconda        3.5 M
 accountsservice                           x86_64 0.6.54-5.fc30    @anaconda        362 k
 accountsservice-libs                      x86_64 0.6.54-5.fc30    @anaconda        331 k
 babl                                      x86_64 0.1.66-1.fc30    @updates         1.3 M
 bolt                                      x86_64 0.8-1.fc30       @updates         855 k
 brasero-libs                              x86_64 3.12.2-8.fc30    @anaconda        1.1 M
 color-filesystem                          noarch 1-22.fc30        @anaconda        151  
 colord                                    x86_64 1.4.4-1.fc30     @anaconda        2.3 M
 cups-pk-helper                            x86_64 0.2.6-7.fc30     @anaconda        383 k
 dleyna-renderer                           x86_64 0.6.0-4.fc30     @anaconda        176 k
 gdm                                       x86_64 1:3.32.0-3.fc30  @anaconda        2.4 M
 gegl04                                    x86_64 0.4.16-1.fc30    @updates         9.2 M
 gfbgraph                                  x86_64 0.2.3-9.fc30     @anaconda        111 k
 giflib                                    x86_64 5.1.9-1.fc30     @anaconda        112 k
 gnome-autoar                              x86_64 0.2.3-3.fc30     @anaconda        167 k
 gnome-control-center                      x86_64 3.32.2-1.fc30    @updates          22 M
 gnome-control-center-filesystem           noarch 3.32.2-1.fc30    @updates           0  
 gnome-icon-theme                          noarch 3.12.0-11.fc30   @anaconda        9.9 M
 gnome-keyring-pam                         x86_64 3.31.91-1.fc30   @anaconda         57 k
 gnome-menus                               x86_64 3.32.0-1.fc30    @anaconda        638 k
 gnome-online-miners                       x86_64 3.30.0-2.fc30    @anaconda        442 k
 gnome-session                             x86_64 3.32.0-1.fc30    @anaconda        1.5 M
 gnome-session-wayland-session             x86_64 3.32.0-1.fc30    @anaconda        7.4 k
 gnome-session-xsession                    x86_64 3.32.0-1.fc30    @anaconda         15 k
 gnome-settings-daemon                     x86_64 3.32.1-1.fc30    @updates         5.9 M
 gnome-shell                               x86_64 3.32.2-2.fc30    @updates         8.4 M
 gnome-shell-extension-apps-menu           noarch 3.32.1-1.fc30    @anaconda         26 k
 gnome-shell-extension-common              noarch 3.32.1-1.fc30    @anaconda        586 k
 gnome-shell-extension-launch-new-instance noarch 3.32.1-1.fc30    @anaconda        1.0 k
 gnome-shell-extension-places-menu         noarch 3.32.1-1.fc30    @anaconda         22 k
 gnome-shell-extension-user-theme          noarch 3.32.1-1.fc30    @fedora          2.5 k
 gnome-shell-extension-window-list         noarch 3.32.1-1.fc30    @anaconda         50 k
 gvfs-afc                                  x86_64 1.40.2-1.fc30    @updates         197 k
 iio-sensor-proxy                          x86_64 2.7-1.fc30       @updates         188 k
 ilmbase                                   x86_64 2.2.0-15.fc30    @anaconda        667 k
 libcue                                    x86_64 2.2.1-1.fc30     @anaconda         99 k
 libgfortran                               x86_64 9.1.1-1.fc30     @updates         2.6 M
 libgpod                                   x86_64 0.8.3-27.fc30    @anaconda        995 k
 libgrss                                   x86_64 0.7.0-8.fc30     @anaconda        217 k
 libgsf                                    x86_64 1.14.43-3.fc30   @anaconda        1.0 M
 libhandy                                  x86_64 0.0.9-1.fc30     @anaconda        263 k
 libiptcdata                               x86_64 1.0.5-1.fc30     @updates         186 k
 libosinfo                                 x86_64 1.4.0-4.fc30     @updates         991 k
 libplist                                  x86_64 2.0.0-12.fc30    @anaconda        234 k
 libquadmath                               x86_64 9.1.1-1.fc30     @updates         328 k
 libtomcrypt                               x86_64 1.18.2-3.fc30    @koji-override-0 1.6 M
 libusbmuxd                                x86_64 1.0.10-11.fc30   @anaconda         99 k
 libzapojit                                x86_64 0.0.3-15.fc30    @anaconda        135 k
 media-player-info                         noarch 23-4.fc30        @anaconda        181 k
 mutter                                    x86_64 3.32.2-3.fc30    @updates          15 M
 nautilus                                  x86_64 3.32.1-2.fc30    @updates          15 M
 openblas                                  x86_64 0.3.6-2.fc30     @updates          51 k
 openblas-serial                           x86_64 0.3.6-2.fc30     @updates          57 M
 osinfo-db                                 noarch 20190611-1.fc30  @updates         1.5 M
 osinfo-db-tools                           x86_64 1.4.0-2.fc30     @updates         261 k
 pulseaudio-libs-glib2                     x86_64 12.2-6.fc30      @updates          27 k
 python3-asn1crypto                        noarch 0.24.0-6.fc30    @anaconda        854 k
 python3-beaker                            noarch 1.10.0-3.fc30    @koji-override-0 392 k
 python3-cffi                              x86_64 1.11.5-7.fc30    @anaconda        990 k
 python3-crypto                            x86_64 2.6.1-25.fc30    @koji-override-0 2.1 M
 python3-cryptography                      x86_64 2.6.1-1.fc30     @anaconda        2.7 M
 python3-mako                              noarch 1.0.12-1.fc30    @updates         532 k
 python3-markupsafe                        x86_64 1.1.1-1.fc30     @anaconda         61 k
 python3-paste                             noarch 2.0.3-9.fc30     @koji-override-0 2.6 M
 python3-ply                               noarch 3.11-2.fc30      @anaconda        430 k
 python3-pyOpenSSL                         noarch 19.0.0-1.fc30    @anaconda        546 k
 python3-pycparser                         noarch 2.14-18.fc30     @anaconda        850 k
 python3-tempita                           noarch 0.5.1-20.fc29    @koji-override-0 112 k
 redhat-menus                              noarch 12.0.2-15.fc30   @anaconda        675 k
 sg3_utils-libs                            x86_64 1.42-7.fc30      @anaconda        217 k
 suitesparse                               x86_64 4.4.6-18.fc30    @anaconda        4.6 M
 switcheroo-control                        x86_64 1.1-7.fc30       @anaconda         62 k
 upower                                    x86_64 0.99.10-1.fc30   @anaconda        627 k
 usbmuxd                                   x86_64 1.1.0-15.fc30    @anaconda        153 k
 vino                                      x86_64 3.22.0-15.fc30   @koji-override-0 2.1 M
 xorg-x11-server-Xwayland                  x86_64 1.20.5-4.fc30    @updates         3.0 M


WHY "Removing unused dependencies:" removes packages like nautilus ?

Comment 1 Petr Pisar 2019-07-29 15:25:58 UTC
What's your dnf version you use? Does "dnf autoremove" also want to uninstall them? I guess the offended packages were not explicitly marked as wanted by the user and thus DNF thinks that nobody needs them and offer a cleanup. This is probably bug in the installed (anaconda).

Comment 2 Petr Pisar 2019-07-29 15:30:32 UTC
If you want some of them to remain on the system, you can mark them so (e.g. "dnf mark install nautilus"). DNF should not try to clean them up since then.

Comment 3 Jaroslav Mracek 2019-07-29 15:46:36 UTC
I believe that this is not bug. You tried to remove libimobiledevice that is required by evince-nautilus. Evince-nautilus requires nautilus. I suggest that evince-nautilus was installed as a part of group.

There is no way how to remove libimobiledevice and keep evince-nautilus.
To keep nautilus on your system, just run "dnf mark install nautilus" and nautilus will be not a dependency but use installed package.

Comment 4 mohamedjss11 2019-07-29 17:42:23 UTC
(In reply to Jaroslav Mracek from comment #3)
> I believe that this is not bug. You tried to remove libimobiledevice that is
> required by evince-nautilus. Evince-nautilus requires nautilus. I suggest
> that evince-nautilus was installed as a part of group.
> 
> There is no way how to remove libimobiledevice and keep evince-nautilus.
> To keep nautilus on your system, just run "dnf mark install nautilus" and
> nautilus will be not a dependency but use installed package.

after rebooting my fedora 30 i found that command removes gnome desktop completely!
I reinstalled gnome desktop via "Gnome Desktop Environment" group.

Comment 5 mohamedjss11 2019-07-29 17:43:54 UTC
(In reply to Petr Pisar from comment #1)
> What's your dnf version you use? Does "dnf autoremove" also want to
> uninstall them? I guess the offended packages were not explicitly marked as
> wanted by the user and thus DNF thinks that nobody needs them and offer a
> cleanup. This is probably bug in the installed (anaconda).

No "dnf autoremove" don't show these packages listed in "dnf remove libimobiledevice libimobiledevice-utils"

Comment 6 Petr Pisar 2019-07-30 05:51:28 UTC
(In reply to mohamedjss11 from comment #5)
> (In reply to Petr Pisar from comment #1)
> > What's your dnf version you use? Does "dnf autoremove" also want to
> > uninstall them? I guess the offended packages were not explicitly marked as
> > wanted by the user and thus DNF thinks that nobody needs them and offer a
> > cleanup. This is probably bug in the installed (anaconda).
> 
> No "dnf autoremove" don't show these packages listed in "dnf remove
> libimobiledevice libimobiledevice-utils"

That's because:

> You tried to remove libimobiledevice that is required by evince-nautilus. Evince-nautilus requires nautilus.

Comment 7 Daniel Mach 2019-08-05 11:51:06 UTC
Jaroslav and Petr are right.
The behavior you described in comment#0 is expected.
There's nothing we can fix in DNF.

When you install RPMs, they are marked as user-installed.
All their dependencies are marked as dependencies and are candidates for auto-removal.

In your case, nautilus and other packages were installed as dependencies and can be auto-removed.
If you remove a package that requires nautilus, DNF detect that nothing else needs it and removes it as unused dependency.