Bug 499040 - Anaconda seem to ignore package dependencies such that conflicting packages are not installed together.
Anaconda seem to ignore package dependencies such that conflicting packages a...
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: anaconda (Show other bugs)
5.3
All Linux
medium Severity medium
: rc
: ---
Assigned To: Anaconda Maintenance Team
Release Test Team
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-05-04 18:34 EDT by Srinivas Satyavarpu
Modified: 2010-12-03 11:51 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-07-06 12:37:58 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
foo-1 (1.96 KB, application/x-rpm)
2009-05-04 18:35 EDT, Srinivas Satyavarpu
no flags Details
foo-2 (1.96 KB, application/x-rpm)
2009-05-04 18:47 EDT, Srinivas Satyavarpu
no flags Details
bar-1 (1.95 KB, application/x-rpm)
2009-05-04 18:48 EDT, Srinivas Satyavarpu
no flags Details

  None (edit)
Description Srinivas Satyavarpu 2009-05-04 18:34:14 EDT
Description of problem:


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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

The installation software will install packages that state they conflict with each other.  This results in a system in an undefined configuration/state.  This will be extremely hard to detect.  The installer needs to try to resolve package dependencies such that conflicting packages are not installed together.  If the dependencies cannot be resolved in an automated manner, then the install should be aborted.
Comment 1 Srinivas Satyavarpu 2009-05-04 18:35:52 EDT
Created attachment 342392 [details]
foo-1
Comment 2 Srinivas Satyavarpu 2009-05-04 18:37:13 EDT
 Can you provide an example of this as well?  At least in the case where
 two packages provide the same files (a file conflict, as it is called)
 then we definitely display an error message and ask the user to change
 their selections.

 Explicit conflicts also should raise the same error.  Definitely need an
 example here


 Per request.  Can someone take a look at this and see if this makes
 sense?

 Please find attached RPMs and these directions:

 To reproduce this problem:  Build foo2 using the provided srpm.  Put the
 resulting package in a repo that kickstart can use.  Generate a
 kickstart file for a test system that includes the following:

 ---- start of quote ----
text
 cmdline
 %packages --nobase
 @core
 foo2
 ----  end of quote  ----

 The resulting system will incorrectly have both foo2 and sed installed
 regardless that foo2 states that it conflicts with sed.  Again, an
 abort/continue question should be posed.
Comment 3 Srinivas Satyavarpu 2009-05-04 18:47:03 EDT
Created attachment 342393 [details]
foo-2
Comment 4 Srinivas Satyavarpu 2009-05-04 18:48:25 EDT
Created attachment 342394 [details]
bar-1
Comment 5 Chris Lumens 2009-06-05 16:28:43 EDT
In general, anaconda ignores Conflicts: operating on the assumption that a system with most things installed is better than a system with nothing installed, since you can at least repair the former by hand after installation.

In this case, what you've got is a package that conflicts with the base system component sed.  The sed package is going to be required by plenty of other packages and get drawn in regardless.  You then also have foo2 specified in your kickstart file, indicating that should be installed as well.  Since anaconda throws out the Conflicts, you end up with both.

If you really want a package to take the place of sed, you're going to need to Obsolete it.  Note that your obsoleting package had better provide something with equivalent functionality or your system is going to be in a real mess.
Comment 11 Alexander Todorov 2010-02-16 05:24:31 EST
How about multi-lib packages? They generally conflict with each other and rpm ignores that.
Comment 12 Masahiro Matsuya 2010-04-27 23:40:44 EDT
I guess that rpm ignores it upon some reasonable reasons, though I don't a expert of rpm. If rpm ignores it, it's not needed that anaconda cares for it, I think.

Masahiro
Comment 15 RHEL Product and Program Management 2010-07-01 22:45:13 EDT
Development Management has reviewed and declined this request.  You may appeal
this decision by reopening this request.

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