[Piuparts-commits] [SCM] piuparts git repository branch, develop, updated. 0.44-583-ge144d01
Andreas Beckmann
debian at abeckmann.de
Fri May 25 12:41:03 UTC 2012
The following commit has been merged in the develop branch:
commit ea8e262fd1d21c926591fe874f171adac72e4e4b
Author: Andreas Beckmann <debian at abeckmann.de>
Date: Sat Mar 10 12:30:30 2012 +0100
compute and automatically break dependency cycles
stop relying on known_circular_depends which require regular manual updates
Signed-off-by: Andreas Beckmann <debian at abeckmann.de>
diff --git a/debian/changelog b/debian/changelog
index 2eb63d2..5068e2b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -26,6 +26,9 @@ piuparts (0.45) UNRELEASED; urgency=low
- Fix state resolution of package dependencies containing alternatives,
virtual packages and circular dependencies.
- Remove 'circular-dependency' state.
+ - Stop using static known_circular_depends.
+ - Compute dependency cycles and test packages on such cycles if all
+ non-circular dependencies are satisfied.
[ Leo Iannacone ]
* piuparts.py: add --existing-chroot option, specify a directory as source
diff --git a/piupartslib/packagesdb.py b/piupartslib/packagesdb.py
index 0933948..e7e28d5 100644
--- a/piupartslib/packagesdb.py
+++ b/piupartslib/packagesdb.py
@@ -404,11 +404,12 @@ class PackagesDB:
return "waiting-to-be-tested"
# treat circular-dependencies as testable (for the part of the circle)
- if package["Package"] in self._known_circular_depends:
+ circular_deps = self._get_dependency_cycle(package["Package"])
+ if package["Package"] in circular_deps:
testable = True
for dep in deps:
dep_state = self.get_package_state(dep)
- if dep in self._known_circular_depends:
+ if dep in circular_deps:
# allow any non-error dep_state on the cycle for testing
# (error states are handled by the error propagation above)
pass
--
piuparts git repository
More information about the Piuparts-commits
mailing list