[OE-core] bb.data.*Var -> d.*Var conversion

Darren Hart dvhart at linux.intel.com
Wed Nov 9 14:59:00 UTC 2011


Hi Richard,

On 11/09/2011 03:52 AM, Richard Purdie wrote:
> I'm tempted to run the following over the metata to convert the
> bb.data.*Var(...,d) and similar expressions to the form d.*Var(...).

Oh yes please!

> 
> Why? We get a lot of people doing copy, paste and edit of the code and
> this way, we'll increase the chances of them finding better examples.
> 
> I'm still looking at the diff this generates to see if there are any
> more corner cases I need to tweak the expression for but feedback
> welcome.
> 
> sed \
> -e 's:bb.data.\(setVar([^,]*,[^,]*\), \([^ )]*\) *):\2.\1):g' \

Be sure to escape your periods, they are single character wildcards.
It's unlikely you'll match something else, but better safe than sorry.

> -e 's:bb.data.\(setVarFlag([^,]*,[^,]*,[^,]*\), \([^) ]*\) *):\2.\1):g' \
> -e 's:bb.data.\(getVar([^,]*\), \([^, ]*\) *,\([^)]*\)):\2.\1,\3):g' \
> -e 's:bb.data.\(getVarFlag([^,]*,[^,]*\), \([^, ]*\) *,\([^)]*\)):\2.\1,\3):g' \
> -e 's:bb.data.\(getVarFlag([^,]*,[^,]*\), \([^) ]*\) *):\2.\1):g' \
> -e 's:bb.data.\(getVar([^,]*\), \([^) ]*\) *):\2.\1):g' \
> -i `grep -ril bb.data *`

Why ignore case?

I suggest running the grep first redirected to the file, then editing
the contents to ensure you don't get things like CHANGELOG and probably
be careful with the Documentation.

The groups look sane to me.

The only other thing I'd make sure to try and watch (not necessarily
handle) are multi-line bb.data.[sg]et(Flag)? calls. I suspect there are
few enough of them, if any, that they could be managed by hand.

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel




More information about the Openembedded-core mailing list