]> git.ipfire.org Git - pakfire.git/commitdiff
Fix inheriting scriptlets from templates.
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Oct 2011 09:28:09 +0000 (11:28 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Oct 2011 09:28:09 +0000 (11:28 +0200)
python/pakfire/packages/lexer.py
python/pakfire/packages/make.py

index 6d2cffdaf1bc412d772d538c06f62fe2386871e8..80d97673587c8b4e563f7112a9cc40fb8548e8b9 100644 (file)
@@ -571,6 +571,12 @@ class TemplateLexer(DefaultLexer):
                # A place to store the scriptlets.
                self.scriptlets = {}
 
+       def inherit(self, other):
+               DefaultLexer.inherit(self, other)
+
+               # Inherit all scriptlets.
+               self.scriptlets.update(other.scriptlets)
+
        @property
        def definitions(self):
                definitions = {}
index ad48cb35e4bc149090e4517b4dfbe44eec278eaa..ad82602cda3bb895a3a1f93f5da67404495c8e57 100644 (file)
@@ -427,7 +427,12 @@ class MakefilePackage(MakefileBase):
                return self.get_deps("conflicts")
 
        def get_scriptlet(self, type):
-               return self.lexer.scriptlets.get(type, None)
+               scriptlet = self.lexer.scriptlets.get(type, None)
+
+               if scriptlet is None and self.lexer.template:
+                       scriptlet = self.lexer.template.scriptlets.get(type, None)
+
+               return scriptlet
 
        @property
        def inst_size(self):