Adding input rpm to solvpool repos to fix codependency errors
ClosedPublic

Authored by tflink on Oct 29 2014, 3:11 PM.

Details

Summary

Restructuring depcheck to add all incoming rpms to solvpool. Fixes T366

Also added a '--workdir' to depcheck to facilitate local running and made some small changes to the functest code:

  • only pick up "*.yaml" or "*.yml" files (kept picking up .swp files from vim)
  • ignore a 'known_fail' directory in the scenarios
  • updated depcheck_scenarios to a new commit with new scenarios

A unit test was removed because it is no longer relevant - with this patch, it is not possible for an rpm to be run more than once and thus, the exception couldn't be raised

Test Plan

unit tests, functional tests and working with a re-creation of the repos that triggered the original ticket (now passes every time)

Diff Detail

Repository
rDEPCK task-depcheck
Lint
Lint Skipped
Unit
Unit Tests Skipped
tflink retitled this revision from to Adding input rpm to solvpool repos to fix codependency errors.
tflink updated this object.
tflink edited the test plan for this revision. (Show Details)
tflink added reviewers: jskladan, jdulaney.
tflink added a subscriber: kparal.
tflink updated this revision to Diff 727.Oct 29 2014, 3:14 PM
  • removing a note in comments that shouldn't have been part of the review
tflink planned changes to this revision.Oct 29 2014, 3:31 PM

bah, made some sloppy mistakes that need small changes, another revision is incoming shortly

tflink updated this revision to Diff 728.Oct 29 2014, 3:33 PM
  • removing stray rpm reordering and fixed logging messages
tflink updated this revision to Diff 729.Oct 29 2014, 3:34 PM
  • removing commented out line

sorry for all the changes - apparently it's time to get more coffee :-/

jskladan accepted this revision.Oct 31 2014, 8:18 AM

Overall, this looks good.

depcheck/depcheck.py
137–138

Maybe this could use some comment? I guess that it fills the solvrepo with rpms, and stores some kind of 'reference' to which rpm 'should be installed/checked' to the solvable, so in the end, the solvrepo contains all rpms, but you can still run 'try install xyz' per rpm?

This has probably a lot to do with /me not knowing how libsolv works, so if it is obvious to those who do, disregard this ;)

This revision is now accepted and ready to land.Oct 31 2014, 8:18 AM
tflink added inline comments.Oct 31 2014, 3:46 PM
depcheck/depcheck.py
137–138

The code should be understandable without an understanding of libsolv - I'll add some comments to better explain what's going on

jdulaney accepted this revision.Oct 31 2014, 4:36 PM

Looks good here; I tested against a known to fail rpm set and it passed.

Joseph, the problem is in the way it was populating the libsolv solve pool (essentially, the way the set of rpms to be tested is passed to libsolv).

tflink closed this revision.Nov 3 2014, 5:11 PM
tflink updated this revision to Diff 730.

Closed by commit rDEPCKdc4f42723ee9 (authored by @tflink).