Bug 614191 - RFE: compare_providers() should look at conflicts data to choose a provider
RFE: compare_providers() should look at conflicts data to choose a provider
Status: NEW
Product: Fedora
Classification: Fedora
Component: yum-utils (Show other bugs)
All Linux
low Severity medium
: ---
: ---
Assigned To: packaging-team-maint
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2010-07-13 16:03 EDT by Ville Skyttä
Modified: 2016-04-20 08:50 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Reproducer specfile (488 bytes, text/plain)
2010-07-13 16:03 EDT, Ville Skyttä
no flags Details

  None (edit)
Description Ville Skyttä 2010-07-13 16:03:12 EDT
Created attachment 431584 [details]
Reproducer specfile

See the attached specfile, build a SRPM out of it, and try this:

$ rpm -q --whatprovides MTA
no package provides MTA

$ repoquery --whatprovides MTA

$ rpm -qp --requires test-buildconflicts-1.0-1.fc13.src.rpm 
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1

$ rpm -qp --conflicts test-buildconflicts-1.0-1.fc13.src.rpm 

$ sudo yum-builddep test-buildconflicts-1.0-1.fc13.src.rpm 
Getting requirements for test-buildconflicts-1.0-1.fc13.src
 --> exim-4.72-1.fc13.x86_64
--> Running transaction check
---> Package exim.x86_64 0:4.72-1.fc13 set to be updated
--> Finished Dependency Resolution
  exim.x86_64 0:4.72-1.fc13                                                                                                                                                              

$ rpmbuild --rebuild test-buildconflicts-1.0-1.fc13.src.rpm 
Installing test-buildconflicts-1.0-1.fc13.src.rpm
error: Failed build dependencies:
        exim conflicts with test-buildconflicts-1.0-1.fc13.x86_64

yum-builddep should not install exim, but one of the other packages providing MTA, and if would be no non-conflicting alternatives, abort with error (assuming "yum install" does that for similar scenarios, IIRC it does).
Comment 1 seth vidal 2010-07-13 16:38:01 EDT
we can do it in compare providers or we can just do it in yum-builddep.

this is useful b/c skipping over a better pkg in compare_providers b/c it has a conflicts may be the wrong thing to do rather than to add it w/the conflicts and let the conflict-handler update the conflicting pkg.

we can just do an exclude-loop inside yum-builddep.

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