Bug 1049025

Summary: Incorrect dependency check on removal
Product: [Fedora] Fedora Reporter: Rui Miguel Seabra <rms>
Component: dnfAssignee: Ales Kozumplik <akozumpl>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: akozumpl, jzeleny, pnemade, rholy, rms
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnf-0.4.12-1.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-23 11:12:09 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:
Attachments:
Description Flags
Result of sudo dnf --debugsolver remove gnash-plugin
none
excerpt of dnf.log by the time I did the actions on January 7th none

Description Rui Miguel Seabra 2014-01-06 19:51:15 UTC
Description of problem:

dnf tries to remove other packages than those solicited

I install gnash-plugin:

[rms@roque ~]$ sudo dnf install gnash-plugin
[sudo] password for rms: 
RPM Fusion for Fedora 20 - Free - Updates       192 kB/s |  72 kB     00:00    
RPM Fusion for Fedora 20 - Nonfree - Updates     99 kB/s |  13 kB     00:00    
determining the fastest mirror (1 hosts).. done.
Fedora 20 - x86_64 - Updates                    2.4 MB/s |  11 MB     00:04    
Resolving dependencies
--> Starting dependency resolution
---> Package gnash-plugin.x86_64 1:0.8.10-11.fc20 will be installed
---> Package gnash.x86_64 1:0.8.10-11.fc20 will be installed
---> Package agg.x86_64 2.5-19.fc20 will be installed
---> Package gtkglext-libs.x86_64 1.2.0-21.fc20 will be installed
---> Package pangox-compat.x86_64 0.0.2-3.fc20 will be installed
---> Package boost-iostreams.x86_64 1.54.0-9.fc20 will be installed
---> Package boost-program-options.x86_64 1.54.0-9.fc20 will be installed
---> Package boost-serialization.x86_64 1.54.0-9.fc20 will be installed
--> Finished dependency resolution
Dependencies resolved.

================================================================================
 Package                   Arch       Version                 Repository   Size
================================================================================
Installing:
 gnash-plugin              x86_64     1:0.8.10-11.fc20        fedora      124 k
 gnash                     x86_64     1:0.8.10-11.fc20        fedora      2.4 M
 agg                       x86_64     2.5-19.fc20             fedora      145 k
 gtkglext-libs             x86_64     1.2.0-21.fc20           fedora      111 k
 pangox-compat             x86_64     0.0.2-3.fc20            fedora       56 k
 boost-iostreams           x86_64     1.54.0-9.fc20           updates      58 k
 boost-program-options     x86_64     1.54.0-9.fc20           updates     147 k
 boost-serialization       x86_64     1.54.0-9.fc20           updates     158 k

Transaction Summary
================================================================================
Install  8 Packages

Total download size: 3.2 M
Installed size: 3.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/8): agg-2.5-19.fc20.x86_64.rpm                56 kB/s | 145 kB     00:02    
(2/8): gnash-plugin-0.8.10-11.fc20.x86_64.rpm    47 kB/s | 124 kB     00:02    
(3/8): gnash-0.8.10-11.fc20.x86_64.rpm          550 kB/s | 2.4 MB     00:04    
(4/8): pangox-compat-0.0.2-3.fc20.x86_64.rpm     29 kB/s |  56 kB     00:01    
(5/8): boost-iostreams-1.54.0-9.fc20.x86_64.rpm 276 kB/s |  58 kB     00:00    
(6/8): gtkglext-libs-1.2.0-21.fc20.x86_64.rpm    51 kB/s | 111 kB     00:02    
(7/8): boost-program-options-1.54.0-9.fc20.x86_ 606 kB/s | 147 kB     00:00    
(8/8): boost-serialization-1.54.0-9.fc20.x86_64 793 kB/s | 158 kB     00:00    
--------------------------------------------------------------------------------
Total                                           460 kB/s | 3.2 MB     00:07     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : boost-iostreams-1.54.0-9.fc20.x86_64                        1/8 
  Installing  : boost-serialization-1.54.0-9.fc20.x86_64                    2/8 
  Installing  : boost-program-options-1.54.0-9.fc20.x86_64                  3/8 
  Installing  : pangox-compat-0.0.2-3.fc20.x86_64                           4/8 
  Installing  : gtkglext-libs-1.2.0-21.fc20.x86_64                          5/8 
  Installing  : agg-2.5-19.fc20.x86_64                                      6/8 
  Installing  : gnash-1:0.8.10-11.fc20.x86_64                               7/8 
  Installing  : gnash-plugin-1:0.8.10-11.fc20.x86_64                        8/8 
  Verifying   : gnash-plugin-1:0.8.10-11.fc20.x86_64                        1/8 
  Verifying   : gnash-1:0.8.10-11.fc20.x86_64                               2/8 
  Verifying   : agg-2.5-19.fc20.x86_64                                      3/8 
  Verifying   : gtkglext-libs-1.2.0-21.fc20.x86_64                          4/8 
  Verifying   : pangox-compat-0.0.2-3.fc20.x86_64                           5/8 
  Verifying   : boost-iostreams-1.54.0-9.fc20.x86_64                        6/8 
  Verifying   : boost-program-options-1.54.0-9.fc20.x86_64                  7/8 
  Verifying   : boost-serialization-1.54.0-9.fc20.x86_64                    8/8 

Installed:
  gnash-plugin.x86_64 1:0.8.10-11.fc20                                          
  gnash.x86_64 1:0.8.10-11.fc20                                                 
  agg.x86_64 2.5-19.fc20                                                        
  gtkglext-libs.x86_64 1.2.0-21.fc20                                            
  pangox-compat.x86_64 0.0.2-3.fc20                                             
  boost-iostreams.x86_64 1.54.0-9.fc20                                          
  boost-program-options.x86_64 1.54.0-9.fc20                                    
  boost-serialization.x86_64 1.54.0-9.fc20                                      

Complete!


Then I tried to uninstall gnash-plugin by listing all that was installed:

[rms@roque ~]$ sudo dnf remove  gnash-plugin.x86_64 gnash.x86_64 agg.x86_64 gtkglext-libs.x86_64 pangox-compat.x86_64 boost-iostreams.x86_64 boost-program-options.x86_64 boost-serialization.x86_64
Resolving dependencies
--> Starting dependency resolution
--> Finding unneeded leftover dependencies
---> Package agg.x86_64 2.5-19.fc20 will be erased
---> Package boost-iostreams.x86_64 1.54.0-9.fc20 will be erased
---> Package boost-program-options.x86_64 1.54.0-9.fc20 will be erased
---> Package boost-serialization.x86_64 1.54.0-9.fc20 will be erased
---> Package fedora-bookmarks.noarch 15-4.fc20 will be erased
---> Package firefox.x86_64 26.0-3.fc20 will be erased
---> Package gnash.x86_64 1:0.8.10-11.fc20 will be erased
---> Package gnash-plugin.x86_64 1:0.8.10-11.fc20 will be erased
---> Package gtkglext-libs.x86_64 1.2.0-21.fc20 will be erased
---> Package pangox-compat.x86_64 0.0.2-3.fc20 will be erased
---> Package xulrunner.x86_64 26.0-2.fc20 will be erased
--> Finished dependency resolution
Dependencies resolved.

================================================================================
 Package                   Arch       Version                 Repository   Size
================================================================================
Removing:
 agg                       x86_64     2.5-19.fc20             @System     410 k
 boost-iostreams           x86_64     1.54.0-9.fc20           @System     105 k
 boost-program-options     x86_64     1.54.0-9.fc20           @System     451 k
 boost-serialization       x86_64     1.54.0-9.fc20           @System     743 k
 fedora-bookmarks          noarch     15-4.fc20               @System     3.8 k
 firefox                   x86_64     26.0-3.fc20             @System      33 M
 gnash                     x86_64     1:0.8.10-11.fc20        @System      10 M
 gnash-plugin              x86_64     1:0.8.10-11.fc20        @System     326 k
 gtkglext-libs             x86_64     1.2.0-21.fc20           @System     510 k
 pangox-compat             x86_64     0.0.2-3.fc20            @System     167 k
 xulrunner                 x86_64     26.0-2.fc20             @System      57 M


WTF? Firefox? :)

Let's see what yum thiks of this:


[rms@roque ~]$ sudo yum remove  gnash-plugin.x86_64 gnash.x86_64 agg.x86_64 gtkglext-libs.x86_64 pangox-compat.x86_64 boost-iostreams.x86_64 boost-program-options.x86_64 boost-serialization.x86_64
Loaded plugins: langpacks, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package agg.x86_64 0:2.5-19.fc20 will be erased
---> Package boost-iostreams.x86_64 0:1.54.0-9.fc20 will be erased
---> Package boost-program-options.x86_64 0:1.54.0-9.fc20 will be erased
---> Package boost-serialization.x86_64 0:1.54.0-9.fc20 will be erased
---> Package gnash.x86_64 1:0.8.10-11.fc20 will be erased
---> Package gnash-plugin.x86_64 1:0.8.10-11.fc20 will be erased
---> Package gtkglext-libs.x86_64 0:1.2.0-21.fc20 will be erased
---> Package pangox-compat.x86_64 0:0.0.2-3.fc20 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                   Arch       Version               Repository     Size
================================================================================
Removing:
 agg                       x86_64     2.5-19.fc20           installed     410 k
 boost-iostreams           x86_64     1.54.0-9.fc20         installed     105 k
 boost-program-options     x86_64     1.54.0-9.fc20         installed     451 k
 boost-serialization       x86_64     1.54.0-9.fc20         installed     743 k
 gnash                     x86_64     1:0.8.10-11.fc20      installed      10 M
 gnash-plugin              x86_64     1:0.8.10-11.fc20      installed     326 k
 gtkglext-libs             x86_64     1.2.0-21.fc20         installed     510 k
 pangox-compat             x86_64     0.0.2-3.fc20          installed     167 k

Transaction Summary
================================================================================
Remove  8 Packages

Installed size: 13 M
Is this ok [y/N]: 

Ok, what if I try to *only* select gnash-plugin?

[rms@roque ~]$ sudo dnf remove  gnash-plugin.x86_64 
Resolving dependencies
--> Starting dependency resolution
--> Finding unneeded leftover dependencies
---> Package agg.x86_64 2.5-19.fc20 will be erased
---> Package boost-iostreams.x86_64 1.54.0-9.fc20 will be erased
---> Package boost-program-options.x86_64 1.54.0-9.fc20 will be erased
---> Package boost-serialization.x86_64 1.54.0-9.fc20 will be erased
---> Package fedora-bookmarks.noarch 15-4.fc20 will be erased
---> Package firefox.x86_64 26.0-3.fc20 will be erased
---> Package gnash.x86_64 1:0.8.10-11.fc20 will be erased
---> Package gnash-plugin.x86_64 1:0.8.10-11.fc20 will be erased
---> Package gtkglext-libs.x86_64 1.2.0-21.fc20 will be erased
---> Package pangox-compat.x86_64 0.0.2-3.fc20 will be erased
---> Package xulrunner.x86_64 26.0-2.fc20 will be erased
--> Finished dependency resolution
Dependencies resolved.

================================================================================
 Package                   Arch       Version                 Repository   Size
================================================================================
Removing:
 agg                       x86_64     2.5-19.fc20             @System     410 k
 boost-iostreams           x86_64     1.54.0-9.fc20           @System     105 k
 boost-program-options     x86_64     1.54.0-9.fc20           @System     451 k
 boost-serialization       x86_64     1.54.0-9.fc20           @System     743 k
 fedora-bookmarks          noarch     15-4.fc20               @System     3.8 k
 firefox                   x86_64     26.0-3.fc20             @System      33 M
 gnash                     x86_64     1:0.8.10-11.fc20        @System      10 M
 gnash-plugin              x86_64     1:0.8.10-11.fc20        @System     326 k
 gtkglext-libs             x86_64     1.2.0-21.fc20           @System     510 k
 pangox-compat             x86_64     0.0.2-3.fc20            @System     167 k
 xulrunner                 x86_64     26.0-2.fc20             @System      57 M

Transaction Summary
================================================================================
Remove  11 Packages

Installed size: 103 M
Is this ok [y/N]: 


What, more packages??? What does yum try to do?

[rms@roque ~]$ sudo yum remove  gnash-plugin.x86_64 
Loaded plugins: langpacks, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package gnash-plugin.x86_64 1:0.8.10-11.fc20 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch         Version                  Repository       Size
================================================================================
Removing:
 gnash-plugin       x86_64       1:0.8.10-11.fc20         installed       326 k

Transaction Summary
================================================================================
Remove  1 Package

Installed size: 326 k
Is this ok [y/N]: 

Ok, better! So there's a problem with dependency check on dnf!

Version-Release number of selected component (if applicable):


How reproducible:

Always

Steps to Reproduce:
1. sudo dnf install gnash-plugin
2. sudo dnf remove (all installed packages in previous step or just gnash-plugin)

Actual results:

Tries to remove other packages like Firefox, xulrunner, etc...

Expected results:

Only remove those packages I selected which aren't hard dependencies.

Additional info:

Comment 1 Rui Miguel Seabra 2014-01-06 19:52:12 UTC
I only set it to high severity because of dnf's importance!

Comment 2 Ales Kozumplik 2014-01-07 07:04:50 UTC
Hi, thanks for the report, can you please try to repeat the 'dnf remove gnash-plugin.x86_64' step again using --debuginfo and attaching the result as described by http://dnf.baseurl.org/2013/11/25/reporting-depsolving-bugs/ ?

Thanks.

Comment 3 Rui Miguel Seabra 2014-01-07 22:32:14 UTC
Created attachment 846859 [details]
Result of sudo dnf --debugsolver remove gnash-plugin

Sure, here it is. I didn't actually let it remove the packages and removed with yum so it wouldn't remove too much, but I can repeat that easily if complete removal is preferred.

Comment 4 Ales Kozumplik 2014-01-08 11:07:01 UTC
Looking.

Comment 5 Ales Kozumplik 2014-01-08 12:12:59 UTC
This has to do with firefox being tagged as a dependency in DNF's package database. Would you please attach /var/log/dnf.log to this bug?

Comment 6 Rui Miguel Seabra 2014-01-09 23:26:49 UTC
Created attachment 847936 [details]
excerpt of dnf.log by the time I did the actions on January 7th

Here's the excerpt of my dnf.log by the time I did the actions on January 7th.

Comment 7 Ales Kozumplik 2014-01-10 13:23:10 UTC
Rui, I need the entire dnf.log to determine how firefox got installed. Thanks.

Comment 8 Rui Miguel Seabra 2014-01-10 17:13:30 UTC
Uh, what? It's Firefox... you know... comes with the Live image? Updated when it's normally updated when Fedora updates it...

The last time was upgraded with dnf upgrade, as usual.


[rms@roque log]$ grep firefox dnf.log 
Jan 04 10:51:12 INFO ---> Package firefox.x86_64 25.0-3.fc20 will be upgraded
Jan 04 10:51:12 INFO ---> Package firefox.x86_64 26.0-3.fc20 will be an upgrade
 firefox                         x86_64 26.0-3.fc20               updates  27 M
Jan 04 10:53:34 DEBUG populate_rpm_ts: upgrade: firefox-26.0-3.fc20.x86_64
Jan 04 10:58:03 SUBDEBUG /var/cache/dnf/x86_64/20/updates/packages/firefox-26.0-3.fc20.x86_64.rpm removed
  firefox.x86_64 26.0-3.fc20                                     xulrunner.x86_64 26.0-2.fc20                                          nspr.x86_64 4.10.2-1.fc20                                    
Jan 06 19:40:34 INFO ---> Package firefox.x86_64 26.0-3.fc20 will be erased
 firefox                   x86_64     26.0-3.fc20             @System      33 M
Jan 06 19:40:49 INFO ---> Package firefox.x86_64 26.0-3.fc20 will be erased
 firefox                   x86_64     26.0-3.fc20             @System      33 M
Jan 06 19:43:43 INFO ---> Package firefox.x86_64 26.0-3.fc20 will be erased
 firefox                   x86_64     26.0-3.fc20             @System      33 M
Jan 06 19:48:51 INFO ---> Package firefox.x86_64 26.0-3.fc20 will be erased
 firefox                   x86_64     26.0-3.fc20             @System      33 M
Jan 07 22:27:42 INFO ---> Package firefox.x86_64 26.0-3.fc20 will be erased
 firefox                   x86_64     26.0-3.fc20             @System      33 M
Jan 07 22:28:43 INFO ---> Package firefox.x86_64 26.0-3.fc20 will be erased
 firefox                   x86_64     26.0-3.fc20             @System      33 M

Comment 9 Ales Kozumplik 2014-01-20 15:51:05 UTC
Reproduced, looking now.

Comment 10 Ales Kozumplik 2014-01-20 17:06:49 UTC
Fixed by d377bc4, thank you for the reporting and for sharing all the other details.

Comment 11 Rui Miguel Seabra 2014-01-20 20:43:13 UTC
Awesome, thanks Ales! :-)

Comment 12 Fedora Update System 2014-01-21 07:40:01 UTC
dnf-0.4.12-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/dnf-0.4.12-1.fc20

Comment 13 Fedora Update System 2014-01-22 03:11:49 UTC
Package dnf-0.4.12-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dnf-0.4.12-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-1270/dnf-0.4.12-1.fc20
then log in and leave karma (feedback).

Comment 14 Fedora Update System 2014-01-23 11:12:09 UTC
dnf-0.4.12-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.