diff options
Diffstat (limited to 'src/lib/Server/Plugins/Packages/__init__.py')
-rw-r--r-- | src/lib/Server/Plugins/Packages/__init__.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/Server/Plugins/Packages/__init__.py b/src/lib/Server/Plugins/Packages/__init__.py index 17a3458bd..637560de5 100644 --- a/src/lib/Server/Plugins/Packages/__init__.py +++ b/src/lib/Server/Plugins/Packages/__init__.py @@ -149,11 +149,15 @@ class Packages(Bcfg2.Server.Plugin.Plugin, initial = set() # base is the set of initial packages with groups expanded base = set() + pinned_src = dict() to_remove = [] for struct in structures: for pkg in struct.xpath('//Package | //BoundPackage'): if pkg.get("name"): initial.add(pkg.get("name")) + + if pkg.get("src"): + pinned_src[pkg.get("name")] = pkg.get("src") elif pkg.get("group"): try: if pkg.get("type"): @@ -174,7 +178,7 @@ class Packages(Bcfg2.Server.Plugin.Plugin, for el in to_remove: el.getparent().remove(el) - packages, unknown = collection.complete(base) + packages, unknown = collection.complete(base, pinned_src) if unknown: self.logger.info("Packages: Got %d unknown entries" % len(unknown)) self.logger.info("Packages: %s" % list(unknown)) |