Improve the parsing in build set files.

This commit is contained in:
Chris Johns
2013-03-11 10:39:57 +11:00
parent aabd20d513
commit 5cba075c71

View File

@@ -207,22 +207,19 @@ class buildset:
continue continue
if self.opts.trace(): if self.opts.trace():
print '%03d: %s' % (lc, l) print '%03d: %s' % (lc, l)
if ':' in l: ls = l.split()
ls = l.split(':') if ls[0][-1] == ':' and ls[0][:-1] == 'package':
if ls[0].strip() == 'package':
self.bset_pkg = self.opts.expand(ls[1].strip(), self.defaults) self.bset_pkg = self.opts.expand(ls[1].strip(), self.defaults)
self.defaults['package'] = ('none', 'none', self.bset_pkg) self.defaults['package'] = ('none', 'none', self.bset_pkg)
elif l[0] == '%': elif ls[0][0] == '%':
if l.startswith('%define'): if ls[0] == '%define':
ls = l.split()
if len(ls) > 2: if len(ls) > 2:
self.defaults[ls[1].strip()] = ('none', self.defaults[ls[1].strip()] = ('none',
'none', 'none',
' '.join([f.strip() for f in ls[2:]])) ' '.join([f.strip() for f in ls[2:]]))
else: else:
self.defaults[ls[1].strip()] = ('none', 'none', '1') self.defaults[ls[1].strip()] = ('none', 'none', '1')
elif l.startswith('%include'): elif ls[0] == '%include':
ls = l.split(' ')
configs += self.parse(ls[1].strip()) configs += self.parse(ls[1].strip())
else: else:
raise error.general('invalid directive in build set files: %s' % (l)) raise error.general('invalid directive in build set files: %s' % (l))