Bug 1378253

Summary: rpmdeplint finds wrong pre-existing repository problems
Product: [Community] rpmdeplint Reporter: Roman Joost <rjoost>
Component: cliAssignee: Tyrone Abdy <tabdy>
Status: CLOSED CURRENTRELEASE QA Contact: tools-bugs <tools-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.1CC: bmcivor, dcallagh, jorris, rjoost, tabdy
Target Milestone: 1.2   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-17 03:29:50 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:
Bug Depends On: 1380597    
Bug Blocks:    

Description Roman Joost 2016-09-21 23:50:16 UTC
Description of problem:

When running a full check against a repository, we get a lot of spew from pre-existing repoclosure problems, eg:

2016-09-21 15:29:32,530 rpmdeplint WARNING Ignoring pre-existing repoclosure problem: nothing provides grep needed by pcp-3.10.3-3.el6.ppc64

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

1.1

How reproducible:

100%

Steps to Reproduce:
1. Run `rpmdeplint check` against a repository
2. Observe spew that it is ignoring pre-existing repo problem

Currently there is not more information I can provide as to why this happens, but checking the repository shows that the found problems are false, since the packages are provided by the repo.

Actual results:

Lots of warnings about pre-existing repoclosure problems.

Expected results:

Only warnings about repoclosure problems if they exist.

Comment 2 Tyrone Abdy 2016-10-04 04:35:29 UTC
https://gerrit.beaker-project.org/#/c/5288/

Comment 3 Tyrone Abdy 2016-10-10 02:59:10 UTC
Overall this comes from that hawkey requires an architecture to be specified regardless at this stage. Which it will autodetect from the host machine if its not passed into the hawkey.Sack on initialisation.

This caused the repository searching for a package that provides what another package requires. But libsolv/hawkey was only searching for packages that matched the architecture given.

So there was an option for a newer hawkey which took advantage of libsolv's underneath ability to take an architecture string that was a series of colon separate architectures to use, in the form of say "x86_64:ppc:sparc".
This would not be supported on rhel7 or fedora < 24.

So the current short term solution to take is the above patch which will detect the architecture from the given RPMs or allow the user to specify --arch to manually use it.


I have submitted a patch against an RFE for an improvement in hawkey that will allow it to accept any architecture which works within libsolv to search for packages regardless of arch.

Which would be the long term solution, to not have to "detect" the RPMs or even specify the architecture.

Comment 4 Dan Callaghan 2016-10-17 03:29:50 UTC
rpmdeplint 1.2 has been released.