[OE-core] [PATCH 05/12] volatiles.bbclass: add recipe

ChenQi Qi.Chen at windriver.com
Fri Jan 25 08:58:03 UTC 2013


On 01/24/2013 07:45 PM, Burton, Ross wrote:
> On 24 January 2013 11:37, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
>>>> +inherit ${@base_contains('DISTRO_FEATURES','sysvinit','volatiles_sysvinit','',d)}
>>> Does "inherit " work?
>>>
>>> I mean empty inherit when DISTRO_FEATURES don't contain sysvinit? IIRC
>>> it will fail to parse.
>> The above syntax does now work. A plain "inherit " won't but something
>> with an expression in does get handled correctly. It did not used to
>> work with older bitbake versions.
> The syntax works but that expression won't. If sysvinit was backfilled
> (pending patch from Marcin) because the distribution didn't pick
> sysvinit or systemd explicitly, the backfill happens after this
> expression is parsed.
>
> I'm testing a change where these tests happen against
> DISTRO_FEATURES_INITMAN instead now.
>
> Ross
>
> _

It seems that the backfill happens *before* this expression is parsed.

I tested it with DISTRO_FEATURES explicitly set in local.conf (basically 
the default value, except that it contains no init manager). It worked 
out well.

#
DISTRO ?= "poky"
DISTRO_FEATURES_LIBC_DEFAULT = "ipv4 ipv6 libc-backtrace libc-big-macros 
libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
                     libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt 
libc-fmtmsg libc-fstab libc-ftraverse \
                     libc-getlogin libc-idn libc-inet-anl libc-libm 
libc-libm-big libc-locales libc-locale-code \
                     libc-memusage libc-nis libc-nsswitch libc-rcmd 
libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
                     libc-utmp libc-utmpx libc-wordexp 
libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
                     libc-posix-wchar-io"
DISTRO_FEATURES_LIBC = "${DISTRO_FEATURES_LIBC_DEFAULT}"
DISTRO_FEATURES_LIBC_class-nativesdk = "${DISTRO_FEATURES_LIBC_DEFAULT}"
DISTRO_FEATURES = "alsa argp bluetooth ext2 irda largefile pcmcia 
usbgadget usbhost wifi xattr nfs zeroconf pci 3g x11 
${DISTRO_FEATURES_LIBC}"


I also added the following lines to volatiles.bbclass to examine the 
DISTRO_FEATURES when parsing the volatiles.bbclass.

+python __anonymous() {
+    bb.error("DISTRO_FEATURES: %s" % d.getVar('DISTRO_FEATURES', True))
+}
+
  inherit 
${@base_contains('DISTRO_FEATURES','sysvinit','volatiles_sysvinit','',d)}

And the DISTRO_FEATURES contains 'sysvinit'.

ERROR: DISTRO_FEATURES: alsa argp bluetooth ext2 irda largefile pcmcia 
usbgadget usbhost wifi xattr nfs zeroconf pci 3g x11 ipv4 ipv6 
libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets 
libc-charsets libc-crypt libc-crypt-ufc libc-db-aliases libc-envz 
libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse libc-getlogin libc-idn 
libc-inet-anl libc-libm libc-libm-big libc-locales libc-locale-code 
libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug 
libc-spawn libc-streams libc-sunrpc libc-utmp libc-utmpx libc-wordexp 
libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc 
libc-posix-wchar-io pulseaudio sysvinit largefile opengl multiarch

Best Regards,
Chen Qi

> ______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>





More information about the Openembedded-core mailing list