diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index cf1ad347..0ecdfd93 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -1265,7 +1265,7 @@ all repositories. component = ctx.get_option('component') if component: - list = ctx.componentdb.get_packages(component, repo) + list = ctx.componentdb.get_packages(component, repo=repo) else: list = ctx.packagedb.list_packages(repo) installed_list = ctx.installdb.list_installed() diff --git a/pisi/component.py b/pisi/component.py index d6a02d21..49a945ff 100644 --- a/pisi/component.py +++ b/pisi/component.py @@ -121,11 +121,16 @@ class ComponentDB(object): def list_components(self, repo=None): return self.d.list(repo) - def get_packages(self, component_name, repo=None, txn = None): + # Returns the package list of the component + # walk: walks through the underlying components' packages + def get_packages(self, component_name, walk=False, repo=None, txn = None): """returns the given component's and underlying recursive components' packages""" - packages = [] component = self.get_component(component_name, repo, txn) + if not walk: + return component.packages + + packages = [] packages.extend(component.packages) for dep in component.dependencies: packages.extend(self.get_packages(dep))