On Fri, 2016-04-29 at 22:09 +1200, Paul Eggleton wrote: > On Fri, 29 Apr 2016 12:00:58 Gary Thomas wrote: > > On 2016-04-29 11:51, Paul Eggleton wrote: > > > On Fri, 29 Apr 2016 09:24:23 Gary Thomas wrote: > > > > On 2016-04-29 09:16, Paul Eggleton wrote: > > > > Indeed, my machine names do have an upper case letter in them. > > > > Any suggestions for how to handle this (short of renaming > > > > everything > > > > which > > > > would be a HUGE chore)? > > > > > > It's no longer supported I'm afraid, BitBake's datastore is now > > > coded to > > > expect lowercase for all override values. You say it's a huge > > > chore but > > > surely a grep -l | xargs -n1 sed -i would do it? > > > > If I were to rename my target (MACHINE), I'd then have to go > > through > > and rename all of the directories in the recipes that hold machine > > customizations and there are quite a few of those. Similarly I'd > > have to rework all the recipes that use the old names (with upper > > case > > letters) to the new ones. Not impossible, but quite a lot of work. > > That is unfortunate, but again should be pretty easy to automate > (assuming > they are local of course and not proliferated across many users' > build > machines). > > > Short of actually renaming the target machines, I could add an > > additional > > override (in <MACHINE>.conf) that is lowercase only and update just > > the > > recipes to use that instead. > > > > By experimentation, I have found that XYZ_append_<MACHINE> seems to > > do > > the correct thing, even when <MACHINE> has upper case letters. > > Maybe this > > is an oversight that will be fixed? > > I'm not sure - Richard?
Sorry for the delay in getting to this. It does sound like there is a codepath in bitbake which is still recognising variables with mixed case. I took a quick look and think this change appears to address it: diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py index 25c412c..ec6709f 100644 --- a/bitbake/lib/bb/data_smart.py +++ b/bitbake/lib/bb/data_smart.py @@ -39,7 +39,7 @@ from bb.COW import COWDictBase logger = logging.getLogger("BitBake.Data") __setvar_keyword__ = ["_append", "_prepend", "_remove"] -__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>.*))?$') +__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$') __expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}") __expand_python_regexp__ = re.compile(r"\${@.+?}") Cheers, Richard -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto