diff --git a/pisi/api.py b/pisi/api.py index be515d8f..28895789 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -419,12 +419,17 @@ def generate_pending_order(A): return order -def configure_pending(): +def configure_pending(packages=None): # start with pending packages # configure them in reverse topological order of dependency installdb = pisi.db.installdb.InstallDB() - A = installdb.list_pending() - order = generate_pending_order(A) + + if not packages: + packages = installdb.list_pending() + else: + packages = set(packages) and set(installdb.list_pending()) + + order = generate_pending_order(packages) try: for x in order: if installdb.has_package(x): diff --git a/pisi/cli/configurepending.py b/pisi/cli/configurepending.py index 82b7154e..874adf34 100644 --- a/pisi/cli/configurepending.py +++ b/pisi/cli/configurepending.py @@ -43,4 +43,4 @@ configures those packages. def run(self): self.init() - pisi.api.configure_pending() + pisi.api.configure_pending(self.args)