Bug 1654129 - Unable to remove or rollback Environment Groups
Summary: Unable to remove or rollback Environment Groups
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf
Version: 29
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Daniel Mach
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1657123
TreeView+ depends on / blocked
 
Reported: 2018-11-28 06:05 UTC by cowile
Modified: 2019-11-27 23:08 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-27 23:08:06 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description cowile 2018-11-28 06:05:53 UTC
Description of problem: Environment groups can't be removed from system cleanly and completely


Version-Release number of selected component (if applicable):
4.0.4
  Installed: dnf-0:4.0.4-2.fc29.noarch at Mon 26 Nov 2018 09:22:00 AM GMT
  Built    : Fedora Project at Wed 07 Nov 2018 03:49:48 PM GMT

  Installed: rpm-0:4.14.2.1-2.fc29.x86_64 at Sat 10 Nov 2018 05:20:32 AM GMT
  Built    : Fedora Project at Mon 29 Oct 2018 01:10:13 PM GMT


How reproducible: Install and attempt to remove an environment group such as "Xfce Desktop"


Steps to Reproduce:
1. dnf group install "Xfce Desktop"
2. dnf group remove "Xfce Desktop"
3. dnf history rollback $PREVIOUS_ID

Actual results:

Step 2 fails with output:

Error: 
 Problem: The operation would result in removing the following protected packages: dnf

Step 3 fails with output:

Rollback to transaction 33, from Tue 27 Nov 2018 11:43:15 PM CST
  Undoing the following transactions: 34
    Install NetworkManager-fortisslvpn-1.2.8-3.fc29.x86_64                @fedora
    Install NetworkManager-fortisslvpn-gnome-1.2.8-3.fc29.x86_64          @fedora
    Install NetworkManager-iodine-1.2.0-7.fc29.x86_64                     @fedora
    Install NetworkManager-iodine-gnome-1.2.0-7.fc29.x86_64               @fedora
    Install NetworkManager-l2tp-1.2.10-3.fc29.x86_64                      @fedora
    Install NetworkManager-l2tp-gnome-1.2.10-3.fc29.x86_64                @fedora
    Install NetworkManager-libreswan-1.2.10-1.fc29.x86_64                 @updates
    Install NetworkManager-libreswan-gnome-1.2.10-1.fc29.x86_64           @updates
    Install NetworkManager-sstp-1:1.2.6-2.fc29.x86_64                     @fedora
    Install NetworkManager-sstp-gnome-1:1.2.6-2.fc29.x86_64               @fedora
    Install NetworkManager-strongswan-1.4.4-1.fc29.x86_64                 @fedora
    Install NetworkManager-strongswan-gnome-1.4.4-1.fc29.x86_64           @fedora
    Install Thunar-1.8.2-1.fc29.x86_64                                    @updates
    Install @admin-tools                                                  
    Install albatross-gtk2-theme-1.7.4-5.fc29.noarch                      @fedora
    Install albatross-gtk3-theme-1.7.4-5.fc29.noarch                      @fedora
    Install albatross-xfwm4-theme-1.7.4-5.fc29.noarch                     @fedora
    Install arc-theme-20170302-10.fc29.noarch                             @fedora
    Install @base-x                                                       
    Install blueberry-1.2.3-1.fc29.noarch                                 @fedora
    Install bluebird-gtk2-theme-1.2-8.fc29.noarch                         @fedora
    Install bluebird-gtk3-theme-1.2-8.fc29.noarch                         @fedora
    Install bluebird-xfwm4-theme-1.2-8.fc29.noarch                        @fedora
    Install bluez-tools-0.2.0-0.8.git20170912.7cb788c.fc29.x86_64         @fedora
    Install @core                                                         
    Install desktop-backgrounds-compat-29.0.0-1.fc29.noarch               @fedora
    Install @dial-up                                                      
    Install dnfdaemon-0.3.19-4.fc29.noarch                                @fedora
    Install dnfdaemon-selinux-0.3.19-4.fc29.noarch                        @fedora
    Install dnfdragora-1.0.1-13.git20180108.b0e8a66.fc29.noarch           @fedora
    Install dnfdragora-updater-1.0.1-13.git20180108.b0e8a66.fc29.noarch   @fedora
    Install exo-0.12.2-20.fc29.x86_64                                     @fedora
    Install fedora-icon-theme-1.0.0-24.fc29.noarch                        @fedora
    Install firewall-config-0.6.3-1.fc29.noarch                           @updates
    Install @fonts                                                        
    Install garcon-0.6.1-21.fc29.x86_64                                   @fedora
    Install gdk-pixbuf2-xlib-2.38.0-4.fc29.x86_64                         @fedora
    Install gnome-themes-2.32.0-18.fc29.noarch                            @fedora
    Install gpm-libs-1.20.7-16.fc29.x86_64                                @fedora
    Install greybird-gtk2-theme-3.22.8-2.fc29.noarch                      @fedora
    Install greybird-gtk3-theme-3.22.8-2.fc29.noarch                      @fedora
    Install greybird-xfce4-notifyd-theme-3.22.8-2.fc29.noarch             @fedora
    Install greybird-xfwm4-theme-3.22.8-2.fc29.noarch                     @fedora
    Install gtk-murrine-engine-0.98.2-15.fc29.x86_64                      @fedora
    Install gtk-unico-engine-1.0.3-0.12.20140109bzr152.fc29.x86_64        @fedora
    Install gtk-xfce-engine-3.2.0-8.fc29.x86_64                           @fedora
    Install gtk2-engines-2.20.2-17.fc29.x86_64                            @fedora
    Install @guest-desktop-agents                                         
    Install @hardware-support                                             
    Install imsettings-xfce-1.7.3-6.fc29.x86_64                           @updates
    Install initial-setup-0.3.62-2.fc29.x86_64                            @updates
    Install initial-setup-gui-0.3.62-2.fc29.x86_64                        @updates
    Install @input-methods                                                
    Install iodine-client-0.7.0-11.fc29.x86_64                            @fedora
    Install ldns-1.7.0-21.fc29.x86_64                                     @fedora
    Install libXpresent-1.0.0-8.fc29.x86_64                               @fedora
    Install libreswan-3.27-1.fc29.x86_64                                  @updates
    Install libyui-3.3.3-4.fc29.x86_64                                    @fedora
    Install libyui-gtk-2.44.9-11.fc29.x86_64                              @fedora
    Install libyui-mga-1.0.8-0.15.gita6a160e.20160313.fc29.x86_64         @fedora
    Install libyui-mga-gtk-1.0.2-0.16.git22f2cf6.20131215.fc29.x86_64     @fedora
    Install libyui-mga-ncurses-1.0.2-0.16.git026f2e6.20131215.fc29.x86_64 @fedora
    Install libyui-mga-qt-1.0.3-0.16.gitb508e88.20140119.fc29.x86_64      @fedora
    Install libyui-ncurses-2.48.3-5.fc29.x86_64                           @fedora
    Install libyui-qt-2.47.1-13.fc29.x86_64                               @fedora
    Install lightdm-1.28.0-2.fc29.x86_64                                  @fedora
    Install lightdm-gobject-1.28.0-2.fc29.x86_64                          @fedora
    Install lightdm-gtk-2.0.5-2.fc29.x86_64                               @fedora
    Install @multimedia                                                   
    Install network-manager-applet-1.8.18-2.fc29.x86_64                   @fedora
    Install @networkmanager-submodules                                    
    Install nodoka-filesystem-0.3.90-16.fc29.noarch                       @fedora
    Install nss-tools-3.39.0-2.fc29.x86_64                                @fedora
    Install openfortivpn-1.6.0-3.fc29.x86_64                              @fedora
    Install openssh-askpass-7.9p1-2.fc29.x86_64                           @updates
    Install pavucontrol-3.0-13.fc29.x86_64                                @fedora
    Install @printing                                                     
    Install python2-setproctitle-1.1.10-9.fc29.x86_64                     @fedora
    Install python3-dnfdaemon-0.3.19-4.fc29.noarch                        @fedora
    Install python3-pystray-0.14.3-6.fc29.noarch                          @fedora
    Install python3-pyyaml-4.2-0.1.b4.fc29.x86_64                         @fedora
    Install python3-sh-1.12.14-6.fc29.noarch                              @fedora
    Install python3-xlib-0.23-3.fc29.noarch                               @fedora
    Install python3-yui-1.1.2-12.fc29.x86_64                              @fedora
    Install sstp-client-1.0.11-11.fc29.x86_64                             @fedora
    Install @standard                                                     
    Install strongswan-5.7.1-1.fc29.x86_64                                @updates
    Install strongswan-charon-nm-5.7.1-1.fc29.x86_64                      @updates
    Install thunar-archive-plugin-0.4.0-20.fc29.x86_64                    @fedora
    Install thunar-media-tags-plugin-0.3.0-20.fc29.x86_64                 @fedora
    Install thunar-volman-0.9.0-20.fc29.x86_64                            @fedora
    Install tumbler-0.2.3-1.fc29.x86_64                                   @fedora
    Install vim-common-2:8.1.527-1.fc29.x86_64                            @updates
    Install vim-enhanced-2:8.1.527-1.fc29.x86_64                          @updates
    Install vim-filesystem-2:8.1.527-1.fc29.noarch                        @updates
    Install wmctrl-1.07-25.fc29.x86_64                                    @fedora
    Install @xfce-desktop                                                 
    Install @xfce-desktop-environment                                     
    Install xfce4-about-4.13.4-20.fc29.x86_64                             @fedora
    Install xfce4-appfinder-4.13.1-1.fc29.x86_64                          @fedora
    Install xfce4-datetime-plugin-0.7.0-20.fc29.x86_64                    @fedora
    Install xfce4-notifyd-0.4.2-20.fc29.x86_64                            @fedora
    Install xfce4-panel-4.13.3-20.fc29.x86_64                             @fedora
    Install xfce4-places-plugin-1.7.0-20.fc29.x86_64                      @fedora
    Install xfce4-power-manager-1.6.1-20.fc29.x86_64                      @fedora
    Install xfce4-pulseaudio-plugin-0.4.1-21.fc29.x86_64                  @fedora
    Install xfce4-screenshooter-1.9.3-20.fc29.x86_64                      @fedora
    Install xfce4-screenshooter-plugin-1.9.3-20.fc29.x86_64               @fedora
    Install xfce4-session-4.13.1-20.fc29.x86_64                           @fedora
    Install xfce4-session-engines-4.13.1-20.fc29.x86_64                   @fedora
    Install xfce4-settings-4.13.5-1.fc29.x86_64                           @updates
    Install xfce4-taskmanager-1.2.1-20.fc29.x86_64                        @fedora
    Install xfce4-terminal-0.8.7.4-20.fc29.x86_64                         @fedora
    Install xfdesktop-4.13.2-20.fc29.x86_64                               @fedora
    Install xfwm4-4.13.1-3.fc29.x86_64                                    @fedora
    Install xfwm4-theme-nodoka-0.2-13.fc29.noarch                         @fedora
    Install xfwm4-themes-4.10.0-11.fc29.noarch                            @fedora
    Install xl2tpd-1.3.8-8.fc29.x86_64                                    @fedora
    Install xorg-x11-fonts-ISO8859-1-100dpi-7.5-20.fc29.noarch            @fedora
    Install xscreensaver-base-1:5.40-1.fc29.x86_64                        @fedora
No package @admin-tools installed.
No package @base-x installed.
No package @core installed.
No package @dial-up installed.
No package @fonts installed.
No package @guest-desktop-agents installed.
No package @hardware-support installed.
No package @input-methods installed.
No package @multimedia installed.
No package @networkmanager-submodules installed.
No package @printing installed.
No package @standard installed.
No package @xfce-desktop installed.
No package @xfce-desktop-environment installed.
Error: no package matched

Expected results:

Both step 2 and step 3 should have succeeded in removing all packages installed by group Xfce Desktop.

Additional info:

Step 2 seems to fail because Environment groups list "Core" as a required package group, so I presume attempting to remove those groups also attempts to remove group Core. This is silly. The package manager should recognize groups installed manually and exclude them from removal as dependencies.

Step 3 seems to fail because group names are not recognized in rollbacks, which points to a more general problem.

This issue can be worked around by collecting a bunch of package names, but doing so defeats the usefulness of groups.

Comment 1 Vladislav Solovei 2019-01-09 10:53:49 UTC
Same problem.
Trying to undo a transaction with "groupinstall Cinnamon Desktop", getting the same error:

No package @base-x installed.
No package @cinnamon-desktop installed.
No package @cinnamon-desktop-environment installed.
No package @core installed.
No package @dial-up installed.
No package @fonts installed.
No package @guest-desktop-agents installed.
No package @hardware-support installed.
No package @input-methods installed.
No package @multimedia installed.
No package @networkmanager-submodules installed.
No package @printing installed.
No package @standard installed.
Error: no package matched

Comment 2 Phil Wiggum 2019-06-18 16:09:49 UTC
Similar problem

issued: 'dnf history undo 42'

$dnf history

45  update
44  history undo 42
43  update
42  install wine

44 history undo 42 did only remove about 30% of wine!!
43 did not touch any wine stuff.
In 45 some rpm's for wine get updated, should not be present if it was correct.

Comment 3 Daniel Mach 2019-07-29 15:38:13 UTC
Initial work is done in PR: https://github.com/rpm-software-management/dnf/pull/1445
It works only for undo and it will most likely require changes in other history sub-commands.

Comment 4 Ben Cotton 2019-10-31 19:00:22 UTC
This message is a reminder that Fedora 29 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '29'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 29 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 5 Ben Cotton 2019-11-27 23:08:06 UTC
Fedora 29 changed to end-of-life (EOL) status on 2019-11-26. Fedora 29 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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