| |
@@ -72,12 +72,18 @@
|
| |
assert len(solvables) == 1
|
| |
return solvables[0]
|
| |
|
| |
+ def _iterate_all_requires(package):
|
| |
+ for dep in package.lookup_deparray(solv.SOLVABLE_REQUIRES, 1): # pre-requires
|
| |
+ yield dep
|
| |
+ for dep in package.lookup_deparray(solv.SOLVABLE_REQUIRES, -1): # requires
|
| |
+ yield dep
|
| |
+
|
| |
def _get_dependency_details(pool, transaction):
|
| |
candq = transaction.newpackages()
|
| |
result = {}
|
| |
for p in candq:
|
| |
pkg_details = {}
|
| |
- for dep in p.lookup_deparray(solv.SOLVABLE_REQUIRES):
|
| |
+ for dep in _iterate_all_requires(p):
|
| |
matches = set(s for s in candq if s.matchesdep(solv.SOLVABLE_PROVIDES, dep))
|
| |
if not matches and str(dep).startswith("/"):
|
| |
# Append provides by files
|
| |
package.lookup_deparray(solv.SOLVABLE_REQUIRES) only returns normal Requires:,
to get pre-requires, you need to pass in marker=1 (default is marker=-1)