summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Server/Plugins/Packages.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/Server/Plugins/Packages.py b/src/lib/Server/Plugins/Packages.py
index 70dfd78c9..7ed7d3831 100644
--- a/src/lib/Server/Plugins/Packages.py
+++ b/src/lib/Server/Plugins/Packages.py
@@ -294,6 +294,7 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
Bcfg2.Server.Plugin.StructureValidator.__init__(self)
Bcfg2.Server.Plugin.Generator.__init__(self)
cachepath = self.data + '/cache'
+ self.sentinals = set()
if not os.path.exists(cachepath):
# create cache directory if needed
os.mkdir(cachepath)
@@ -310,12 +311,13 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
self.logger.info("File read failed; updating sources", exc_info=1)
source.update()
source.read_files()
+ self.sentinals.update(source.basegroups)
def get_matching_sources(self, meta):
return [s for s in self.sources if s.applies(meta)]
def HandlesEntry(self, entry, metadata):
- if [x for x in metadata.groups if x in ['debian', 'ubuntu', 'redhat']] \
+ if [x for x in metadata.groups if x in self.sentinals] \
and entry.tag == 'Package':
return True
return False