Bug 622679

Summary: yum should offer some solutions to users in case it cannot resolve dependencies
Product: [Fedora] Fedora Reporter: Praveen Arimbrathodiyil <parimbra>
Component: yumAssignee: Seth Vidal <skvidal>
Status: CLOSED DEFERRED QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: ffesti, james.antill, llim, maxamillion, pmatilai, tim.lauridsen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-08-10 15:01:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Praveen Arimbrathodiyil 2010-08-10 06:57:33 UTC
Description of problem:

aptitude in debian has this nice option when it cannot satisfy all depndencies with current settings policies, it presents a user with options which he can say yes or no, like do you want to remove some packages, do you want to upgrade 
some packages... It is very useful. It would be good if yum offered a similar feature.

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


How reproducible:

always
Steps to Reproduce:
1. install ffmpeg-libs from rpmfusion-free
2. do yum upgrade
3.
  
Actual results:

--> Finished Dependency Resolution
Error: Package: ffmpeg-libs-0.6-2.fc13.x86_64 (rpmfusion-free-updates)
           Requires: libx264.so.83()(64bit)
           Available: x264-libs-0.0.0-0.27.20100130git3659b81.fc13.x86_64 (rpmfusion-free)
 You could try using --skip-broken to work around the problem
x264-libs-0.0.0-0.96.20100522git69588a7.fc13.x86_64 is a duplicate with x264-libs-0.0.0-0.27.20100429gitd9db8b3.fc14.x86_64

Expected results:

yum should offer to upgrade or remove ffmpeg-libs

Additional info:

Comment 1 Praveen Arimbrathodiyil 2010-08-10 09:13:09 UTC
Example output from aptitude in debian

The following packages have unmet dependencies:
  libmono-addins-gui0.2-cil: Depends: libmono-corlib2.0-cil (>= 2.6.3) but 2.4.4~svn151842-3 is to be installed.
                             Depends: libmono-system2.0-cil (>= 2.6.3) but 2.4.4~svn151842-3 is to be installed.
  gnome-desktop-environment: Conflicts: gstreamer0.10-gnomevfs but 0.10.30-1 is to be installed.
  libmono-addins0.2-cil: Depends: libmono-corlib2.0-cil (>= 2.6.3) but 2.4.4~svn151842-3 is to be installed.
                         Depends: libmono-system2.0-cil (>= 2.6.3) but 2.4.4~svn151842-3 is to be installed.
  virtualbox-ose-modules-2.6-amd64: Depends: linux-latest-modules-2.6.30-2-amd64 which is a virtual package.
  gcj-jre-headless: Conflicts: java-gcj-compat-headless (< 1.0.80-6) but 1.0.80-5.1 is installed.
The following actions will resolve these dependencies:

     Remove the following packages:                       
1)     java-gcj-compat                                    
2)     java-gcj-compat-headless                           
3)     libmono-addins-gui0.2-cil                          
4)     libmono-addins0.2-cil                              
5)     openoffice.org-gcj                                 
6)     tomboy                                             
7)     virtualbox-ose-modules-2.6-amd64                   

     Keep the following packages at their current version:
8)     gstreamer0.10-gnomevfs [Not Installed]             

     Leave the following dependencies unresolved:         
9)     gthumb recommends gstreamer0.10-gnomevfs           
     Tier: Safe actions, Remove packages (10000)          

Accept this solution? [Y/n/q/?]

Comment 2 seth vidal 2010-08-10 15:01:45 UTC
Presenting users with impossible-to-decipher optons seems like a bad choice and if we have a 'default' behavior that we can use we should just use that and drop the option.

Someone can write a plugin to enhance options available to compare_providers() but prompting the user like the aptitude example is just a good way to confuse users and damage systems.