class PackageReader(ConfigReader):
"""Reads an OpenEmbedded format package metadata file"""
+ global oeconf
def __init__(self, filename = ""):
# regular expressions
ConfigReader.__init__(self, filename)
- # need access to global OE config data
- self.cfgenv = self.env
+ # default the config var expansion to the global cfg data
+ self.cfgenv = oeconf.env
+ self.cfgenvflags = oeconf.envflags
def classname(self, fn):
(base, ext) = os.path.splitext(os.path.basename(fn))
def getCfgEnv(self):
"""Returns config 'env' data"""
- return self.__config
+ return self.__cfgenv
def setCfgEnv(self, cfgenv):
"""Sets config 'env' data"""
- self.__config = cfgenv
+ self.__cfgenv = cfgenv
- cfgenv = property(getCfgEnv, setCfgEnv, None, "CfgEnv property")
+ cfgenv = property(getCfgEnv, setCfgEnv, None, "cfgenv property")
+
+ def getCfgEnvFlags(self):
+ """Returns config 'envflags' data"""
+ return self.__cfgenvflags
+
+ def setCfgEnvFlags(self, cfgenvflags):
+ """Sets config 'envflags' data"""
+ self.__cfgenvflags = cfgenvflags
+
+ cfgenvflags = property(getCfgEnvFlags, setCfgEnvFlags, None, "cfgenvflags property")
def feeder(self, lineno, s):
"""OpenEmbedded package metadata 'feeder'"""
return
return ConfigReader.feeder(self, lineno, s)
+
+oeconf = ConfigReader()
+
if os.access(os.path.join(s,'conf/oe.conf'), os.R_OK):
__oepath_found_it__ = 1
try:
- b = oeparser.ConfigReader(os.path.join(s,"conf/oe.conf"))
- b.reader()
+ oeparser.oeconf.fn = os.path.join(s, "conf/oe.conf")
+ oeparser.oeconf.reader()
except IOError:
pass
fatal("error locating conf/oe.conf")
try:
- c = oeparser.PackageReader(sys.argv[1])
- c.cfgenv = b.env # point the package reader to our config data
- c.reader()
+ a = oeparser.PackageReader(sys.argv[1])
+# c.cfgenv = b.env # point the package reader to our config data
+ a.reader()
+
+ data = {}
+ for env in [oeparser.oeconf.env,a.env]:
+ for item in env.keys():
+ data[item] = env[item]
- for i in b.env.keys():
- if not c.env.has_key(i):
- c.env[i] = b.env[i]
except IOError:
fatal("error accessing build file")
-emit_env(sys.__stdout__, c.env)
+emit_env(sys.__stdout__, data)
sys.exit(0)