From: Michael Tremer Date: Mon, 3 Oct 2011 09:28:09 +0000 (+0200) Subject: Fix inheriting scriptlets from templates. X-Git-Tag: 0.9.11~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e360b2c8289e1c0baddde6243d99a433925f7cbb;p=pakfire.git Fix inheriting scriptlets from templates. --- diff --git a/python/pakfire/packages/lexer.py b/python/pakfire/packages/lexer.py index 6d2cffdaf..80d976735 100644 --- a/python/pakfire/packages/lexer.py +++ b/python/pakfire/packages/lexer.py @@ -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 = {} diff --git a/python/pakfire/packages/make.py b/python/pakfire/packages/make.py index ad48cb35e..ad82602cd 100644 --- a/python/pakfire/packages/make.py +++ b/python/pakfire/packages/make.py @@ -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):