On Tue, May 24, 2016 at 5:31 AM, Richard Purdie <richard.pur...@linuxfoundation.org> wrote: > 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"\${@.+?}")
What about over-rides which contain only numbers? It doesn't look like this change is going to filter them out, but they haven't worked as regular over-rides since: http://git.openembedded.org/bitbake/commit/?id=c9b9443faa76ee7366b1400a56f826f3f9dec1be (My personal preference for resolving that inconsistency would be to re-enable and officially support over-rides containing only numbers). > > Cheers, > > Richard > -- > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto