def validate_pn(pn):
"""Perform validation on a recipe name (PN) for a new recipe."""
reserved_names = ['forcevariable', 'append', 'prepend', 'remove']
- if not re.match('[0-9a-z-]+', pn):
- return 'Recipe name "%s" is invalid: only characters 0-9, a-z and - are allowed' % pn
+ if not re.match('[0-9a-z-.]+', pn):
+ return 'Recipe name "%s" is invalid: only characters 0-9, a-z, - and . are allowed' % pn
elif pn in reserved_names:
return 'Recipe name "%s" is invalid: is a reserved keyword' % pn
elif pn.startswith('pn-'):
_create_workspace(config.workspace_path, config, basepath)
logger.debug('Reading workspace in %s' % config.workspace_path)
- externalsrc_re = re.compile(r'^EXTERNALSRC(_pn-[a-zA-Z0-9-]*)? =.*$')
+ externalsrc_re = re.compile(r'^EXTERNALSRC(_pn-[^ =]+)? =.*$')
for fn in glob.glob(os.path.join(config.workspace_path, 'appends', '*.bbappend')):
pn = os.path.splitext(os.path.basename(fn))[0].split('_')[0]
with open(fn, 'r') as f: