On Tue, 2014-10-28 at 10:11 -0700, Matt Schuckmann wrote: > So there is something I just don't get about how variables get > created, expanded, interpreted, etc in Bitbake > > For example I'm trying to copy some of the techniques in the Poky Tiny > distribution to reduce my image size and build time. > One of the fragments is this one. > > # The mtrace script included by eglibc is a perl script. This means > the system > # will build perl in case this package is installed. Since we don't > care about > # this script, remove the dependency from here. > RDEPENDS_${PN}-mtrace_pn-eglibc = "" > > I put this in my distribution .conf file and I doesn't seem to do > anything perl is still getting built. > Of course it doesn't help that I don't understand what does, > especially in the context of the distribution .conf file. > > I also see hints in the code in debug output that the machine, image, > or distribution names can automatically get appended to paths, or > variables but I don't really understand how that works. > > I'm not even sure how to phrase a question around this, immediately > I'd like to figure out why Perl is still getting built but ultimately > I'd like to understand the variable rules better so I that I can > better take advantage of this power tool.
Perhaps have a look at "overrides" in the bitbake manual. You can split RDEPENDS_${PN}-mtrace_pn-eglibc into components. Starting on the RHS, "_pn-eglibc" is an override that applies to recipes where PN = "eglibc". In those recipes, the variable becomes: RDEPENDS_${PN}-mtrace = "" and is basically overriding a dependency on perl that would other be there, something like: RDEPENDS_${PN}-mtrace = "perl". Does that help? Cheers, Richard -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto