[OE-core] [PATCH] image: Fix "metadata is not deterministic" when chaining 2+ CONVERSION_CMDs
Martin Hundebøll
mnhu at prevas.dk
Fri Sep 15 07:41:36 UTC 2017
On 2017-07-25 21:58, Tom Rini wrote:
> When we have more than one CONVERSION_CMD being used, for example
> ext4.gz.sha256sum we will see errors about "metadata is not
> deterministic". This is because we do not have a stable order of
> intermediate files that will be removed in the generated shell command.
> We fix this by calling sorted() on the set of rm_tmp_images so that we
> will have a stable hash again.
>
> Cc: Patrick Ohly <patrick.ohly at intel.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
> meta/classes/image.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index b095bca..dee17ae 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -474,7 +474,7 @@ python () {
> # Clean up after applying all conversion commands. Some of them might
> # use the same input, therefore we cannot delete sooner without applying
> # some complex dependency analysis.
> - for image in rm_tmp_images:
> + for image in sorted(rm_tmp_images):
> cmds.append("\trm " + image)
>
> after = 'do_image'
>
This commit has resulted in more or less persistent basehash issues for
my cpio.gz.u-boot image:
ERROR: When reparsing
/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb.do_image_cpio,
the basehash value changed from ac9907bbb8ee2ee6d9ca90f7a7e265f5 to
8c7b717add6b1d1ba6ff761ebfdedf01. The metadata is not deterministic and
this needs to be fixed.
The error occurs repeatedly when doing `bitbake -c clean rescue-rootfs
&& bitbake rescue-rootfs`. Reverting the commit makes the error go away.
Also, the issue only appears for cpio.gz.u-boot image types, but not for
cpio.gz
I am far from an expert in bitbake signature handling, so please let me
know what to do, to debug this further.
Thanks,
Martin
-------------- next part --------------
Loading cache...done.
Loaded 1414 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Loading cache...done.
Loaded 1414 entries from dependency cache.
#
# INCLUDE HISTORY:
#
# /home/mnhu/projects/pil/yocto/conf/bblayers.conf
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf
# /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf
# /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf
# /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf
# /home/mnhu/projects/pil/yocto/conf/layer.conf
# conf/bitbake.conf includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/abi_version.conf
# conf/site.conf
# conf/auto.conf
# /home/mnhu/projects/pil/yocto/conf/local.conf
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/multiconfig/default.conf
# conf/build/x86_64-linux.conf
# /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf
# conf/target/arm-oe-linuxeabi.conf
# /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf includes:
# /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc includes:
# /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/version.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf
# /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/mirrors.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utils.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/metadata_scm.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/logging.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass includes:
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/packagedata.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/chrpath.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/devshell.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/remove-libtool.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/blacklist.bbclass
# /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass
#
# $ABIEXTENSION [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:119
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:14
# "eabi"
# override[class-nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf:2
# ""
# pre-expansion value:
# "eabi"
ABIEXTENSION="eabi"
#
# $ABIEXTENSION_class-nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf:2
# ""
ABIEXTENSION_class-nativesdk=""
#
# $ACCEPT_FSL_EULA
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:22
# "1"
ACCEPT_FSL_EULA="1"
#
# $ALLOW_EMPTY [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:65
# [doc] "Specifies if an output package should still be produced if it is empty."
# override[rescue-rootfs-dbg]:rename from ALLOW_EMPTY_${PN}-dbg data.py:116 [expandKeys]
# "1"
# override[rescue-rootfs-dev]:rename from ALLOW_EMPTY_${PN}-dev data.py:116 [expandKeys]
# "1"
# pre-expansion value:
# "None"
#
# $ALLOW_EMPTY_rescue-rootfs-dbg
# rename from ALLOW_EMPTY_${PN}-dbg data.py:116 [expandKeys]
# "1"
ALLOW_EMPTY_rescue-rootfs-dbg="1"
#
# $ALLOW_EMPTY_rescue-rootfs-dev
# rename from ALLOW_EMPTY_${PN}-dev data.py:116 [expandKeys]
# "1"
ALLOW_EMPTY_rescue-rootfs-dev="1"
#
# $ALL_MULTILIB_PACKAGE_ARCHS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:52
# "${@all_multilib_tune_values(d, 'PACKAGE_ARCHS')}"
ALL_MULTILIB_PACKAGE_ARCHS="all any noarch armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-neon armv7vet2hf-neon armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4 cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4 rpi2"
#
# $ALL_QA
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:47
# "${WARN_QA} ${ERROR_QA}"
ALL_QA="ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated dev-so debug-deps dev-deps debug-files arch pkgconfig la perms dep-cmp pkgvarcheck perm-config perm-line perm-link split-strip packages-list pkgv-undefined var-undefined version-going-backwards expanded-d invalid-chars license-checksum dev-elf file-rdeps "
#
# $ALTERNATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:66
# [doc] "Lists commands in a package that need an alternative binary naming scheme."
#
# $ALTERNATIVE_LINK_NAME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:67
# [doc] "Used by the alternatives system to map duplicated commands to actual locations."
#
# $ALTERNATIVE_PRIORITY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:68
# [doc] "Used by the alternatives system to create default priorities for duplicated commands."
#
# $ALTERNATIVE_TARGET
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:69
# [doc] "Used by the alternatives system to create default link locations for duplicated commands."
#
# $APACHE_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:606
# "http://archive.apache.org/dist"
APACHE_MIRROR="http://archive.apache.org/dist"
#
# $AR [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:500
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:500
# "${HOST_PREFIX}ar"
# pre-expansion value:
# "${HOST_PREFIX}ar"
export AR="arm-oe-linux-gnueabi-ar"
#
# $ARCH [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:39
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:39
# "${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}"
# pre-expansion value:
# "${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}"
export ARCH="arm"
#
# $ARMPKGARCH [133 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:4
# "${ARMPKGARCH_tune-${DEFAULTTUNE}}"
# override[tune-armv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:20
# "armv4"
# override[tune-armv4t]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:21
# "armv4"
# override[tune-armv4b]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:29
# "armv4"
# override[tune-armv4tb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:30
# "armv4"
# override[tune-armv5]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:13
# "armv5"
# override[tune-armv5t]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:14
# "armv5"
# override[tune-armv5-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:22
# "armv5"
# override[tune-armv5t-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:23
# "armv5"
# override[tune-armv5hf-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:24
# "armv5"
# override[tune-armv5thf-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:25
# "armv5"
# override[tune-armv5b]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:37
# "armv5"
# override[tune-armv5tb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:38
# "armv5"
# override[tune-armv5b-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:46
# "armv5"
# override[tune-armv5tb-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:47
# "armv5"
# override[tune-armv5hfb-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:48
# "armv5"
# override[tune-armv5thfb-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:49
# "armv5"
# override[tune-armv5e]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:8
# "armv5"
# override[tune-armv5te]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:9
# "armv5"
# override[tune-armv5e-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:17
# "armv5"
# override[tune-armv5te-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:18
# "armv5"
# override[tune-armv5ehf-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:19
# "armv5"
# override[tune-armv5tehf-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:20
# "armv5"
# override[tune-armv5eb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:32
# "armv5"
# override[tune-armv5teb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:33
# "armv5"
# override[tune-armv5eb-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:41
# "armv5"
# override[tune-armv5teb-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:42
# "armv5"
# override[tune-armv5ehfb-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:43
# "armv5"
# override[tune-armv5tehfb-vfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:44
# "armv5"
# override[tune-armv6-novfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:12
# "armv6"
# override[tune-armv6t-novfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:13
# "armv6"
# override[tune-armv6]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:14
# "armv6"
# override[tune-armv6t]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:15
# "armv6"
# override[tune-armv6hf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:16
# "armv6"
# override[tune-armv6thf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:17
# "armv6"
# override[tune-armv6b-novfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:33
# "armv6"
# override[tune-armv6tb-novfp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:34
# "armv6"
# override[tune-armv6b]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:35
# "armv6"
# override[tune-armv6tb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:36
# "armv6"
# override[tune-armv6hfb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:37
# "armv6"
# override[tune-armv6thfb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:38
# "armv6"
# override[tune-armv7a]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:13
# "armv7a"
# override[tune-armv7at]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:14
# "armv7a"
# override[tune-armv7a-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:15
# "armv7a"
# override[tune-armv7at-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:16
# "armv7a"
# override[tune-armv7a-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:17
# "armv7a"
# override[tune-armv7at-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:18
# "armv7a"
# override[tune-armv7a-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:19
# "armv7a"
# override[tune-armv7at-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:20
# "armv7a"
# override[tune-armv7a-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:21
# "armv7a"
# override[tune-armv7at-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:22
# "armv7a"
# override[tune-armv7ahf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:46
# "armv7a"
# override[tune-armv7athf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:47
# "armv7a"
# override[tune-armv7ahf-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:48
# "armv7a"
# override[tune-armv7athf-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:49
# "armv7a"
# override[tune-armv7ahf-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:50
# "armv7a"
# override[tune-armv7athf-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:51
# "armv7a"
# override[tune-armv7ahf-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:52
# "armv7a"
# override[tune-armv7athf-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:53
# "armv7a"
# override[tune-armv7ahf-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:54
# "armv7a"
# override[tune-armv7athf-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:55
# "armv7a"
# override[tune-armv7ab]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:79
# "armv7a"
# override[tune-armv7atb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:80
# "armv7a"
# override[tune-armv7ab-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:81
# "armv7a"
# override[tune-armv7atb-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:82
# "armv7a"
# override[tune-armv7ab-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:83
# "armv7a"
# override[tune-armv7atb-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:84
# "armv7a"
# override[tune-armv7ab-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:85
# "armv7a"
# override[tune-armv7atb-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:86
# "armv7a"
# override[tune-armv7ab-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:87
# "armv7a"
# override[tune-armv7atb-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:88
# "armv7a"
# override[tune-armv7ahfb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:112
# "armv7a"
# override[tune-armv7athfb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:113
# "armv7a"
# override[tune-armv7ahfb-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:114
# "armv7a"
# override[tune-armv7athfb-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:115
# "armv7a"
# override[tune-armv7ahfb-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:116
# "armv7a"
# override[tune-armv7athfb-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:117
# "armv7a"
# override[tune-armv7ahfb-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:118
# "armv7a"
# override[tune-armv7athfb-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:119
# "armv7a"
# override[tune-armv7ahfb-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:120
# "armv7a"
# override[tune-armv7athfb-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:121
# "armv7a"
# override[tune-armv7ve]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:12
# "armv7ve"
# override[tune-armv7vet]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:13
# "armv7ve"
# override[tune-armv7ve-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:14
# "armv7ve"
# override[tune-armv7vet-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:15
# "armv7ve"
# override[tune-armv7ve-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:16
# "armv7ve"
# override[tune-armv7vet-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:17
# "armv7ve"
# override[tune-armv7ve-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:18
# "armv7ve"
# override[tune-armv7vet-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:19
# "armv7ve"
# override[tune-armv7ve-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:20
# "armv7ve"
# override[tune-armv7vet-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:21
# "armv7ve"
# override[tune-armv7vehf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:45
# "armv7ve"
# override[tune-armv7vethf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:46
# "armv7ve"
# override[tune-armv7vehf-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:47
# "armv7ve"
# override[tune-armv7vethf-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:48
# "armv7ve"
# override[tune-armv7vehf-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:49
# "armv7ve"
# override[tune-armv7vethf-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:50
# "armv7ve"
# override[tune-armv7vehf-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:51
# "armv7ve"
# override[tune-armv7vethf-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:52
# "armv7ve"
# override[tune-armv7vehf-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:53
# "armv7ve"
# override[tune-armv7vethf-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:54
# "armv7ve"
# override[tune-armv7veb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:78
# "armv7ve"
# override[tune-armv7vetb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:79
# "armv7ve"
# override[tune-armv7veb-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:80
# "armv7ve"
# override[tune-armv7vetb-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:81
# "armv7ve"
# override[tune-armv7veb-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:82
# "armv7ve"
# override[tune-armv7vetb-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:83
# "armv7ve"
# override[tune-armv7veb-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:84
# "armv7ve"
# override[tune-armv7vetb-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:85
# "armv7ve"
# override[tune-armv7veb-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:86
# "armv7ve"
# override[tune-armv7vetb-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:87
# "armv7ve"
# override[tune-armv7vehfb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:111
# "armv7ve"
# override[tune-armv7vethfb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:112
# "armv7ve"
# override[tune-armv7vehfb-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:113
# "armv7ve"
# override[tune-armv7vethfb-vfpv3d16]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:114
# "armv7ve"
# override[tune-armv7vehfb-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:115
# "armv7ve"
# override[tune-armv7vethfb-vfpv3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:116
# "armv7ve"
# override[tune-armv7vehfb-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:117
# "armv7ve"
# override[tune-armv7vethfb-neon]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:118
# "armv7ve"
# override[tune-armv7vehfb-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:119
# "armv7ve"
# override[tune-armv7vethfb-neon-vfpv4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:120
# "armv7ve"
# override[tune-cortexa7]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:10
# "cortexa7"
# override[tune-cortexa7t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:11
# "cortexa7"
# override[tune-cortexa7-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:12
# "cortexa7"
# override[tune-cortexa7t-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:13
# "cortexa7"
# override[tune-cortexa7-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:14
# "cortexa7"
# override[tune-cortexa7t-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:15
# "cortexa7"
# override[tune-cortexa7hf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:31
# "cortexa7"
# override[tune-cortexa7thf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:32
# "cortexa7"
# override[tune-cortexa7hf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:33
# "cortexa7"
# override[tune-cortexa7thf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:34
# "cortexa7"
# override[tune-cortexa7hf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:35
# "cortexa7"
# override[tune-cortexa7thf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:36
# "cortexa7"
# pre-expansion value:
# "${ARMPKGARCH_tune-${DEFAULTTUNE}}"
ARMPKGARCH="cortexa7"
#
# $ARMPKGARCH_tune-armv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:20
# "armv4"
ARMPKGARCH_tune-armv4="armv4"
#
# $ARMPKGARCH_tune-armv4b
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:29
# "armv4"
ARMPKGARCH_tune-armv4b="armv4"
#
# $ARMPKGARCH_tune-armv4t
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:21
# "armv4"
ARMPKGARCH_tune-armv4t="armv4"
#
# $ARMPKGARCH_tune-armv4tb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:30
# "armv4"
ARMPKGARCH_tune-armv4tb="armv4"
#
# $ARMPKGARCH_tune-armv5
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:13
# "armv5"
ARMPKGARCH_tune-armv5="armv5"
#
# $ARMPKGARCH_tune-armv5-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:22
# "armv5"
ARMPKGARCH_tune-armv5-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5b
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:37
# "armv5"
ARMPKGARCH_tune-armv5b="armv5"
#
# $ARMPKGARCH_tune-armv5b-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:46
# "armv5"
ARMPKGARCH_tune-armv5b-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5e
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:8
# "armv5"
ARMPKGARCH_tune-armv5e="armv5"
#
# $ARMPKGARCH_tune-armv5e-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:17
# "armv5"
ARMPKGARCH_tune-armv5e-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5eb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:32
# "armv5"
ARMPKGARCH_tune-armv5eb="armv5"
#
# $ARMPKGARCH_tune-armv5eb-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:41
# "armv5"
ARMPKGARCH_tune-armv5eb-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5ehf-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:19
# "armv5"
ARMPKGARCH_tune-armv5ehf-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5ehfb-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:43
# "armv5"
ARMPKGARCH_tune-armv5ehfb-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5hf-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:24
# "armv5"
ARMPKGARCH_tune-armv5hf-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5hfb-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:48
# "armv5"
ARMPKGARCH_tune-armv5hfb-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5t
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:14
# "armv5"
ARMPKGARCH_tune-armv5t="armv5"
#
# $ARMPKGARCH_tune-armv5t-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:23
# "armv5"
ARMPKGARCH_tune-armv5t-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5tb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:38
# "armv5"
ARMPKGARCH_tune-armv5tb="armv5"
#
# $ARMPKGARCH_tune-armv5tb-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:47
# "armv5"
ARMPKGARCH_tune-armv5tb-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5te
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:9
# "armv5"
ARMPKGARCH_tune-armv5te="armv5"
#
# $ARMPKGARCH_tune-armv5te-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:18
# "armv5"
ARMPKGARCH_tune-armv5te-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5teb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:33
# "armv5"
ARMPKGARCH_tune-armv5teb="armv5"
#
# $ARMPKGARCH_tune-armv5teb-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:42
# "armv5"
ARMPKGARCH_tune-armv5teb-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5tehf-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:20
# "armv5"
ARMPKGARCH_tune-armv5tehf-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5tehfb-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:44
# "armv5"
ARMPKGARCH_tune-armv5tehfb-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5thf-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:25
# "armv5"
ARMPKGARCH_tune-armv5thf-vfp="armv5"
#
# $ARMPKGARCH_tune-armv5thfb-vfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:49
# "armv5"
ARMPKGARCH_tune-armv5thfb-vfp="armv5"
#
# $ARMPKGARCH_tune-armv6
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:14
# "armv6"
ARMPKGARCH_tune-armv6="armv6"
#
# $ARMPKGARCH_tune-armv6-novfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:12
# "armv6"
ARMPKGARCH_tune-armv6-novfp="armv6"
#
# $ARMPKGARCH_tune-armv6b
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:35
# "armv6"
ARMPKGARCH_tune-armv6b="armv6"
#
# $ARMPKGARCH_tune-armv6b-novfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:33
# "armv6"
ARMPKGARCH_tune-armv6b-novfp="armv6"
#
# $ARMPKGARCH_tune-armv6hf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:16
# "armv6"
ARMPKGARCH_tune-armv6hf="armv6"
#
# $ARMPKGARCH_tune-armv6hfb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:37
# "armv6"
ARMPKGARCH_tune-armv6hfb="armv6"
#
# $ARMPKGARCH_tune-armv6t
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:15
# "armv6"
ARMPKGARCH_tune-armv6t="armv6"
#
# $ARMPKGARCH_tune-armv6t-novfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:13
# "armv6"
ARMPKGARCH_tune-armv6t-novfp="armv6"
#
# $ARMPKGARCH_tune-armv6tb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:36
# "armv6"
ARMPKGARCH_tune-armv6tb="armv6"
#
# $ARMPKGARCH_tune-armv6tb-novfp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:34
# "armv6"
ARMPKGARCH_tune-armv6tb-novfp="armv6"
#
# $ARMPKGARCH_tune-armv6thf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:17
# "armv6"
ARMPKGARCH_tune-armv6thf="armv6"
#
# $ARMPKGARCH_tune-armv6thfb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:38
# "armv6"
ARMPKGARCH_tune-armv6thfb="armv6"
#
# $ARMPKGARCH_tune-armv7a
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:13
# "armv7a"
ARMPKGARCH_tune-armv7a="armv7a"
#
# $ARMPKGARCH_tune-armv7a-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:19
# "armv7a"
ARMPKGARCH_tune-armv7a-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7a-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:21
# "armv7a"
ARMPKGARCH_tune-armv7a-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7a-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:17
# "armv7a"
ARMPKGARCH_tune-armv7a-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7a-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:15
# "armv7a"
ARMPKGARCH_tune-armv7a-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7ab
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:79
# "armv7a"
ARMPKGARCH_tune-armv7ab="armv7a"
#
# $ARMPKGARCH_tune-armv7ab-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:85
# "armv7a"
ARMPKGARCH_tune-armv7ab-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7ab-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:87
# "armv7a"
ARMPKGARCH_tune-armv7ab-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7ab-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:83
# "armv7a"
ARMPKGARCH_tune-armv7ab-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7ab-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:81
# "armv7a"
ARMPKGARCH_tune-armv7ab-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7ahf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:46
# "armv7a"
ARMPKGARCH_tune-armv7ahf="armv7a"
#
# $ARMPKGARCH_tune-armv7ahf-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:52
# "armv7a"
ARMPKGARCH_tune-armv7ahf-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7ahf-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:54
# "armv7a"
ARMPKGARCH_tune-armv7ahf-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7ahf-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:50
# "armv7a"
ARMPKGARCH_tune-armv7ahf-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7ahf-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:48
# "armv7a"
ARMPKGARCH_tune-armv7ahf-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7ahfb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:112
# "armv7a"
ARMPKGARCH_tune-armv7ahfb="armv7a"
#
# $ARMPKGARCH_tune-armv7ahfb-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:118
# "armv7a"
ARMPKGARCH_tune-armv7ahfb-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7ahfb-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:120
# "armv7a"
ARMPKGARCH_tune-armv7ahfb-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7ahfb-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:116
# "armv7a"
ARMPKGARCH_tune-armv7ahfb-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7ahfb-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:114
# "armv7a"
ARMPKGARCH_tune-armv7ahfb-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7at
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:14
# "armv7a"
ARMPKGARCH_tune-armv7at="armv7a"
#
# $ARMPKGARCH_tune-armv7at-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:20
# "armv7a"
ARMPKGARCH_tune-armv7at-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7at-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:22
# "armv7a"
ARMPKGARCH_tune-armv7at-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7at-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:18
# "armv7a"
ARMPKGARCH_tune-armv7at-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7at-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:16
# "armv7a"
ARMPKGARCH_tune-armv7at-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7atb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:80
# "armv7a"
ARMPKGARCH_tune-armv7atb="armv7a"
#
# $ARMPKGARCH_tune-armv7atb-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:86
# "armv7a"
ARMPKGARCH_tune-armv7atb-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7atb-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:88
# "armv7a"
ARMPKGARCH_tune-armv7atb-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7atb-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:84
# "armv7a"
ARMPKGARCH_tune-armv7atb-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7atb-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:82
# "armv7a"
ARMPKGARCH_tune-armv7atb-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7athf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:47
# "armv7a"
ARMPKGARCH_tune-armv7athf="armv7a"
#
# $ARMPKGARCH_tune-armv7athf-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:53
# "armv7a"
ARMPKGARCH_tune-armv7athf-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7athf-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:55
# "armv7a"
ARMPKGARCH_tune-armv7athf-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7athf-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:51
# "armv7a"
ARMPKGARCH_tune-armv7athf-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7athf-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:49
# "armv7a"
ARMPKGARCH_tune-armv7athf-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7athfb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:113
# "armv7a"
ARMPKGARCH_tune-armv7athfb="armv7a"
#
# $ARMPKGARCH_tune-armv7athfb-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:119
# "armv7a"
ARMPKGARCH_tune-armv7athfb-neon="armv7a"
#
# $ARMPKGARCH_tune-armv7athfb-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:121
# "armv7a"
ARMPKGARCH_tune-armv7athfb-neon-vfpv4="armv7a"
#
# $ARMPKGARCH_tune-armv7athfb-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:117
# "armv7a"
ARMPKGARCH_tune-armv7athfb-vfpv3="armv7a"
#
# $ARMPKGARCH_tune-armv7athfb-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:115
# "armv7a"
ARMPKGARCH_tune-armv7athfb-vfpv3d16="armv7a"
#
# $ARMPKGARCH_tune-armv7ve
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:12
# "armv7ve"
ARMPKGARCH_tune-armv7ve="armv7ve"
#
# $ARMPKGARCH_tune-armv7ve-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:18
# "armv7ve"
ARMPKGARCH_tune-armv7ve-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7ve-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:20
# "armv7ve"
ARMPKGARCH_tune-armv7ve-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7ve-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:16
# "armv7ve"
ARMPKGARCH_tune-armv7ve-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7ve-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:14
# "armv7ve"
ARMPKGARCH_tune-armv7ve-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-armv7veb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:78
# "armv7ve"
ARMPKGARCH_tune-armv7veb="armv7ve"
#
# $ARMPKGARCH_tune-armv7veb-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:84
# "armv7ve"
ARMPKGARCH_tune-armv7veb-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7veb-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:86
# "armv7ve"
ARMPKGARCH_tune-armv7veb-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7veb-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:82
# "armv7ve"
ARMPKGARCH_tune-armv7veb-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7veb-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:80
# "armv7ve"
ARMPKGARCH_tune-armv7veb-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:45
# "armv7ve"
ARMPKGARCH_tune-armv7vehf="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehf-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:51
# "armv7ve"
ARMPKGARCH_tune-armv7vehf-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehf-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:53
# "armv7ve"
ARMPKGARCH_tune-armv7vehf-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehf-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:49
# "armv7ve"
ARMPKGARCH_tune-armv7vehf-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehf-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:47
# "armv7ve"
ARMPKGARCH_tune-armv7vehf-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehfb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:111
# "armv7ve"
ARMPKGARCH_tune-armv7vehfb="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehfb-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:117
# "armv7ve"
ARMPKGARCH_tune-armv7vehfb-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehfb-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:119
# "armv7ve"
ARMPKGARCH_tune-armv7vehfb-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehfb-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:115
# "armv7ve"
ARMPKGARCH_tune-armv7vehfb-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7vehfb-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:113
# "armv7ve"
ARMPKGARCH_tune-armv7vehfb-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-armv7vet
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:13
# "armv7ve"
ARMPKGARCH_tune-armv7vet="armv7ve"
#
# $ARMPKGARCH_tune-armv7vet-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:19
# "armv7ve"
ARMPKGARCH_tune-armv7vet-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7vet-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:21
# "armv7ve"
ARMPKGARCH_tune-armv7vet-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7vet-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:17
# "armv7ve"
ARMPKGARCH_tune-armv7vet-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7vet-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:15
# "armv7ve"
ARMPKGARCH_tune-armv7vet-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-armv7vetb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:79
# "armv7ve"
ARMPKGARCH_tune-armv7vetb="armv7ve"
#
# $ARMPKGARCH_tune-armv7vetb-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:85
# "armv7ve"
ARMPKGARCH_tune-armv7vetb-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7vetb-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:87
# "armv7ve"
ARMPKGARCH_tune-armv7vetb-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7vetb-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:83
# "armv7ve"
ARMPKGARCH_tune-armv7vetb-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7vetb-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:81
# "armv7ve"
ARMPKGARCH_tune-armv7vetb-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:46
# "armv7ve"
ARMPKGARCH_tune-armv7vethf="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethf-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:52
# "armv7ve"
ARMPKGARCH_tune-armv7vethf-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethf-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:54
# "armv7ve"
ARMPKGARCH_tune-armv7vethf-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethf-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:50
# "armv7ve"
ARMPKGARCH_tune-armv7vethf-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethf-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:48
# "armv7ve"
ARMPKGARCH_tune-armv7vethf-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethfb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:112
# "armv7ve"
ARMPKGARCH_tune-armv7vethfb="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethfb-neon
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:118
# "armv7ve"
ARMPKGARCH_tune-armv7vethfb-neon="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethfb-neon-vfpv4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:120
# "armv7ve"
ARMPKGARCH_tune-armv7vethfb-neon-vfpv4="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethfb-vfpv3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:116
# "armv7ve"
ARMPKGARCH_tune-armv7vethfb-vfpv3="armv7ve"
#
# $ARMPKGARCH_tune-armv7vethfb-vfpv3d16
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:114
# "armv7ve"
ARMPKGARCH_tune-armv7vethfb-vfpv3d16="armv7ve"
#
# $ARMPKGARCH_tune-cortexa7
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:10
# "cortexa7"
ARMPKGARCH_tune-cortexa7="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:12
# "cortexa7"
ARMPKGARCH_tune-cortexa7-neon="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:14
# "cortexa7"
ARMPKGARCH_tune-cortexa7-neon-vfpv4="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7hf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:31
# "cortexa7"
ARMPKGARCH_tune-cortexa7hf="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7hf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:33
# "cortexa7"
ARMPKGARCH_tune-cortexa7hf-neon="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7hf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:35
# "cortexa7"
ARMPKGARCH_tune-cortexa7hf-neon-vfpv4="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:11
# "cortexa7"
ARMPKGARCH_tune-cortexa7t="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7t-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:13
# "cortexa7"
ARMPKGARCH_tune-cortexa7t-neon="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7t-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:15
# "cortexa7"
ARMPKGARCH_tune-cortexa7t-neon-vfpv4="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7thf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:32
# "cortexa7"
ARMPKGARCH_tune-cortexa7thf="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7thf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:34
# "cortexa7"
ARMPKGARCH_tune-cortexa7thf-neon="cortexa7"
#
# $ARMPKGARCH_tune-cortexa7thf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:36
# "cortexa7"
ARMPKGARCH_tune-cortexa7thf-neon-vfpv4="cortexa7"
#
# $ARMPKGSFX_DSP [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:1
# "${@bb.utils.contains('TUNE_FEATURES', [ 'armv5', 'dsp' ], 'e', '', d)}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:7
# [_defaultval] ""
# pre-expansion value:
# "${@bb.utils.contains('TUNE_FEATURES', [ 'armv5', 'dsp' ], 'e', '', d)}"
ARMPKGSFX_DSP=""
#
# $ARMPKGSFX_EABI [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:8
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:14
# "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}"
# pre-expansion value:
# "${@ 'hf' if (d.getVar('TUNE_CCARGS_MFLOAT') == 'hard') else ''}"
ARMPKGSFX_EABI="hf"
#
# $ARMPKGSFX_ENDIAN
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:5
# "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'b', '', d)}"
ARMPKGSFX_ENDIAN=""
#
# $ARMPKGSFX_FPU [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:6
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:9
# "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('vfpv3-d16', 'vfpv3d16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
# pre-expansion value:
# "${@ ('-%s' % d.getVar('TUNE_CCARGS_MFPU').split()[-1].replace('vfpv3-d16', 'vfpv3d16')) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
ARMPKGSFX_FPU="-neon-vfpv4"
#
# $ARMPKGSFX_THUMB [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:9
# [_defaultval] ""
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc:27
# "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
# pre-expansion value:
# "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
ARMPKGSFX_THUMB=""
#
# $ARM_M_OPT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc:10
# "${@bb.utils.contains('TUNE_FEATURES', 'arm', '${ARM_THUMB_OPT}', 'thumb', d)}"
ARM_M_OPT="arm"
#
# $ARM_THUMB_OPT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc:9
# "${@['arm', 'thumb'][d.getVar('ARM_INSTRUCTION_SET') == 'thumb']}"
ARM_THUMB_OPT="arm"
#
# $ARM_THUMB_SUFFIX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc:4
# "${@bb.utils.contains_any('TUNE_FEATURES', 'armv4 armv5 armv6', 't', 't2', d)}"
ARM_THUMB_SUFFIX="t2"
#
# $AS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:501
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:501
# "${HOST_PREFIX}as ${HOST_AS_ARCH}"
# pre-expansion value:
# "${HOST_PREFIX}as ${HOST_AS_ARCH}"
export AS="arm-oe-linux-gnueabi-as "
#
# $ASNEEDED [10 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:2
# "-Wl,--as-needed"
# override[pn-babeltrace]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:4
# ""
# override[pn-console-tools]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:5
# ""
# override[pn-distcc]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:6
# ""
# override[pn-openobex]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:7
# ""
# override[pn-icu]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:8
# ""
# override[pn-pciutils]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:9
# ""
# override[pn-puzzles]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:10
# ""
# override[pn-pulseaudio]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:11
# ""
# override[pn-rpm]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:12
# ""
# pre-expansion value:
# "-Wl,--as-needed"
ASNEEDED="-Wl,--as-needed"
#
# $ASNEEDED_pn-babeltrace
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:4
# ""
ASNEEDED_pn-babeltrace=""
#
# $ASNEEDED_pn-console-tools
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:5
# ""
ASNEEDED_pn-console-tools=""
#
# $ASNEEDED_pn-distcc
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:6
# ""
ASNEEDED_pn-distcc=""
#
# $ASNEEDED_pn-icu
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:8
# ""
ASNEEDED_pn-icu=""
#
# $ASNEEDED_pn-openobex
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:7
# ""
ASNEEDED_pn-openobex=""
#
# $ASNEEDED_pn-pciutils
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:9
# ""
ASNEEDED_pn-pciutils=""
#
# $ASNEEDED_pn-pulseaudio
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:11
# ""
ASNEEDED_pn-pulseaudio=""
#
# $ASNEEDED_pn-puzzles
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:10
# ""
ASNEEDED_pn-puzzles=""
#
# $ASNEEDED_pn-rpm
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:12
# ""
ASNEEDED_pn-rpm=""
#
# $ASSUME_PROVIDED [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:187
# "bzip2-native chrpath-native file-native findutils-native git-native grep-native diffstat-native patch-native libgcc-native hostperl-runtime-native hostpython-runtime-native tar-native virtual/libintl-native virtual/libiconv-native texinfo-native bash-native sed-native wget-native "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:70
# [doc] "List of packages (recipes actually) that are assumed to be implicitly available. BitBake does not build these packages."
# pre-expansion value:
# "bzip2-native chrpath-native file-native findutils-native git-native grep-native diffstat-native patch-native libgcc-native hostperl-runtime-native hostpython-runtime-native tar-native virtual/libintl-native virtual/libiconv-native texinfo-native bash-native sed-native wget-native "
ASSUME_PROVIDED="bzip2-native chrpath-native file-native findutils-native git-native grep-native diffstat-native patch-native libgcc-native hostperl-runtime-native hostpython-runtime-native tar-native virtual/libintl-native virtual/libiconv-native texinfo-native bash-native sed-native wget-native "
#
# $ASSUME_SHLIBS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:71
# [doc] "List of shlib:package[_version] mappings. Useful for lib packages in ASSUME_PROVIDED, for which automatic shlib dependency tracking does not work."
#
# $AUTHOR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:72
# [doc] "Email address used to contact the original author(s) in order to send patches and forward bugs."
#
# $AUTOREV [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:652
# "${@bb.fetch2.get_autorev(d)}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:74
# [doc] "When SRCREV is set to the value of this variable, it specifies to use the latest source revision in the repository."
# pre-expansion value:
# "${@bb.fetch2.get_autorev(d)}"
AUTOREV="AUTOINC"
#
# $AUTO_LIBNAME_PKGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass:12
# "${PACKAGES}"
AUTO_LIBNAME_PKGS=""
#
# $AUTO_SYSLINUXMENU
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:73
# [doc] "Enables creating an automatic menu for the syslinux bootloader."
#
# $AVAILTUNES [22 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:19
# "armv4 armv4t"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:28
# "armv4b armv4tb"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:12
# "armv5 armv5t"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:21
# "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:36
# "armv5b armv5tb"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:45
# "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:7
# "armv5e armv5te"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:16
# "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:31
# "armv5eb armv5teb"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:40
# "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:11
# "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:32
# "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:12
# "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:45
# "armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:78
# "armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:111
# "armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:11
# "armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:44
# "armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:77
# "armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:110
# "armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:9
# "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:30
# "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4"
# pre-expansion value:
# " armv4 armv4t armv4b armv4tb armv5 armv5t armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp armv5b armv5tb armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4 armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4 armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4 armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4 armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4 armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4 armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4 armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4 cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4 cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4"
AVAILTUNES=" armv4 armv4t armv4b armv4tb armv5 armv5t armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp armv5b armv5tb armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4 armv7ahf armv7athf armv7ahf-vfpv3d16 armv7athf-vfpv3d16 armv7ahf-vfpv3 armv7athf-vfpv3 armv7ahf-neon armv7athf-neon armv7ahf-neon-vfpv4 armv7athf-neon-vfpv4 armv7ab armv7atb armv7ab-vfpv3d16 armv7atb-vfpv3d16 armv7ab-vfpv3 armv7atb-vfpv3 armv7ab-neon armv7atb-neon armv7ab-neon-vfpv4 armv7atb-neon-vfpv4 armv7ahfb armv7athfb armv7ahfb-vfpv3d16 armv7athfb-vfpv3d16 armv7ahfb-vfpv3 armv7athfb-vfpv3 armv7ahfb-neon armv7athfb-neon armv7ahfb-neon-vfpv4 armv7athfb-neon-vfpv4 armv7ve armv7vet armv7ve-vfpv3d16 armv7vet-vfpv3d16 armv7ve-vfpv3 armv7vet-vfpv3 armv7ve-neon armv7vet-neon armv7ve-neon-vfpv4 armv7vet-neon-vfpv4 armv7vehf armv7vethf armv7vehf-vfpv3d16 armv7vethf-vfpv3d16 armv7vehf-vfpv3 armv7vethf-vfpv3 armv7vehf-neon armv7vethf-neon armv7vehf-neon-vfpv4 armv7vethf-neon-vfpv4 armv7veb armv7vetb armv7veb-vfpv3d16 armv7vetb-vfpv3d16 armv7veb-vfpv3 armv7vetb-vfpv3 armv7veb-neon armv7vetb-neon armv7veb-neon-vfpv4 armv7vetb-neon-vfpv4 armv7vehfb armv7vethfb armv7vehfb-vfpv3d16 armv7vethfb-vfpv3d16 armv7vehfb-vfpv3 armv7vethfb-vfpv3 armv7vehfb-neon armv7vethfb-neon armv7vehfb-neon-vfpv4 armv7vethfb-neon-vfpv4 cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4 cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon cortexa7hf-neon-vfpv4 cortexa7thf-neon-vfpv4"
#
# $B [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:351
# "${S}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:78
# [doc] "The Build Directory. The OpenEmbedded build system places generated objects into the Build Directory during a recipe's build process."
# override[task-populate-sdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:31
# "${SDK_DIR}"
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:79
# "${SDK_DIR}"
# pre-expansion value:
# "${S}"
B="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rescue-rootfs-1.0"
#
# $BAD_RECOMMENDATIONS [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:79
# [doc] "A list of packages not to install despite being recommended by a recipe. Support for this variable exists only when using the IPK or RPM packaging backends."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:819
# ""
# set /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc:27
# "busybox-udhcpc udev-cache kernel-vmlinux"
# pre-expansion value:
# "busybox-udhcpc udev-cache kernel-vmlinux"
BAD_RECOMMENDATIONS="busybox-udhcpc udev-cache kernel-vmlinux"
#
# $BASEDEPENDS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:79
# "${@base_dep_prepend(d)}"
BASEDEPENDS=""
#
# $BASELIB [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:12
# "lib"
# override[powerpc64]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:13
# "lib64"
# pre-expansion value:
# "lib"
BASELIB="lib"
#
# $BASELIB_powerpc64
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:13
# "lib64"
BASELIB_powerpc64="lib64"
#
# $BASE_WORKDIR
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:346
# "${TMPDIR}/work"
BASE_WORKDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work"
#
# $BBCLASSEXTEND
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:85
# [doc] "Allows you to extend a recipe so that it builds variants of the software. Common variants for recipes are 'native', 'cross', 'nativesdk' and multilibs."
#
# $BBFILES [15 operations]
# set? /home/mnhu/projects/pil/yocto/conf/bblayers.conf:4
# ""
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:4
# "${LAYERDIR}/recipes-*/*/*.bb"
# set data_smart.py:938 [expandVarref]
# " /home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb"
# append /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:15
# "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
# set data_smart.py:938 [expandVarref]
# " /home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bbappend"
# append /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf:6
# "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
# set data_smart.py:938 [expandVarref]
# " /home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bbappend"
# append /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:8
# "${LAYERDIR}/recipes-*/*.bb ${LAYERDIR}/recipes-*/*.bbappend ${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend "
# append /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:17
# "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer for layer in BBFILE_COLLECTIONS.split())}"
# set data_smart.py:938 [expandVarref]
# " /home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bbappend ${@' '.join('/home/mnhu/projects/pil/yocto/meta-pil/%s/recipes*/*/*.bbappend' % layer for layer in BBFILE_COLLECTIONS.split())}"
# append /home/mnhu/projects/pil/yocto/conf/layer.conf:6
# "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
# append /home/mnhu/projects/pil/yocto/conf/layer.conf:15
# "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer for layer in BBFILE_COLLECTIONS.split())}"
# set data_smart.py:938 [expandVarref]
# " /home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bbappend ${@' '.join('/home/mnhu/projects/pil/yocto/meta-pil/%s/recipes*/*/*.bbappend' % layer for layer in BBFILE_COLLECTIONS.split())} /home/mnhu/projects/pil/yocto/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/recipes-*/*/*.bbappend ${@' '.join('/home/mnhu/projects/pil/yocto/%s/recipes*/*/*.bbappend' % layer for layer in BBFILE_COLLECTIONS.split())}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:89
# [doc] "List of recipe files used by BitBake to build software."
# set cooker.py:1867 [collect_bbfiles]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/core/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/qt5-layer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/rauc/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/pil/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/customer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/core/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/qt5-layer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/rauc/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/pil/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/customer/recipes*/*/*.bbappend"
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/core/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/qt5-layer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/rauc/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/pil/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/customer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/core/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/qt5-layer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/rauc/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/pil/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/customer/recipes*/*/*.bbappend"
BBFILES="/home/mnhu/projects/pil/yocto/meta-poky/meta/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-qt5/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-rauc/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/meta-pil/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/core/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/qt5-layer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/rauc/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/pil/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/meta-pil/customer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/recipes-*/*/*.bb /home/mnhu/projects/pil/yocto/recipes-*/*/*.bbappend /home/mnhu/projects/pil/yocto/core/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/qt5-layer/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/rauc/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/pil/recipes*/*/*.bbappend /home/mnhu/projects/pil/yocto/customer/recipes*/*/*.bbappend"
#
# $BBFILE_COLLECTIONS [6 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:6
# "core"
# append /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:17
# "qt5-layer"
# append /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf:8
# "rauc"
# append /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:10
# "pil"
# append /home/mnhu/projects/pil/yocto/conf/layer.conf:8
# "customer"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:86
# [doc] "Lists the names of configured layers. These names are used to find the other BBFILE_* variables."
# pre-expansion value:
# " core qt5-layer rauc pil customer"
BBFILE_COLLECTIONS=" core qt5-layer rauc pil customer"
#
# $BBFILE_PATTERN [8 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:87
# [doc] "Variable that expands to match files from BBFILES in a particular layer. This variable is used in the layer.conf file and must be suffixed with the name of a layer."
# override[core]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:7
# "^${LAYERDIR}/"
# override[core]:set data_smart.py:938 [expandVarref]
# "^/home/mnhu/projects/pil/yocto/meta-poky/meta/"
# override[qt5-layer]:immediate /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:18
# "^${LAYERDIR}/"
# override[rauc]:set /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf:9
# "^${LAYERDIR}/"
# override[rauc]:set data_smart.py:938 [expandVarref]
# "^/home/mnhu/projects/pil/yocto/meta-rauc/"
# override[pil]:immediate /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:11
# "^${LAYERDIR}/"
# override[customer]:immediate /home/mnhu/projects/pil/yocto/conf/layer.conf:9
# "^${LAYERDIR}/"
# pre-expansion value:
# "None"
#
# $BBFILE_PATTERN_core [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:7
# "^${LAYERDIR}/"
# set data_smart.py:938 [expandVarref]
# "^/home/mnhu/projects/pil/yocto/meta-poky/meta/"
# pre-expansion value:
# "^/home/mnhu/projects/pil/yocto/meta-poky/meta/"
BBFILE_PATTERN_core="^/home/mnhu/projects/pil/yocto/meta-poky/meta/"
#
# $BBFILE_PATTERN_customer
# immediate /home/mnhu/projects/pil/yocto/conf/layer.conf:9
# "^${LAYERDIR}/"
BBFILE_PATTERN_customer="^/home/mnhu/projects/pil/yocto/"
#
# $BBFILE_PATTERN_pil
# immediate /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:11
# "^${LAYERDIR}/"
BBFILE_PATTERN_pil="^/home/mnhu/projects/pil/yocto/meta-pil/"
#
# $BBFILE_PATTERN_qt5-layer
# immediate /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:18
# "^${LAYERDIR}/"
BBFILE_PATTERN_qt5-layer="^/home/mnhu/projects/pil/yocto/meta-qt5/"
#
# $BBFILE_PATTERN_rauc [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf:9
# "^${LAYERDIR}/"
# set data_smart.py:938 [expandVarref]
# "^/home/mnhu/projects/pil/yocto/meta-rauc/"
# pre-expansion value:
# "^/home/mnhu/projects/pil/yocto/meta-rauc/"
BBFILE_PATTERN_rauc="^/home/mnhu/projects/pil/yocto/meta-rauc/"
#
# $BBFILE_PRIORITY [6 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:88
# [doc] "Assigns the priority for recipe files in each layer. Setting this variable allows you to prioritize a layer against other layers that contain the same recipe."
# override[core]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:8
# "5"
# override[qt5-layer]:set /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:24
# "7"
# override[rauc]:set /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf:10
# "6"
# override[pil]:set /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:12
# "6"
# override[customer]:set /home/mnhu/projects/pil/yocto/conf/layer.conf:10
# "10"
# pre-expansion value:
# "None"
#
# $BBFILE_PRIORITY_core
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:8
# "5"
BBFILE_PRIORITY_core="5"
#
# $BBFILE_PRIORITY_customer
# set /home/mnhu/projects/pil/yocto/conf/layer.conf:10
# "10"
BBFILE_PRIORITY_customer="10"
#
# $BBFILE_PRIORITY_pil
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:12
# "6"
BBFILE_PRIORITY_pil="6"
#
# $BBFILE_PRIORITY_qt5-layer
# set /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:24
# "7"
BBFILE_PRIORITY_qt5-layer="7"
#
# $BBFILE_PRIORITY_rauc
# set /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf:10
# "6"
BBFILE_PRIORITY_rauc="6"
#
# $BBINCLUDED [2 operations]
# set cookerdata.py:378 [parseConfigurationFiles]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/abi_version.conf /home/mnhu/projects/pil/yocto/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/site.conf /home/mnhu/projects/pil/yocto/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/site.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/site.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/site.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/auto.conf /home/mnhu/projects/pil/yocto/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/local.conf /home/mnhu/projects/pil/yocto/conf/local.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/version.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/documentation.conf /home/mnhu/projects/pil/yocto/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/licenses.conf /home/mnhu/projects/pil/yocto/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/sanity.conf /home/mnhu/projects/pil/yocto/conf/sanity.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf /home/mnhu/projects/pil/yocto/classes/base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass /home/mnhu/projects/pil/yocto/classes/patch.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass /home/mnhu/projects/pil/yocto/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/classes/staging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass /home/mnhu/projects/pil/yocto/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/classes/utils.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utils.bbclass /home/mnhu/projects/pil/yocto/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/classes/logging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/logging.bbclass /home/mnhu/projects/pil/yocto/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/classes/package.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass /home/mnhu/projects/pil/yocto/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/classes/insane.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass /home/mnhu/projects/pil/yocto/classes/debian.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass /home/mnhu/projects/pil/yocto/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/classes/license.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass /home/mnhu/projects/pil/yocto/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/classes/sanity.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass"
# set ast.py:363 [finalize]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/abi_version.conf /home/mnhu/projects/pil/yocto/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/site.conf /home/mnhu/projects/pil/yocto/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/site.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/site.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/site.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/auto.conf /home/mnhu/projects/pil/yocto/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/local.conf /home/mnhu/projects/pil/yocto/conf/local.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/version.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/documentation.conf /home/mnhu/projects/pil/yocto/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/licenses.conf /home/mnhu/projects/pil/yocto/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/sanity.conf /home/mnhu/projects/pil/yocto/conf/sanity.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf /home/mnhu/projects/pil/yocto/classes/base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass /home/mnhu/projects/pil/yocto/classes/patch.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass /home/mnhu/projects/pil/yocto/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/classes/staging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass /home/mnhu/projects/pil/yocto/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/classes/utils.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utils.bbclass /home/mnhu/projects/pil/yocto/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/classes/logging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/logging.bbclass /home/mnhu/projects/pil/yocto/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/classes/package.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass /home/mnhu/projects/pil/yocto/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/classes/insane.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass /home/mnhu/projects/pil/yocto/classes/debian.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass /home/mnhu/projects/pil/yocto/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/classes/license.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass /home/mnhu/projects/pil/yocto/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/classes/sanity.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb /home/mnhu/projects/pil/yocto/classes/deploy.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc /home/mnhu/projects/pil/yocto/classes/extrausers.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/extrausers.bbclass /home/mnhu/projects/pil/yocto/classes/useradd_base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/useradd_base.bbclass /home/mnhu/projects/pil/yocto/classes/image.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass /home/mnhu/projects/pil/yocto/classes/rootfs_ipk.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass /home/mnhu/projects/pil/yocto/classes/populate_sdk_ext.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass /home/mnhu/projects/pil/yocto/classes/populate_sdk_base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass /home/mnhu/projects/pil/yocto/classes/meta.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/meta.bbclass /home/mnhu/projects/pil/yocto/classes/image_types_wic.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass /home/mnhu/projects/pil/yocto/classes/image_types_uboot.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass /home/mnhu/projects/pil/yocto/classes/image_types.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass /home/mnhu/projects/pil/yocto/classes/siteinfo.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/siteinfo.bbclass /home/mnhu/projects/pil/yocto/classes/kernel-arch.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass /home/mnhu/projects/pil/yocto/classes/rootfs-postcommands.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass"
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/abi_version.conf /home/mnhu/projects/pil/yocto/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/site.conf /home/mnhu/projects/pil/yocto/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/site.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/site.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/site.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/auto.conf /home/mnhu/projects/pil/yocto/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/local.conf /home/mnhu/projects/pil/yocto/conf/local.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/version.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/documentation.conf /home/mnhu/projects/pil/yocto/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/licenses.conf /home/mnhu/projects/pil/yocto/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/sanity.conf /home/mnhu/projects/pil/yocto/conf/sanity.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf /home/mnhu/projects/pil/yocto/classes/base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass /home/mnhu/projects/pil/yocto/classes/patch.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass /home/mnhu/projects/pil/yocto/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/classes/staging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass /home/mnhu/projects/pil/yocto/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/classes/utils.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utils.bbclass /home/mnhu/projects/pil/yocto/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/classes/logging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/logging.bbclass /home/mnhu/projects/pil/yocto/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/classes/package.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass /home/mnhu/projects/pil/yocto/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/classes/insane.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass /home/mnhu/projects/pil/yocto/classes/debian.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass /home/mnhu/projects/pil/yocto/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/classes/license.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass /home/mnhu/projects/pil/yocto/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/classes/sanity.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb /home/mnhu/projects/pil/yocto/classes/deploy.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc /home/mnhu/projects/pil/yocto/classes/extrausers.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/extrausers.bbclass /home/mnhu/projects/pil/yocto/classes/useradd_base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/useradd_base.bbclass /home/mnhu/projects/pil/yocto/classes/image.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass /home/mnhu/projects/pil/yocto/classes/rootfs_ipk.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass /home/mnhu/projects/pil/yocto/classes/populate_sdk_ext.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass /home/mnhu/projects/pil/yocto/classes/populate_sdk_base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass /home/mnhu/projects/pil/yocto/classes/meta.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/meta.bbclass /home/mnhu/projects/pil/yocto/classes/image_types_wic.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass /home/mnhu/projects/pil/yocto/classes/image_types_uboot.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass /home/mnhu/projects/pil/yocto/classes/image_types.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass /home/mnhu/projects/pil/yocto/classes/siteinfo.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/siteinfo.bbclass /home/mnhu/projects/pil/yocto/classes/kernel-arch.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass /home/mnhu/projects/pil/yocto/classes/rootfs-postcommands.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass"
BBINCLUDED="/home/mnhu/projects/pil/yocto/conf/bblayers.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/layer.conf /home/mnhu/projects/pil/yocto/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/abi_version.conf /home/mnhu/projects/pil/yocto/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/abi_version.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/site.conf /home/mnhu/projects/pil/yocto/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/site.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/site.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/site.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/site.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/auto.conf /home/mnhu/projects/pil/yocto/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/auto.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/local.conf /home/mnhu/projects/pil/yocto/conf/local.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/multiconfig/default.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/build/x86_64-linux.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/target/arm-oe-linuxeabi.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-qt5/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-rauc/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/version.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/documentation.conf /home/mnhu/projects/pil/yocto/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/licenses.conf /home/mnhu/projects/pil/yocto/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/conf/sanity.conf /home/mnhu/projects/pil/yocto/conf/sanity.conf /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf /home/mnhu/projects/pil/yocto/classes/base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass /home/mnhu/projects/pil/yocto/classes/patch.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass /home/mnhu/projects/pil/yocto/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass /home/mnhu/projects/pil/yocto/classes/staging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass /home/mnhu/projects/pil/yocto/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/mirrors.bbclass /home/mnhu/projects/pil/yocto/classes/utils.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utils.bbclass /home/mnhu/projects/pil/yocto/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass /home/mnhu/projects/pil/yocto/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/metadata_scm.bbclass /home/mnhu/projects/pil/yocto/classes/logging.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/logging.bbclass /home/mnhu/projects/pil/yocto/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass /home/mnhu/projects/pil/yocto/classes/package.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass /home/mnhu/projects/pil/yocto/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/packagedata.bbclass /home/mnhu/projects/pil/yocto/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/chrpath.bbclass /home/mnhu/projects/pil/yocto/classes/insane.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass /home/mnhu/projects/pil/yocto/classes/debian.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass /home/mnhu/projects/pil/yocto/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/devshell.bbclass /home/mnhu/projects/pil/yocto/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass /home/mnhu/projects/pil/yocto/classes/license.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass /home/mnhu/projects/pil/yocto/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/remove-libtool.bbclass /home/mnhu/projects/pil/yocto/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/blacklist.bbclass /home/mnhu/projects/pil/yocto/classes/sanity.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb /home/mnhu/projects/pil/yocto/classes/deploy.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc /home/mnhu/projects/pil/yocto/classes/extrausers.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/extrausers.bbclass /home/mnhu/projects/pil/yocto/classes/useradd_base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/useradd_base.bbclass /home/mnhu/projects/pil/yocto/classes/image.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass /home/mnhu/projects/pil/yocto/classes/rootfs_ipk.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass /home/mnhu/projects/pil/yocto/classes/populate_sdk_ext.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass /home/mnhu/projects/pil/yocto/classes/populate_sdk_base.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass /home/mnhu/projects/pil/yocto/classes/meta.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/meta.bbclass /home/mnhu/projects/pil/yocto/classes/image_types_wic.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass /home/mnhu/projects/pil/yocto/classes/image_types_uboot.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass /home/mnhu/projects/pil/yocto/classes/image_types.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass /home/mnhu/projects/pil/yocto/classes/siteinfo.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/siteinfo.bbclass /home/mnhu/projects/pil/yocto/classes/kernel-arch.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass /home/mnhu/projects/pil/yocto/classes/rootfs-postcommands.bbclass /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass"
#
# $BBINCLUDELOGS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:40
# [_defaultval] "yes"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:90
# [doc] "Variable that controls how BitBake displays logs on build failure."
# pre-expansion value:
# "yes"
BBINCLUDELOGS="yes"
#
# $BBINCLUDELOGS_LINES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:91
# [doc] "Amount of log lines printed on failure."
#
# $BBLAYERS [2 operations]
# set /home/mnhu/projects/pil/yocto/conf/bblayers.conf:11
# " ${TOPDIR}/meta-poky/meta ${TOPDIR}/meta-qt5 ${TOPDIR}/meta-rauc ${TOPDIR}/meta-pil ${TOPDIR} "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:92
# [doc] "Lists the layers to enable during the build. This variable is defined in the bblayers.conf configuration file."
# pre-expansion value:
# " ${TOPDIR}/meta-poky/meta ${TOPDIR}/meta-qt5 ${TOPDIR}/meta-rauc ${TOPDIR}/meta-pil ${TOPDIR} "
BBLAYERS=" /home/mnhu/projects/pil/yocto/meta-poky/meta /home/mnhu/projects/pil/yocto/meta-qt5 /home/mnhu/projects/pil/yocto/meta-rauc /home/mnhu/projects/pil/yocto/meta-pil /home/mnhu/projects/pil/yocto "
#
# $BBLAYERS_CONF_UPDATE_FUNCS
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass:35
# " conf/bblayers.conf:LCONF_VERSION:LAYER_CONF_VERSION:oecore_update_bblayers conf/local.conf:CONF_VERSION:LOCALCONF_VERSION:oecore_update_localconf conf/site.conf:SCONF_VERSION:SITE_CONF_VERSION:oecore_update_siteconf "
BBLAYERS_CONF_UPDATE_FUNCS=" conf/bblayers.conf:LCONF_VERSION:LAYER_CONF_VERSION:oecore_update_bblayers conf/local.conf:CONF_VERSION:LOCALCONF_VERSION:oecore_update_localconf conf/site.conf:SCONF_VERSION:SITE_CONF_VERSION:oecore_update_siteconf "
#
# $BBLAYERS_FETCH_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:600
# [_defaultval] "${COREBASE}"
BBLAYERS_FETCH_DIR="/home/mnhu/projects/pil/yocto/meta-poky"
#
# $BBLAYERS_LAYERINDEX_NAME_core
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:14
# "openembedded-core"
BBLAYERS_LAYERINDEX_NAME_core="openembedded-core"
#
# $BBLAYERS_LAYERINDEX_URL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:599
# [_defaultval] "http://layers.openembedded.org/layerindex/"
BBLAYERS_LAYERINDEX_URL="http://layers.openembedded.org/layerindex/"
#
# $BBMASK [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:22
# "/meta-freescale/recipes-multimedia/gstreamer/gstreamer1.0-plugins.*_1\.10.%\.bbappend"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:93
# [doc] "Prevents BitBake from processing specific recipes or recipe append files."
# pre-expansion value:
# " /meta-freescale/recipes-multimedia/gstreamer/gstreamer1.0-plugins.*_1\.10.%\.bbappend"
BBMASK=" /meta-freescale/recipes-multimedia/gstreamer/gstreamer1.0-plugins.*_1\.10.%\.bbappend"
#
# $BBPATH [12 operations]
# set /home/mnhu/projects/pil/yocto/conf/bblayers.conf:3
# "${TOPDIR}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:2
# ":${LAYERDIR}"
# set data_smart.py:938 [expandVarref]
# "${TOPDIR}:/home/mnhu/projects/pil/yocto/meta-poky/meta"
# postdot /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:12
# ":${LAYERDIR}"
# set data_smart.py:938 [expandVarref]
# "${TOPDIR}:/home/mnhu/projects/pil/yocto/meta-poky/meta:/home/mnhu/projects/pil/yocto/meta-qt5"
# postdot /home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf:2
# ":${LAYERDIR}"
# set data_smart.py:938 [expandVarref]
# "${TOPDIR}:/home/mnhu/projects/pil/yocto/meta-poky/meta:/home/mnhu/projects/pil/yocto/meta-qt5:/home/mnhu/projects/pil/yocto/meta-rauc"
# postdot /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:2
# ":${LAYERDIR}"
# set data_smart.py:938 [expandVarref]
# "${TOPDIR}:/home/mnhu/projects/pil/yocto/meta-poky/meta:/home/mnhu/projects/pil/yocto/meta-qt5:/home/mnhu/projects/pil/yocto/meta-rauc:/home/mnhu/projects/pil/yocto/meta-pil"
# postdot /home/mnhu/projects/pil/yocto/conf/layer.conf:2
# ":${LAYERDIR}"
# set data_smart.py:938 [expandVarref]
# "${TOPDIR}:/home/mnhu/projects/pil/yocto/meta-poky/meta:/home/mnhu/projects/pil/yocto/meta-qt5:/home/mnhu/projects/pil/yocto/meta-rauc:/home/mnhu/projects/pil/yocto/meta-pil:/home/mnhu/projects/pil/yocto"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:94
# [doc] "Used by BitBake to locate .bbclass and configuration files. This variable is analogous to the PATH variable."
# pre-expansion value:
# "${TOPDIR}:/home/mnhu/projects/pil/yocto/meta-poky/meta:/home/mnhu/projects/pil/yocto/meta-qt5:/home/mnhu/projects/pil/yocto/meta-rauc:/home/mnhu/projects/pil/yocto/meta-pil:/home/mnhu/projects/pil/yocto"
BBPATH="/home/mnhu/projects/pil/yocto:/home/mnhu/projects/pil/yocto/meta-poky/meta:/home/mnhu/projects/pil/yocto/meta-qt5:/home/mnhu/projects/pil/yocto/meta-rauc:/home/mnhu/projects/pil/yocto/meta-pil:/home/mnhu/projects/pil/yocto"
#
# $BBSERVER
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:95
# [doc] "Points to the server that runs memory-resident BitBake."
#
# $BB_BASEHASH_task-do_build
# set siggen.py:171 [finalise]
# "255f810e56dc90797e73c1b3b2fdbc6a"
BB_BASEHASH_task-do_build="255f810e56dc90797e73c1b3b2fdbc6a"
#
# $BB_BASEHASH_task-do_bundle_initramfs
# set siggen.py:171 [finalise]
# "255f810e56dc90797e73c1b3b2fdbc6a"
BB_BASEHASH_task-do_bundle_initramfs="255f810e56dc90797e73c1b3b2fdbc6a"
#
# $BB_BASEHASH_task-do_checkuri
# set siggen.py:171 [finalise]
# "db15b73013afde7f431d32ad6ed76564"
BB_BASEHASH_task-do_checkuri="db15b73013afde7f431d32ad6ed76564"
#
# $BB_BASEHASH_task-do_checkuriall
# set siggen.py:171 [finalise]
# "2eb2f800d422be6ab46bf6cf0b5b496e"
BB_BASEHASH_task-do_checkuriall="2eb2f800d422be6ab46bf6cf0b5b496e"
#
# $BB_BASEHASH_task-do_clean
# set siggen.py:171 [finalise]
# "41f5aa8076ec8912bc06741089004acd"
BB_BASEHASH_task-do_clean="41f5aa8076ec8912bc06741089004acd"
#
# $BB_BASEHASH_task-do_cleanall
# set siggen.py:171 [finalise]
# "f83b549a5912eb9fbd96d08790b7b55a"
BB_BASEHASH_task-do_cleanall="f83b549a5912eb9fbd96d08790b7b55a"
#
# $BB_BASEHASH_task-do_cleansstate
# set siggen.py:171 [finalise]
# "6d7cb18373298984ae8086ea95a94a15"
BB_BASEHASH_task-do_cleansstate="6d7cb18373298984ae8086ea95a94a15"
#
# $BB_BASEHASH_task-do_compile
# set siggen.py:171 [finalise]
# "adb8cb17412c5d0b633ae736f8904a7f"
BB_BASEHASH_task-do_compile="adb8cb17412c5d0b633ae736f8904a7f"
#
# $BB_BASEHASH_task-do_configure
# set siggen.py:171 [finalise]
# "4d77b97475a6c3784093532143d5a204"
BB_BASEHASH_task-do_configure="4d77b97475a6c3784093532143d5a204"
#
# $BB_BASEHASH_task-do_deploy_setscene
# set siggen.py:171 [finalise]
# "fa94f2b43aa4eecd3428c7c3fcbba89a"
BB_BASEHASH_task-do_deploy_setscene="fa94f2b43aa4eecd3428c7c3fcbba89a"
#
# $BB_BASEHASH_task-do_devpyshell
# set siggen.py:171 [finalise]
# "3973e2a86db603c2e353aa4d0fda58b5"
BB_BASEHASH_task-do_devpyshell="3973e2a86db603c2e353aa4d0fda58b5"
#
# $BB_BASEHASH_task-do_devshell
# set siggen.py:171 [finalise]
# "bebadf1f8928a9aa82783974db7ca190"
BB_BASEHASH_task-do_devshell="bebadf1f8928a9aa82783974db7ca190"
#
# $BB_BASEHASH_task-do_fetch
# set siggen.py:171 [finalise]
# "7965b293be49349a4e8e8e90aa33c827"
BB_BASEHASH_task-do_fetch="7965b293be49349a4e8e8e90aa33c827"
#
# $BB_BASEHASH_task-do_fetchall
# set siggen.py:171 [finalise]
# "a6322471759acb14b3e3264dd9a6cae2"
BB_BASEHASH_task-do_fetchall="a6322471759acb14b3e3264dd9a6cae2"
#
# $BB_BASEHASH_task-do_image [3 operations]
# set siggen.py:171 [finalise]
# "592ff0380c50a5fc3bd12211611abeb8"
# override[qa]:set siggen.py:171 [finalise]
# "4abe81057f64aca32278d7dcd42f4145"
# override[complete]:set siggen.py:171 [finalise]
# "4801a950ff0cd87fc718bff6ea2a74d5"
# pre-expansion value:
# "592ff0380c50a5fc3bd12211611abeb8"
BB_BASEHASH_task-do_image="592ff0380c50a5fc3bd12211611abeb8"
#
# $BB_BASEHASH_task-do_image_complete
# set siggen.py:171 [finalise]
# "4801a950ff0cd87fc718bff6ea2a74d5"
BB_BASEHASH_task-do_image_complete="4801a950ff0cd87fc718bff6ea2a74d5"
#
# $BB_BASEHASH_task-do_image_cpio
# set siggen.py:171 [finalise]
# "8c7b717add6b1d1ba6ff761ebfdedf01"
BB_BASEHASH_task-do_image_cpio="8c7b717add6b1d1ba6ff761ebfdedf01"
#
# $BB_BASEHASH_task-do_image_qa
# set siggen.py:171 [finalise]
# "4abe81057f64aca32278d7dcd42f4145"
BB_BASEHASH_task-do_image_qa="4abe81057f64aca32278d7dcd42f4145"
#
# $BB_BASEHASH_task-do_image_tar
# set siggen.py:171 [finalise]
# "1c1c1a06bb470345fa68e403ad178656"
BB_BASEHASH_task-do_image_tar="1c1c1a06bb470345fa68e403ad178656"
#
# $BB_BASEHASH_task-do_install
# set siggen.py:171 [finalise]
# "4a5e3365f3ccf7b3ff79f561d01c3db6"
BB_BASEHASH_task-do_install="4a5e3365f3ccf7b3ff79f561d01c3db6"
#
# $BB_BASEHASH_task-do_listtasks
# set siggen.py:171 [finalise]
# "7bb1e97eebb79eb860085cecf947f867"
BB_BASEHASH_task-do_listtasks="7bb1e97eebb79eb860085cecf947f867"
#
# $BB_BASEHASH_task-do_package
# set siggen.py:171 [finalise]
# "c86ae3c0b99dd6d938abf4a2f53f62b8"
BB_BASEHASH_task-do_package="c86ae3c0b99dd6d938abf4a2f53f62b8"
#
# $BB_BASEHASH_task-do_package_qa_setscene
# set siggen.py:171 [finalise]
# "fa94f2b43aa4eecd3428c7c3fcbba89a"
BB_BASEHASH_task-do_package_qa_setscene="fa94f2b43aa4eecd3428c7c3fcbba89a"
#
# $BB_BASEHASH_task-do_package_setscene
# set siggen.py:171 [finalise]
# "3f29b36f2da60e15aeffeef53631157a"
BB_BASEHASH_task-do_package_setscene="3f29b36f2da60e15aeffeef53631157a"
#
# $BB_BASEHASH_task-do_package_write_ipk [2 operations]
# set siggen.py:171 [finalise]
# "1d7d4227c436bb8db28504b55ca05978"
# override[setscene]:set siggen.py:171 [finalise]
# "01e1ef3b6dec1fe91091041ec985c454"
# pre-expansion value:
# "1d7d4227c436bb8db28504b55ca05978"
BB_BASEHASH_task-do_package_write_ipk="1d7d4227c436bb8db28504b55ca05978"
#
# $BB_BASEHASH_task-do_package_write_ipk_setscene
# set siggen.py:171 [finalise]
# "01e1ef3b6dec1fe91091041ec985c454"
BB_BASEHASH_task-do_package_write_ipk_setscene="01e1ef3b6dec1fe91091041ec985c454"
#
# $BB_BASEHASH_task-do_packagedata [2 operations]
# set siggen.py:171 [finalise]
# "3f7645372c86d14dd83c93a830f66722"
# override[setscene]:set siggen.py:171 [finalise]
# "fa94f2b43aa4eecd3428c7c3fcbba89a"
# pre-expansion value:
# "3f7645372c86d14dd83c93a830f66722"
BB_BASEHASH_task-do_packagedata="3f7645372c86d14dd83c93a830f66722"
#
# $BB_BASEHASH_task-do_packagedata_setscene
# set siggen.py:171 [finalise]
# "fa94f2b43aa4eecd3428c7c3fcbba89a"
BB_BASEHASH_task-do_packagedata_setscene="fa94f2b43aa4eecd3428c7c3fcbba89a"
#
# $BB_BASEHASH_task-do_patch
# set siggen.py:171 [finalise]
# "42a0be5a6010b305569ac0981b519429"
BB_BASEHASH_task-do_patch="42a0be5a6010b305569ac0981b519429"
#
# $BB_BASEHASH_task-do_populate_lic
# set siggen.py:171 [finalise]
# "84f23a1046c468ca755559baebb29527"
BB_BASEHASH_task-do_populate_lic="84f23a1046c468ca755559baebb29527"
#
# $BB_BASEHASH_task-do_populate_lic_setscene
# set siggen.py:171 [finalise]
# "fa94f2b43aa4eecd3428c7c3fcbba89a"
BB_BASEHASH_task-do_populate_lic_setscene="fa94f2b43aa4eecd3428c7c3fcbba89a"
#
# $BB_BASEHASH_task-do_populate_sdk [2 operations]
# set siggen.py:171 [finalise]
# "cc749b954b1fb832d3c23448da2f70bf"
# override[ext]:set siggen.py:171 [finalise]
# "d4fa3dbd2c1334625ce679358443416e"
# pre-expansion value:
# "cc749b954b1fb832d3c23448da2f70bf"
BB_BASEHASH_task-do_populate_sdk="cc749b954b1fb832d3c23448da2f70bf"
#
# $BB_BASEHASH_task-do_populate_sdk_ext
# set siggen.py:171 [finalise]
# "d4fa3dbd2c1334625ce679358443416e"
BB_BASEHASH_task-do_populate_sdk_ext="d4fa3dbd2c1334625ce679358443416e"
#
# $BB_BASEHASH_task-do_populate_sysroot_setscene
# set siggen.py:171 [finalise]
# "fa94f2b43aa4eecd3428c7c3fcbba89a"
BB_BASEHASH_task-do_populate_sysroot_setscene="fa94f2b43aa4eecd3428c7c3fcbba89a"
#
# $BB_BASEHASH_task-do_prepare_recipe_sysroot
# set siggen.py:171 [finalise]
# "52d8105d97ad0d87ac3867dcbdf99982"
BB_BASEHASH_task-do_prepare_recipe_sysroot="52d8105d97ad0d87ac3867dcbdf99982"
#
# $BB_BASEHASH_task-do_rootfs [2 operations]
# set siggen.py:171 [finalise]
# "b65db28f6fecb9a4999e9b91c3b33300"
# override[wicenv]:set siggen.py:171 [finalise]
# "49b5dae8929cfc2e0508c0b18af244b9"
# pre-expansion value:
# "b65db28f6fecb9a4999e9b91c3b33300"
BB_BASEHASH_task-do_rootfs="b65db28f6fecb9a4999e9b91c3b33300"
#
# $BB_BASEHASH_task-do_rootfs_wicenv
# set siggen.py:171 [finalise]
# "49b5dae8929cfc2e0508c0b18af244b9"
BB_BASEHASH_task-do_rootfs_wicenv="49b5dae8929cfc2e0508c0b18af244b9"
#
# $BB_BASEHASH_task-do_sdk_depends
# set siggen.py:171 [finalise]
# "c8d1b871f4d7050937c6facd00c58a13"
BB_BASEHASH_task-do_sdk_depends="c8d1b871f4d7050937c6facd00c58a13"
#
# $BB_BASEHASH_task-do_unpack
# set siggen.py:171 [finalise]
# "022fcfd9f736aa2b9b1416bab7bd4408"
BB_BASEHASH_task-do_unpack="022fcfd9f736aa2b9b1416bab7bd4408"
#
# $BB_CONSOLELOG [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:843
# "${LOG_DIR}/cooker/${MACHINE}/${DATETIME}.log"
# set cooker.py:364 [initConfigurationData]
# "/home/mnhu/projects/pil/yocto/tmp-glibc/log/cooker/rpi2/20170915073223.log"
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto/tmp-glibc/log/cooker/rpi2/20170915073223.log"
BB_CONSOLELOG="/home/mnhu/projects/pil/yocto/tmp-glibc/log/cooker/rpi2/20170915073223.log"
#
# $BB_CURRENT_MC
# set cookerdata.py:312 [parseConfigurationFiles]
# "default"
BB_CURRENT_MC="default"
#
# $BB_DANGLINGAPPENDS_WARNONLY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:80
# [doc] "Defines how BitBake handles situations where an append file (.bbappend) has no corresponding recipe file (.bb)."
#
# $BB_DEFAULT_TASK
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:1
# "build"
BB_DEFAULT_TASK="build"
#
# $BB_DISKMON_DIRS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:81
# [doc] "Monitors disk space and available inodes during the build and allows you to control the build based on these parameters."
#
# $BB_DISKMON_WARNINTERVAL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:82
# [doc] "Defines the disk space and free inode warning intervals. To set these intervals, define the variable in the conf/local.conf file in the Build Directory."
#
# $BB_ENV_EXTRAWHITE
# from env data.py:124 [inheritFromOS]
# "ALL_PROXY BBPATH_EXTRA BB_NO_NETWORK BB_NUMBER_THREADS BB_SETSCENE_ENFORCE BB_SRCREV_POLICY DISTRO FTPS_PROXY FTP_PROXY GIT_PROXY_COMMAND HTTPS_PROXY HTTP_PROXY MACHINE NO_PROXY PARALLEL_MAKE SCREENDIR SDKMACHINE SOCKS5_PASSWD SOCKS5_USER SSH_AGENT_PID SSH_AUTH_SOCK STAMPS_DIR TCLIBC TCMODE all_proxy ftp_proxy ftps_proxy http_proxy https_proxy no_proxy "
BB_ENV_EXTRAWHITE="ALL_PROXY BBPATH_EXTRA BB_NO_NETWORK BB_NUMBER_THREADS BB_SETSCENE_ENFORCE BB_SRCREV_POLICY DISTRO FTPS_PROXY FTP_PROXY GIT_PROXY_COMMAND HTTPS_PROXY HTTP_PROXY MACHINE NO_PROXY PARALLEL_MAKE SCREENDIR SDKMACHINE SOCKS5_PASSWD SOCKS5_USER SSH_AGENT_PID SSH_AUTH_SOCK STAMPS_DIR TCLIBC TCMODE all_proxy ftp_proxy ftps_proxy http_proxy https_proxy no_proxy "
#
# $BB_GENERATE_MIRROR_TARBALLS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:35
# [_defaultval] "0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:83
# [doc] "Causes tarballs of the Git repositories to be placed in the DL_DIR directory."
# pre-expansion value:
# "0"
BB_GENERATE_MIRROR_TARBALLS="0"
#
# $BB_HASHBASE_WHITELIST
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:853
# "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH BB_WORKERCONTEXT BB_LIMITEDDEPS extend_recipe_sysroot DEPLOY_DIR"
BB_HASHBASE_WHITELIST="TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH BB_WORKERCONTEXT BB_LIMITEDDEPS extend_recipe_sysroot DEPLOY_DIR"
#
# $BB_HASHCHECK_FUNCTION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:763
# "sstate_checkhashes"
BB_HASHCHECK_FUNCTION="sstate_checkhashes"
#
# $BB_HASHCONFIG_WHITELIST
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:859
# "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED GIT_PROXY_COMMAND ALL_PROXY all_proxy NO_PROXY no_proxy FTP_PROXY ftp_proxy HTTP_PROXY http_proxy HTTPS_PROXY https_proxy SOCKS5_USER SOCKS5_PASSWD BB_SETSCENE_ENFORCE"
BB_HASHCONFIG_WHITELIST="TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH BB_WORKERCONTEXT BB_LIMITEDDEPS extend_recipe_sysroot DEPLOY_DIR DATE TIME SSH_AGENT_PID SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED GIT_PROXY_COMMAND ALL_PROXY all_proxy NO_PROXY no_proxy FTP_PROXY ftp_proxy HTTP_PROXY http_proxy HTTPS_PROXY https_proxy SOCKS5_USER SOCKS5_PASSWD BB_SETSCENE_ENFORCE"
#
# $BB_HASHFILENAME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:38
# "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}"
BB_HASHFILENAME="False sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3: sstate:rescue-rootfs::1.0:r0::3:"
#
# $BB_MIN_VERSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf:6
# "1.33.4"
BB_MIN_VERSION="1.33.4"
#
# $BB_NUMBER_THREADS [3 operations]
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:18
# "4"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:84
# [doc] "The maximum number of tasks BitBake should run in parallel at any one time. A good rule of thumb is to set this variable to twice the number of cores."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:772
# "${@oe.utils.cpu_count()}"
# pre-expansion value:
# "4"
BB_NUMBER_THREADS="4"
#
# $BB_ORIGENV
# set cookerdata.py:257 [__init__]
# "<bb.data_smart.DataSmart object at 0x7fe264202160>"
BB_ORIGENV="<bb.data_smart.DataSmart object at 0x7fe25c7326d8>"
#
# $BB_SETSCENE_DEPVALID
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:895
# "setscene_depvalid"
BB_SETSCENE_DEPVALID="setscene_depvalid"
#
# $BB_SIGNATURE_EXCLUDE_FLAGS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:865
# "doc deps depends lockfiles type vardepsexclude vardeps vardepvalue vardepvalueexclude file-checksums python func task export unexport noexec nostamp dirs cleandirs sstate-lockfile-shared prefuncs postfuncs export_func deptask rdeptask recrdeptask nodeprrecs stamp-extra-info sstate-outputdirs filename lineno progress"
BB_SIGNATURE_EXCLUDE_FLAGS="doc deps depends lockfiles type vardepsexclude vardeps vardepvalue vardepvalueexclude file-checksums python func task export unexport noexec nostamp dirs cleandirs sstate-lockfile-shared prefuncs postfuncs export_func deptask rdeptask recrdeptask nodeprrecs stamp-extra-info sstate-outputdirs filename lineno progress"
#
# $BB_SIGNATURE_HANDLER
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:846
# "OEBasicHash"
BB_SIGNATURE_HANDLER="OEBasicHash"
#
# $BB_STRICT_CHECKSUM
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:45
# "1"
BB_STRICT_CHECKSUM="1"
#
# $BB_VERSION
# set base.bbclass:237 [base_eventhandler]
# "1.34.0"
BB_VERSION="1.34.0"
#
# $BINCONFIG_GLOB
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:96
# [doc] "When inheriting binconfig.bbclass from a recipe, this variable specifies a wildcard for configuration scripts that need editing."
#
# $BINUVERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:27
# "2.28%"
BINUVERSION="2.28%"
#
# $BP [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:217
# "${BPN}-${PV}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:97
# [doc] "The base recipe name and version but without any special recipe name suffix (i.e. -native, lib64-, and so forth). BP is comprised of ${BPN}-${PV}"
# pre-expansion value:
# "${BPN}-${PV}"
BP="rescue-rootfs-1.0"
#
# $BPN [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:216
# "${@base_prune_suffix(d.getVar('PN'), d.getVar('SPECIAL_PKGSUFFIX').split(), d)}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:98
# [doc] "The bare name of the recipe. This variable is a version of the PN variable but removes common suffixes and prefixes."
# pre-expansion value:
# "${@base_prune_suffix(d.getVar('PN'), d.getVar('SPECIAL_PKGSUFFIX').split(), d)}"
BPN="rescue-rootfs"
#
# $BUGTRACKER
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:99
# [doc] "Specifies a URL for an upstream bug tracking website for a recipe."
#
# $BUILDCFG_FUNCS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:208
# [_defaultval] "buildcfg_vars get_layers_branch_rev buildcfg_neededvars"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:209
# [type] "list"
# pre-expansion value:
# "buildcfg_vars get_layers_branch_rev buildcfg_neededvars"
BUILDCFG_FUNCS="buildcfg_vars get_layers_branch_rev buildcfg_neededvars"
#
# $BUILDCFG_HEADER
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:679
# "Build Configuration:"
BUILDCFG_HEADER="Build Configuration:"
#
# $BUILDCFG_NEEDEDVARS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:682
# "TARGET_ARCH TARGET_OS"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:683
# [type] "list"
# pre-expansion value:
# "TARGET_ARCH TARGET_OS"
BUILDCFG_NEEDEDVARS="TARGET_ARCH TARGET_OS"
#
# $BUILDCFG_VARS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:680
# "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:681
# [type] "list"
# pre-expansion value:
# "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU"
BUILDCFG_VARS="BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU"
#
# $BUILDDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:102
# [doc] "Points to the location of the Build Directory."
#
# $BUILDSDK_CFLAGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:544
# "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
BUILDSDK_CFLAGS=" -O2 -pipe"
#
# $BUILDSDK_CPPFLAGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:539
# ""
BUILDSDK_CPPFLAGS=""
#
# $BUILDSDK_LDFLAGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:560
# "-Wl,-O1"
BUILDSDK_LDFLAGS="-Wl,-O1"
#
# $BUILDSTATS_BASE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:103
# [doc] "Points to the location of the directory that holds build statistics when you use and enable the buildstats class."
#
# $BUILD_AR [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:517
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:517
# "${BUILD_PREFIX}ar"
# pre-expansion value:
# "${BUILD_PREFIX}ar"
export BUILD_AR="ar"
#
# $BUILD_ARCH [2 operations]
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:92
# "${@os.uname()[4]}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:100
# [doc] "The name of the building architecture (e.g. i686)."
# pre-expansion value:
# "x86_64"
BUILD_ARCH="x86_64"
#
# $BUILD_AS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:518
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:518
# "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
# pre-expansion value:
# "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
export BUILD_AS="as "
#
# $BUILD_AS_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:99
# ""
BUILD_AS_ARCH=""
#
# $BUILD_CC [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:511
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:511
# "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
# pre-expansion value:
# "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
export BUILD_CC="gcc "
#
# $BUILD_CCLD [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:516
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:516
# "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
# pre-expansion value:
# "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
export BUILD_CCLD="gcc "
#
# $BUILD_CC_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:97
# ""
BUILD_CC_ARCH=""
#
# $BUILD_CFLAGS [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:543
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:543
# "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
# _append[pn-binutils-native] /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc:17
# " -pie -fpie"
# pre-expansion value:
# "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
export BUILD_CFLAGS="-isystem/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/include -O2 -pipe"
#
# $BUILD_CPP [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:514
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:514
# "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
# pre-expansion value:
# "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
export BUILD_CPP="gcc -E"
#
# $BUILD_CPPFLAGS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:538
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:538
# "-isystem${STAGING_INCDIR_NATIVE}"
# pre-expansion value:
# "-isystem${STAGING_INCDIR_NATIVE}"
export BUILD_CPPFLAGS="-isystem/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/include"
#
# $BUILD_CXX [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:512
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:512
# "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
# pre-expansion value:
# "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
export BUILD_CXX="g++ "
#
# $BUILD_CXXFLAGS [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:548
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:548
# "${BUILD_CFLAGS}"
# _append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc:5
# " -D_GLIBCXX_USE_CXX11_ABI=0"
# _append[pn-icu-native] /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc:9
# " -std=c++98"
# pre-expansion value:
# "${BUILD_CFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0"
export BUILD_CXXFLAGS="-isystem/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/include -O2 -pipe -D_GLIBCXX_USE_CXX11_ABI=0"
#
# $BUILD_EXEEXT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:100
# ""
BUILD_EXEEXT=""
#
# $BUILD_FC [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:513
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:513
# "${CCACHE}${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
# pre-expansion value:
# "${CCACHE}${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
export BUILD_FC="gfortran "
#
# $BUILD_LD [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:515
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:515
# "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
# pre-expansion value:
# "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
export BUILD_LD="ld "
#
# $BUILD_LDFLAGS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:558
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:558
# "-L${STAGING_LIBDIR_NATIVE} -L${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-O1"
# pre-expansion value:
# "-L${STAGING_LIBDIR_NATIVE} -L${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-O1"
export BUILD_LDFLAGS="-L/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib -L/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/lib -Wl,-O1"
#
# $BUILD_LD_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:98
# ""
BUILD_LD_ARCH=""
#
# $BUILD_NM [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:521
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:521
# "${BUILD_PREFIX}nm"
# pre-expansion value:
# "${BUILD_PREFIX}nm"
export BUILD_NM="nm"
#
# $BUILD_OPTIMIZATION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:594
# "-O2 -pipe"
BUILD_OPTIMIZATION="-O2 -pipe"
#
# $BUILD_OS [2 operations]
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:93
# "${@os.uname()[0].lower()}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:101
# [doc] "The operating system (in lower case) of the building architecture (e.g. linux)."
# pre-expansion value:
# "linux"
BUILD_OS="linux"
#
# $BUILD_PREFIX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:96
# ""
BUILD_PREFIX=""
#
# $BUILD_RANLIB [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:519
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:519
# "${BUILD_PREFIX}ranlib"
# pre-expansion value:
# "${BUILD_PREFIX}ranlib"
export BUILD_RANLIB="ranlib"
#
# $BUILD_STRIP [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:520
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:520
# "${BUILD_PREFIX}strip"
# pre-expansion value:
# "${BUILD_PREFIX}strip"
export BUILD_STRIP="strip"
#
# $BUILD_SYS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:95
# "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
BUILD_SYS="x86_64-linux"
#
# $BUILD_VENDOR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:94
# ""
BUILD_VENDOR=""
#
# $BUSYBOX_SPLIT_SUID
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:104
# [doc] "For the BusyBox recipe, specifies whether to split the output executable file into two parts: one for features that require setuid root, and one for the remaining features."
#
# $BZRDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:340
# "${CO_DIR}/bzr"
BZRDIR="/home/mnhu/projects/pil/yocto/downloads/bzr"
#
# $B_task-populate-sdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:31
# "${SDK_DIR}"
B_task-populate-sdk="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk"
#
# $B_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:79
# "${SDK_DIR}"
B_task-populate-sdk-ext="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk"
#
# $CACHE [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:332
# "${TMPDIR}/cache${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:18
# "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:108
# [doc] "The directory holding the cache of the metadata."
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:769
# "${CACHE}"
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto/tmp-glibc/cache/default-glibc/rpi2/x86_64"
CACHE="/home/mnhu/projects/pil/yocto/tmp-glibc/cache/default-glibc/rpi2/x86_64"
#
# $CC [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:494
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:494
# "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
# pre-expansion value:
# "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
export CC="arm-oe-linux-gnueabi-gcc -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $CCACHE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:483
# [_defaultval] ""
CCACHE=""
#
# $CCACHE_DIR [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:490
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:490
# [_defaultval] "${@os.getenv('HOME')}/.ccache"
# pre-expansion value:
# "${@os.getenv('HOME')}/.ccache"
export CCACHE_DIR="/home/mnhu/.ccache"
#
# $CCACHE_DISABLE [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:486
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:486
# [_defaultval] "${@[0,1][d.getVar('CCACHE') == '']}"
# pre-expansion value:
# "${@[0,1][d.getVar('CCACHE') == '']}"
export CCACHE_DISABLE="1"
#
# $CCLD [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:499
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:499
# "${CC}"
# pre-expansion value:
# "${CC}"
export CCLD="arm-oe-linux-gnueabi-gcc -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $CFLAGS [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:545
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:545
# "${TARGET_CFLAGS}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:109
# [doc] "Flags passed to the C compiler for the target system. This variable evaluates to the same as TARGET_CFLAGS."
# pre-expansion value:
# "${TARGET_CFLAGS}"
export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
#
# $CHRPATH_BIN
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/chrpath.bbclass:1
# "chrpath"
CHRPATH_BIN="chrpath"
#
# $CLASSOVERRIDE [3 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:718
# "class-target"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:110
# [doc] "An internal variable specifying the special class override that should currently apply (e.g. "class-target", "class-native", and so forth)."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:2
# "class-target"
# pre-expansion value:
# "class-target"
CLASSOVERRIDE="class-target"
#
# $CLEANBROKEN [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:111
# [doc] "Specifies if 'make clean' does not work for a recipe (and therefore the build system should not try to use it during do_configure)"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:304
# "0"
# pre-expansion value:
# "0"
CLEANBROKEN="0"
#
# $CLEANFUNCS [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass:20
# ""
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:514
# "sstate_cleanall"
# pre-expansion value:
# " sstate_cleanall"
CLEANFUNCS=" sstate_cleanall"
#
# $COMBINED_FEATURES [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:112
# [doc] "A set of features common between MACHINE_FEATURES and DISTRO_FEATURES."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:812
# "${@oe.utils.set_intersect('DISTRO_FEATURES', 'MACHINE_FEATURES', d)}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:813
# [vardeps] "DISTRO_FEATURES MACHINE_FEATURES"
# pre-expansion value:
# "${@oe.utils.set_intersect('DISTRO_FEATURES', 'MACHINE_FEATURES', d)}"
COMBINED_FEATURES=""
#
# $COMMERCIAL_AUDIO_PLUGINS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:28
# ""
COMMERCIAL_AUDIO_PLUGINS=""
#
# $COMMERCIAL_VIDEO_PLUGINS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:30
# ""
COMMERCIAL_VIDEO_PLUGINS=""
#
# $COMMON_LICENSE_DIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:33
# [_defaultval] "${COREBASE}/meta/files/common-licenses"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:113
# [doc] "Points to meta/files/common-licenses in the Source Directory, which is where generic license files reside."
# pre-expansion value:
# "${COREBASE}/meta/files/common-licenses"
COMMON_LICENSE_DIR="/home/mnhu/projects/pil/yocto/meta-poky/meta/files/common-licenses"
#
# $COMPATIBLE_HOST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:114
# [doc] "A regular expression that resolves to one or more hosts (when the recipe is native) or one or more targets (when the recipe is non-native) with which a recipe is compatible."
#
# $COMPATIBLE_MACHINE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:115
# [doc] "A regular expression that resolves to one or more target machines with which a recipe is compatible."
#
# $COMPLEMENTARY_GLOB [6 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:116
# [doc] "Defines wildcards to match when installing a list of complementary packages for all the packages installed in an image."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:5
# [dev-pkgs] "*-dev"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:6
# [staticdev-pkgs] "*-staticdev"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:7
# [doc-pkgs] "*-doc"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:8
# [dbg-pkgs] "*-dbg"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:9
# [ptest-pkgs] "*-ptest"
# pre-expansion value:
# "None"
#
# $COMPONENTS_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:354
# "${STAGING_DIR}-components"
COMPONENTS_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components"
#
# $COMPRESSIONTYPES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:255
# ""
COMPRESSIONTYPES=""
#
# $CONFFILES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:117
# [doc] "Identifies editable or configurable files that are part of a package."
#
# $CONFIGURESTAMPFILE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:303
# "${WORKDIR}/configure.sstate"
CONFIGURESTAMPFILE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/configure.sstate"
#
# $CONFIG_SITE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:118
# [doc] "A list of files that contains autoconf test results relevant to the current build. This variable is used by the Autotools utilities when running configure."
#
# $CONFLICT_DISTRO_FEATURES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:119
# [doc] "When a recipe inherits the distro_features_check class, this variable identifies distribution features that would be in conflict should the recipe be built."
#
# $CONF_VERSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:122
# [doc] "Tracks the version of local.conf. Increased each time build/conf/ changes incompatibly."
#
# $CONVERSIONTYPES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:257
# "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap ${COMPRESSIONTYPES}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:8
# "gz.u-boot bz2.u-boot lz4.u-boot lzma.u-boot lzo.u-boot u-boot"
# pre-expansion value:
# "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap ${COMPRESSIONTYPES} gz.u-boot bz2.u-boot lz4.u-boot lzma.u-boot lzo.u-boot u-boot"
CONVERSIONTYPES="gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap gz.u-boot bz2.u-boot lz4.u-boot lzma.u-boot lzo.u-boot u-boot"
#
# $CONVERSION_CMD_bmap
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:273
# "bmaptool create ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} -o ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.bmap"
CONVERSION_CMD_bmap="bmaptool create rescue-rootfs-rpi2-20170915073224.rootfs.\${type} -o rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.bmap"
#
# $CONVERSION_CMD_bz2
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:260
# "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_bz2="pbzip2 -f -k rescue-rootfs-rpi2-20170915073224.rootfs.\${type}"
#
# $CONVERSION_CMD_bz2.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:17
# "${CONVERSION_CMD_bz2}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.bz2 bzip2"
CONVERSION_CMD_bz2.u-boot="pbzip2 -f -k rescue-rootfs-rpi2-20170915073224.rootfs.\${type}; oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.bz2 bzip2"
#
# $CONVERSION_CMD_gz
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:259
# "gzip -f -9 -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz"
CONVERSION_CMD_gz="gzip -f -9 -c rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.gz"
#
# $CONVERSION_CMD_gz.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:14
# "${CONVERSION_CMD_gz}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.gz gzip"
CONVERSION_CMD_gz.u-boot="gzip -f -9 -c rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.gz; oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.gz gzip"
#
# $CONVERSION_CMD_lz4 [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:262
# "lz4 -9 -z ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
# override[legacy]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:263
# "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
# pre-expansion value:
# "lz4 -9 -z ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
CONVERSION_CMD_lz4="lz4 -9 -z rescue-rootfs-rpi2-20170915073224.rootfs.\${type} rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.lz4"
#
# $CONVERSION_CMD_lz4.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:20
# "${CONVERSION_CMD_lz4_legacy}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lz4 lz4"
CONVERSION_CMD_lz4.u-boot="lz4 -9 -z -l rescue-rootfs-rpi2-20170915073224.rootfs.\${type} rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.lz4; oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.lz4 lz4"
#
# $CONVERSION_CMD_lz4_legacy
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:263
# "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4"
CONVERSION_CMD_lz4_legacy="lz4 -9 -z -l rescue-rootfs-rpi2-20170915073224.rootfs.\${type} rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.lz4"
#
# $CONVERSION_CMD_lzma
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:258
# "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_lzma="lzma -k -f -7 rescue-rootfs-rpi2-20170915073224.rootfs.\${type}"
#
# $CONVERSION_CMD_lzma.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:23
# "${CONVERSION_CMD_lzma}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzma lzma"
CONVERSION_CMD_lzma.u-boot="lzma -k -f -7 rescue-rootfs-rpi2-20170915073224.rootfs.\${type}; oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.lzma lzma"
#
# $CONVERSION_CMD_lzo
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:264
# "lzop -9 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_lzo="lzop -9 rescue-rootfs-rpi2-20170915073224.rootfs.\${type}"
#
# $CONVERSION_CMD_lzo.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:26
# "${CONVERSION_CMD_lzo}; oe_mkimage ${IMAGE_NAME}.rootfs.${type}.lzo lzo"
CONVERSION_CMD_lzo.u-boot="lzop -9 rescue-rootfs-rpi2-20170915073224.rootfs.\${type}; oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.lzo lzo"
#
# $CONVERSION_CMD_md5sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:267
# "md5sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.md5sum"
CONVERSION_CMD_md5sum="md5sum rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.md5sum"
#
# $CONVERSION_CMD_sha1sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:268
# "sha1sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha1sum"
CONVERSION_CMD_sha1sum="sha1sum rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.sha1sum"
#
# $CONVERSION_CMD_sha224sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:269
# "sha224sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha224sum"
CONVERSION_CMD_sha224sum="sha224sum rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.sha224sum"
#
# $CONVERSION_CMD_sha256sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:270
# "sha256sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha256sum"
CONVERSION_CMD_sha256sum="sha256sum rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.sha256sum"
#
# $CONVERSION_CMD_sha384sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:271
# "sha384sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha384sum"
CONVERSION_CMD_sha384sum="sha384sum rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.sha384sum"
#
# $CONVERSION_CMD_sha512sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:272
# "sha512sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha512sum"
CONVERSION_CMD_sha512sum="sha512sum rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.sha512sum"
#
# $CONVERSION_CMD_sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:266
# "sumtool -i ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} -o ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sum ${JFFS2_SUM_EXTRA_ARGS}"
CONVERSION_CMD_sum="sumtool -i rescue-rootfs-rpi2-20170915073224.rootfs.\${type} -o rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.sum "
#
# $CONVERSION_CMD_u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:11
# "oe_mkimage ${IMAGE_NAME}.rootfs.${type} none"
CONVERSION_CMD_u-boot="oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.\${type} none"
#
# $CONVERSION_CMD_xz
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:261
# "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_THREADS} --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.xz"
CONVERSION_CMD_xz="xz -f -k -c -3 -T 0 --check=crc32 rescue-rootfs-rpi2-20170915073224.rootfs.\${type} > rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.xz"
#
# $CONVERSION_CMD_zip
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:265
# "zip ${ZIP_COMPRESSION_LEVEL} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.zip ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_zip="zip -9 rescue-rootfs-rpi2-20170915073224.rootfs.\${type}.zip rescue-rootfs-rpi2-20170915073224.rootfs.\${type}"
#
# $CONVERSION_DEPENDS_bmap
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:282
# "bmap-tools-native"
CONVERSION_DEPENDS_bmap="bmap-tools-native"
#
# $CONVERSION_DEPENDS_bz2
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:276
# "pbzip2-native"
CONVERSION_DEPENDS_bz2="pbzip2-native"
#
# $CONVERSION_DEPENDS_bz2.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:16
# "u-boot-mkimage-native"
CONVERSION_DEPENDS_bz2.u-boot="u-boot-mkimage-native"
#
# $CONVERSION_DEPENDS_gz
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:275
# "pigz-native"
CONVERSION_DEPENDS_gz="pigz-native"
#
# $CONVERSION_DEPENDS_gz.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:13
# "u-boot-mkimage-native"
CONVERSION_DEPENDS_gz.u-boot="u-boot-mkimage-native"
#
# $CONVERSION_DEPENDS_lz4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:278
# "lz4-native"
CONVERSION_DEPENDS_lz4="lz4-native"
#
# $CONVERSION_DEPENDS_lz4.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:19
# "u-boot-mkimage-native"
CONVERSION_DEPENDS_lz4.u-boot="u-boot-mkimage-native"
#
# $CONVERSION_DEPENDS_lzma
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:274
# "xz-native"
CONVERSION_DEPENDS_lzma="xz-native"
#
# $CONVERSION_DEPENDS_lzma.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:22
# "u-boot-mkimage-native"
CONVERSION_DEPENDS_lzma.u-boot="u-boot-mkimage-native"
#
# $CONVERSION_DEPENDS_lzo
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:279
# "lzop-native"
CONVERSION_DEPENDS_lzo="lzop-native"
#
# $CONVERSION_DEPENDS_lzo.u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:25
# "u-boot-mkimage-native"
CONVERSION_DEPENDS_lzo.u-boot="u-boot-mkimage-native"
#
# $CONVERSION_DEPENDS_sum
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:281
# "mtd-utils-native"
CONVERSION_DEPENDS_sum="mtd-utils-native"
#
# $CONVERSION_DEPENDS_u-boot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:10
# "u-boot-mkimage-native"
CONVERSION_DEPENDS_u-boot="u-boot-mkimage-native"
#
# $CONVERSION_DEPENDS_xz
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:277
# "xz-native"
CONVERSION_DEPENDS_xz="xz-native"
#
# $CONVERSION_DEPENDS_zip
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:280
# "zip-native"
CONVERSION_DEPENDS_zip="zip-native"
#
# $COREBASE [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:17
# "${@os.path.normpath("${LAYERDIR}/../")}"
# set data_smart.py:938 [expandVarref]
# "${@os.path.normpath("/home/mnhu/projects/pil/yocto/meta-poky/meta/../")}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:121
# [doc] "Specifies the parent directory of the OpenEmbedded Core Metadata layer (i.e. meta)."
# pre-expansion value:
# "${@os.path.normpath("/home/mnhu/projects/pil/yocto/meta-poky/meta/../")}"
COREBASE="/home/mnhu/projects/pil/yocto/meta-poky"
#
# $COREBASE_FILES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:76
# " oe-init-build-env oe-init-build-env-memres scripts LICENSE .templateconf "
COREBASE_FILES=" oe-init-build-env oe-init-build-env-memres scripts LICENSE .templateconf "
#
# $CORE_IMAGE_EXTRA_INSTALL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:120
# [doc] "Specifies the list of packages to be added to the image. You should only set this variable in the conf/local.conf file in the Build Directory."
#
# $CO_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:336
# "${DL_DIR}"
CO_DIR="/home/mnhu/projects/pil/yocto/downloads"
#
# $CPAN_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:620
# "http://search.cpan.org/CPAN"
CPAN_MIRROR="http://search.cpan.org/CPAN"
#
# $CPP [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:497
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:497
# "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
# pre-expansion value:
# "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
export CPP="arm-oe-linux-gnueabi-gcc -E --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7"
#
# $CPPFLAGS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:540
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:540
# "${TARGET_CPPFLAGS}"
# pre-expansion value:
# "${TARGET_CPPFLAGS}"
export CPPFLAGS=""
#
# $CVSDIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:337
# "${CO_DIR}/cvs"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:123
# [doc] "The directory where cvs checkouts will be stored in."
# pre-expansion value:
# "${CO_DIR}/cvs"
CVSDIR="/home/mnhu/projects/pil/yocto/downloads/cvs"
#
# $CXX [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:495
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:495
# "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
# pre-expansion value:
# "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
export CXX="arm-oe-linux-gnueabi-g++ -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $CXXFLAGS [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:549
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:549
# "${TARGET_CXXFLAGS}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:19
# "-fvisibility-inlines-hidden"
# pre-expansion value:
# "${TARGET_CXXFLAGS} -fvisibility-inlines-hidden"
export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= -fvisibility-inlines-hidden"
#
# $D [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:349
# "${WORKDIR}/image"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:127
# [doc] "The destination directory."
# pre-expansion value:
# "${WORKDIR}/image"
D="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image"
#
# $DATA_LICENSE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:130
# "CC0-1.0"
DATA_LICENSE="CC0-1.0"
#
# $DATE [2 operations]
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:158
# "${@time.strftime('%Y%m%d',time.gmtime())}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:128
# [doc] "The date the build was started using YMD format."
# pre-expansion value:
# "20170915"
DATE="20170915"
#
# $DATETIME [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:160
# "${DATE}${TIME}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:129
# [doc] "The date and time the build was started."
# pre-expansion value:
# "${DATE}${TIME}"
DATETIME="20170915073224"
#
# $DEBIANRDEP [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass:16
# "do_packagedata"
# set debian.bbclass:25 [__anon_25__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_debian_bbclass]
# ""
# pre-expansion value:
# ""
DEBIANRDEP=""
#
# $DEBIAN_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:607
# "http://ftp.debian.org/debian/pool"
DEBIAN_MIRROR="http://ftp.debian.org/debian/pool"
#
# $DEBIAN_NAMES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass:140
# "1"
DEBIAN_NAMES="1"
#
# $DEBUG_BUILD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:130
# [doc] "Specifies to build packages with debugging information. This influences the value of the SELECTED_OPTIMIZATION variable."
#
# $DEBUG_FLAGS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:587
# "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}"
DEBUG_FLAGS="-g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
#
# $DEBUG_OPTIMIZATION [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:591
# "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:131
# [doc] "The options to pass in TARGET_CFLAGS and CFLAGS when compiling a system for debugging. This variable defaults to '-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe'."
# pre-expansion value:
# "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe"
DEBUG_OPTIMIZATION="-O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= -pipe"
#
# $DEBUG_PREFIX_MAP
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:586
# "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} -fdebug-prefix-map=${STAGING_DIR_NATIVE}= -fdebug-prefix-map=${STAGING_DIR_HOST}= "
DEBUG_PREFIX_MAP="-fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
#
# $DEFAULTTUNE [7 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:1
# "armv7vethf-neon"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:1
# "armv7vethf"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:1
# "armv7athf"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:1
# "armv6hf"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:1
# "armv5"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:1
# "armv4"
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:5
# "cortexa7thf-neon-vfpv4"
# pre-expansion value:
# "cortexa7thf-neon-vfpv4"
DEFAULTTUNE="cortexa7thf-neon-vfpv4"
#
# $DEFAULT_PREFERENCE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:132
# [doc] "Specifies a weak bias for recipe selection priority."
#
# $DEFAULT_TASK_PROVIDER
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:759
# "packagegroup-base"
DEFAULT_TASK_PROVIDER="packagegroup-base"
#
# $DEPCHAIN_POST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:258
# "-dev -dbg"
DEPCHAIN_POST="-dev -dbg"
#
# $DEPCHAIN_PRE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:257
# ""
DEPCHAIN_PRE=""
#
# $DEPENDS [6 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:260
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:133
# [doc] "Lists a recipe's build-time dependencies (i.e. other recipe files)."
# _prepend /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:81
# "${BASEDEPENDS} "
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:14
# "${MLPREFIX}qemuwrapper-cross depmodwrapper-cross"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:44
# "${@ '${WKS_FILE_DEPENDS}' if d.getVar('USING_WIC') else '' }"
# override[pn-qtbase]:set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:21
# "virtual/libgles2"
# pre-expansion value:
# "${BASEDEPENDS} ${MLPREFIX}qemuwrapper-cross depmodwrapper-cross ${@ '${WKS_FILE_DEPENDS}' if d.getVar('USING_WIC') else '' }"
DEPENDS=" qemuwrapper-cross depmodwrapper-cross "
#
# $DEPENDS_pn-qtbase
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:21
# "virtual/libgles2"
DEPENDS_pn-qtbase="virtual/libgles2"
#
# $DEPLOYABLE_IMAGE_TYPES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:287
# "hddimg iso"
DEPLOYABLE_IMAGE_TYPES="hddimg iso"
#
# $DEPLOYDIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:136
# [doc] "For recipes that inherit the deploy class, the DEPLOYDIR points to a temporary work area for deployed files."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass:1
# "${WORKDIR}/deploy-${PN}"
# pre-expansion value:
# "${WORKDIR}/deploy-${PN}"
DEPLOYDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs"
#
# $DEPLOY_DIR [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:385
# "${TMPDIR}/deploy"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:134
# [doc] "Points to the general area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
# pre-expansion value:
# "${TMPDIR}/deploy"
DEPLOY_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy"
#
# $DEPLOY_DIR_DEB
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:389
# "${DEPLOY_DIR}/deb"
DEPLOY_DIR_DEB="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/deb"
#
# $DEPLOY_DIR_IMAGE [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:390
# "${DEPLOY_DIR}/images/${MACHINE}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:135
# [doc] "Points to the area that the OpenEmbedded build system uses to place images and other associated output files that are ready to be deployed onto the target machine."
# pre-expansion value:
# "${DEPLOY_DIR}/images/${MACHINE}"
DEPLOY_DIR_IMAGE="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/images/rpi2"
#
# $DEPLOY_DIR_IPK
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:387
# "${DEPLOY_DIR}/ipk"
DEPLOY_DIR_IPK="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/ipk"
#
# $DEPLOY_DIR_RPM
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:388
# "${DEPLOY_DIR}/rpm"
DEPLOY_DIR_RPM="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/rpm"
#
# $DEPLOY_DIR_TAR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:386
# "${DEPLOY_DIR}/tar"
DEPLOY_DIR_TAR="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/tar"
#
# $DEPLOY_DIR_TOOLS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:391
# "${DEPLOY_DIR}/tools"
DEPLOY_DIR_TOOLS="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/tools"
#
# $DESCRIPTION [6 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:224
# "${SUMMARY}."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:137
# [doc] "The package description used by package managers. If not set, DESCRIPTION takes the value of the SUMMARY variable."
# override[rescue-rootfs-dbg]:rename from DESCRIPTION_${PN}-dbg data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains ELF symbols and related sources for debugging purposes."
# override[rescue-rootfs-dev]:rename from DESCRIPTION_${PN}-dev data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains symbolic links, header files, and related items necessary for software development."
# override[rescue-rootfs-doc]:rename from DESCRIPTION_${PN}-doc data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains documentation."
# override[rescue-rootfs-staticdev]:rename from DESCRIPTION_${PN}-staticdev data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains static libraries for software development."
# pre-expansion value:
# "${SUMMARY}."
DESCRIPTION="PIL rescue-rootfs."
#
# $DESCRIPTION_rescue-rootfs-dbg
# rename from DESCRIPTION_${PN}-dbg data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains ELF symbols and related sources for debugging purposes."
DESCRIPTION_rescue-rootfs-dbg="PIL rescue-rootfs. This package contains ELF symbols and related sources for debugging purposes."
#
# $DESCRIPTION_rescue-rootfs-dev
# rename from DESCRIPTION_${PN}-dev data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains symbolic links, header files, and related items necessary for software development."
DESCRIPTION_rescue-rootfs-dev="PIL rescue-rootfs. This package contains symbolic links, header files, and related items necessary for software development."
#
# $DESCRIPTION_rescue-rootfs-doc
# rename from DESCRIPTION_${PN}-doc data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains documentation."
DESCRIPTION_rescue-rootfs-doc="PIL rescue-rootfs. This package contains documentation."
#
# $DESCRIPTION_rescue-rootfs-staticdev
# rename from DESCRIPTION_${PN}-staticdev data.py:116 [expandKeys]
# "${DESCRIPTION} This package contains static libraries for software development."
DESCRIPTION_rescue-rootfs-staticdev="PIL rescue-rootfs. This package contains static libraries for software development."
#
# $DEVSHELL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/devshell.bbclass:3
# "${SHELL}"
DEVSHELL="bash"
#
# $DEVSHELL_STARTDIR
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/devshell.bbclass:21
# "${S}"
DEVSHELL_STARTDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rescue-rootfs-1.0"
#
# $DISTRO [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:701
# [_defaultval] "nodistro"
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:10
# "basic"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:138
# [doc] "The short name of the distribution. If the variable is blank, meta/conf/distro/defaultsetup.conf will be used."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:832
# [unexport] "1"
# pre-expansion value:
# "basic"
unset DISTRO
#
# $DISTROOVERRIDES [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:719
# "${@d.getVar('DISTRO') or ''}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:147
# [doc] "Lists overrides specific to the current distribution. By default, the variable list includes the value of the DISTRO variable."
# pre-expansion value:
# "${@d.getVar('DISTRO') or ''}"
DISTROOVERRIDES="basic"
#
# $DISTRO_EXTRA_RDEPENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:139
# [doc] "Specifies a list of distro-specific packages to add to all images. The variable only applies to the images that include packagegroup-base."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:789
# ""
# pre-expansion value:
# ""
DISTRO_EXTRA_RDEPENDS=""
#
# $DISTRO_EXTRA_RRECOMMENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:140
# [doc] "Specifies a list of distro-specific packages to add to all images if the packages exist. The list of packages are automatically installed but you can remove them."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:790
# ""
# pre-expansion value:
# ""
DISTRO_EXTRA_RRECOMMENDS=""
#
# $DISTRO_FEATURES [7 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:34
# " ${DISTRO_FEATURES_LIBC} largefile usbhost ipv4 ipv6 devtools sysvinit "
# _append /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf:4
# " opengl"
# _append /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf:7
# " qt"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:21
# "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:141
# [doc] "The features enabled for the distribution."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:787
# ""
# append utils.py:127 [features_backfill]
# " ldconfig"
# pre-expansion value:
# " ${DISTRO_FEATURES_LIBC} largefile usbhost ipv4 ipv6 devtools sysvinit opengl qt ldconfig"
DISTRO_FEATURES=" 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-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 largefile usbhost ipv4 ipv6 devtools sysvinit opengl qt ldconfig"
#
# $DISTRO_FEATURES_BACKFILL [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:142
# [doc] "Features to be added to DISTRO_FEATURES if not also present in DISTRO_FEATURES_BACKFILL_CONSIDERED. This variable is set in the meta/conf/bitbake.conf file and it is not intended to be user-configurable."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:809
# "pulseaudio sysvinit bluez5 gobject-introspection-data ldconfig"
# pre-expansion value:
# "pulseaudio sysvinit bluez5 gobject-introspection-data ldconfig"
DISTRO_FEATURES_BACKFILL="pulseaudio sysvinit bluez5 gobject-introspection-data ldconfig"
#
# $DISTRO_FEATURES_BACKFILL_CONSIDERED [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:39
# " gobject-introspection-data pulseaudio bluez5 "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:143
# [doc] "Features from DISTRO_FEATURES_BACKFILL that should not be backfilled (i.e. added to DISTRO_FEATURES) during the build."
# pre-expansion value:
# " gobject-introspection-data pulseaudio bluez5 "
DISTRO_FEATURES_BACKFILL_CONSIDERED=" gobject-introspection-data pulseaudio bluez5 "
#
# $DISTRO_FEATURES_DEFAULT
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:12
# "acl alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
DISTRO_FEATURES_DEFAULT="acl alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
#
# $DISTRO_FEATURES_FILTER_NATIVE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:806
# "api-documentation"
DISTRO_FEATURES_FILTER_NATIVE="api-documentation"
#
# $DISTRO_FEATURES_FILTER_NATIVESDK
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:807
# "api-documentation"
DISTRO_FEATURES_FILTER_NATIVESDK="api-documentation"
#
# $DISTRO_FEATURES_LIBC [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:19
# "${DISTRO_FEATURES_LIBC_DEFAULT}"
# override[class-nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:20
# "${DISTRO_FEATURES_LIBC_DEFAULT}"
# pre-expansion value:
# "${DISTRO_FEATURES_LIBC_DEFAULT}"
DISTRO_FEATURES_LIBC="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-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_DEFAULT
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:18
# "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-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_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-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_class-nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:20
# "${DISTRO_FEATURES_LIBC_DEFAULT}"
DISTRO_FEATURES_LIBC_class-nativesdk="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-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_NATIVE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:801
# "x11"
DISTRO_FEATURES_NATIVE="x11"
#
# $DISTRO_FEATURES_NATIVESDK
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:802
# "x11 libc-charsets libc-locales libc-locale-code"
DISTRO_FEATURES_NATIVESDK="x11 libc-charsets libc-locales libc-locale-code"
#
# $DISTRO_NAME [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:702
# [_defaultval] "OpenEmbedded"
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:3
# "PIL/basic"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:144
# [doc] "The long name of the distribution."
# pre-expansion value:
# "PIL/basic"
DISTRO_NAME="PIL/basic"
#
# $DISTRO_PN_ALIAS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:145
# [doc] "Alias names used for the recipe in various Linux distributions."
#
# $DISTRO_VERSION [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/version.inc:23
# "${@get_distro_version(d)}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:42
# [_defaultval] "nodistro.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:146
# [doc] "The version of the distribution."
# pre-expansion value:
# "${@get_distro_version(d)}"
DISTRO_VERSION="pil-2017.07-dirty"
#
# $DL_DIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:148
# [doc] "The central download directory used by the build process to store downloads. By default, the directory is 'downloads' in the Build Directory."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:748
# "${TOPDIR}/downloads"
# pre-expansion value:
# "${TOPDIR}/downloads"
DL_DIR="/home/mnhu/projects/pil/yocto/downloads"
#
# $ELF_APPEND
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:134
# "ramdisk_size=32768 root=/dev/ram0 rw console="
ELF_APPEND="ramdisk_size=32768 root=/dev/ram0 rw console="
#
# $ELF_KERNEL
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:133
# "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}"
ELF_KERNEL="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/images/rpi2/uImage"
#
# $ENABLE_BINARY_LOCALE_GENERATION [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:8
# "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:152
# [doc] "Controls which locales for glibc are generated during the build. The variable is useful if the target device has 64Mbytes of RAM or less."
# pre-expansion value:
# "1"
ENABLE_BINARY_LOCALE_GENERATION="1"
#
# $ENABLE_RPM_FILEDEPS_FOR_PYRO
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:1442
# [_defaultval] "0"
ENABLE_RPM_FILEDEPS_FOR_PYRO="0"
#
# $ERROR_QA [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:153
# [doc] "Specifies the quality assurance checks whose failures are reported as errors by the OpenEmbedded build system."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:42
# "dev-so debug-deps dev-deps debug-files arch pkgconfig la perms dep-cmp pkgvarcheck perm-config perm-line perm-link split-strip packages-list pkgv-undefined var-undefined version-going-backwards expanded-d invalid-chars license-checksum dev-elf file-rdeps "
# pre-expansion value:
# "dev-so debug-deps dev-deps debug-files arch pkgconfig la perms dep-cmp pkgvarcheck perm-config perm-line perm-link split-strip packages-list pkgv-undefined var-undefined version-going-backwards expanded-d invalid-chars license-checksum dev-elf file-rdeps "
ERROR_QA="dev-so debug-deps dev-deps debug-files arch pkgconfig la perms dep-cmp pkgvarcheck perm-config perm-line perm-link split-strip packages-list pkgv-undefined var-undefined version-going-backwards expanded-d invalid-chars license-checksum dev-elf file-rdeps "
#
# $EXCLUDE_FROM_WORLD [20 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:154
# [doc] "Directs BitBake to exclude a recipe from world builds (i.e. bitbake world)."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:50
# "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:78
# "1"
# override[pn-rt-tests_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:6
# "1"
# override[pn-portmap_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:10
# "1"
# override[pn-unfs3_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:11
# "1"
# override[pn-pseudo_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:14
# "1"
# override[pn-libsolv_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:17
# "1"
# override[pn-btrfs-tools_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:20
# "1"
# override[pn-prelink_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:23
# "1"
# override[pn-libbsd_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:26
# "1"
# override[pn-lttng-ust_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:29
# "1"
# override[pn-lttng-tools_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:30
# "1"
# override[pn-systemtap_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:33
# "1"
# override[pn-systemtap-uprobes_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:34
# "1"
# override[pn-qemu_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:38
# "1"
# override[pn-valgrind_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:42
# "1"
# override[pn-perf_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:46
# "1"
# override[pn-gcc-sanitizers_libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:49
# "1"
# override[pn-libunwind_libc-musl_arm]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:56
# "1"
# pre-expansion value:
# "1"
EXCLUDE_FROM_WORLD="1"
#
# $EXCLUDE_FROM_WORLD_pn-btrfs-tools_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:20
# "1"
EXCLUDE_FROM_WORLD_pn-btrfs-tools_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-gcc-sanitizers_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:49
# "1"
EXCLUDE_FROM_WORLD_pn-gcc-sanitizers_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-libbsd_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:26
# "1"
EXCLUDE_FROM_WORLD_pn-libbsd_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-libsolv_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:17
# "1"
EXCLUDE_FROM_WORLD_pn-libsolv_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-libunwind_libc-musl
# override[arm]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:56
# "1"
EXCLUDE_FROM_WORLD_pn-libunwind_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-libunwind_libc-musl_arm
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:56
# "1"
EXCLUDE_FROM_WORLD_pn-libunwind_libc-musl_arm="1"
#
# $EXCLUDE_FROM_WORLD_pn-lttng-tools_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:30
# "1"
EXCLUDE_FROM_WORLD_pn-lttng-tools_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-lttng-ust_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:29
# "1"
EXCLUDE_FROM_WORLD_pn-lttng-ust_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-perf_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:46
# "1"
EXCLUDE_FROM_WORLD_pn-perf_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-portmap_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:10
# "1"
EXCLUDE_FROM_WORLD_pn-portmap_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-prelink_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:23
# "1"
EXCLUDE_FROM_WORLD_pn-prelink_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:14
# "1"
EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-qemu_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:38
# "1"
EXCLUDE_FROM_WORLD_pn-qemu_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:6
# "1"
EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:34
# "1"
EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-systemtap_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:33
# "1"
EXCLUDE_FROM_WORLD_pn-systemtap_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-unfs3_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:11
# "1"
EXCLUDE_FROM_WORLD_pn-unfs3_libc-musl="1"
#
# $EXCLUDE_FROM_WORLD_pn-valgrind_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc:42
# "1"
EXCLUDE_FROM_WORLD_pn-valgrind_libc-musl="1"
#
# $EXTENDPE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:199
# "${@['','${PE}_'][int(d.getVar('PE') or 0) > 0]}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:155
# [doc] "Used with file and pathnames to create a prefix for a recipe's version based on the recipe's PE value. If PE is set and greater than zero for a recipe, EXTENDPE becomes that value."
# pre-expansion value:
# "${@['','${PE}_'][int(d.getVar('PE') or 0) > 0]}"
EXTENDPE=""
#
# $EXTENDPKGEVER
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:209
# "${@['','${PKGE}:'][d.getVar('PKGE').strip() != '']}"
EXTENDPKGEVER=""
#
# $EXTENDPKGV [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:210
# "${EXTENDPKGEVER}${PKGV}-${PKGR}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:156
# [doc] "The full package version specification as it appears on the final packages produced by a recipe."
# pre-expansion value:
# "${EXTENDPKGEVER}${PKGV}-${PKGR}"
EXTENDPKGV="1.0-r0"
#
# $EXTENDPRAUTO
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:203
# "${@['.${PRAUTO}', ''][not d.getVar('PRAUTO')]}"
EXTENDPRAUTO=""
#
# $EXTERNALSRC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:157
# [doc] "If externalsrc.bbclass is inherited, this variable points to the source tree, which is outside of the OpenEmbedded build system."
#
# $EXTERNALSRC_BUILD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:158
# [doc] "If externalsrc.bbclass is inherited, this variable points to the directory in which the recipe's source code is built, which is outside of the OpenEmbedded build system."
#
# $EXTRAOPKGCONFIG
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass:8
# ""
EXTRAOPKGCONFIG=""
#
# $EXTRA_IMAGECMD [7 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:198
# ""
# override[jffs2]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:203
# "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers"
# override[ext2]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:206
# "-i 4096"
# override[ext3]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:207
# "-i 4096"
# override[ext4]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:208
# "-i 4096"
# override[btrfs]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:209
# "-n 4096"
# override[elf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:210
# ""
# pre-expansion value:
# ""
EXTRA_IMAGECMD=""
#
# $EXTRA_IMAGECMD_btrfs
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:209
# "-n 4096"
EXTRA_IMAGECMD_btrfs="-n 4096"
#
# $EXTRA_IMAGECMD_elf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:210
# ""
EXTRA_IMAGECMD_elf=""
#
# $EXTRA_IMAGECMD_ext2
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:206
# "-i 4096"
EXTRA_IMAGECMD_ext2="-i 4096"
#
# $EXTRA_IMAGECMD_ext3
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:207
# "-i 4096"
EXTRA_IMAGECMD_ext3="-i 4096"
#
# $EXTRA_IMAGECMD_ext4
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:208
# "-i 4096"
EXTRA_IMAGECMD_ext4="-i 4096"
#
# $EXTRA_IMAGECMD_jffs2
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:203
# "--pad ${JFFS2_ENDIANNESS} --eraseblock=${JFFS2_ERASEBLOCK} --no-cleanmarkers"
EXTRA_IMAGECMD_jffs2="--pad -l --eraseblock=0x40000 --no-cleanmarkers"
#
# $EXTRA_IMAGEDEPENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:443
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:160
# [doc] "A list of recipes to build that do not provide packages for installing into the root filesystem. Use this variable to list recipes that are required to build the final image, but not needed in the root filesystem."
# pre-expansion value:
# ""
EXTRA_IMAGEDEPENDS=""
#
# $EXTRA_IMAGE_FEATURES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:159
# [doc] "The list of additional features to include in an image. Configure this variable in the conf/local.conf file in the Build Directory."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:796
# [_defaultval] ""
# pre-expansion value:
# ""
EXTRA_IMAGE_FEATURES=""
#
# $EXTRA_OECMAKE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:161
# [doc] "Additional cmake options."
#
# $EXTRA_OECONF [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:525
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:162
# [doc] "Additional configure script options."
# pre-expansion value:
# ""
EXTRA_OECONF=""
#
# $EXTRA_OEMAKE [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:524
# ""
# _prepend[task-compile] /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:575
# "${PARALLEL_MAKE} "
# _prepend[task-install] /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:578
# "${PARALLEL_MAKEINST} "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:163
# [doc] "Additional GNU make options."
# pre-expansion value:
# ""
EXTRA_OEMAKE=""
#
# $EXTRA_OESCONS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:164
# [doc] "When a recipe inherits the scons class, this variable specifies additional configuration options you want to pass to the scons command line."
#
# $EXTRA_QMAKEVARS_POST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:165
# [doc] "Configuration variables or options you want to pass to qmake when the arguments need to be after the .pro file list on the command line."
#
# $EXTRA_QMAKEVARS_PRE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:166
# [doc] "Configuration variables or options you want to pass to qmake when the arguments need to be before the .pro file list on the command line."
#
# $EXTRA_STAGING_FIXMES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:57
# "HOSTTOOLS_DIR"
EXTRA_STAGING_FIXMES="HOSTTOOLS_DIR"
#
# $EXTRA_USERS_PARAMS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:167
# [doc] "When a recipe inherits the extrausers class, this variable provides image level user and group operations."
# append /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc:3
# "usermod -P ${PIL_ROOT_PASSWD} root;"
# pre-expansion value:
# " usermod -P ${PIL_ROOT_PASSWD} root;"
EXTRA_USERS_PARAMS=" usermod -P root root;"
#
# $FAKEROOTBASEENV
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:667
# "PSEUDO_BINDIR=${PSEUDO_SYSROOT}${bindir_native} PSEUDO_LIBDIR=${PSEUDO_SYSROOT}${prefix_native}/lib/pseudo/lib PSEUDO_PREFIX=${PSEUDO_SYSROOT}${prefix_native} PSEUDO_DISABLED=1"
FAKEROOTBASEENV="PSEUDO_BINDIR=/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr/bin PSEUDO_LIBDIR=/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr/lib/pseudo/lib PSEUDO_PREFIX=/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr PSEUDO_DISABLED=1"
#
# $FAKEROOTCMD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:668
# "${PSEUDO_SYSROOT}${bindir_native}/pseudo"
FAKEROOTCMD="/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr/bin/pseudo"
#
# $FAKEROOTDIRS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:671
# "${PSEUDO_LOCALSTATEDIR}"
FAKEROOTDIRS="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/pseudo/"
#
# $FAKEROOTENV
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:669
# "PSEUDO_PREFIX=${PSEUDO_SYSROOT}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0"
FAKEROOTENV="PSEUDO_PREFIX=/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr PSEUDO_LOCALSTATEDIR=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/pseudo/ PSEUDO_PASSWD=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0"
#
# $FAKEROOTNOENV
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:670
# "PSEUDO_UNLOAD=1"
FAKEROOTNOENV="PSEUDO_UNLOAD=1"
#
# $FAKEROOT_QA [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:43
# "host-user-contaminated"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:45
# [doc] "QA tests which need to run under fakeroot. If any enabled tests are listed here, the do_package_qa task will run under fakeroot."
# pre-expansion value:
# "host-user-contaminated"
FAKEROOT_QA="host-user-contaminated"
#
# $FC [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:496
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:496
# "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
# pre-expansion value:
# "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
export FC="arm-oe-linux-gnueabi-gfortran -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $FEATURE_INSTALL [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:39
# "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:40
# [vardepvalue] "${FEATURE_INSTALL}"
# pre-expansion value:
# "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
FEATURE_INSTALL=""
#
# $FEATURE_INSTALL_OPTIONAL [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:41
# "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:42
# [vardepvalue] "${FEATURE_INSTALL_OPTIONAL}"
# pre-expansion value:
# "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
FEATURE_INSTALL_OPTIONAL=""
#
# $FEATURE_PACKAGES_package-management
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:45
# "${ROOTFS_PKGMANAGE}"
FEATURE_PACKAGES_package-management="opkg "
#
# $FEATURE_PACKAGES_splash
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:47
# "${SPLASH}"
FEATURE_PACKAGES_splash="psplash"
#
# $FEED_DEPLOYDIR_BASE_URI
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:171
# [doc] "Allow to serve ipk deploy directory as an ad hoc feed (bogofeed). Set to base URL of the directory as exported by HTTP. Set of ad hoc feed configs will be generated in the image."
#
# $FETCHCMD_bzr
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:647
# "/usr/bin/env bzr"
FETCHCMD_bzr="/usr/bin/env bzr"
#
# $FETCHCMD_cvs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:645
# "/usr/bin/env cvs"
FETCHCMD_cvs="/usr/bin/env cvs"
#
# $FETCHCMD_hg
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:648
# "/usr/bin/env hg"
FETCHCMD_hg="/usr/bin/env hg"
#
# $FETCHCMD_svn
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:644
# "/usr/bin/env svn --non-interactive --trust-server-cert"
FETCHCMD_svn="/usr/bin/env svn --non-interactive --trust-server-cert"
#
# $FETCHCMD_wget
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:646
# "/usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate"
FETCHCMD_wget="/usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate"
#
# $FILE [80 operations]
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-rauc/conf/layer.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/conf/layer.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/abi_version.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/conf/local.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/multiconfig/default.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/distro/version.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/world-broken.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/uninative-flags.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:156 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf"
# set ConfHandler.py:159 [handle]
# "/home/mnhu/projects/pil/yocto/conf/bblayers.conf"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb"
# set BBHandler.py:142 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc"
# set BBHandler.py:160 [handle]
# "/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb"
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb"
FILE="/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb"
#
# $FILES [9 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:280
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:172
# [doc] "The list of directories or files that are placed in packages."
# override[rescue-rootfs]:rename from FILES_${PN} data.py:116 [expandKeys]
# "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} ${sysconfdir} ${sharedstatedir} ${localstatedir} ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*${SOLIBS} ${base_prefix}/lib/udev ${prefix}/lib/udev ${base_libdir}/udev ${libdir}/udev ${datadir}/${BPN} ${libdir}/${BPN}/* ${datadir}/pixmaps ${datadir}/applications ${datadir}/idl ${datadir}/omf ${datadir}/sounds ${libdir}/bonobo/servers"
# override[rescue-rootfs-bin]:rename from FILES_${PN}-bin data.py:116 [expandKeys]
# "${bindir}/* ${sbindir}/*"
# override[rescue-rootfs-dbg]:rename from FILES_${PN}-dbg data.py:116 [expandKeys]
# "/usr/lib/debug /usr/src/debug"
# override[rescue-rootfs-dev]:rename from FILES_${PN}-dev data.py:116 [expandKeys]
# "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig ${datadir}/aclocal ${base_libdir}/*.o ${libdir}/${BPN}/*.la ${base_libdir}/*.la"
# override[rescue-rootfs-doc]:rename from FILES_${PN}-doc data.py:116 [expandKeys]
# "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc ${datadir}/gnome/help"
# override[rescue-rootfs-locale]:rename from FILES_${PN}-locale data.py:116 [expandKeys]
# "${datadir}/locale"
# override[rescue-rootfs-staticdev]:rename from FILES_${PN}-staticdev data.py:116 [expandKeys]
# "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
# pre-expansion value:
# ""
FILES=""
#
# $FILESEXTRAPATHS [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:325
# "__default:"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:173
# [doc] "Extends the search path the OpenEmbedded build system uses when looking for files and patches as it processes recipes and append files."
# pre-expansion value:
# "__default:"
FILESEXTRAPATHS="__default:"
#
# $FILESOVERRIDES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:723
# "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:174
# [doc] "A subset of OVERRIDES used by the OpenEmbedded build system for creating FILESPATH."
# pre-expansion value:
# "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}"
FILESOVERRIDES="arm:armv7ve:rpi:rpi2:basic"
#
# $FILESPATH [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:175
# [doc] "The default set of directories the OpenEmbedded build system uses when searching for patches and files. It is defined in the base.bbclass class found in meta/classes in the Source Directory. Do not hand-edit the FILESPATH variable."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:83
# "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
# pre-expansion value:
# "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
FILESPATH="/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs-1.0/basic:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs/basic:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/files/basic:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs-1.0/rpi2:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs/rpi2:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/files/rpi2:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs-1.0/rpi:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs/rpi:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/files/rpi:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs-1.0/armv7ve:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs/armv7ve:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/files/armv7ve:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs-1.0/arm:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs/arm:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/files/arm:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs-1.0/:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs/:/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/files/"
#
# $FILESYSTEM_PERMS_TABLES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:176
# [doc] "Allows you to define your own file permissions settings table as part of your configuration for the packaging process."
#
# $FILES_SOLIBSDEV
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:299
# "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}"
FILES_SOLIBSDEV="/lib/lib*.so /usr/lib/lib*.so"
#
# $FILES_rescue-rootfs
# rename from FILES_${PN} data.py:116 [expandKeys]
# "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} ${sysconfdir} ${sharedstatedir} ${localstatedir} ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*${SOLIBS} ${base_prefix}/lib/udev ${prefix}/lib/udev ${base_libdir}/udev ${libdir}/udev ${datadir}/${BPN} ${libdir}/${BPN}/* ${datadir}/pixmaps ${datadir}/applications ${datadir}/idl ${datadir}/omf ${datadir}/sounds ${libdir}/bonobo/servers"
FILES_rescue-rootfs="/usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.* /etc /com /var /bin/* /sbin/* /lib/*.so.* /lib/udev /usr/lib/udev /lib/udev /usr/lib/udev /usr/share/rescue-rootfs /usr/lib/rescue-rootfs/* /usr/share/pixmaps /usr/share/applications /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers"
#
# $FILES_rescue-rootfs-bin
# rename from FILES_${PN}-bin data.py:116 [expandKeys]
# "${bindir}/* ${sbindir}/*"
FILES_rescue-rootfs-bin="/usr/bin/* /usr/sbin/*"
#
# $FILES_rescue-rootfs-dbg
# rename from FILES_${PN}-dbg data.py:116 [expandKeys]
# "/usr/lib/debug /usr/src/debug"
FILES_rescue-rootfs-dbg="/usr/lib/debug /usr/src/debug"
#
# $FILES_rescue-rootfs-dev
# rename from FILES_${PN}-dev data.py:116 [expandKeys]
# "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig ${datadir}/aclocal ${base_libdir}/*.o ${libdir}/${BPN}/*.la ${base_libdir}/*.la"
FILES_rescue-rootfs-dev="/usr/include /lib/lib*.so /usr/lib/lib*.so /usr/lib/*.la /usr/lib/*.o /usr/lib/pkgconfig /usr/share/pkgconfig /usr/share/aclocal /lib/*.o /usr/lib/rescue-rootfs/*.la /lib/*.la"
#
# $FILES_rescue-rootfs-doc
# rename from FILES_${PN}-doc data.py:116 [expandKeys]
# "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc ${datadir}/gnome/help"
FILES_rescue-rootfs-doc="/usr/share/doc /usr/share/man /usr/share/info /usr/share/gtk-doc /usr/share/gnome/help"
#
# $FILES_rescue-rootfs-locale
# rename from FILES_${PN}-locale data.py:116 [expandKeys]
# "${datadir}/locale"
FILES_rescue-rootfs-locale="/usr/share/locale"
#
# $FILES_rescue-rootfs-staticdev
# rename from FILES_${PN}-staticdev data.py:116 [expandKeys]
# "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
FILES_rescue-rootfs-staticdev="/usr/lib/*.a /lib/*.a /usr/lib/rescue-rootfs/*.a"
#
# $FILE_DIRNAME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:321
# "${@os.path.dirname(d.getVar('FILE', False))}"
FILE_DIRNAME="/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems"
#
# $FIX_V4BX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:11
# "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '', '${FIX_V4BX_ARMV5}', d)}"
FIX_V4BX=""
#
# $FIX_V4BX_ARMV4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:9
# "${@bb.utils.contains('TUNE_FEATURES', 'armv4', '--fix-v4bx', '', d)}"
FIX_V4BX_ARMV4=""
#
# $FIX_V4BX_ARMV5
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:10
# "${@bb.utils.contains('TUNE_FEATURES', 'armv5', '', '${FIX_V4BX_ARMV4}', d)}"
FIX_V4BX_ARMV5=""
#
# $FONT_EXTRA_RDEPENDS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:177
# [doc] "When a recipe inherits the fontcache class, this variable specifies runtime dependencies for font packages. This variable defaults to 'fontconfig-utils'."
#
# $FONT_PACKAGES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:178
# [doc] "When a recipe inherits the fontcache class, this variable identifies packages containing font files that need to be cached by Fontconfig."
#
# $FOSS_BASE_URL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:183
# "http://localhost/repo/?mod=spdx_license_once"
FOSS_BASE_URL="http://localhost/repo/?mod=spdx_license_once"
#
# $FOSS_FULL_SPDX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:174
# "true"
FOSS_FULL_SPDX="true"
#
# $FOSS_NO_COPYRIGHT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:145
# "true"
FOSS_NO_COPYRIGHT="true"
#
# $FOSS_RECURSIVE_UNPACK
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:159
# "false"
FOSS_RECURSIVE_UNPACK="false"
#
# $FOSS_SERVER
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:184
# "${FOSS_BASE_URL}&fullSPDXFlag=${FOSS_FULL_SPDX}&noCopyright=${FOSS_NO_COPYRIGHT}&recursiveUnpack=${FOSS_RECURSIVE_UNPACK}"
FOSS_SERVER="http://localhost/repo/?mod=spdx_license_once&fullSPDXFlag=true&noCopyright=true&recursiveUnpack=false"
#
# $FOSS_WGET_FLAGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:186
# "-qO - --no-check-certificate --timeout=0"
FOSS_WGET_FLAGS="-qO - --no-check-certificate --timeout=0"
#
# $FULL_OPTIMIZATION [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:590
# "-O2 -pipe ${DEBUG_FLAGS}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:179
# [doc] "The options to pass in TARGET_CFLAGS and CFLAGS when compiling an optimized system. This variable defaults to '-O2 -pipe ${DEBUG_FLAGS}'."
# pre-expansion value:
# "-O2 -pipe ${DEBUG_FLAGS}"
FULL_OPTIMIZATION="-O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
#
# $GALLIUMDRIVERS [2 operations]
# _append /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:25
# " vc4"
# _remove /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:26
# "swrast"
# pre-expansion value:
# "vc4"
GALLIUMDRIVERS="vc4"
#
# $GCCVERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:25
# "6.3%"
GCCVERSION="6.3%"
#
# $GDBVERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:28
# "7.12%"
GDBVERSION="7.12%"
#
# $GENTOO_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:608
# "http://distfiles.gentoo.org/distfiles"
GENTOO_MIRROR="http://distfiles.gentoo.org/distfiles"
#
# $GITDIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:339
# "${CO_DIR}/git2"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:183
# [doc] "The directory where Git clones will be stored."
# pre-expansion value:
# "${CO_DIR}/git2"
GITDIR="/home/mnhu/projects/pil/yocto/downloads/git2"
#
# $GLIBCVERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:29
# "2.25"
GLIBCVERSION="2.25"
#
# $GNOME_GIT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:609
# "git://git.gnome.org"
GNOME_GIT="git://git.gnome.org"
#
# $GNOME_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:610
# "http://ftp.gnome.org/pub/GNOME/sources"
GNOME_MIRROR="http://ftp.gnome.org/pub/GNOME/sources"
#
# $GNUPG_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:612
# "https://www.gnupg.org/ftp/gcrypt"
GNUPG_MIRROR="https://www.gnupg.org/ftp/gcrypt"
#
# $GNU_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:611
# "http://ftp.gnu.org/gnu"
GNU_MIRROR="http://ftp.gnu.org/gnu"
#
# $GPE_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:613
# "http://gpe.linuxtogo.org/download/source"
GPE_MIRROR="http://gpe.linuxtogo.org/download/source"
#
# $GROUPADD_PARAM
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:184
# [doc] "When a recipe inherits the useradd class, this variable specifies for a package what parameters should be passed to the groupadd command if you wish to add a group to the system when the package is installed."
#
# $GROUPMEMS_PARAM
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:185
# [doc] "When a recipe inherits the useradd class, this variable specifies for a package what parameters should be passed to the groupmems command if you wish to modify the members of a group when the package is installed."
#
# $GRUB_GFXSERIAL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:186
# [doc] "Configures the GNU GRand Unified Bootloader (GRUB) to have graphics and serial in the boot menu."
#
# $GRUB_OPTS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:187
# [doc] "Additional options to add to the GNU GRand Unified Bootloader (GRUB) configuration."
#
# $GRUB_TIMEOUT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:188
# [doc] "Specifies the timeout before executing the default LABEL in the GNU GRand Unified Bootloader (GRUB)."
#
# $GTK2DISTROFEATURES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:47
# "directfb x11"
GTK2DISTROFEATURES="directfb x11"
#
# $GTK3DISTROFEATURES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:48
# "x11 wayland"
GTK3DISTROFEATURES="x11 wayland"
#
# $GTKIMMODULES_PACKAGES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:189
# [doc] "For recipes that inherit the gtk-immodules-cache class, this variable specifies the packages that contain the GTK+ input method modules being installed when the modules are in packages other than the main package."
#
# $HGDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:341
# "${CO_DIR}/hg"
HGDIR="/home/mnhu/projects/pil/yocto/downloads/hg"
#
# $HOME [2 operations]
# from env data.py:124 [inheritFromOS]
# "/home/mnhu"
# auto env export data.py:126 [inheritFromOS]
# [export] "True"
# pre-expansion value:
# "/home/mnhu"
export HOME="/home/mnhu"
#
# $HOMEPAGE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:251
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:193
# [doc] "Website where more information about the software the recipe is building can be found."
# pre-expansion value:
# ""
HOMEPAGE=""
#
# $HOSTTOOLS [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-pil/conf/layer.conf:24
# "sha256sum zip truncate"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:469
# " [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp cp cpio cpp cut date dd diff diffstat dirname du echo egrep env expand expr false fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip head hostname install ld ldd ln ls make makeinfo md5sum mkdir mknod mktemp mv nm objcopy objdump od patch perl pod2man pr printf pwd python python2 python2.7 python3 ranlib readelf readlink rm rmdir rpcgen sed sh sha256sum sleep sort split stat strings strip tail tar tee test touch tr true uname uniq wc wget which xargs "
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:472
# "ip ping ps scp ssh stty"
# pre-expansion value:
# " sha256sum zip truncate [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp cp cpio cpp cut date dd diff diffstat dirname du echo egrep env expand expr false fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip head hostname install ld ldd ln ls make makeinfo md5sum mkdir mknod mktemp mv nm objcopy objdump od patch perl pod2man pr printf pwd python python2 python2.7 python3 ranlib readelf readlink rm rmdir rpcgen sed sh sha256sum sleep sort split stat strings strip tail tar tee test touch tr true uname uniq wc wget which xargs ip ping ps scp ssh stty"
HOSTTOOLS=" sha256sum zip truncate [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp cp cpio cpp cut date dd diff diffstat dirname du echo egrep env expand expr false fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip head hostname install ld ldd ln ls make makeinfo md5sum mkdir mknod mktemp mv nm objcopy objdump od patch perl pod2man pr printf pwd python python2 python2.7 python3 ranlib readelf readlink rm rmdir rpcgen sed sh sha256sum sleep sort split stat strings strip tail tar tee test touch tr true uname uniq wc wget which xargs ip ping ps scp ssh stty"
#
# $HOSTTOOLS_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:457
# "${TMPDIR}/hosttools"
HOSTTOOLS_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/hosttools"
#
# $HOSTTOOLS_NONFATAL [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:475
# "aws ccache gcc-ar gpg ld.bfd ld.gold nc sftp socat sudo"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:478
# "join nl size yes zcat"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:481
# "bzr"
# pre-expansion value:
# " aws ccache gcc-ar gpg ld.bfd ld.gold nc sftp socat sudo join nl size yes zcat bzr"
HOSTTOOLS_NONFATAL=" aws ccache gcc-ar gpg ld.bfd ld.gold nc sftp socat sudo join nl size yes zcat bzr"
#
# $HOST_ARCH [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:102
# "${TARGET_ARCH}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:194
# [doc] "The name of the target architecture. Normally same as the TARGET_ARCH."
# pre-expansion value:
# "${TARGET_ARCH}"
HOST_ARCH="arm"
#
# $HOST_AR_KERNEL_ARCH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:57
# "${TARGET_AR_KERNEL_ARCH}"
HOST_AR_KERNEL_ARCH=""
#
# $HOST_AS_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:109
# "${TARGET_AS_ARCH}"
HOST_AS_ARCH=""
#
# $HOST_CC_ARCH [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:107
# "${TARGET_CC_ARCH}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:195
# [doc] "The name of the host architecture. Normally same as the TARGET_CC_ARCH."
# pre-expansion value:
# "${TARGET_CC_ARCH}"
HOST_CC_ARCH=" -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7"
#
# $HOST_CC_KERNEL_ARCH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:53
# "${TARGET_CC_KERNEL_ARCH}"
HOST_CC_KERNEL_ARCH=" -mno-thumb-interwork -marm"
#
# $HOST_EXEEXT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:110
# ""
HOST_EXEEXT=""
#
# $HOST_LD_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:108
# "${TARGET_LD_ARCH}"
HOST_LD_ARCH=""
#
# $HOST_LD_KERNEL_ARCH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:55
# "${TARGET_LD_KERNEL_ARCH}"
HOST_LD_KERNEL_ARCH=" "
#
# $HOST_OS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:103
# "${TARGET_OS}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:196
# [doc] "The name of the target operating system. Normally the same as the TARGET_OS."
# pre-expansion value:
# "${TARGET_OS}"
HOST_OS="linux-gnueabi"
#
# $HOST_PREFIX [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:106
# "${TARGET_PREFIX}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:197
# [doc] "The prefix for the cross compile toolchain. Normally same as the TARGET_PREFIX."
# pre-expansion value:
# "${TARGET_PREFIX}"
HOST_PREFIX="arm-oe-linux-gnueabi-"
#
# $HOST_SYS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:105
# "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:198
# [doc] "Specifies the system, including the architecture and the operating system, for with the build is occurring in the context of the current recipe."
# pre-expansion value:
# "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
HOST_SYS="arm-oe-linux-gnueabi"
#
# $HOST_USER_GID
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:1039
# "${@os.getgid()}"
HOST_USER_GID="1001"
#
# $HOST_USER_UID
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:1038
# "${@os.getuid()}"
HOST_USER_UID="1000"
#
# $HOST_VENDOR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:104
# "${TARGET_VENDOR}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:199
# [doc] "The name of the vendor. Normally same as the TARGET_VENDOR."
# pre-expansion value:
# "${TARGET_VENDOR}"
HOST_VENDOR="-oe"
#
# $ICECC_ENV_EXEC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:203
# [doc] "Points to the icecc-create-env script that you provide."
#
# $ICECC_PATH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:204
# [doc] "The location of the icecc binary."
#
# $ICECC_USER_CLASS_BL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:205
# [doc] "Identifies user classes that you do not want the Icecream distributed compile support to consider."
#
# $ICECC_USER_PACKAGE_BL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:206
# [doc] "Identifies user recipes that you do not want the Icecream distributed compile support to consider."
#
# $ICECC_USER_PACKAGE_WL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:207
# [doc] "Identifies user recipes that use an empty PARALLEL_MAKE variable that you want to force remote distributed compilation on using the Icecream distributed compile support."
#
# $IMAGE_BASENAME [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:429
# "${PN}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:208
# [doc] "The base name of image output files."
# pre-expansion value:
# "${PN}"
IMAGE_BASENAME="rescue-rootfs"
#
# $IMAGE_BOOT_FILES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:18
# " u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} uboot.env boot.scr "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:209
# [doc] "Whitespace separated list of files from ${DEPLOY_DIR_IMAGE} to place in boot partition. Entries will be installed under a same name as the source file. To change the destination file name, pass a desired name after a semicolon (eg. u-boot.img;uboot)."
# pre-expansion value:
# " u-boot.${UBOOT_SUFFIX} ${SPL_BINARY} uboot.env boot.scr "
IMAGE_BOOT_FILES=" u-boot.bin uboot.env boot.scr "
#
# $IMAGE_CLASSES [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:6
# "image_types_uboot"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:210
# [doc] "A list of classes that all images should inherit."
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:193
# "image_types"
# pre-expansion value:
# " image_types_uboot image_types"
IMAGE_CLASSES=" image_types_uboot image_types"
#
# $IMAGE_CMD_TAR
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:110
# "tar"
IMAGE_CMD_TAR="tar"
#
# $IMAGE_CMD_cpio [5 operations]
# set ast.py:194 [eval]
# [func] "1"
# set ast.py:195 [eval]
# " (cd ${IMAGE_ROOTFS} && find . | cpio -o -H newc >${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
# # We only need the /init symlink if we're building the real
# # image. The -dbg image doesn't need it! By being clever
# # about this we also avoid 'touch' below failing, as it
# # might be trying to touch /sbin/init on the host since both
# # the normal and the -dbg image share the same WORKDIR
# if [ "${IMAGE_BUILDING_DEBUGFS}" != "true" ]; then
# if [ ! -L ${IMAGE_ROOTFS}/init ] && [ ! -e ${IMAGE_ROOTFS}/init ]; then
# if [ -L ${IMAGE_ROOTFS}/sbin/init ] || [ -e ${IMAGE_ROOTFS}/sbin/init ]; then
# ln -sf /sbin/init ${WORKDIR}/cpio_append/init
# else
# touch ${WORKDIR}/cpio_append/init
# fi
# (cd ${WORKDIR}/cpio_append && echo ./init | cpio -oA -H newc -F ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
# fi
# fi
# "
# set ast.py:196 [eval]
# [filename] "/home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass"
# set ast.py:197 [eval]
# [lineno] "114"
# delFlag image.bbclass:453 [__anon_507__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass]
# [func] ""
# pre-expansion value:
# " (cd ${IMAGE_ROOTFS} && find . | cpio -o -H newc >${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
# # We only need the /init symlink if we're building the real
# # image. The -dbg image doesn't need it! By being clever
# # about this we also avoid 'touch' below failing, as it
# # might be trying to touch /sbin/init on the host since both
# # the normal and the -dbg image share the same WORKDIR
# if [ "${IMAGE_BUILDING_DEBUGFS}" != "true" ]; then
# if [ ! -L ${IMAGE_ROOTFS}/init ] && [ ! -e ${IMAGE_ROOTFS}/init ]; then
# if [ -L ${IMAGE_ROOTFS}/sbin/init ] || [ -e ${IMAGE_ROOTFS}/sbin/init ]; then
# ln -sf /sbin/init ${WORKDIR}/cpio_append/init
# else
# touch ${WORKDIR}/cpio_append/init
# fi
# (cd ${WORKDIR}/cpio_append && echo ./init | cpio -oA -H newc -F ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
# fi
# fi
#"
IMAGE_CMD_cpio=" (cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs && find . | cpio -o -H newc >/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.cpio) \
# We only need the /init symlink if we're building the real \
# image. The -dbg image doesn't need it! By being clever \
# about this we also avoid 'touch' below failing, as it \
# might be trying to touch /sbin/init on the host since both \
# the normal and the -dbg image share the same WORKDIR \
if [ \"\${IMAGE_BUILDING_DEBUGFS}\" != \"true\" ]; then \
if [ ! -L /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/init ] && [ ! -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/init ]; then \
if [ -L /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init ] || [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init ]; then \
ln -sf /sbin/init /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append/init \
else \
touch /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append/init \
fi \
(cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append && echo ./init | cpio -oA -H newc -F /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.cpio) \
fi \
fi \
"
#
# $IMAGE_CMD_cramfs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:55
# "mkfs.cramfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cramfs ${EXTRA_IMAGECMD}"
IMAGE_CMD_cramfs="mkfs.cramfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.cramfs "
#
# $IMAGE_CMD_ext2
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:81
# "oe_mkext234fs ext2 ${EXTRA_IMAGECMD}"
IMAGE_CMD_ext2="oe_mkext234fs ext2 "
#
# $IMAGE_CMD_ext3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:82
# "oe_mkext234fs ext3 ${EXTRA_IMAGECMD}"
IMAGE_CMD_ext3="oe_mkext234fs ext3 "
#
# $IMAGE_CMD_ext4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:83
# "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}"
IMAGE_CMD_ext4="oe_mkext234fs ext4 "
#
# $IMAGE_CMD_jffs2
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:53
# "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.jffs2 ${EXTRA_IMAGECMD}"
IMAGE_CMD_jffs2="mkfs.jffs2 --root=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs --faketime --output=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.jffs2 "
#
# $IMAGE_CMD_squashfs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:96
# "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs ${EXTRA_IMAGECMD} -noappend"
IMAGE_CMD_squashfs="mksquashfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.squashfs -noappend"
#
# $IMAGE_CMD_squashfs-lzo
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:98
# "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo"
IMAGE_CMD_squashfs-lzo="mksquashfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.squashfs-lzo -noappend -comp lzo"
#
# $IMAGE_CMD_squashfs-xz
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:97
# "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-xz ${EXTRA_IMAGECMD} -noappend -comp xz"
IMAGE_CMD_squashfs-xz="mksquashfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.squashfs-xz -noappend -comp xz"
#
# $IMAGE_CMD_tar
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:111
# "${IMAGE_CMD_TAR} -cvf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} ."
IMAGE_CMD_tar="tar -cvf /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.tar -C /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs ."
#
# $IMAGE_CMD_ubifs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:196
# "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}"
IMAGE_CMD_ubifs="mkfs.ubifs -r /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs -o /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.ubifs \${MKUBIFS_ARGS}"
#
# $IMAGE_DEPENDS [15 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:212
# ""
# override[jffs2]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:213
# "mtd-utils-native"
# override[cramfs]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:214
# "util-linux-native"
# override[ext2]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:215
# "e2fsprogs-native"
# override[ext3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:216
# "e2fsprogs-native"
# override[ext4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:217
# "e2fsprogs-native"
# override[btrfs]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:218
# "btrfs-tools-native"
# override[squashfs]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:219
# "squashfs-tools-native"
# override[squashfs-xz]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:220
# "squashfs-tools-native"
# override[squashfs-lzo]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:221
# "squashfs-tools-native"
# override[elf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:222
# "virtual/kernel mkelfimage-native"
# override[ubi]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:223
# "mtd-utils-native"
# override[ubifs]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:224
# "mtd-utils-native"
# override[multiubi]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:225
# "mtd-utils-native"
# override[wic]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:226
# "parted-native"
# pre-expansion value:
# ""
IMAGE_DEPENDS=""
#
# $IMAGE_DEPENDS_btrfs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:218
# "btrfs-tools-native"
IMAGE_DEPENDS_btrfs="btrfs-tools-native"
#
# $IMAGE_DEPENDS_cramfs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:214
# "util-linux-native"
IMAGE_DEPENDS_cramfs="util-linux-native"
#
# $IMAGE_DEPENDS_elf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:222
# "virtual/kernel mkelfimage-native"
IMAGE_DEPENDS_elf="virtual/kernel mkelfimage-native"
#
# $IMAGE_DEPENDS_ext2
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:215
# "e2fsprogs-native"
IMAGE_DEPENDS_ext2="e2fsprogs-native"
#
# $IMAGE_DEPENDS_ext3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:216
# "e2fsprogs-native"
IMAGE_DEPENDS_ext3="e2fsprogs-native"
#
# $IMAGE_DEPENDS_ext4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:217
# "e2fsprogs-native"
IMAGE_DEPENDS_ext4="e2fsprogs-native"
#
# $IMAGE_DEPENDS_jffs2
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:213
# "mtd-utils-native"
IMAGE_DEPENDS_jffs2="mtd-utils-native"
#
# $IMAGE_DEPENDS_multiubi
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:225
# "mtd-utils-native"
IMAGE_DEPENDS_multiubi="mtd-utils-native"
#
# $IMAGE_DEPENDS_squashfs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:219
# "squashfs-tools-native"
IMAGE_DEPENDS_squashfs="squashfs-tools-native"
#
# $IMAGE_DEPENDS_squashfs-lzo
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:221
# "squashfs-tools-native"
IMAGE_DEPENDS_squashfs-lzo="squashfs-tools-native"
#
# $IMAGE_DEPENDS_squashfs-xz
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:220
# "squashfs-tools-native"
IMAGE_DEPENDS_squashfs-xz="squashfs-tools-native"
#
# $IMAGE_DEPENDS_ubi
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:223
# "mtd-utils-native"
IMAGE_DEPENDS_ubi="mtd-utils-native"
#
# $IMAGE_DEPENDS_ubifs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:224
# "mtd-utils-native"
IMAGE_DEPENDS_ubifs="mtd-utils-native"
#
# $IMAGE_DEPENDS_wic
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:226
# "parted-native"
IMAGE_DEPENDS_wic="parted-native"
#
# $IMAGE_EXTENSION_live
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:290
# "hddimg iso"
IMAGE_EXTENSION_live="hddimg iso"
#
# $IMAGE_FEATURES [8 operations]
# append /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:34
# [validitems] "qtcreator-debug"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:23
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:211
# [doc] "The primary list of features to include in an image. Configure this variable in an image recipe."
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:797
# "${EXTRA_IMAGE_FEATURES}"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:24
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:25
# [type] "list"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:26
# [validitems] "debug-tweaks read-only-rootfs empty-root-password allow-empty-password post-install-logging"
# set image.bbclass:185 [__anon_191__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass]
# ""
# pre-expansion value:
# ""
IMAGE_FEATURES=""
#
# $IMAGE_FSTYPES [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:212
# [doc] "Formats of root filesystem images that you want to have created."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:750
# "tar.gz"
# set /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb:8
# "tar cpio.gz cpio.gz.u-boot"
# pre-expansion value:
# "tar cpio.gz cpio.gz.u-boot"
IMAGE_FSTYPES="tar cpio.gz cpio.gz.u-boot"
#
# $IMAGE_FSTYPES_DEBUGFS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:213
# [doc] "Formats of the debug root filesystem images that you want to have created."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:751
# "${IMAGE_FSTYPES}"
# pre-expansion value:
# "${IMAGE_FSTYPES}"
IMAGE_FSTYPES_DEBUGFS="tar cpio.gz cpio.gz.u-boot"
#
# $IMAGE_GEN_DEBUGFS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:214
# [doc] "When set to '1', generate a companion debug object/source filesystem image."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:29
# "0"
# pre-expansion value:
# "0"
IMAGE_GEN_DEBUGFS="0"
#
# $IMAGE_INSTALL [7 operations]
# _append[pn-pil-bootfs] /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:16
# " rpi-bootfiles rpi-config"
# _append[pn-pil-rootfs] /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf:28
# " liberation-fonts "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:215
# [doc] "Specifies the packages to install into an image. Image recipes set IMAGE_INSTALL to specify the packages to install into an image through image.bbclass."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:70
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:71
# [type] "list"
# set /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc:24
# " packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils ${IMAGE_INSTALL_HWCLOCK} busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init "
# append /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb:11
# " rescue-init "
# pre-expansion value:
# " packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils ${IMAGE_INSTALL_HWCLOCK} busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init rescue-init "
IMAGE_INSTALL=" packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init rescue-init "
#
# $IMAGE_INSTALL_COMPLEMENTARY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:49
# "${@complementary_globs("IMAGE_FEATURES", d)}"
IMAGE_INSTALL_COMPLEMENTARY=""
#
# $IMAGE_INSTALL_HWCLOCK
# set /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc:5
# "${@bb.utils.contains('MACHINE_FEATURES', 'rtc', 'busybox-hwclock', '', d)}"
IMAGE_INSTALL_HWCLOCK=""
#
# $IMAGE_LINGUAS [4 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:7
# "en-us en-gb"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:216
# [doc] "Specifies the list of locales to install into the image during the root filesystem construction process."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:199
# "de-de fr-fr en-gb"
# set /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb:7
# ""
# pre-expansion value:
# ""
IMAGE_LINGUAS=""
#
# $IMAGE_LINK_NAME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:432
# "${IMAGE_BASENAME}-${MACHINE}"
IMAGE_LINK_NAME="rescue-rootfs-rpi2"
#
# $IMAGE_MANIFEST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass:21
# "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.manifest"
IMAGE_MANIFEST="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.manifest"
#
# $IMAGE_NAME [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:430
# "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:431
# [vardepsexclude] "DATETIME"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:217
# [doc] "The name of the output image files minus the extension."
# pre-expansion value:
# "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
IMAGE_NAME="rescue-rootfs-rpi2-20170915073224"
#
# $IMAGE_NAME_SUFFIX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:5
# [_defaultval] ".rootfs"
IMAGE_NAME_SUFFIX=".rootfs"
#
# $IMAGE_OVERHEAD_FACTOR [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:436
# "1.3"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:218
# [doc] "Defines a multiplier that the build system applies to the initial image size for cases when the multiplier times the returned disk usage value for the image is greater than the sum of IMAGE_ROOTFS_SIZE and IMAGE_ROOTFS_EXTRA_SPACE."
# pre-expansion value:
# "1.3"
IMAGE_OVERHEAD_FACTOR="1.3"
#
# $IMAGE_PKGTYPE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:219
# [doc] "Defines the package type (DEB, RPM, IPK, or TAR) used by the OpenEmbedded build system."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:3
# "ipk"
# pre-expansion value:
# "ipk"
IMAGE_PKGTYPE="ipk"
#
# $IMAGE_ROOTFS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:428
# "${WORKDIR}/rootfs"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:221
# [doc] "The location of the root filesystem while it is under construction (i.e. during do_rootfs)."
# pre-expansion value:
# "${WORKDIR}/rootfs"
IMAGE_ROOTFS="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs"
#
# $IMAGE_ROOTFS_ALIGNMENT
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:10
# "1"
IMAGE_ROOTFS_ALIGNMENT="1"
#
# $IMAGE_ROOTFS_EXTRA_SPACE [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:441
# "0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:222
# [doc] "Defines additional free disk space created in the image in Kbytes. By default, this variable is set to '0'."
# pre-expansion value:
# "0"
IMAGE_ROOTFS_EXTRA_SPACE="0"
#
# $IMAGE_ROOTFS_SIZE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:223
# [doc] "Defines the size in Kbytes for the generated image."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:765
# [_defaultval] "65536"
# pre-expansion value:
# "65536"
IMAGE_ROOTFS_SIZE="65536"
#
# $IMAGE_TYPEDEP_elf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:141
# "cpio.gz"
IMAGE_TYPEDEP_elf="cpio.gz"
#
# $IMAGE_TYPES [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:224
# [doc] "Specifies the complete list of supported image types by default."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:249
# " jffs2 jffs2.sum cramfs ext2 ext2.gz ext2.bz2 ext2.lzma ext3 ext3.gz ext4 ext4.gz btrfs iso hddimg squashfs squashfs-xz squashfs-lzo ubi ubifs multiubi tar tar.gz tar.bz2 tar.xz tar.lz4 cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 vmdk vdi qcow2 hdddirect elf wic wic.gz wic.bz2 wic.lzma container "
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_uboot.bbclass:28
# "ext2.u-boot ext2.gz.u-boot ext2.bz2.u-boot ext2.lzma.u-boot ext3.gz.u-boot ext4.gz.u-boot cpio.gz.u-boot"
# pre-expansion value:
# " jffs2 jffs2.sum cramfs ext2 ext2.gz ext2.bz2 ext2.lzma ext3 ext3.gz ext4 ext4.gz btrfs iso hddimg squashfs squashfs-xz squashfs-lzo ubi ubifs multiubi tar tar.gz tar.bz2 tar.xz tar.lz4 cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 vmdk vdi qcow2 hdddirect elf wic wic.gz wic.bz2 wic.lzma container ext2.u-boot ext2.gz.u-boot ext2.bz2.u-boot ext2.lzma.u-boot ext3.gz.u-boot ext4.gz.u-boot cpio.gz.u-boot"
IMAGE_TYPES=" jffs2 jffs2.sum cramfs ext2 ext2.gz ext2.bz2 ext2.lzma ext3 ext3.gz ext4 ext4.gz btrfs iso hddimg squashfs squashfs-xz squashfs-lzo ubi ubifs multiubi tar tar.gz tar.bz2 tar.xz tar.lz4 cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 vmdk vdi qcow2 hdddirect elf wic wic.gz wic.bz2 wic.lzma container ext2.u-boot ext2.gz.u-boot ext2.bz2.u-boot ext2.lzma.u-boot ext3.gz.u-boot ext4.gz.u-boot cpio.gz.u-boot"
#
# $IMAGE_TYPES_MASKED
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:294
# ""
IMAGE_TYPES_MASKED=""
#
# $IMAGE_TYPE_container
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:145
# "${@bb.utils.contains("IMAGE_FSTYPES", "container", "image-container", "", d)}"
IMAGE_TYPE_container=""
#
# $IMAGE_TYPE_live
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:139
# "${@build_live(d)}"
IMAGE_TYPE_live=""
#
# $IMAGE_TYPE_uboot
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:154
# "${@build_uboot(d)}"
IMAGE_TYPE_uboot="image_types_uboot"
#
# $IMAGE_TYPE_vm
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:142
# "${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi", "qcow2", "hdddirect"], "image-vm", "", d)}"
IMAGE_TYPE_vm=""
#
# $IMAGE_TYPE_wic
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:157
# "image_types_wic"
IMAGE_TYPE_wic="image_types_wic"
#
# $IMGDEPLOYDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:75
# "${WORKDIR}/deploy-${PN}-image-complete"
IMGDEPLOYDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete"
#
# $INCOMPATIBLE_LICENSE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:226
# [doc] "Specifies a space-separated list of license names (as they would appear in LICENSE) that should be excluded from the build. Wildcard is supported, such as '*GPLv3'"
#
# $INC_PR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:225
# [doc] "Helps define the recipe revision for recipes that share a common include file."
#
# $INHERIT [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:24
# "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:229
# [doc] "Causes the named class to be inherited at this point during parsing. The variable is only valid in configuration files."
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf:15
# "sanity"
# pre-expansion value:
# " ${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST} sanity"
INHERIT=" package_ipk debian devshell sstate license remove-libtool blacklist sanity"
#
# $INHERIT_BLACKLIST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:22
# "blacklist"
INHERIT_BLACKLIST="blacklist"
#
# $INHERIT_DISTRO [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:23
# "debian devshell sstate license remove-libtool"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:230
# [doc] "Lists classes that will be inherited at the distribution level. It is unlikely that you want to edit this variable."
# pre-expansion value:
# "debian devshell sstate license remove-libtool"
INHERIT_DISTRO="debian devshell sstate license remove-libtool"
#
# $INHIBIT_DEFAULT_DEPS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:227
# [doc] "Prevents the default dependencies, namely the C compiler and standard C library (libc), from being added to DEPENDS."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:18
# "1"
# pre-expansion value:
# "1"
INHIBIT_DEFAULT_DEPS="1"
#
# $INHIBIT_PACKAGE_STRIP
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:228
# [doc] "If set to "1", causes the build to not strip binaries in resulting packages."
#
# $INITRAMFS_FSTYPES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:231
# [doc] "Defines the format for the output image of an initial RAM disk (initramfs), which is used during boot."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:753
# "cpio.gz"
# pre-expansion value:
# "cpio.gz"
INITRAMFS_FSTYPES="cpio.gz"
#
# $INITRAMFS_MAXSIZE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:757
# [_defaultval] "131072"
INITRAMFS_MAXSIZE="131072"
#
# $INITRD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:232
# [doc] "Indicates a list of filesystem images to concatenate and use as an initial RAM disk (initrd)."
#
# $INITSCRIPT_NAME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:233
# [doc] "The filename of the initialization script as installed to ${sysconfdir}/init.d."
#
# $INITSCRIPT_PACKAGES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:234
# [doc] "A list of the packages that contain initscripts. This variable is used in recipes when using update-rc.d.bbclass. The variable is optional and defaults to the PN variable."
#
# $INITSCRIPT_PARAMS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:235
# [doc] "Specifies the options to pass to update-rc.d. The variable is mandatory and is used in recipes when using update-rc.d.bbclass."
# override[pn-init-ifupdown]:set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:51
# "stop 80 0 6 1 ."
# pre-expansion value:
# "None"
#
# $INITSCRIPT_PARAMS_pn-init-ifupdown
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:51
# "stop 80 0 6 1 ."
INITSCRIPT_PARAMS_pn-init-ifupdown="stop 80 0 6 1 ."
#
# $INSANE_SKIP
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:236
# [doc] "Specifies the QA checks to skip for a specific package within a recipe."
#
# $IPKGCONF_SDK
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:6
# "${WORKDIR}/opkg-sdk.conf"
IPKGCONF_SDK="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/opkg-sdk.conf"
#
# $IPKGCONF_TARGET
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:5
# "${WORKDIR}/opkg.conf"
IPKGCONF_TARGET="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/opkg.conf"
#
# $IPK_FEED_URIS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:237
# [doc] "List of ipkg feed records to put into generated image."
#
# $JFFS2_ENDIANNESS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:201
# "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '-l', '-b', d)}"
JFFS2_ENDIANNESS="-l"
#
# $JFFS2_ERASEBLOCK
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:202
# "0x40000"
JFFS2_ERASEBLOCK="0x40000"
#
# $JFFS2_SUM_EXTRA_ARGS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:52
# ""
JFFS2_SUM_EXTRA_ARGS=""
#
# $KARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:241
# [doc] "Defines the kernel architecture used when assembling the configuration. You define the KARCH variable in the BSP Descriptions."
#
# $KBRANCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:242
# [doc] "A regular expression used by the build process to explicitly identify the kernel branch that is validated, patched and configured during a build."
#
# $KBRANCH_DEFAULT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:243
# [doc] "Defines the Linux kernel source repository's default branch used to build the Linux kernel. Unless you specify otherwise, the variable initializes to 'master'."
#
# $KEEPUIMAGE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:5
# [_defaultval] "yes"
KEEPUIMAGE="yes"
#
# $KERNELDEPMODDEPEND
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:95
# "virtual/kernel:do_packagedata"
KERNELDEPMODDEPEND="virtual/kernel:do_packagedata"
#
# $KERNELORG_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:614
# "http://cdn.kernel.org/pub"
KERNELORG_MIRROR="http://cdn.kernel.org/pub"
#
# $KERNEL_AR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:61
# "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}"
KERNEL_AR="arm-oe-linux-gnueabi-ar "
#
# $KERNEL_CC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:59
# "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd"
KERNEL_CC="arm-oe-linux-gnueabi-gcc -mno-thumb-interwork -marm -fuse-ld=bfd"
#
# $KERNEL_CLASSES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:244
# [doc] "A list of classes defining kernel image types that kernel class should inherit."
#
# $KERNEL_CONSOLE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:4
# "ttyS0"
KERNEL_CONSOLE="ttyS0"
#
# $KERNEL_DEFCONFIG
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:9
# "multi_v7_defconfig"
KERNEL_DEFCONFIG="multi_v7_defconfig"
#
# $KERNEL_DEVICETREE
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:7
# "bcm2836-rpi-2-b.dtb"
KERNEL_DEVICETREE="bcm2836-rpi-2-b.dtb"
#
# $KERNEL_EXTRA_ARGS [2 operations]
# _append[pn-linux-pil] /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:10
# " LOADADDR=${UBOOT_ENTRYPOINT}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:245
# [doc] "Specifies additional make command-line arguments the OpenEmbedded build system passes on when compiling the kernel."
# pre-expansion value:
# ""
KERNEL_EXTRA_ARGS=""
#
# $KERNEL_FEATURES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:246
# [doc] "Includes additional metadata from the Yocto Project kernel Git repository. The metadata you add through this variable includes config fragments and features descriptions."
#
# $KERNEL_IMAGETYPE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:8
# "uImage"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:247
# [doc] "The type of kernel to build for a device, usually set by the machine configuration files and defaults to 'zImage'."
# pre-expansion value:
# "uImage"
KERNEL_IMAGETYPE="uImage"
#
# $KERNEL_IMAGETYPES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:248
# [doc] "The list of types of kernel to build for a device, usually set by the machine configuration files and defaults to KERNEL_IMAGETYPE."
#
# $KERNEL_LD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:60
# "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
KERNEL_LD="arm-oe-linux-gnueabi-ld.bfd "
#
# $KERNEL_MODULE_AUTOLOAD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:249
# [doc] "Lists kernel modules that need to be auto-loaded during boot"
#
# $KERNEL_MODULE_PROBECONF
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:250
# [doc] "Lists kernel modules for which the build system expects to find module_conf_* values that specify configuration for each of the modules"
#
# $KERNEL_PATH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:251
# [doc] "The location of the kernel sources. This variable is set to the value of the STAGING_KERNEL_DIR within the module class (module.bbclass)."
#
# $KERNEL_SRC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:252
# [doc] "The location of the kernel sources. This variable is set to the value of the STAGING_KERNEL_DIR within the module class (module.bbclass)."
#
# $KERNEL_SRC_PATH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:419
# "/usr/src/kernel"
KERNEL_SRC_PATH="/usr/src/kernel"
#
# $KFEATURE_DESCRIPTION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:253
# [doc] "Provides a short description of a configuration fragment. You use this variable in the .scc file that describes a configuration fragment file."
#
# $KMACHINE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:254
# [doc] "The machine as known by the kernel."
#
# $KTYPE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:255
# [doc] "Defines the kernel type to be used in assembling the configuration."
#
# $LAYERDEPENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:259
# [doc] "Lists the layers, separated by spaces, upon which this recipe depends. This variable is used in the conf/layer.conf file and must be suffixed with the name of the specific layer."
# override[qt5-layer]:set /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:30
# "core"
# pre-expansion value:
# "None"
#
# $LAYERDEPENDS_qt5-layer
# set /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:30
# "core"
LAYERDEPENDS_qt5-layer="core"
#
# $LAYERDIR [7 operations]
# set cookerdata.py:340 [parseConfigurationFiles]
# "/home/mnhu/projects/pil/yocto/meta-poky/meta"
# set cookerdata.py:340 [parseConfigurationFiles]
# "/home/mnhu/projects/pil/yocto/meta-qt5"
# set cookerdata.py:340 [parseConfigurationFiles]
# "/home/mnhu/projects/pil/yocto/meta-rauc"
# set cookerdata.py:340 [parseConfigurationFiles]
# "/home/mnhu/projects/pil/yocto/meta-pil"
# set cookerdata.py:340 [parseConfigurationFiles]
# "/home/mnhu/projects/pil/yocto"
# del cookerdata.py:347 [parseConfigurationFiles]
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:260
# [doc] "When used inside the layer.conf configuration file, this variable provides the path of the current layer."
# pre-expansion value:
# "None"
#
# $LAYERVERSION [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:261
# [doc] "Optionally specifies the version of a layer as a single number. This variable is used in the conf/layer.conf file and must be suffixed with the name of the specific layer."
# override[core]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:12
# "10"
# override[qt5-layer]:set /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:28
# "1"
# pre-expansion value:
# "None"
#
# $LAYERVERSION_core
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:12
# "10"
LAYERVERSION_core="10"
#
# $LAYERVERSION_qt5-layer
# set /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:28
# "1"
LAYERVERSION_qt5-layer="1"
#
# $LAYER_CONF_VERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf:12
# "7"
LAYER_CONF_VERSION="7"
#
# $LC_ALL [4 operations]
# from env data.py:124 [inheritFromOS]
# "en_US.UTF-8"
# auto env export data.py:126 [inheritFromOS]
# [export] "True"
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:526
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:526
# "en_US.UTF-8"
# pre-expansion value:
# "en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
#
# $LD [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:498
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:498
# "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
# pre-expansion value:
# "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
export LD="arm-oe-linux-gnueabi-ld --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot "
#
# $LDCONFIGDEPEND [3 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:87
# "ldconfig-native:do_populate_sysroot"
# override[libc-uclibc]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:88
# ""
# override[libc-musl]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:89
# ""
# pre-expansion value:
# "ldconfig-native:do_populate_sysroot"
LDCONFIGDEPEND="ldconfig-native:do_populate_sysroot"
#
# $LDCONFIGDEPEND_libc-musl
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:89
# ""
LDCONFIGDEPEND_libc-musl=""
#
# $LDCONFIGDEPEND_libc-uclibc
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:88
# ""
LDCONFIGDEPEND_libc-uclibc=""
#
# $LDFLAGS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:568
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:568
# "${TARGET_LDFLAGS}"
# pre-expansion value:
# "${TARGET_LDFLAGS}"
export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
#
# $LEAD_SONAME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:262
# [doc] "Specifies the lead (or primary) compiled library file (.so) that the debian class applies its naming policy to given a recipe that packages multiple libraries."
#
# $LGPLv2_WHITELIST_GPL-3.0
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:26
# ""
LGPLv2_WHITELIST_GPL-3.0=""
#
# $LIBCEXTENSION [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:118
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:5
# "${@['', '-gnu'][(d.getVar('ABIEXTENSION') or '') != '']}"
# pre-expansion value:
# "${@['', '-gnu'][(d.getVar('ABIEXTENSION') or '') != '']}"
LIBCEXTENSION="-gnu"
#
# $LIBCOVERRIDE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:8
# ":libc-glibc"
LIBCOVERRIDE=":libc-glibc"
#
# $LIBC_DEPENDENCIES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:27
# "libsegfault glibc glibc-dbg glibc-dev glibc-utils glibc-thread-db ${@get_libc_locales_dependencies(d)}"
LIBC_DEPENDENCIES="libsegfault glibc glibc-dbg glibc-dev glibc-utils glibc-thread-db glibc-localedata-i18n glibc-gconv-ibm850 glibc-gconv-cp1252 glibc-gconv-iso8859-1 glibc-gconv-iso8859-15"
#
# $LIBC_LOCALE_DEPENDENCIES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:34
# " glibc-localedata-i18n glibc-gconv-ibm850 glibc-gconv-cp1252 glibc-gconv-iso8859-1 glibc-gconv-iso8859-15"
LIBC_LOCALE_DEPENDENCIES=" glibc-localedata-i18n glibc-gconv-ibm850 glibc-gconv-cp1252 glibc-gconv-iso8859-1 glibc-gconv-iso8859-15"
#
# $LICENSE [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:249
# [_defaultval] "INVALID"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:264
# [doc] "The list of source licenses for the recipe. Logical operators '&' or '|' and parentheses can be used."
# set /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb:2
# "MIT"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:12
# "MIT"
# pre-expansion value:
# "MIT"
LICENSE="MIT"
#
# $LICENSE_CREATE_PACKAGE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass:10
# [type] "boolean"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass:11
# [_defaultval] "0"
# pre-expansion value:
# "0"
LICENSE_CREATE_PACKAGE="0"
#
# $LICENSE_DIRECTORY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass:6
# [_defaultval] "${DEPLOY_DIR}/licenses"
LICENSE_DIRECTORY="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/licenses"
#
# $LICENSE_FILES_DIRECTORY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass:13
# [_defaultval] "${datadir}/licenses/"
LICENSE_FILES_DIRECTORY="/usr/share/licenses/"
#
# $LICENSE_PACKAGE_SUFFIX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass:12
# [_defaultval] "-lic"
LICENSE_PACKAGE_SUFFIX="-lic"
#
# $LICENSE_PATH [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:32
# "${LAYERDIR}/licenses"
# set data_smart.py:938 [expandVarref]
# " /home/mnhu/projects/pil/yocto/meta-qt5/licenses"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:265
# [doc] "Path to additional licenses used during the build."
# pre-expansion value:
# " /home/mnhu/projects/pil/yocto/meta-qt5/licenses"
LICENSE_PATH=" /home/mnhu/projects/pil/yocto/meta-qt5/licenses"
#
# $LICSSTATEDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass:7
# "${WORKDIR}/license-destdir/"
LICSSTATEDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/license-destdir/"
#
# $LIC_FILES_CHKSUM
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:263
# [doc] "Checksums of the license text in the recipe source code."
#
# $LINGUAS_INSTALL
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:201
# "${@" ".join(map(lambda s: "locale-base-%s" % s, d.getVar('IMAGE_LINGUAS').split()))}"
LINGUAS_INSTALL=""
#
# $LINKER_HASH_STYLE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:562
# [_defaultval] "gnu"
# override[mipsarch]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:564
# "sysv"
# pre-expansion value:
# "gnu"
LINKER_HASH_STYLE="gnu"
#
# $LINKER_HASH_STYLE_mipsarch
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:564
# "sysv"
LINKER_HASH_STYLE_mipsarch="sysv"
#
# $LINUXLIBCVERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:31
# "4.10%"
LINUXLIBCVERSION="4.10%"
#
# $LINUX_KERNEL_TYPE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:266
# [doc] "Defines the kernel type to be used in assembling the configuration."
#
# $LINUX_VERSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:267
# [doc] "The Linux version from kernel.org on which the Linux kernel image being built using the OpenEmbedded build system is based. You define this variable in the kernel recipe."
#
# $LINUX_VERSION_EXTENSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:268
# [doc] "A string extension compiled into the version string of the Linux kernel built with the OpenEmbedded build system. You define this variable in the kernel recipe."
#
# $LOCALCONF_VERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf:11
# "1"
LOCALCONF_VERSION="1"
#
# $LOCALEBASEPN
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:546
# [_defaultval] "${PN}"
LOCALEBASEPN="rescue-rootfs"
#
# $LOCALE_SECTION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:50
# ""
LOCALE_SECTION=""
#
# $LOCALE_UTF8_IS_DEFAULT [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:10
# "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:269
# [doc] "If set, locale names are renamed such that those lacking an explicit encoding (e.g. en_US) will always be UTF-8, and non-UTF-8 encodings are renamed to, e.g., en_US.ISO-8859-1. Otherwise, the encoding is specified by glibc's SUPPORTED file. Not supported for precompiled locales."
# pre-expansion value:
# "1"
LOCALE_UTF8_IS_DEFAULT="1"
#
# $LOCALE_UTF8_ONLY
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:9
# "0"
LOCALE_UTF8_ONLY="0"
#
# $LOGFIFO
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/logging.bbclass:6
# "${T}/fifo.${@os.getpid()}"
LOGFIFO="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198"
#
# $LOGNAME [2 operations]
# from env data.py:124 [inheritFromOS]
# "mnhu"
# auto env export data.py:126 [inheritFromOS]
# [export] "True"
# pre-expansion value:
# "mnhu"
export LOGNAME="mnhu"
#
# $LOG_DIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:335
# "${TMPDIR}/log"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:270
# [doc] "Specifies the directory to which the OpenEmbedded build system writes overall log files. The default directory is ${TMPDIR}/log"
# pre-expansion value:
# "${TMPDIR}/log"
LOG_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/log"
#
# $MACHINE [3 operations]
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:7
# "rpi2"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:274
# [doc] "Specifies the target device for which the image is built. You define MACHINE in the conf/local.conf file in the Build Directory."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:823
# [unexport] "1"
# pre-expansion value:
# "rpi2"
unset MACHINE
#
# $MACHINEOVERRIDES [9 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:720
# "${MACHINE}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:721
# [vardepsexclude] "MACHINE"
# predot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc:3
# "${@['', '${SOC_FAMILY}:']['${SOC_FAMILY}' != '']}"
# predot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:6
# "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '' ,d)}"
# predot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:6
# "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '' ,d)}"
# predot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:6
# "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '' ,d)}"
# predot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:6
# "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '' ,d)}"
# predot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:13
# "${@bb.utils.contains('TUNE_FEATURES', 'armv4', 'armv4:', '' ,d)}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:282
# [doc] "Lists overrides specific to the current machine. By default, this list includes the value of MACHINE."
# pre-expansion value:
# "${@bb.utils.contains('TUNE_FEATURES', 'armv4', 'armv4:', '' ,d)}${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '' ,d)}${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '' ,d)}${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '' ,d)}${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '' ,d)}${@['', '${SOC_FAMILY}:']['${SOC_FAMILY}' != '']}${MACHINE}"
MACHINEOVERRIDES="armv7ve:rpi:rpi2"
#
# $MACHINE_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:145
# "${@[d.getVar('TUNE_PKGARCH'), d.getVar('MACHINE')][bool(d.getVar('MACHINE'))].replace('-', '_')}"
MACHINE_ARCH="rpi2"
#
# $MACHINE_ESSENTIAL_EXTRA_RDEPENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:275
# [doc] "A list of required machine-specific packages to install as part of the image being built. Because this is a 'machine essential' variable, the list of packages are essential for the machine to boot."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:793
# ""
# pre-expansion value:
# ""
MACHINE_ESSENTIAL_EXTRA_RDEPENDS=""
#
# $MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:276
# [doc] "A list of recommended machine-specific packages to install as part of the image being built. Because this is a 'machine essential' variable, the list of packages are essential for the machine to boot."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:794
# ""
# pre-expansion value:
# ""
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS=""
#
# $MACHINE_EXTRA_RDEPENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:277
# [doc] "A list of machine-specific packages to install as part of the image being built that are not essential for the machine to boot. However, the build process for more fully-featured images depends on the packages being present."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:791
# ""
# pre-expansion value:
# ""
MACHINE_EXTRA_RDEPENDS=""
#
# $MACHINE_EXTRA_RRECOMMENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:278
# [doc] "A list of machine-specific packages to install as part of the image being built that are not essential for booting the machine. The image being built has no build dependencies on the packages in this list."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:792
# ""
# pre-expansion value:
# ""
MACHINE_EXTRA_RRECOMMENDS=""
#
# $MACHINE_FEATURES [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:279
# [doc] "Specifies the list of hardware features the MACHINE supports."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:786
# ""
# append utils.py:127 [features_backfill]
# " qemu-usermode"
# pre-expansion value:
# " qemu-usermode"
MACHINE_FEATURES=" qemu-usermode"
#
# $MACHINE_FEATURES_BACKFILL [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:280
# [doc] "Features to be added to MACHINE_FEATURES if not also present in MACHINE_FEATURES_BACKFILL_CONSIDERED. This variable is set in the meta/conf/bitbake.conf file and is not intended to be user-configurable."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:810
# "rtc qemu-usermode"
# pre-expansion value:
# "rtc qemu-usermode"
MACHINE_FEATURES_BACKFILL="rtc qemu-usermode"
#
# $MACHINE_FEATURES_BACKFILL_CONSIDERED [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:19
# "rtc"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:281
# [doc] "Features from MACHINE_FEATURES_BACKFILL that should not be backfilled (i.e. added to MACHINE_FEATURES) during the build."
# pre-expansion value:
# "rtc"
MACHINE_FEATURES_BACKFILL_CONSIDERED="rtc"
#
# $MACHINE_TASK_PROVIDER
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:760
# "${DEFAULT_TASK_PROVIDER}"
MACHINE_TASK_PROVIDER="packagegroup-base"
#
# $MAINTAINER [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:250
# "OE-Core Developers <openembedded-core at lists.openembedded.org>"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:283
# [doc] "The email address of the distribution maintainer."
# pre-expansion value:
# "OE-Core Developers <openembedded-core at lists.openembedded.org>"
MAINTAINER="OE-Core Developers <openembedded-core at lists.openembedded.org>"
#
# $MAKE [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:523
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:523
# "make"
# pre-expansion value:
# "make"
export MAKE="make"
#
# $METADATA_BRANCH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/metadata_scm.bbclass:1
# "${@base_detect_branch(d)}"
METADATA_BRANCH="HEAD"
#
# $METADATA_REVISION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/metadata_scm.bbclass:2
# "${@base_detect_revision(d)}"
METADATA_REVISION="072430b9b3a78b318b66371c36e2986d2ed5cba4"
#
# $MIN_BTRFS_SIZE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:85
# "16384"
MIN_BTRFS_SIZE="16384"
#
# $MIRRORS [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:284
# [doc] "Specifies additional paths from which the OpenEmbedded build system gets source code."
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/mirrors.bbclass:70
# "${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \n ${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool \n ${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20090802T004153Z/debian/pool \n ${DEBIAN_MIRROR} http://ftp.de.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.au.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.cl.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.hr.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.fi.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.hk.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.hu.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.ie.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.it.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.jp.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.no.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.pl.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.ro.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.si.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.es.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.se.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.tr.debian.org/debian/pool \n ${GNU_MIRROR} https://mirrors.kernel.org/gnu \n ${KERNELORG_MIRROR} http://www.kernel.org/pub \n ${GNUPG_MIRROR} ftp://ftp.gnupg.org/gcrypt \n ${GNUPG_MIRROR} ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt \n ${GNUPG_MIRROR} ftp://mirrors.dotsrc.org/gcrypt \n ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n ${APACHE_MIRROR} http://www.us.apache.org/dist \n ${APACHE_MIRROR} http://archive.apache.org/dist \n http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n ${SAVANNAH_GNU_MIRROR} http://download-mirror.savannah.gnu.org/releases \n ${SAVANNAH_NONGNU_MIRROR} http://download-mirror.savannah.nongnu.org/releases \n cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n hg://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n https?$://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n ftp://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n npm://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n cvs://.*/.* http://sources.openembedded.org/ \n svn://.*/.* http://sources.openembedded.org/ \n git://.*/.* http://sources.openembedded.org/ \n hg://.*/.* http://sources.openembedded.org/ \n bzr://.*/.* http://sources.openembedded.org/ \n p4://.*/.* http://sources.openembedded.org/ \n osc://.*/.* http://sources.openembedded.org/ \n https?$://.*/.* http://sources.openembedded.org/ \n ftp://.*/.* http://sources.openembedded.org/ \n npm://.*/.* http://sources.openembedded.org/ \n ${CPAN_MIRROR} http://cpan.metacpan.org/ \n ${CPAN_MIRROR} http://search.cpan.org/CPAN/ \n "
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/mirrors.bbclass:81
# "git://anonscm.debian.org/.* git://anonscm.debian.org/git/PATH;protocol=https \n git://git.gnome.org/.* git://git.gnome.org/browse/PATH;protocol=https \n git://git.savannah.gnu.org/.* git://git.savannah.gnu.org/git/PATH;protocol=https \n git://git.yoctoproject.org/.* git://git.yoctoproject.org/git/PATH;protocol=https \n git://.*/.* git://HOST/PATH;protocol=https \n "
# pre-expansion value:
# " ${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \n ${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool \n ${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20090802T004153Z/debian/pool \n ${DEBIAN_MIRROR} http://ftp.de.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.au.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.cl.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.hr.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.fi.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.hk.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.hu.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.ie.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.it.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.jp.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.no.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.pl.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.ro.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.si.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.es.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.se.debian.org/debian/pool \n ${DEBIAN_MIRROR} http://ftp.tr.debian.org/debian/pool \n ${GNU_MIRROR} https://mirrors.kernel.org/gnu \n ${KERNELORG_MIRROR} http://www.kernel.org/pub \n ${GNUPG_MIRROR} ftp://ftp.gnupg.org/gcrypt \n ${GNUPG_MIRROR} ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt \n ${GNUPG_MIRROR} ftp://mirrors.dotsrc.org/gcrypt \n ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n ${APACHE_MIRROR} http://www.us.apache.org/dist \n ${APACHE_MIRROR} http://archive.apache.org/dist \n http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n ${SAVANNAH_GNU_MIRROR} http://download-mirror.savannah.gnu.org/releases \n ${SAVANNAH_NONGNU_MIRROR} http://download-mirror.savannah.nongnu.org/releases \n cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n hg://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n https?$://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n ftp://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n npm://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n cvs://.*/.* http://sources.openembedded.org/ \n svn://.*/.* http://sources.openembedded.org/ \n git://.*/.* http://sources.openembedded.org/ \n hg://.*/.* http://sources.openembedded.org/ \n bzr://.*/.* http://sources.openembedded.org/ \n p4://.*/.* http://sources.openembedded.org/ \n osc://.*/.* http://sources.openembedded.org/ \n https?$://.*/.* http://sources.openembedded.org/ \n ftp://.*/.* http://sources.openembedded.org/ \n npm://.*/.* http://sources.openembedded.org/ \n ${CPAN_MIRROR} http://cpan.metacpan.org/ \n ${CPAN_MIRROR} http://search.cpan.org/CPAN/ \n git://anonscm.debian.org/.* git://anonscm.debian.org/git/PATH;protocol=https \n git://git.gnome.org/.* git://git.gnome.org/browse/PATH;protocol=https \n git://git.savannah.gnu.org/.* git://git.savannah.gnu.org/git/PATH;protocol=https \n git://git.yoctoproject.org/.* git://git.yoctoproject.org/git/PATH;protocol=https \n git://.*/.* git://HOST/PATH;protocol=https \n "
MIRRORS=" http://ftp.debian.org/debian/pool http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \n http://ftp.debian.org/debian/pool http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool \n http://ftp.debian.org/debian/pool http://snapshot.debian.org/archive/debian-archive/20090802T004153Z/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.de.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.au.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.cl.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.hr.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.fi.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.hk.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.hu.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.ie.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.it.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.jp.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.no.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.pl.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.ro.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.si.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.es.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.se.debian.org/debian/pool \n http://ftp.debian.org/debian/pool http://ftp.tr.debian.org/debian/pool \n http://ftp.gnu.org/gnu https://mirrors.kernel.org/gnu \n http://cdn.kernel.org/pub http://www.kernel.org/pub \n https://www.gnupg.org/ftp/gcrypt ftp://ftp.gnupg.org/gcrypt \n https://www.gnupg.org/ftp/gcrypt ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt \n https://www.gnupg.org/ftp/gcrypt ftp://mirrors.dotsrc.org/gcrypt \n ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n ftp://ftp.gnutls.org/gcrypt/gnutls https://www.gnupg.org/ftp/gcrypt/gnutls \n http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/ \n ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/ \n http://archive.apache.org/dist http://www.us.apache.org/dist \n http://archive.apache.org/dist http://archive.apache.org/dist \n http://downloads.sourceforge.net/watchdog/ http://fossies.org/linux/misc/ \n http://download.savannah.gnu.org/releases http://download-mirror.savannah.gnu.org/releases \n http://download.savannah.nongnu.org/releases http://download-mirror.savannah.nongnu.org/releases \n cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n hg://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n https?\$://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n ftp://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n npm://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n cvs://.*/.* http://sources.openembedded.org/ \n svn://.*/.* http://sources.openembedded.org/ \n git://.*/.* http://sources.openembedded.org/ \n hg://.*/.* http://sources.openembedded.org/ \n bzr://.*/.* http://sources.openembedded.org/ \n p4://.*/.* http://sources.openembedded.org/ \n osc://.*/.* http://sources.openembedded.org/ \n https?\$://.*/.* http://sources.openembedded.org/ \n ftp://.*/.* http://sources.openembedded.org/ \n npm://.*/.* http://sources.openembedded.org/ \n http://search.cpan.org/CPAN http://cpan.metacpan.org/ \n http://search.cpan.org/CPAN http://search.cpan.org/CPAN/ \n git://anonscm.debian.org/.* git://anonscm.debian.org/git/PATH;protocol=https \n git://git.gnome.org/.* git://git.gnome.org/browse/PATH;protocol=https \n git://git.savannah.gnu.org/.* git://git.savannah.gnu.org/git/PATH;protocol=https \n git://git.yoctoproject.org/.* git://git.yoctoproject.org/git/PATH;protocol=https \n git://.*/.* git://HOST/PATH;protocol=https \n "
#
# $MLPREFIX [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:285
# [doc] "Specifies a prefix has been added to PN to create a special version of a recipe or package, such as a Multilib version."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:867
# [_defaultval] ""
# pre-expansion value:
# ""
MLPREFIX=""
#
# $MODULE_TARBALL_DEPLOY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:286
# [doc] "Controls creation of the modules-*.tgz file. Set this variable to "0" to disable creation of this file, which contains all of the kernel modules resulting from a kernel build."
#
# $MULTILIBRE_ALLOW_REP [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass:25
# "${OPKGLIBDIR}/opkg|/usr/lib/opkg"
# predot /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:594
# "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|${sysconfdir}|${nonarch_base_libdir}/udev|/lib/modules/[^/]*/modules.*|"
# pre-expansion value:
# "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|${sysconfdir}|${nonarch_base_libdir}/udev|/lib/modules/[^/]*/modules.*|${OPKGLIBDIR}/opkg|/usr/lib/opkg"
MULTILIBRE_ALLOW_REP="/bin|/sbin|/usr/bin|/usr/sbin|/usr/libexec|/etc|/lib/udev|/lib/modules/[^/]*/modules.*|/var/lib/opkg|/usr/lib/opkg"
#
# $MULTILIB_CHECK_FILE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:595
# "${WORKDIR}/multilib_check.py"
MULTILIB_CHECK_FILE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/multilib_check.py"
#
# $MULTILIB_TEMP_ROOTFS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:596
# "${WORKDIR}/multilib"
MULTILIB_TEMP_ROOTFS="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/multilib"
#
# $MULTILIB_VARIANTS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:868
# [_defaultval] ""
MULTILIB_VARIANTS=""
#
# $MULTIMACH_TARGET_SYS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:152
# "${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:287
# [doc] "Separates files for different machines such that you can build for multiple target machines using the same output directories."
# pre-expansion value:
# "${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
MULTIMACH_TARGET_SYS="rpi2-oe-linux-gnueabi"
#
# $MULTI_PROVIDER_WHITELIST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:266
# "virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives"
MULTI_PROVIDER_WHITELIST="virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives"
#
# $NATIVELSBSTRING [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:291
# [doc] "A string identifying the host distribution."
# set base.bbclass:236 [base_eventhandler]
# "ubuntu-16.04"
# pre-expansion value:
# "ubuntu-16.04"
NATIVELSBSTRING="ubuntu-16.04"
#
# $NM [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:507
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:507
# "${HOST_PREFIX}nm"
# pre-expansion value:
# "${HOST_PREFIX}nm"
export NM="arm-oe-linux-gnueabi-nm"
#
# $NO32LIBS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:37
# [_defaultval] "1"
NO32LIBS="1"
#
# $NOHDD [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:293
# [doc] "Causes the OpenEmbedded build system to skip building the .hddimg image."
# set image.bbclass:133 [build_live]
# "1"
# set image.bbclass:133 [build_live]
# "1"
# pre-expansion value:
# "1"
NOHDD="1"
#
# $NOISO [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:294
# [doc] "Causes the OpenEmbedded build system to skip building the ISO image."
# set image.bbclass:132 [build_live]
# "1"
# set image.bbclass:132 [build_live]
# "1"
# pre-expansion value:
# "1"
NOISO="1"
#
# $NO_RECOMMENDATIONS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:292
# [doc] "When set to '1', no recommended packages will be installed. Realize that some recommended packages might be required for certain system functionality, such as kernel-modules. It is up to the user to add packages to IMAGE_INSTALL as needed."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:818
# ""
# pre-expansion value:
# ""
NO_RECOMMENDATIONS=""
#
# $OBJCOPY [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:504
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:504
# "${HOST_PREFIX}objcopy"
# pre-expansion value:
# "${HOST_PREFIX}objcopy"
export OBJCOPY="arm-oe-linux-gnueabi-objcopy"
#
# $OBJDUMP [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:505
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:505
# "${HOST_PREFIX}objdump"
# pre-expansion value:
# "${HOST_PREFIX}objdump"
export OBJDUMP="arm-oe-linux-gnueabi-objdump"
#
# $OEINCLUDELOGS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:3
# "yes"
OEINCLUDELOGS="yes"
#
# $OELAYOUT_ABI
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/abi_version.conf:7
# "12"
OELAYOUT_ABI="12"
#
# $OEROOT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:301
# [doc] "The directory from which the top-level build environment setup script is sourced."
#
# $OES_BITBAKE_CONF
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:780
# "1"
OES_BITBAKE_CONF="1"
#
# $OE_BINCONFIG_EXTRA_MANGLE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:298
# [doc] "When a recipe inherits the binconfig.bbclass class, this variable specifies additional arguments passed to the "sed" command."
#
# $OE_IMPORTED
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:37
# "${@oe_import(d)}"
OE_IMPORTED=""
#
# $OE_IMPORTS [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:299
# [doc] "An internal variable used to tell the OpenEmbedded build system what Python modules to import for every Python function run by the system."
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:13
# "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:14
# [type] "list"
# pre-expansion value:
# " os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license"
OE_IMPORTS=" os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license"
#
# $OE_INIT_ENV_SCRIPT
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:65
# "oe-init-build-env"
OE_INIT_ENV_SCRIPT="oe-init-build-env"
#
# $OE_TERMINAL [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:300
# [doc] "Controls how the OpenEmbedded build system spawns interactive terminals on the host development system."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass:1
# "auto"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass:2
# [type] "choice"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass:4
# [choices] "auto none ${@oe_terminal_prioritized()}"
# pre-expansion value:
# "auto"
OE_TERMINAL="auto"
#
# $OE_TERMINAL_EXPORTS [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass:6
# "EXTRA_OEMAKE CACHED_CONFIGUREVARS CONFIGUREOPTS EXTRA_OECONF"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass:7
# [type] "list"
# pre-expansion value:
# " EXTRA_OEMAKE CACHED_CONFIGUREVARS CONFIGUREOPTS EXTRA_OECONF"
OE_TERMINAL_EXPORTS=" EXTRA_OEMAKE CACHED_CONFIGUREVARS CONFIGUREOPTS EXTRA_OECONF"
#
# $OLDEST_KERNEL [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:408
# "3.2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:302
# [doc] "Declares the oldest version of the Linux kernel that the produced binaries must support."
# override[aarch64]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:409
# "3.14"
# override[nios2]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:410
# "3.19"
# pre-expansion value:
# "3.2.0"
OLDEST_KERNEL="3.2.0"
#
# $OLDEST_KERNEL_aarch64
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:409
# "3.14"
OLDEST_KERNEL_aarch64="3.14"
#
# $OLDEST_KERNEL_nios2
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:410
# "3.19"
OLDEST_KERNEL_nios2="3.19"
#
# $OPKGBUILDCMD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:11
# [_defaultval] "opkg-build"
OPKGBUILDCMD="opkg-build"
#
# $OPKGLIBDIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:17
# "${localstatedir}/lib"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass:23
# "${localstatedir}/lib"
# pre-expansion value:
# "${localstatedir}/lib"
OPKGLIBDIR="/var/lib"
#
# $OPKG_ARGS [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:13
# "--force_postinstall --prefer-arch-to-version"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:14
# "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:15
# "${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKAGE_EXCLUDE') or "").split())][(d.getVar("PACKAGE_EXCLUDE") or "") != ""]}"
# pre-expansion value:
# " --force_postinstall --prefer-arch-to-version ${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]} ${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKAGE_EXCLUDE') or "").split())][(d.getVar("PACKAGE_EXCLUDE") or "") != ""]}"
OPKG_ARGS=" --force_postinstall --prefer-arch-to-version "
#
# $OPKG_POSTPROCESS_COMMANDS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass:21
# ""
OPKG_POSTPROCESS_COMMANDS=""
#
# $OPKG_PREPROCESS_COMMANDS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass:19
# ""
OPKG_PREPROCESS_COMMANDS=""
#
# $OVERRIDES [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:716
# "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:717
# [vardepsexclude] "MACHINEOVERRIDES"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:9
# "${LIBCOVERRIDE}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:303
# [doc] "BitBake uses OVERRIDES to control what variables are overridden after BitBake parses recipes and configuration files."
# pre-expansion value:
# "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable${LIBCOVERRIDE}"
OVERRIDES="linux-gnueabi:arm:build-linux:pn-rescue-rootfs:armv7ve:rpi:rpi2:basic:class-target:forcevariable:libc-glibc"
#
# $P [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:200
# "${PN}-${PV}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:307
# [doc] "The recipe name and version. P is comprised of ${PN}-${PV}."
# pre-expansion value:
# "${PN}-${PV}"
P="rescue-rootfs-1.0"
#
# $PACKAGEBUILDPKGD
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2042
# " perform_packagecopy ${PACKAGE_PREPROCESS_FUNCS} split_and_strip_files fixup_perms "
PACKAGEBUILDPKGD=" perform_packagecopy split_and_strip_files fixup_perms "
#
# $PACKAGECONFIG [4 operations]
# _append[pn-mesa] /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:24
# "gallium egl gles gbm"
# _remove[pn-gdb] /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:48
# " python"
# _append[pn-qtbase] /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.conf:24
# " examples accessibility libinput udev fontconfig freetype xkbcommon-evdev "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:317
# [doc] "This variable provides a means of enabling or disabling features of a recipe on a per-recipe basis."
# pre-expansion value:
# ""
PACKAGECONFIG=""
#
# $PACKAGECONFIG_GL_pn-qtbase
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:23
# "gles2 eglfs kms gbm"
PACKAGECONFIG_GL_pn-qtbase="gles2 eglfs kms gbm"
#
# $PACKAGEFUNCS
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2056
# " package_fixsymlinks package_name_hook package_do_filedeps package_do_shlibs package_do_pkgconfig read_shlibdeps package_depchains emit_pkgdata"
PACKAGEFUNCS=" package_fixsymlinks package_name_hook package_do_filedeps package_do_shlibs package_do_pkgconfig read_shlibdeps package_depchains emit_pkgdata"
#
# $PACKAGEINDEXDEPS [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:277
# "opkg-utils-native:do_populate_sysroot"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:278
# "opkg-native:do_populate_sysroot"
# pre-expansion value:
# " opkg-utils-native:do_populate_sysroot opkg-native:do_populate_sysroot"
PACKAGEINDEXDEPS=" opkg-utils-native:do_populate_sysroot opkg-native:do_populate_sysroot"
#
# $PACKAGELOCK
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2148
# "${STAGING_DIR}/package-output.lock"
PACKAGELOCK="/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots/package-output.lock"
#
# $PACKAGES [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:278
# "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:318
# [doc] "The list of packages to be created from the recipe."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/meta.bbclass:2
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:13
# ""
# pre-expansion value:
# ""
PACKAGES=""
#
# $PACKAGESPLITFUNCS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2046
# " package_do_split_locales populate_packages"
PACKAGESPLITFUNCS=" package_do_split_locales populate_packages"
#
# $PACKAGES_DYNAMIC [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:279
# "^${PN}-locale-.*"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:319
# [doc] "A promise that your recipe satisfies runtime dependencies for optional modules that are found in other recipes."
# pre-expansion value:
# "^${PN}-locale-.*"
PACKAGES_DYNAMIC="^rescue-rootfs-locale-.*"
#
# $PACKAGEVARS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2020
# "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS"
PACKAGEVARS="FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS"
#
# $PACKAGE_ARCH [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:144
# [_defaultval] "${TUNE_PKGARCH}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:308
# [doc] "The architecture of the resulting package or packages."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:85
# "${MACHINE_ARCH}"
# pre-expansion value:
# "${MACHINE_ARCH}"
PACKAGE_ARCH="rpi2"
#
# $PACKAGE_ARCHS [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:147
# "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:150
# [vardepsexclude] "MACHINE_ARCH"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:309
# [doc] "A list of architectures compatible with the given target in order of priority."
# pre-expansion value:
# "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
PACKAGE_ARCHS="all any noarch armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-neon armv7vet2hf-neon armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4 cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4 rpi2"
#
# $PACKAGE_BEFORE_PN [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:277
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:310
# [doc] "Enables easily adding packages to PACKAGES before ${PN} so that the packages can pick up files that would normally be included in the default package."
# pre-expansion value:
# ""
PACKAGE_BEFORE_PN=""
#
# $PACKAGE_CLASSES [4 operations]
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:28
# "package_ipk"
# set? /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:54
# "package_ipk"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:21
# "package_ipk"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:311
# [doc] "This variable specifies the package manager to use when packaging data. It is set in the conf/local.conf file in the Build Directory."
# pre-expansion value:
# "package_ipk"
PACKAGE_CLASSES="package_ipk"
#
# $PACKAGE_DEPENDS [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:55
# "rpm-native"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:239
# "file-native"
# pre-expansion value:
# " rpm-native file-native"
PACKAGE_DEPENDS=" rpm-native file-native"
#
# $PACKAGE_EXCLUDE [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:312
# [doc] "Packages to exclude from the installation. If a listed package is required, an error is generated."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:209
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:210
# [type] "list"
# pre-expansion value:
# ""
PACKAGE_EXCLUDE=""
#
# $PACKAGE_EXTRA_ARCHS [134 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:146
# [_defaultval] "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:313
# [doc] "Specifies the list of architectures compatible with the device CPU. This variable is useful when you build for several different devices that use miscellaneous processors."
# override[tune-armv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:24
# "arm armv4"
# override[tune-armv4t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t"
# override[tune-armv4b]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:33
# "armeb armv4b"
# override[tune-armv4tb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:34
# "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb"
# override[tune-armv5]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:17
# "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5"
# override[tune-armv5t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:18
# "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t"
# override[tune-armv5-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:30
# "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp"
# override[tune-armv5t-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:31
# "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp"
# override[tune-armv5hf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:32
# "armv5hf-vfp"
# override[tune-armv5thf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:33
# "armv5hf-vfp armv5thf-vfp"
# override[tune-armv5b]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:41
# "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b"
# override[tune-armv5tb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:42
# "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb"
# override[tune-armv5b-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:54
# "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp"
# override[tune-armv5tb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:55
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp"
# override[tune-armv5hfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:56
# "armv5hfb-vfp"
# override[tune-armv5thfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:57
# "armv5hfb-vfp armv5thfb-vfp"
# override[tune-armv5e]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:12
# "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e"
# override[tune-armv5te]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:13
# "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te"
# override[tune-armv5e-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp"
# override[tune-armv5te-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:26
# "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp"
# override[tune-armv5ehf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:27
# "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp"
# override[tune-armv5tehf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:28
# "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
# override[tune-armv5eb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:36
# "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb"
# override[tune-armv5teb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:37
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb"
# override[tune-armv5eb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:49
# "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp"
# override[tune-armv5teb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:50
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
# override[tune-armv5ehfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:51
# "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp"
# override[tune-armv5tehfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:52
# "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp"
# override[tune-armv6-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:24
# "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6"
# override[tune-armv6t-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t"
# override[tune-armv6]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:26
# "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp"
# override[tune-armv6t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:27
# "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
# override[tune-armv6hf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:28
# "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp"
# override[tune-armv6thf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:29
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"
# override[tune-armv6b-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:45
# "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b"
# override[tune-armv6tb-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:46
# "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb"
# override[tune-armv6b]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:47
# "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp"
# override[tune-armv6tb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:48
# "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
# override[tune-armv6hfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:49
# "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp"
# override[tune-armv6thfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:50
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
# override[tune-armv7a]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:33
# "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp"
# override[tune-armv7at]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:34
# "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
# override[tune-armv7a-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:35
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv3d16"
# override[tune-armv7at-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:36
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16"
# override[tune-armv7a-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:37
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16} armv7a-vfpv3"
# override[tune-armv7at-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:38
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3"
# override[tune-armv7a-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:39
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-neon"
# override[tune-armv7at-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:40
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-neon armv7at2-neon"
# override[tune-armv7a-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:41
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} armv7a-neon-vfpv4"
# override[tune-armv7at-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:42
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
# override[tune-armv7ahf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:66
# "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp"
# override[tune-armv7athf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:67
# "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
# override[tune-armv7ahf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:68
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv3d16"
# override[tune-armv7athf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:69
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
# override[tune-armv7ahf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:70
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3"
# override[tune-armv7athf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:71
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3"
# override[tune-armv7ahf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:72
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-neon"
# override[tune-armv7athf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:73
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-neon armv7at2hf-neon"
# override[tune-armv7ahf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:74
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} armv7ahf-neon-vfpv4"
# override[tune-armv7athf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:75
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
# override[tune-armv7ab]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:99
# "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp"
# override[tune-armv7atb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:100
# "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp"
# override[tune-armv7ab-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:101
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv3d16"
# override[tune-armv7atb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:102
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
# override[tune-armv7ab-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:103
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
# override[tune-armv7atb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:104
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
# override[tune-armv7ab-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:105
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-neon"
# override[tune-armv7atb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:106
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-neon armv7at2b-neon"
# override[tune-armv7ab-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:107
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon} armv7ab-neon-vfpv4"
# override[tune-armv7atb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:108
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
# override[tune-armv7ahfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:132
# "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp"
# override[tune-armv7athfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:133
# "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
# override[tune-armv7ahfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:134
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv3d16"
# override[tune-armv7athfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:135
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
# override[tune-armv7ahfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:136
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3"
# override[tune-armv7athfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:137
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
# override[tune-armv7ahfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:138
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-neon"
# override[tune-armv7athfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:139
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon"
# override[tune-armv7ahfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:140
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4"
# override[tune-armv7athfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:141
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4"
# override[tune-armv7ve]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:32
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ve armv7ve-vfp"
# override[tune-armv7vet]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:33
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp"
# override[tune-armv7ve-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:34
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv3d16"
# override[tune-armv7vet-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:35
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
# override[tune-armv7ve-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:36
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16} armv7ve-vfpv3"
# override[tune-armv7vet-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:37
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3"
# override[tune-armv7ve-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:38
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-neon"
# override[tune-armv7vet-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:39
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-neon armv7vet2-neon"
# override[tune-armv7ve-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:40
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} armv7ve-neon-vfpv4"
# override[tune-armv7vet-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:41
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
# override[tune-armv7vehf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:65
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7vehf-vfp"
# override[tune-armv7vethf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:66
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp"
# override[tune-armv7vehf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:67
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv3d16"
# override[tune-armv7vethf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:68
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
# override[tune-armv7vehf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:69
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3"
# override[tune-armv7vethf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:70
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3"
# override[tune-armv7vehf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:71
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-neon"
# override[tune-armv7vethf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:72
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon"
# override[tune-armv7vehf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:73
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} armv7vehf-neon-vfpv4"
# override[tune-armv7vethf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:74
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
# override[tune-armv7veb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:98
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7veb-vfp"
# override[tune-armv7vetb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:99
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7veb-vfp armv7vet2b-vfp"
# override[tune-armv7veb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:100
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv3d16"
# override[tune-armv7vetb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:101
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
# override[tune-armv7veb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:102
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16} armv7veb-vfpv3"
# override[tune-armv7vetb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:103
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3"
# override[tune-armv7veb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:104
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-neon"
# override[tune-armv7vetb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:105
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-neon armv7vet2b-neon"
# override[tune-armv7veb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:106
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon} armv7veb-neon-vfpv4"
# override[tune-armv7vetb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:107
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
# override[tune-armv7vehfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:131
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7vehfb-vfp"
# override[tune-armv7vethfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:132
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp"
# override[tune-armv7vehfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:133
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv3d16"
# override[tune-armv7vethfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:134
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
# override[tune-armv7vehfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:135
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3"
# override[tune-armv7vethfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:136
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
# override[tune-armv7vehfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:137
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-neon"
# override[tune-armv7vethfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:138
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon"
# override[tune-armv7vehfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:139
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4"
# override[tune-armv7vethfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:140
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4"
# override[tune-cortexa7]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:22
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa7-vfp"
# override[tune-cortexa7t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:23
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
# override[tune-cortexa7-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:24
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
# override[tune-cortexa7t-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
# override[tune-cortexa7-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:26
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
# override[tune-cortexa7t-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:27
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4"
# override[tune-cortexa7hf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:43
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa7hf-vfp"
# override[tune-cortexa7thf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:44
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
# override[tune-cortexa7hf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:45
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
# override[tune-cortexa7thf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:46
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
# override[tune-cortexa7hf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:47
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
# override[tune-cortexa7thf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:48
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
# pre-expansion value:
# "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}"
PACKAGE_EXTRA_ARCHS="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-neon armv7vet2hf-neon armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4 cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:24
# "arm armv4"
PACKAGE_EXTRA_ARCHS_tune-armv4="arm armv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv4b
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:33
# "armeb armv4b"
PACKAGE_EXTRA_ARCHS_tune-armv4b="armeb armv4b"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv4t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t"
PACKAGE_EXTRA_ARCHS_tune-armv4t="arm armv4 armv4t"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv4tb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:34
# "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb"
PACKAGE_EXTRA_ARCHS_tune-armv4tb="armeb armv4b armv4tb"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:17
# "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5"
PACKAGE_EXTRA_ARCHS_tune-armv5="arm armv4 armv5"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:30
# "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5-vfp="arm armv4 armv5 armv5-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5b
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:41
# "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b"
PACKAGE_EXTRA_ARCHS_tune-armv5b="armeb armv4b armv5b"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:54
# "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp="armeb armv4b armv5b armv5b-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5e
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:12
# "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e"
PACKAGE_EXTRA_ARCHS_tune-armv5e="arm armv4 armv5 armv5e"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5eb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:36
# "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb"
PACKAGE_EXTRA_ARCHS_tune-armv5eb="armeb armv4b armv5b armv5eb"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:49
# "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:27
# "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp="armv5hf-vfp armv5ehf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:51
# "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp="armv5hfb-vfp armv5ehfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:32
# "armv5hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp="armv5hf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:56
# "armv5hfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp="armv5hfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:18
# "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t"
PACKAGE_EXTRA_ARCHS_tune-armv5t="arm armv4 armv4t armv5 armv5t"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:31
# "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5tb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:42
# "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb"
PACKAGE_EXTRA_ARCHS_tune-armv5tb="armeb armv4b armv4tb armv5b armv5tb"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:55
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5te
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:13
# "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te"
PACKAGE_EXTRA_ARCHS_tune-armv5te="arm armv4 armv4t armv5 armv5t armv5e armv5te"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:26
# "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5teb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:37
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb"
PACKAGE_EXTRA_ARCHS_tune-armv5teb="armeb armv4b armv4tb armv5b armv5tb armv5eb armv5teb"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:50
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:28
# "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:52
# "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:33
# "armv5hf-vfp armv5thf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp="armv5hf-vfp armv5thf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:57
# "armv5hfb-vfp armv5thfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp="armv5hfb-vfp armv5thfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:26
# "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:24
# "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6"
PACKAGE_EXTRA_ARCHS_tune-armv6-novfp="arm armv4 armv5 armv5e armv6"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6b
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:47
# "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6b="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:45
# "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b"
PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp="armeb armv4b armv5b armv5eb armv6b"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6hf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:28
# "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6hf="armv5hf-vfp armv5ehf-vfp armv6hf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6hfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:49
# "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6hfb="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:27
# "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6t="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t"
PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp="arm armv4 armv4t armv5 armv5t armv5e armv5te armv6 armv6t"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6tb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:48
# "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6tb="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:46
# "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb"
PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp="armeb armv4b armv4tb armv5b armv5tb armv5eb armv5teb armv6b armv6tb"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6thf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:29
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6thf="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv6thfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:50
# "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv6thfb="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7a
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:33
# "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7a="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7a-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:39
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7a-neon="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7a-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:41
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} armv7a-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7a-neon-vfpv4="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7a-neon armv7a-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:37
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16} armv7a-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7a-vfpv3d16 armv7a-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:35
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7a-vfpv3d16="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7a-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ab
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:99
# "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7ab="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:105
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7ab-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:107
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon} armv7ab-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon-vfpv4="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7ab-neon armv7ab-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:103
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16} armv7ab-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7ab-vfpv3d16 armv7ab-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:101
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ab-vfpv3d16="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7ab-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:66
# "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:72
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7ahf-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:74
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} armv7ahf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon-vfpv4="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7ahf-neon armv7ahf-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:70
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16} armv7ahf-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7ahf-vfpv3d16 armv7ahf-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:68
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ahf-vfpv3d16="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7ahf-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:132
# "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:138
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7ahfb-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:140
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon} armv7ahfb-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon-vfpv4="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7ahfb-neon armv7ahfb-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:136
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16} armv7ahfb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7ahfb-vfpv3d16 armv7ahfb-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:134
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-vfpv3d16="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7ahfb-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7at
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:34
# "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7at="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7at-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:40
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-neon armv7at2-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7at-neon="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7a-neon armv7at2-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:42
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7at-neon-vfpv4="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7a-neon armv7at2-neon armv7a-neon-vfpv4 armv7at2-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:38
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16} armv7a-vfpv3 armv7at2-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7a-vfpv3d16 armv7at2-vfpv3d16 armv7a-vfpv3 armv7at2-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:36
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfpv3d16 armv7at2-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7at-vfpv3d16="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7a-vfpv3d16 armv7at2-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7atb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:100
# "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7atb="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:106
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-neon armv7at2b-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7ab-neon armv7at2b-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:108
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon} armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon-vfpv4="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7ab-neon armv7at2b-neon armv7ab-neon-vfpv4 armv7at2b-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:104
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16} armv7ab-vfpv3 armv7at2b-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7ab-vfpv3d16 armv7at2b-vfpv3d16 armv7ab-vfpv3 armv7at2b-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:102
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7atb-vfpv3d16="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7ab-vfpv3d16 armv7at2b-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:67
# "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7athf="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:73
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-neon armv7at2hf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7ahf-neon armv7at2hf-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:75
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon-vfpv4="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7ahf-neon armv7at2hf-neon armv7ahf-neon-vfpv4 armv7at2hf-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:71
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16} armv7ahf-vfpv3 armv7at2hf-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16 armv7ahf-vfpv3 armv7at2hf-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:69
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7athf-vfpv3d16="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7ahf-vfpv3d16 armv7at2hf-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:133
# "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7athfb="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:139
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-neon armv7at2hfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7ahfb-neon armv7at2hfb-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:141
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon} armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon-vfpv4="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7ahfb-neon armv7at2hfb-neon armv7ahfb-neon-vfpv4 armv7at2hfb-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:137
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16} armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16 armv7ahfb-vfpv3 armv7at2hfb-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:135
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7athfb-vfpv3d16="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7ahfb-vfpv3d16 armv7at2hfb-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ve
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:32
# "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ve armv7ve-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7ve="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:38
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp armv7ve-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:40
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} armv7ve-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp armv7ve-neon armv7ve-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:36
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16} armv7ve-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp armv7ve-vfpv3d16 armv7ve-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:34
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv7ve-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7ve-vfpv3d16="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp armv7ve-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7veb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:98
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7veb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7veb="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7veb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:104
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7veb-vfp armv7veb-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:106
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon} armv7veb-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7veb-neon-vfpv4="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7veb-vfp armv7veb-neon armv7veb-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:102
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16} armv7veb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7veb-vfp armv7veb-vfpv3d16 armv7veb-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:100
# "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv7veb-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7veb-vfpv3d16="armeb armv4b armv5b armv5b-vfp armv5eb armv5eb-vfp armv6b armv6b-vfp armv7ab-vfp armv7veb-vfp armv7veb-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:65
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7vehf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:71
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp armv7vehf-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:73
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} armv7vehf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp armv7vehf-neon armv7vehf-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:69
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16} armv7vehf-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp armv7vehf-vfpv3d16 armv7vehf-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:67
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv7vehf-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vehf-vfpv3d16="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp armv7vehf-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:131
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7vehfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7vehfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:137
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7vehfb-vfp armv7vehfb-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:139
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon} armv7vehfb-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-neon-vfpv4="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7vehfb-vfp armv7vehfb-neon armv7vehfb-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:135
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16} armv7vehfb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7vehfb-vfp armv7vehfb-vfpv3d16 armv7vehfb-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:133
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv7vehfb-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vehfb-vfpv3d16="armv5hfb-vfp armv5ehfb-vfp armv6hfb-vfp armv7ahfb-vfp armv7vehfb-vfp armv7vehfb-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vet
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:33
# "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ve armv7ve-vfp armv7vet2-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7vet="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:39
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-neon armv7vet2-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp armv7ve-neon armv7vet2-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:41
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp armv7ve-neon armv7vet2-neon armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:37
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16} armv7ve-vfpv3 armv7vet2-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp armv7ve-vfpv3d16 armv7vet2-vfpv3d16 armv7ve-vfpv3 armv7vet2-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:35
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vet-vfpv3d16="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp armv7ve-vfpv3d16 armv7vet2-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vetb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:99
# "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7veb-vfp armv7vet2b-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7veb-vfp armv7vet2b-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:105
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-neon armv7vet2b-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7veb-vfp armv7vet2b-vfp armv7veb-neon armv7vet2b-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:107
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon} armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-neon-vfpv4="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7veb-vfp armv7vet2b-vfp armv7veb-neon armv7vet2b-neon armv7veb-neon-vfpv4 armv7vet2b-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:103
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16} armv7veb-vfpv3 armv7vet2b-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7veb-vfp armv7vet2b-vfp armv7veb-vfpv3d16 armv7vet2b-vfpv3d16 armv7veb-vfpv3 armv7vet2b-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:101
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vetb-vfpv3d16="armeb armv4b armv4tb armv5b armv5tb armv5b-vfp armv5tb-vfp armv5eb armv5teb armv5eb-vfp armv5teb-vfp armv6b armv6tb armv6b-vfp armv6tb-vfp armv7ab-vfp armv7at2b-vfp armv7veb-vfp armv7vet2b-vfp armv7veb-vfpv3d16 armv7vet2b-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:66
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7vehf-vfp armv7vet2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:72
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-neon armv7vet2hf-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-neon armv7vet2hf-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:74
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-neon armv7vet2hf-neon armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:70
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16} armv7vehf-vfpv3 armv7vet2hf-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16 armv7vehf-vfpv3 armv7vet2hf-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:68
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vethf-vfpv3d16="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-vfpv3d16 armv7vet2hf-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:132
# "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7vehfb-vfp armv7vet2hfb-vfp"
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7vehfb-vfp armv7vet2hfb-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:138
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-neon armv7vet2hfb-neon"
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7vehfb-vfp armv7vet2hfb-vfp armv7vehfb-neon armv7vet2hfb-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:140
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon} armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-neon-vfpv4="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7vehfb-vfp armv7vet2hfb-vfp armv7vehfb-neon armv7vet2hfb-neon armv7vehfb-neon-vfpv4 armv7vet2hfb-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:136
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16} armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7vehfb-vfp armv7vet2hfb-vfp armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16 armv7vehfb-vfpv3 armv7vet2hfb-vfpv3"
#
# $PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:134
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
PACKAGE_EXTRA_ARCHS_tune-armv7vethfb-vfpv3d16="armv5hfb-vfp armv5thfb-vfp armv5ehfb-vfp armv5tehfb-vfp armv6hfb-vfp armv6thfb-vfp armv7ahfb-vfp armv7at2hfb-vfp armv7vehfb-vfp armv7vet2hfb-vfp armv7vehfb-vfpv3d16 armv7vet2hfb-vfpv3d16"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:22
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa7-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp cortexa7-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:24
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa7-vfp cortexa7-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp armv7ve-neon cortexa7-vfp cortexa7-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:26
# "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon-vfpv4="arm armv4 armv5 armv5-vfp armv5e armv5e-vfp armv6 armv6-vfp armv7a armv7a-vfp armv7ve armv7ve-vfp armv7ve-neon armv7ve-neon-vfpv4 cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7hf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:43
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa7hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp cortexa7hf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:45
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp armv7vehf-neon cortexa7hf-vfp cortexa7hf-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:47
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon-vfpv4="armv5hf-vfp armv5ehf-vfp armv6hf-vfp armv7ahf-vfp armv7vehf-vfp armv7vehf-neon armv7vehf-neon-vfpv4 cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:23
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa7-vfp cortexa7t2-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7t="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp cortexa7-vfp cortexa7t2-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:25
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon} cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp armv7ve-neon armv7vet2-neon cortexa7-vfp cortexa7-neon cortexa7t2-vfp cortexa7t2-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:27
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vet-neon-vfpv4} cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon-vfpv4="arm armv4 armv4t armv5 armv5t armv5-vfp armv5t-vfp armv5e armv5te armv5e-vfp armv5te-vfp armv6 armv6t armv6-vfp armv6t-vfp armv7a armv7a-vfp armv7at2-vfp armv7ve armv7ve-vfp armv7vet2-vfp armv7ve-neon armv7vet2-neon armv7ve-neon-vfpv4 armv7vet2-neon-vfpv4 cortexa7-vfp cortexa7-neon cortexa7-neon-vfpv4 cortexa7t2-vfp cortexa7t2-neon cortexa7t2-neon-vfpv4"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7thf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:44
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp"
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp cortexa7hf-vfp cortexa7t2hf-vfp"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:46
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon} cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-neon armv7vet2hf-neon cortexa7hf-vfp cortexa7hf-neon cortexa7t2hf-vfp cortexa7t2hf-neon"
#
# $PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:48
# "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf-neon-vfpv4} cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon-vfpv4="armv5hf-vfp armv5thf-vfp armv5ehf-vfp armv5tehf-vfp armv6hf-vfp armv6thf-vfp armv7ahf-vfp armv7at2hf-vfp armv7vehf-vfp armv7vet2hf-vfp armv7vehf-neon armv7vet2hf-neon armv7vehf-neon-vfpv4 armv7vet2hf-neon-vfpv4 cortexa7hf-vfp cortexa7hf-neon cortexa7hf-neon-vfpv4 cortexa7t2hf-vfp cortexa7t2hf-neon cortexa7t2hf-neon-vfpv4"
#
# $PACKAGE_GROUP
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:314
# [doc] "Defines one or more packages to include in an image when a specific item is included in IMAGE_FEATURES."
#
# $PACKAGE_INSTALL [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:315
# [doc] "List of the packages to be installed into the image. The variable is generally not user-defined and uses IMAGE_INSTALL as part of the list."
# _append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/extrausers.bbclass:18
# " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS'))]}"
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:72
# [export] "1"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:72
# "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL} ${FEATURE_INSTALL}"
# pre-expansion value:
# "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL} ${FEATURE_INSTALL} ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS'))]}"
export PACKAGE_INSTALL=" packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init rescue-init run-postinsts base-passwd shadow"
#
# $PACKAGE_INSTALL_ATTEMPTONLY [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:316
# [doc] "List of packages attempted to be installed. If a listed package fails to install, the build system does not generate an error. This variable is generally not user-defined."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:73
# "${FEATURE_INSTALL_OPTIONAL}"
# pre-expansion value:
# "${FEATURE_INSTALL_OPTIONAL}"
PACKAGE_INSTALL_ATTEMPTONLY=""
#
# $PACKAGE_PREPROCESS_FUNCS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2035
# ""
PACKAGE_PREPROCESS_FUNCS=""
#
# $PACKAGE_WRITE_DEPS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:63
# [_defaultval] ""
PACKAGE_WRITE_DEPS=""
#
# $PARALLEL_MAKE [3 operations]
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:19
# "-j8"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:320
# [doc] "Specifies extra options that are passed to the make command during the compile tasks. This variable is usually in the form -j 4, where the number represents the maximum number of parallel threads make can run."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:775
# "-j ${@oe.utils.cpu_count()}"
# pre-expansion value:
# "-j8"
PARALLEL_MAKE="-j8"
#
# $PARALLEL_MAKEINST [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:576
# [_defaultval] "${PARALLEL_MAKE}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:321
# [doc] "Extra options passed to the make install command during the do_install task in order to specify parallel installation."
# pre-expansion value:
# "${PARALLEL_MAKE}"
PARALLEL_MAKEINST="-j8"
#
# $PATCHDEPENDENCY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass:6
# "${PATCHTOOL}-native:do_populate_sysroot"
PATCHDEPENDENCY="quilt-native:do_populate_sysroot"
#
# $PATCHRESOLVE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:532
# "noop"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:322
# [doc] "Enable or disable interactive patch resolution."
# pre-expansion value:
# "noop"
PATCHRESOLVE="noop"
#
# $PATCHTOOL [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:531
# "quilt"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:323
# [doc] "Specifies the utility used to apply patches for a recipe during do_patch."
# pre-expansion value:
# "quilt"
PATCHTOOL="quilt"
#
# $PATCH_GIT_USER_EMAIL
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass:9
# "oe.patch at oe"
PATCH_GIT_USER_EMAIL="oe.patch at oe"
#
# $PATCH_GIT_USER_NAME
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass:8
# "OpenEmbedded"
PATCH_GIT_USER_NAME="OpenEmbedded"
#
# $PATH [6 operations]
# from env data.py:124 [inheritFromOS]
# "/home/mnhu/projects/pil/yocto/meta-poky/scripts:/home/mnhu/projects/pil/yocto/meta-poky/bitbake/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# auto env export data.py:126 [inheritFromOS]
# [export] "True"
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:63
# "${@os.path.dirname(bb.utils.which(d.getVar('PATH'),'bitbake'))}:${HOSTTOOLS_DIR}"
# _prepend /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:449
# "${COREBASE}/scripts:${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:"
# exported ast.py:68 [eval]
# [export] "1"
# _prepend /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:95
# "${@extra_path_elements(d)}"
# pre-expansion value:
# "${@extra_path_elements(d)}${COREBASE}/scripts:${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:/home/mnhu/projects/pil/yocto/meta-poky/bitbake/bin:${HOSTTOOLS_DIR}"
export PATH="/home/mnhu/projects/pil/yocto/meta-poky/scripts:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/sbin:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/sbin:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/bin:/home/mnhu/projects/pil/yocto/meta-poky/bitbake/bin:/home/mnhu/projects/pil/yocto/tmp-glibc/hosttools"
#
# $PE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:197
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:324
# [doc] "The epoch of the recipe. The default value is '0'. The field is used to make upgrades possible when the versioning scheme changes in some backwards incompatible way."
# pre-expansion value:
# ""
PE=""
#
# $PERSISTENT_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:334
# "${TOPDIR}/cache"
PERSISTENT_DIR="/home/mnhu/projects/pil/yocto/cache"
#
# $PF [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:198
# "${PN}-${EXTENDPE}${PV}-${PR}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:325
# [doc] "Specifies the recipe or package name and includes all version and revision numbers. This variable is comprised of ${PN}-${EXTENDPE}${PV}-${PR}."
# pre-expansion value:
# "${PN}-${EXTENDPE}${PV}-${PR}"
PF="rescue-rootfs-1.0-r0"
#
# $PID [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:48
# "${@os.getpid()}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:83
# "${@os.getpid()}"
# pre-expansion value:
# "${@os.getpid()}"
PID="17198"
#
# $PIL_ROOT_PASSWD
# set? /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rootfs.inc:2
# "root"
PIL_ROOT_PASSWD="root"
#
# $PIXBUF_PACKAGES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:326
# [doc] "When a recipe inherits the pixbufcache class, this variable identifies packages that contain the pixbuf loaders used with gdk-pixbuf."
#
# $PKGD [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:327
# [doc] "Points to the destination directory for files to be packaged before they are split into individual packages."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:47
# "${WORKDIR}/package"
# pre-expansion value:
# "${WORKDIR}/package"
PKGD="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/package"
#
# $PKGDATA_DIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:393
# "${TMPDIR}/pkgdata/${MACHINE}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:328
# [doc] "Points to a shared, global-state directory that holds data generated during the packaging process."
# pre-expansion value:
# "${TMPDIR}/pkgdata/${MACHINE}"
PKGDATA_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/pkgdata/rpi2"
#
# $PKGDEST [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:329
# [doc] "Points to the parent directory for files to be packaged after they have been split into individual packages."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:48
# "${WORKDIR}/packages-split"
# pre-expansion value:
# "${WORKDIR}/packages-split"
PKGDEST="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/packages-split"
#
# $PKGDESTWORK [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:330
# [doc] "Points to a temporary work area used by the do_package task to write output from the do_packagedata task."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:1283
# "${WORKDIR}/pkgdata"
# pre-expansion value:
# "${WORKDIR}/pkgdata"
PKGDESTWORK="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/pkgdata"
#
# $PKGE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:208
# "${@['','${PE}'][int(d.getVar('PE') or 0) > 0]}"
PKGE=""
#
# $PKGMLTRIPLETS
# set base.bbclass:370 [settriplet]
# "rpi2-oe-linux-gnueabi cortexa7t2hf-neon-vfpv4-oe-linux-gnueabi cortexa7t2hf-neon-oe-linux-gnueabi cortexa7t2hf-vfp-oe-linux-gnueabi cortexa7hf-neon-vfpv4-oe-linux-gnueabi cortexa7hf-neon-oe-linux-gnueabi cortexa7hf-vfp-oe-linux-gnueabi armv7vet2hf-neon-vfpv4-oe-linux-gnueabi armv7vehf-neon-vfpv4-oe-linux-gnueabi armv7vet2hf-neon-oe-linux-gnueabi armv7vehf-neon-oe-linux-gnueabi armv7vet2hf-vfp-oe-linux-gnueabi armv7vehf-vfp-oe-linux-gnueabi armv7at2hf-vfp-oe-linux-gnueabi armv7ahf-vfp-oe-linux-gnueabi armv6thf-vfp-oe-linux-gnueabi armv6hf-vfp-oe-linux-gnueabi armv5tehf-vfp-oe-linux-gnueabi armv5ehf-vfp-oe-linux-gnueabi armv5thf-vfp-oe-linux-gnueabi armv5hf-vfp-oe-linux-gnueabi noarch-oe-linux-gnueabi any-oe-linux-gnueabi all-oe-linux-gnueabi"
PKGMLTRIPLETS="rpi2-oe-linux-gnueabi cortexa7t2hf-neon-vfpv4-oe-linux-gnueabi cortexa7t2hf-neon-oe-linux-gnueabi cortexa7t2hf-vfp-oe-linux-gnueabi cortexa7hf-neon-vfpv4-oe-linux-gnueabi cortexa7hf-neon-oe-linux-gnueabi cortexa7hf-vfp-oe-linux-gnueabi armv7vet2hf-neon-vfpv4-oe-linux-gnueabi armv7vehf-neon-vfpv4-oe-linux-gnueabi armv7vet2hf-neon-oe-linux-gnueabi armv7vehf-neon-oe-linux-gnueabi armv7vet2hf-vfp-oe-linux-gnueabi armv7vehf-vfp-oe-linux-gnueabi armv7at2hf-vfp-oe-linux-gnueabi armv7ahf-vfp-oe-linux-gnueabi armv6thf-vfp-oe-linux-gnueabi armv6hf-vfp-oe-linux-gnueabi armv5tehf-vfp-oe-linux-gnueabi armv5ehf-vfp-oe-linux-gnueabi armv5thf-vfp-oe-linux-gnueabi armv5hf-vfp-oe-linux-gnueabi noarch-oe-linux-gnueabi any-oe-linux-gnueabi all-oe-linux-gnueabi"
#
# $PKGR
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:207
# "${PR}${EXTENDPRAUTO}"
PKGR="r0"
#
# $PKGTRIPLETS
# set base.bbclass:370 [settriplet]
# "rpi2-oe-linux-gnueabi cortexa7t2hf-neon-vfpv4-oe-linux-gnueabi cortexa7t2hf-neon-oe-linux-gnueabi cortexa7t2hf-vfp-oe-linux-gnueabi cortexa7hf-neon-vfpv4-oe-linux-gnueabi cortexa7hf-neon-oe-linux-gnueabi cortexa7hf-vfp-oe-linux-gnueabi armv7vet2hf-neon-vfpv4-oe-linux-gnueabi armv7vehf-neon-vfpv4-oe-linux-gnueabi armv7vet2hf-neon-oe-linux-gnueabi armv7vehf-neon-oe-linux-gnueabi armv7vet2hf-vfp-oe-linux-gnueabi armv7vehf-vfp-oe-linux-gnueabi armv7at2hf-vfp-oe-linux-gnueabi armv7ahf-vfp-oe-linux-gnueabi armv6thf-vfp-oe-linux-gnueabi armv6hf-vfp-oe-linux-gnueabi armv5tehf-vfp-oe-linux-gnueabi armv5ehf-vfp-oe-linux-gnueabi armv5thf-vfp-oe-linux-gnueabi armv5hf-vfp-oe-linux-gnueabi noarch-oe-linux-gnueabi any-oe-linux-gnueabi all-oe-linux-gnueabi"
PKGTRIPLETS="rpi2-oe-linux-gnueabi cortexa7t2hf-neon-vfpv4-oe-linux-gnueabi cortexa7t2hf-neon-oe-linux-gnueabi cortexa7t2hf-vfp-oe-linux-gnueabi cortexa7hf-neon-vfpv4-oe-linux-gnueabi cortexa7hf-neon-oe-linux-gnueabi cortexa7hf-vfp-oe-linux-gnueabi armv7vet2hf-neon-vfpv4-oe-linux-gnueabi armv7vehf-neon-vfpv4-oe-linux-gnueabi armv7vet2hf-neon-oe-linux-gnueabi armv7vehf-neon-oe-linux-gnueabi armv7vet2hf-vfp-oe-linux-gnueabi armv7vehf-vfp-oe-linux-gnueabi armv7at2hf-vfp-oe-linux-gnueabi armv7ahf-vfp-oe-linux-gnueabi armv6thf-vfp-oe-linux-gnueabi armv6hf-vfp-oe-linux-gnueabi armv5tehf-vfp-oe-linux-gnueabi armv5ehf-vfp-oe-linux-gnueabi armv5thf-vfp-oe-linux-gnueabi armv5hf-vfp-oe-linux-gnueabi noarch-oe-linux-gnueabi any-oe-linux-gnueabi all-oe-linux-gnueabi"
#
# $PKGV
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:206
# "${PV}"
PKGV="1.0"
#
# $PKGWRITEDIRIPK
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:8
# "${WORKDIR}/deploy-ipks"
PKGWRITEDIRIPK="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-ipks"
#
# $PKG_CONFIG_DIR [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:687
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:687
# "${STAGING_DIR_HOST}${libdir}/pkgconfig"
# pre-expansion value:
# "${STAGING_DIR_HOST}${libdir}/pkgconfig"
export PKG_CONFIG_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/pkgconfig"
#
# $PKG_CONFIG_DISABLE_UNINSTALLED [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:691
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:691
# "yes"
# pre-expansion value:
# "yes"
export PKG_CONFIG_DISABLE_UNINSTALLED="yes"
#
# $PKG_CONFIG_LIBDIR [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:689
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:689
# "${PKG_CONFIG_DIR}"
# pre-expansion value:
# "${PKG_CONFIG_DIR}"
export PKG_CONFIG_LIBDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/pkgconfig"
#
# $PKG_CONFIG_PATH [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:688
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:688
# "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"
# pre-expansion value:
# "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"
export PKG_CONFIG_PATH="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/pkgconfig:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/share/pkgconfig"
#
# $PKG_CONFIG_SYSROOT_DIR [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:690
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:690
# "${STAGING_DIR_HOST}"
# pre-expansion value:
# "${STAGING_DIR_HOST}"
export PKG_CONFIG_SYSROOT_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $PKG_CONFIG_SYSTEM_INCLUDE_PATH [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:693
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:693
# "${includedir}"
# pre-expansion value:
# "${includedir}"
export PKG_CONFIG_SYSTEM_INCLUDE_PATH="/usr/include"
#
# $PKG_CONFIG_SYSTEM_LIBRARY_PATH [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:692
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:692
# "${base_libdir}:${libdir}"
# pre-expansion value:
# "${base_libdir}:${libdir}"
export PKG_CONFIG_SYSTEM_LIBRARY_PATH="/lib:/usr/lib"
#
# $PN [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:194
# "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:331
# [doc] "PN refers to a recipe name in the context of a file used by the OpenEmbedded build system as input to create a package. It refers to a package name in the context of a file created or produced by the OpenEmbedded build system."
# pre-expansion value:
# "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
PN="rescue-rootfs"
#
# $PNBLACKLIST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:332
# [doc] "Lists recipes you do not want the OpenEmbedded build system to build."
#
# $POKY_BBLAYERS_CONF_VERSION
# set /home/mnhu/projects/pil/yocto/conf/bblayers.conf:1
# "2"
POKY_BBLAYERS_CONF_VERSION="2"
#
# $POPULATESYSROOTDEPS [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:196
# ""
# override[class-target]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:197
# "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
# override[class-nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:198
# "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
# pre-expansion value:
# "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
POPULATESYSROOTDEPS="virtual/arm-oe-linux-gnueabi-binutils:do_populate_sysroot"
#
# $POPULATESYSROOTDEPS_class-nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:198
# "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot"
POPULATESYSROOTDEPS_class-nativesdk="virtual/arm-oe-linux-gnueabi-binutils-crosssdk:do_populate_sysroot"
#
# $POPULATESYSROOTDEPS_class-target
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:197
# "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot"
POPULATESYSROOTDEPS_class-target="virtual/arm-oe-linux-gnueabi-binutils:do_populate_sysroot"
#
# $POSTINST_LOGFILE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass:24
# "${localstatedir}/log/postinstall.log"
POSTINST_LOGFILE="/var/log/postinstall.log"
#
# $PR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:196
# "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[2] or 'r0'}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:333
# [doc] "The revision of the recipe. The default value for this variable is 'r0'."
# pre-expansion value:
# "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[2] or 'r0'}"
PR="r0"
#
# $PRAUTO
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:202
# ""
PRAUTO=""
#
# $PRAUTOINX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:204
# "${PF}"
PRAUTOINX="rescue-rootfs-1.0-r0"
#
# $PREFERRED_PROVIDER [62 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:334
# [doc] "If multiple recipes provide an item, this variable determines which recipe should be given preference."
# override[virtual/fakeroot-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:672
# "pseudo-native"
# override[virtual/kernel]:set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:8
# [_defaultval] "linux-pil"
# override[virtual/bootloader]:set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:9
# [_defaultval] "u-boot-pil"
# override[virtual/db]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:4
# "db"
# override[virtual/db-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:5
# "db-native"
# override[virtual/xserver]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:6
# "xserver-xorg"
# override[virtual/xserver-xf86]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:7
# "xserver-xorg"
# override[virtual/egl]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:8
# "mesa"
# override[virtual/libgl]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:9
# "mesa"
# override[virtual/libgles1]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:10
# "mesa"
# override[virtual/libgles2]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:11
# "mesa"
# override[virtual/mesa]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:12
# "mesa"
# override[virtual/update-alternatives]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:13
# "opkg-utils"
# override[virtual/update-alternatives-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:14
# "opkg-utils-native"
# override[virtual/libx11]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:15
# "libx11"
# override[virtual/base-utils]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:16
# "busybox"
# override[xf86-video-intel]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:17
# "xf86-video-intel"
# override[virtual/make]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:18
# "make"
# override[virtual/make-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:19
# "make-native"
# override[dbus-glib]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:35
# "dbus-glib"
# override[dbus-glib-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:36
# "dbus-glib-native"
# override[gdk-pixbuf]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:37
# "gdk-pixbuf"
# override[libgcc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:38
# "libgcc"
# override[nativesdk-libgcc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:39
# "nativesdk-libgcc"
# override[linux-libc-headers]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:40
# "linux-libc-headers"
# override[nativesdk-linux-libc-headers]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:41
# "nativesdk-linux-libc-headers"
# override[matchbox-panel]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:42
# "matchbox-panel-2"
# override[opkg]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:43
# "opkg"
# override[opkg-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:44
# "opkg-native"
# override[nativesdk-opkg]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:45
# "nativesdk-opkg"
# override[console-tools]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:46
# "kbd"
# override[gzip-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:47
# "pigz-native"
# override[udev]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:48
# "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','eudev',d)}"
# override[ltp]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:52
# "ltp"
# override[getopt]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:53
# "util-linux-getopt"
# override[openssl]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:54
# "openssl"
# override[openssl-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:55
# "openssl-native"
# override[nativesdk-openssl]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:56
# "nativesdk-openssl"
# override[gdb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:10
# "gdb"
# override[virtual/gettext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:23
# [_defaultval] "gettext"
# override[virtual/libiconv]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:11
# "glibc"
# override[virtual/nativesdk-libiconv]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:12
# "nativesdk-glibc"
# override[virtual/nativesdk-libintl]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:13
# "nativesdk-glibc"
# override[virtual/libintl]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:14
# "glibc"
# override[virtual/libc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:15
# "glibc"
# override[virtual/nativesdk-libc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:16
# "nativesdk-glibc"
# override[virtual/libc-locale]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:17
# "glibc-locale"
# override[virtual/x86_64-oesdk-linux-binutils-crosssdk]:rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}binutils-crosssdk data.py:116 [expandKeys]
# "binutils-crosssdk-${SDK_SYS}"
# override[virtual/x86_64-oesdk-linux-compilerlibs]:rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs data.py:116 [expandKeys]
# "nativesdk-gcc-runtime"
# override[virtual/x86_64-oesdk-linux-g++]:rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ data.py:116 [expandKeys]
# "gcc-crosssdk-${SDK_SYS}"
# override[virtual/x86_64-oesdk-linux-gcc]:rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}gcc data.py:116 [expandKeys]
# "gcc-crosssdk-${SDK_SYS}"
# override[virtual/x86_64-oesdk-linux-gcc-initial]:rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}gcc-initial data.py:116 [expandKeys]
# "gcc-crosssdk-initial-${SDK_SYS}"
# override[virtual/arm-oe-linux-gnueabi-binutils]:rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils data.py:116 [expandKeys]
# "binutils-cross-${TARGET_ARCH}"
# override[virtual/arm-oe-linux-gnueabi-compilerlibs]:rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs data.py:116 [expandKeys]
# "gcc-runtime"
# override[virtual/arm-oe-linux-gnueabi-g++]:rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ data.py:116 [expandKeys]
# "gcc-cross-${TARGET_ARCH}"
# override[virtual/arm-oe-linux-gnueabi-gcc]:rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc data.py:116 [expandKeys]
# "gcc-cross-${TARGET_ARCH}"
# override[virtual/arm-oe-linux-gnueabi-gcc-initial]:rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial data.py:116 [expandKeys]
# "gcc-cross-initial-${TARGET_ARCH}"
# override[virtual/arm-oe-linux-gnueabi-libc-for-gcc]:rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc data.py:116 [expandKeys]
# "${TCLIBC}"
# override[virtual/arm-oe-linux-gnueabi-libc-initial]:rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial data.py:116 [expandKeys]
# "${TCLIBC}-initial"
# override[virtual/nativesdk-x86_64-oesdk-linux-libc-for-gcc]:rename from PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-for-gcc data.py:116 [expandKeys]
# "nativesdk-glibc"
# override[virtual/nativesdk-x86_64-oesdk-linux-libc-initial]:rename from PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial data.py:116 [expandKeys]
# "nativesdk-glibc-initial"
# pre-expansion value:
# "None"
#
# $PREFERRED_PROVIDER_console-tools
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:46
# "kbd"
PREFERRED_PROVIDER_console-tools="kbd"
#
# $PREFERRED_PROVIDER_dbus-glib
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:35
# "dbus-glib"
PREFERRED_PROVIDER_dbus-glib="dbus-glib"
#
# $PREFERRED_PROVIDER_dbus-glib-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:36
# "dbus-glib-native"
PREFERRED_PROVIDER_dbus-glib-native="dbus-glib-native"
#
# $PREFERRED_PROVIDER_gdb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:10
# "gdb"
PREFERRED_PROVIDER_gdb="gdb"
#
# $PREFERRED_PROVIDER_gdk-pixbuf
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:37
# "gdk-pixbuf"
PREFERRED_PROVIDER_gdk-pixbuf="gdk-pixbuf"
#
# $PREFERRED_PROVIDER_getopt
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:53
# "util-linux-getopt"
PREFERRED_PROVIDER_getopt="util-linux-getopt"
#
# $PREFERRED_PROVIDER_gzip-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:47
# "pigz-native"
PREFERRED_PROVIDER_gzip-native="pigz-native"
#
# $PREFERRED_PROVIDER_libgcc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:38
# "libgcc"
PREFERRED_PROVIDER_libgcc="libgcc"
#
# $PREFERRED_PROVIDER_linux-libc-headers
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:40
# "linux-libc-headers"
PREFERRED_PROVIDER_linux-libc-headers="linux-libc-headers"
#
# $PREFERRED_PROVIDER_ltp
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:52
# "ltp"
PREFERRED_PROVIDER_ltp="ltp"
#
# $PREFERRED_PROVIDER_matchbox-panel
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:42
# "matchbox-panel-2"
PREFERRED_PROVIDER_matchbox-panel="matchbox-panel-2"
#
# $PREFERRED_PROVIDER_nativesdk-libgcc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:39
# "nativesdk-libgcc"
PREFERRED_PROVIDER_nativesdk-libgcc="nativesdk-libgcc"
#
# $PREFERRED_PROVIDER_nativesdk-linux-libc-headers
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:41
# "nativesdk-linux-libc-headers"
PREFERRED_PROVIDER_nativesdk-linux-libc-headers="nativesdk-linux-libc-headers"
#
# $PREFERRED_PROVIDER_nativesdk-openssl
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:56
# "nativesdk-openssl"
PREFERRED_PROVIDER_nativesdk-openssl="nativesdk-openssl"
#
# $PREFERRED_PROVIDER_nativesdk-opkg
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:45
# "nativesdk-opkg"
PREFERRED_PROVIDER_nativesdk-opkg="nativesdk-opkg"
#
# $PREFERRED_PROVIDER_openssl
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:54
# "openssl"
PREFERRED_PROVIDER_openssl="openssl"
#
# $PREFERRED_PROVIDER_openssl-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:55
# "openssl-native"
PREFERRED_PROVIDER_openssl-native="openssl-native"
#
# $PREFERRED_PROVIDER_opkg
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:43
# "opkg"
PREFERRED_PROVIDER_opkg="opkg"
#
# $PREFERRED_PROVIDER_opkg-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:44
# "opkg-native"
PREFERRED_PROVIDER_opkg-native="opkg-native"
#
# $PREFERRED_PROVIDER_udev
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:48
# "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','eudev',d)}"
PREFERRED_PROVIDER_udev="eudev"
#
# $PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-binutils
# rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils data.py:116 [expandKeys]
# "binutils-cross-${TARGET_ARCH}"
PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-binutils="binutils-cross-arm"
#
# $PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-compilerlibs
# rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs data.py:116 [expandKeys]
# "gcc-runtime"
PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-compilerlibs="gcc-runtime"
#
# $PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-g++
# rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ data.py:116 [expandKeys]
# "gcc-cross-${TARGET_ARCH}"
PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-g++="gcc-cross-arm"
#
# $PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-gcc
# rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc data.py:116 [expandKeys]
# "gcc-cross-${TARGET_ARCH}"
PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-gcc="gcc-cross-arm"
#
# $PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-gcc-initial
# rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial data.py:116 [expandKeys]
# "gcc-cross-initial-${TARGET_ARCH}"
PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-gcc-initial="gcc-cross-initial-arm"
#
# $PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-libc-for-gcc
# rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc data.py:116 [expandKeys]
# "${TCLIBC}"
PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-libc-for-gcc="glibc"
#
# $PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-libc-initial
# rename from PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial data.py:116 [expandKeys]
# "${TCLIBC}-initial"
PREFERRED_PROVIDER_virtual/arm-oe-linux-gnueabi-libc-initial="glibc-initial"
#
# $PREFERRED_PROVIDER_virtual/base-utils
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:16
# "busybox"
PREFERRED_PROVIDER_virtual/base-utils="busybox"
#
# $PREFERRED_PROVIDER_virtual/bootloader
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:9
# [_defaultval] "u-boot-pil"
PREFERRED_PROVIDER_virtual/bootloader="u-boot-pil"
#
# $PREFERRED_PROVIDER_virtual/db
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:4
# "db"
PREFERRED_PROVIDER_virtual/db="db"
#
# $PREFERRED_PROVIDER_virtual/db-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:5
# "db-native"
PREFERRED_PROVIDER_virtual/db-native="db-native"
#
# $PREFERRED_PROVIDER_virtual/egl
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:8
# "mesa"
PREFERRED_PROVIDER_virtual/egl="mesa"
#
# $PREFERRED_PROVIDER_virtual/fakeroot-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:672
# "pseudo-native"
PREFERRED_PROVIDER_virtual/fakeroot-native="pseudo-native"
#
# $PREFERRED_PROVIDER_virtual/gettext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:23
# [_defaultval] "gettext"
PREFERRED_PROVIDER_virtual/gettext="gettext"
#
# $PREFERRED_PROVIDER_virtual/kernel
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:8
# [_defaultval] "linux-pil"
PREFERRED_PROVIDER_virtual/kernel="linux-pil"
#
# $PREFERRED_PROVIDER_virtual/libc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:15
# "glibc"
PREFERRED_PROVIDER_virtual/libc="glibc"
#
# $PREFERRED_PROVIDER_virtual/libc-locale
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:17
# "glibc-locale"
PREFERRED_PROVIDER_virtual/libc-locale="glibc-locale"
#
# $PREFERRED_PROVIDER_virtual/libgl
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:9
# "mesa"
PREFERRED_PROVIDER_virtual/libgl="mesa"
#
# $PREFERRED_PROVIDER_virtual/libgles1
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:10
# "mesa"
PREFERRED_PROVIDER_virtual/libgles1="mesa"
#
# $PREFERRED_PROVIDER_virtual/libgles2
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:11
# "mesa"
PREFERRED_PROVIDER_virtual/libgles2="mesa"
#
# $PREFERRED_PROVIDER_virtual/libiconv
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:11
# "glibc"
PREFERRED_PROVIDER_virtual/libiconv="glibc"
#
# $PREFERRED_PROVIDER_virtual/libintl
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:14
# "glibc"
PREFERRED_PROVIDER_virtual/libintl="glibc"
#
# $PREFERRED_PROVIDER_virtual/libx11
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:15
# "libx11"
PREFERRED_PROVIDER_virtual/libx11="libx11"
#
# $PREFERRED_PROVIDER_virtual/make
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:18
# "make"
PREFERRED_PROVIDER_virtual/make="make"
#
# $PREFERRED_PROVIDER_virtual/make-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:19
# "make-native"
PREFERRED_PROVIDER_virtual/make-native="make-native"
#
# $PREFERRED_PROVIDER_virtual/mesa
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:12
# "mesa"
PREFERRED_PROVIDER_virtual/mesa="mesa"
#
# $PREFERRED_PROVIDER_virtual/nativesdk-libc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:16
# "nativesdk-glibc"
PREFERRED_PROVIDER_virtual/nativesdk-libc="nativesdk-glibc"
#
# $PREFERRED_PROVIDER_virtual/nativesdk-libiconv
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:12
# "nativesdk-glibc"
PREFERRED_PROVIDER_virtual/nativesdk-libiconv="nativesdk-glibc"
#
# $PREFERRED_PROVIDER_virtual/nativesdk-libintl
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tclibc-glibc.inc:13
# "nativesdk-glibc"
PREFERRED_PROVIDER_virtual/nativesdk-libintl="nativesdk-glibc"
#
# $PREFERRED_PROVIDER_virtual/nativesdk-x86_64-oesdk-linux-libc-for-gcc
# rename from PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-for-gcc data.py:116 [expandKeys]
# "nativesdk-glibc"
PREFERRED_PROVIDER_virtual/nativesdk-x86_64-oesdk-linux-libc-for-gcc="nativesdk-glibc"
#
# $PREFERRED_PROVIDER_virtual/nativesdk-x86_64-oesdk-linux-libc-initial
# rename from PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial data.py:116 [expandKeys]
# "nativesdk-glibc-initial"
PREFERRED_PROVIDER_virtual/nativesdk-x86_64-oesdk-linux-libc-initial="nativesdk-glibc-initial"
#
# $PREFERRED_PROVIDER_virtual/update-alternatives
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:13
# "opkg-utils"
PREFERRED_PROVIDER_virtual/update-alternatives="opkg-utils"
#
# $PREFERRED_PROVIDER_virtual/update-alternatives-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:14
# "opkg-utils-native"
PREFERRED_PROVIDER_virtual/update-alternatives-native="opkg-utils-native"
#
# $PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-binutils-crosssdk
# rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}binutils-crosssdk data.py:116 [expandKeys]
# "binutils-crosssdk-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-binutils-crosssdk="binutils-crosssdk-x86_64-oesdk-linux"
#
# $PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-compilerlibs
# rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs data.py:116 [expandKeys]
# "nativesdk-gcc-runtime"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-compilerlibs="nativesdk-gcc-runtime"
#
# $PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-g++
# rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ data.py:116 [expandKeys]
# "gcc-crosssdk-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-g++="gcc-crosssdk-x86_64-oesdk-linux"
#
# $PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-gcc
# rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}gcc data.py:116 [expandKeys]
# "gcc-crosssdk-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-gcc="gcc-crosssdk-x86_64-oesdk-linux"
#
# $PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-gcc-initial
# rename from PREFERRED_PROVIDER_virtual/${SDK_PREFIX}gcc-initial data.py:116 [expandKeys]
# "gcc-crosssdk-initial-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/x86_64-oesdk-linux-gcc-initial="gcc-crosssdk-initial-x86_64-oesdk-linux"
#
# $PREFERRED_PROVIDER_virtual/xserver
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:6
# "xserver-xorg"
PREFERRED_PROVIDER_virtual/xserver="xserver-xorg"
#
# $PREFERRED_PROVIDER_virtual/xserver-xf86
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:7
# "xserver-xorg"
PREFERRED_PROVIDER_virtual/xserver-xf86="xserver-xorg"
#
# $PREFERRED_PROVIDER_xf86-video-intel
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:17
# "xf86-video-intel"
PREFERRED_PROVIDER_xf86-video-intel="xf86-video-intel"
#
# $PREFERRED_RPROVIDER_bluez-hcidump
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:50
# "${@bb.utils.contains('DISTRO_FEATURES','bluetooth bluez5','bluez5','bluez-hcidump',d)}"
PREFERRED_RPROVIDER_bluez-hcidump="bluez-hcidump"
#
# $PREFERRED_RPROVIDER_libasound-module-bluez
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:49
# "${@bb.utils.contains('DISTRO_FEATURES','bluetooth bluez5','bluez5','bluez4',d)}"
PREFERRED_RPROVIDER_libasound-module-bluez="bluez4"
#
# $PREFERRED_VERSION [37 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:335
# [doc] "If there are multiple versions of recipes available, this variable determines which recipe should be given preference."
# override[liberation-fonts]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc:6
# "1.04"
# override[gcc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:33
# "${GCCVERSION}"
# override[gcc-runtime]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:39
# "${GCCVERSION}"
# override[gcc-sanitizers]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:40
# "${GCCVERSION}"
# override[nativesdk-gcc-runtime]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:41
# "${SDKGCCVERSION}"
# override[nativesdk-gcc-sanitizers]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:42
# "${SDKGCCVERSION}"
# override[libgcc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:43
# "${GCCVERSION}"
# override[libgcc-initial]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:44
# "${GCCVERSION}"
# override[nativesdk-gcc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:45
# "${SDKGCCVERSION}"
# override[nativesdk-libgcc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:46
# "${SDKGCCVERSION}"
# override[nativesdk-libgcc-initial]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:47
# "${SDKGCCVERSION}"
# override[binutils]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:48
# "${BINUVERSION}"
# override[binutils-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:49
# "${BINUVERSION}"
# override[gdb]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:53
# "${GDBVERSION}"
# override[linux-libc-headers]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:57
# "${LINUXLIBCVERSION}"
# override[nativesdk-linux-libc-headers]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:58
# "${LINUXLIBCVERSION}"
# override[glibc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:59
# "${GLIBCVERSION}"
# override[glibc-locale]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:60
# "${GLIBCVERSION}"
# override[glibc-mtrace]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:61
# "${GLIBCVERSION}"
# override[glibc-scripts]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:62
# "${GLIBCVERSION}"
# override[nativesdk-glibc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:63
# "${GLIBCVERSION}"
# override[glibc-initial]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:64
# "${GLIBCVERSION}"
# override[nativesdk-glibc-initial]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:65
# "${GLIBCVERSION}"
# override[cross-localedef-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:66
# "${GLIBCVERSION}"
# override[uclibc]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:67
# "${UCLIBCVERSION}"
# override[uclibc-initial]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:68
# "${UCLIBCVERSION}"
# override[gzip-native]:set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:71
# "1.8"
# override[binutils-cross-arm]:rename from PREFERRED_VERSION_binutils-cross-${TARGET_ARCH} data.py:116 [expandKeys]
# "${BINUVERSION}"
# override[binutils-cross-canadian-arm]:rename from PREFERRED_VERSION_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} data.py:116 [expandKeys]
# "${BINUVERSION}"
# override[gcc-cross-arm]:rename from PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} data.py:116 [expandKeys]
# "${GCCVERSION}"
# override[gcc-cross-canadian-arm]:rename from PREFERRED_VERSION_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} data.py:116 [expandKeys]
# "${GCCVERSION}"
# override[gcc-cross-initial-arm]:rename from PREFERRED_VERSION_gcc-cross-initial-${TARGET_ARCH} data.py:116 [expandKeys]
# "${GCCVERSION}"
# override[gcc-crosssdk-x86_64-oesdk-linux]:rename from PREFERRED_VERSION_gcc-crosssdk-${SDK_SYS} data.py:116 [expandKeys]
# "${SDKGCCVERSION}"
# override[gcc-crosssdk-initial-x86_64-oesdk-linux]:rename from PREFERRED_VERSION_gcc-crosssdk-initial-${SDK_SYS} data.py:116 [expandKeys]
# "${SDKGCCVERSION}"
# override[gdb-cross-arm]:rename from PREFERRED_VERSION_gdb-cross-${TARGET_ARCH} data.py:116 [expandKeys]
# "${GDBVERSION}"
# override[gdb-cross-canadian-arm]:rename from PREFERRED_VERSION_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} data.py:116 [expandKeys]
# "${GDBVERSION}"
# pre-expansion value:
# "None"
#
# $PREFERRED_VERSION_binutils
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:48
# "${BINUVERSION}"
PREFERRED_VERSION_binutils="2.28%"
#
# $PREFERRED_VERSION_binutils-cross-arm
# rename from PREFERRED_VERSION_binutils-cross-${TARGET_ARCH} data.py:116 [expandKeys]
# "${BINUVERSION}"
PREFERRED_VERSION_binutils-cross-arm="2.28%"
#
# $PREFERRED_VERSION_binutils-cross-canadian-arm
# rename from PREFERRED_VERSION_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} data.py:116 [expandKeys]
# "${BINUVERSION}"
PREFERRED_VERSION_binutils-cross-canadian-arm="2.28%"
#
# $PREFERRED_VERSION_binutils-crosssdk-x86_64
# rename from PREFERRED_VERSION_binutils-crosssdk-${SDK_ARCH} data.py:116 [expandKeys]
# "${BINUVERSION}"
PREFERRED_VERSION_binutils-crosssdk-x86_64="2.28%"
#
# $PREFERRED_VERSION_binutils-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:49
# "${BINUVERSION}"
PREFERRED_VERSION_binutils-native="2.28%"
#
# $PREFERRED_VERSION_cross-localedef-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:66
# "${GLIBCVERSION}"
PREFERRED_VERSION_cross-localedef-native="2.25"
#
# $PREFERRED_VERSION_gcc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:33
# "${GCCVERSION}"
PREFERRED_VERSION_gcc="6.3%"
#
# $PREFERRED_VERSION_gcc-cross-arm
# rename from PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} data.py:116 [expandKeys]
# "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-arm="6.3%"
#
# $PREFERRED_VERSION_gcc-cross-canadian-arm
# rename from PREFERRED_VERSION_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} data.py:116 [expandKeys]
# "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-canadian-arm="6.3%"
#
# $PREFERRED_VERSION_gcc-cross-initial-arm
# rename from PREFERRED_VERSION_gcc-cross-initial-${TARGET_ARCH} data.py:116 [expandKeys]
# "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-initial-arm="6.3%"
#
# $PREFERRED_VERSION_gcc-crosssdk-initial-x86_64-oesdk-linux
# rename from PREFERRED_VERSION_gcc-crosssdk-initial-${SDK_SYS} data.py:116 [expandKeys]
# "${SDKGCCVERSION}"
PREFERRED_VERSION_gcc-crosssdk-initial-x86_64-oesdk-linux="6.3%"
#
# $PREFERRED_VERSION_gcc-crosssdk-x86_64-oesdk-linux
# rename from PREFERRED_VERSION_gcc-crosssdk-${SDK_SYS} data.py:116 [expandKeys]
# "${SDKGCCVERSION}"
PREFERRED_VERSION_gcc-crosssdk-x86_64-oesdk-linux="6.3%"
#
# $PREFERRED_VERSION_gcc-runtime
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:39
# "${GCCVERSION}"
PREFERRED_VERSION_gcc-runtime="6.3%"
#
# $PREFERRED_VERSION_gcc-sanitizers
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:40
# "${GCCVERSION}"
PREFERRED_VERSION_gcc-sanitizers="6.3%"
#
# $PREFERRED_VERSION_gdb
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:53
# "${GDBVERSION}"
PREFERRED_VERSION_gdb="7.12%"
#
# $PREFERRED_VERSION_gdb-cross-arm
# rename from PREFERRED_VERSION_gdb-cross-${TARGET_ARCH} data.py:116 [expandKeys]
# "${GDBVERSION}"
PREFERRED_VERSION_gdb-cross-arm="7.12%"
#
# $PREFERRED_VERSION_gdb-cross-canadian-arm
# rename from PREFERRED_VERSION_gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} data.py:116 [expandKeys]
# "${GDBVERSION}"
PREFERRED_VERSION_gdb-cross-canadian-arm="7.12%"
#
# $PREFERRED_VERSION_glibc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:59
# "${GLIBCVERSION}"
PREFERRED_VERSION_glibc="2.25"
#
# $PREFERRED_VERSION_glibc-initial
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:64
# "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-initial="2.25"
#
# $PREFERRED_VERSION_glibc-locale
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:60
# "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-locale="2.25"
#
# $PREFERRED_VERSION_glibc-mtrace
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:61
# "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-mtrace="2.25"
#
# $PREFERRED_VERSION_glibc-scripts
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:62
# "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-scripts="2.25"
#
# $PREFERRED_VERSION_gzip-native
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:71
# "1.8"
PREFERRED_VERSION_gzip-native="1.8"
#
# $PREFERRED_VERSION_liberation-fonts
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-versions.inc:6
# "1.04"
PREFERRED_VERSION_liberation-fonts="1.04"
#
# $PREFERRED_VERSION_libgcc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:43
# "${GCCVERSION}"
PREFERRED_VERSION_libgcc="6.3%"
#
# $PREFERRED_VERSION_libgcc-initial
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:44
# "${GCCVERSION}"
PREFERRED_VERSION_libgcc-initial="6.3%"
#
# $PREFERRED_VERSION_linux-libc-headers
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:57
# "${LINUXLIBCVERSION}"
PREFERRED_VERSION_linux-libc-headers="4.10%"
#
# $PREFERRED_VERSION_nativesdk-gcc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:45
# "${SDKGCCVERSION}"
PREFERRED_VERSION_nativesdk-gcc="6.3%"
#
# $PREFERRED_VERSION_nativesdk-gcc-runtime
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:41
# "${SDKGCCVERSION}"
PREFERRED_VERSION_nativesdk-gcc-runtime="6.3%"
#
# $PREFERRED_VERSION_nativesdk-gcc-sanitizers
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:42
# "${SDKGCCVERSION}"
PREFERRED_VERSION_nativesdk-gcc-sanitizers="6.3%"
#
# $PREFERRED_VERSION_nativesdk-glibc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:63
# "${GLIBCVERSION}"
PREFERRED_VERSION_nativesdk-glibc="2.25"
#
# $PREFERRED_VERSION_nativesdk-glibc-initial
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:65
# "${GLIBCVERSION}"
PREFERRED_VERSION_nativesdk-glibc-initial="2.25"
#
# $PREFERRED_VERSION_nativesdk-libgcc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:46
# "${SDKGCCVERSION}"
PREFERRED_VERSION_nativesdk-libgcc="6.3%"
#
# $PREFERRED_VERSION_nativesdk-libgcc-initial
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:47
# "${SDKGCCVERSION}"
PREFERRED_VERSION_nativesdk-libgcc-initial="6.3%"
#
# $PREFERRED_VERSION_nativesdk-linux-libc-headers
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:58
# "${LINUXLIBCVERSION}"
PREFERRED_VERSION_nativesdk-linux-libc-headers="4.10%"
#
# $PREFERRED_VERSION_uclibc
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:67
# "${UCLIBCVERSION}"
PREFERRED_VERSION_uclibc="1.0%"
#
# $PREFERRED_VERSION_uclibc-initial
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:68
# "${UCLIBCVERSION}"
PREFERRED_VERSION_uclibc-initial="1.0%"
#
# $PREMIRRORS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:336
# [doc] "Specifies additional paths from which the OpenEmbedded build system gets source code."
#
# $PREPROCESS_RELOCATE_DIRS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/chrpath.bbclass:2
# ""
PREPROCESS_RELOCATE_DIRS=""
#
# $PRINC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:337
# [doc] "Causes the PR variable of .bbappend files to dynamically increment. This increment minimizes the impact of layer ordering. This variable defaults to '0'."
#
# $PRIORITY [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:222
# "optional"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:338
# [doc] "Indicates the importance of a package. The default value is 'optional'. Other standard values are 'required', 'standard' and 'extra'."
# pre-expansion value:
# "optional"
PRIORITY="optional"
#
# $PROVIDES [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:262
# ""
# _prepend /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:263
# "${PN} "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:339
# [doc] "A list of aliases that a recipe also provides. These aliases are useful for satisfying dependencies of other recipes during the build as specified by DEPENDS."
# pre-expansion value:
# "${PN} "
PROVIDES="rescue-rootfs "
#
# $PRSERV_HOST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:340
# [doc] "The network based PR service host and port."
#
# $PSEUDO_DISABLED [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:663
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:663
# "1"
# pre-expansion value:
# "1"
export PSEUDO_DISABLED="1"
#
# $PSEUDO_LOCALSTATEDIR
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:660
# "${WORKDIR}/pseudo/"
PSEUDO_LOCALSTATEDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/pseudo/"
#
# $PSEUDO_PASSWD [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:661
# "${STAGING_DIR_TARGET}:${PSEUDO_SYSROOT}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:205
# "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}"
# pre-expansion value:
# "${IMAGE_ROOTFS}:${STAGING_DIR_NATIVE}"
PSEUDO_PASSWD="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native"
#
# $PSEUDO_SYSROOT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:662
# "${COMPONENTS_DIR}/${BUILD_ARCH}/pseudo-native"
PSEUDO_SYSROOT="/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native"
#
# $PV [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:195
# "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:341
# [doc] "The version of the recipe. The version is normally extracted from the recipe filename."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:21
# [vardepvalue] "${PV}"
# pre-expansion value:
# "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
PV="1.0"
#
# $PWD [2 operations]
# from env data.py:124 [inheritFromOS]
# "/home/mnhu/projects/pil/yocto"
# auto env export data.py:126 [inheritFromOS]
# [export] "True"
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto"
export PWD="/home/mnhu/projects/pil/yocto"
#
# $PYTHON
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:509
# "${@sys.executable}"
PYTHON="/usr/bin/python3"
#
# $QADEPENDS [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:23
# "prelink-native"
# override[class-native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:24
# ""
# override[class-nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:25
# ""
# pre-expansion value:
# "prelink-native"
QADEPENDS="prelink-native"
#
# $QADEPENDS_class-native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:24
# ""
QADEPENDS_class-native=""
#
# $QADEPENDS_class-nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:25
# ""
QADEPENDS_class-nativesdk=""
#
# $QAPATHTEST [18 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:227
# [libexec] "package_qa_check_libexec"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:241
# [rpaths] "package_qa_check_rpath"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:266
# [useless-rpaths] "package_qa_check_useless_rpaths"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:296
# [dev-so] "package_qa_check_dev"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:306
# [dev-elf] "package_qa_check_dev_elf"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:317
# [staticdev] "package_qa_check_staticdev"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:393
# [debug-files] "package_qa_check_dbg"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:404
# [perms] "package_qa_check_perm"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:411
# [unsafe-references-in-scripts] "package_qa_check_unsafe_references_in_scripts"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:476
# [arch] "package_qa_check_arch"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:523
# [desktop] "package_qa_check_desktop"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:535
# [textrel] "package_qa_textrel"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:559
# [ldflags] "package_qa_hash_style"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:595
# [buildpaths] "package_qa_check_buildpaths"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:619
# [xorg-driver-abi] "package_qa_check_xorg_driver_abi"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:637
# [infodir] "package_qa_check_infodir"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:647
# [symlink-to-sysroot] "package_qa_check_symlink_to_sysroot"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:1041
# [host-user-contaminated] "package_qa_check_host_user"
# pre-expansion value:
# "None"
#
# $QAPKGTEST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:1000
# [expanded-d] "package_qa_check_expanded_d"
#
# $QA_LOGFILE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:1
# "${TMPDIR}/qa.log"
QA_LOGFILE="/home/mnhu/projects/pil/yocto/tmp-glibc/qa.log"
#
# $QA_SANE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:26
# "True"
QA_SANE="True"
#
# $QMAKE_PROFILES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:345
# [doc] "Specifies your own subset of .pro files to be built for use with qmake."
#
# $QT_CONFIG_FLAGS
# _append[pn-qtbase] /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:22
# " -qpa eglfs"
QT_CONFIG_FLAGS=""
#
# $QT_GIT
# set? /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:36
# "git://github.com/qt"
QT_GIT="git://github.com/qt"
#
# $QT_GIT_PROTOCOL
# set? /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:38
# "git"
QT_GIT_PROTOCOL="git"
#
# $QT_LABS_GIT
# set? /home/mnhu/projects/pil/yocto/meta-qt5/conf/layer.conf:37
# "git://github.com/qt-labs"
QT_LABS_GIT="git://github.com/qt-labs"
#
# $QUILTRCFILE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/patch.bbclass:4
# "${STAGING_ETCDIR_NATIVE}/quiltrc"
QUILTRCFILE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/etc/quiltrc"
#
# $RANLIB [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:502
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:502
# "${HOST_PREFIX}ranlib"
# pre-expansion value:
# "${HOST_PREFIX}ranlib"
export RANLIB="arm-oe-linux-gnueabi-ranlib"
#
# $RAUC_BUNDLE_BOOTLOADER
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:22
# "uboot"
RAUC_BUNDLE_BOOTLOADER="uboot"
#
# $RAUC_BUNDLE_COMPATIBLE
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:21
# "${MACHINE}"
RAUC_BUNDLE_COMPATIBLE="rpi2"
#
# $RAUC_CERT_FILE
# set? /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:24
# "${TOPDIR}/meta-pil/files/development-1.cert.pem"
RAUC_CERT_FILE="/home/mnhu/projects/pil/yocto/meta-pil/files/development-1.cert.pem"
#
# $RAUC_KEY_FILE
# set? /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:23
# "${TOPDIR}/meta-pil/files/development-1.key.pem"
RAUC_KEY_FILE="/home/mnhu/projects/pil/yocto/meta-pil/files/development-1.key.pem"
#
# $RCONFLICTS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:349
# [doc] "The list of packages that conflict with another package. Note that the package will not be installed if the conflicting packages are not first removed."
#
# $RDEPENDS [6 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:261
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:350
# [doc] "Lists a package's runtime dependencies (i.e. other packages) that must be installed for the package to be built. They must be the names of other packages as listed in the PACKAGES variable, not recipe names (PN)."
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:15
# "${PACKAGE_INSTALL} ${LINGUAS_INSTALL}"
# override[kernel-base]:set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:45
# ""
# override[rescue-rootfs-dev]:rename from RDEPENDS_${PN}-dev data.py:116 [expandKeys]
# "${PN} (= ${EXTENDPKGV})"
# override[rescue-rootfs-staticdev]:rename from RDEPENDS_${PN}-staticdev data.py:116 [expandKeys]
# "${PN}-dev (= ${EXTENDPKGV})"
# pre-expansion value:
# " ${PACKAGE_INSTALL} ${LINGUAS_INSTALL}"
RDEPENDS=" packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init rescue-init run-postinsts base-passwd shadow "
#
# $RDEPENDS_kernel-base
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:45
# ""
RDEPENDS_kernel-base=""
#
# $RDEPENDS_rescue-rootfs-dev
# rename from RDEPENDS_${PN}-dev data.py:116 [expandKeys]
# "${PN} (= ${EXTENDPKGV})"
RDEPENDS_rescue-rootfs-dev="rescue-rootfs (= 1.0-r0)"
#
# $RDEPENDS_rescue-rootfs-staticdev
# rename from RDEPENDS_${PN}-staticdev data.py:116 [expandKeys]
# "${PN}-dev (= ${EXTENDPKGV})"
RDEPENDS_rescue-rootfs-staticdev="rescue-rootfs-dev (= 1.0-r0)"
#
# $READELF [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:508
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:508
# "${HOST_PREFIX}readelf"
# pre-expansion value:
# "${HOST_PREFIX}readelf"
export READELF="arm-oe-linux-gnueabi-readelf"
#
# $REAL_MULTIMACH_TARGET_SYS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:46
# "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
REAL_MULTIMACH_TARGET_SYS="cortexa7hf-neon-vfpv4-oe-linux-gnueabi"
#
# $RECIPE_SYSROOT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:355
# "${WORKDIR}/recipe-sysroot"
RECIPE_SYSROOT="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $RECIPE_SYSROOT_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:356
# "${WORKDIR}/recipe-sysroot-native"
RECIPE_SYSROOT_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native"
#
# $REMOVE_LIBTOOL_LA
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/remove-libtool.bbclass:3
# "1"
REMOVE_LIBTOOL_LA="1"
#
# $REQUIRED_DISTRO_FEATURES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:351
# [doc] "When a recipe inherits the distro_features_check class, this variable identifies distribution features that must exist in the current configuration in order for the OpenEmbedded build system to build the recipe."
#
# $RM_WORK_EXCLUDE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:352
# [doc] "With rm_work enabled, this variable specifies a list of packages whose work directories should not be removed."
#
# $ROOTFS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:353
# [doc] "Indicates a filesystem image to include as the root filesystem."
#
# $ROOTFS_BOOTSTRAP_INSTALL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:32
# "run-postinsts"
ROOTFS_BOOTSTRAP_INSTALL="run-postinsts"
#
# $ROOTFS_PKGMANAGE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs_ipk.bbclass:9
# "opkg ${EXTRAOPKGCONFIG}"
ROOTFS_PKGMANAGE="opkg "
#
# $ROOTFS_RO_UNNEEDED
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:36
# "update-rc.d base-passwd shadow ${VIRTUAL-RUNTIME_update-alternatives} ${ROOTFS_BOOTSTRAP_INSTALL}"
ROOTFS_RO_UNNEEDED="update-rc.d base-passwd shadow update-alternatives-opkg run-postinsts"
#
# $ROOT_HOME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:84
# [_defaultval] "/home/root"
ROOT_HOME="/home/root"
#
# $RPMDEPS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:1443
# "${STAGING_LIBDIR_NATIVE}/rpm/rpmdeps${@' --alldeps' if d.getVar('ENABLE_RPM_FILEDEPS_FOR_PYRO') == '1' else ''}"
RPMDEPS="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib/rpm/rpmdeps"
#
# $RPROVIDES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:264
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:355
# [doc] "A list of package name aliases that a package also provides. These aliases are useful for satisfying runtime dependencies of other packages both during the build and on the target."
# pre-expansion value:
# ""
RPROVIDES=""
#
# $RRECOMMENDS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:356
# [doc] "A list of packages that extends the usability of a package being built. The package being built does not depend on this list of packages in order to successfully build, but needs them for the extended usability."
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:16
# "${PACKAGE_INSTALL_ATTEMPTONLY}"
# pre-expansion value:
# " ${PACKAGE_INSTALL_ATTEMPTONLY}"
RRECOMMENDS=" "
#
# $RREPLACES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:357
# [doc] "A list of packages replaced by a package. The package manager uses this variable to determine which package should be installed to replace other package(s) during an upgrade."
#
# $RSUGGESTS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:358
# [doc] "A list of additional packages that you can suggest for installation by the package manager at the time a package is installed. Not all package managers support this functionality."
#
# $RUNNABLE_IMAGE_TYPES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:284
# "ext2 ext3 ext4"
RUNNABLE_IMAGE_TYPES="ext2 ext3 ext4"
#
# $RUNNABLE_MACHINE_PATTERNS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:285
# "qemu"
RUNNABLE_MACHINE_PATTERNS="qemu"
#
# $S [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:350
# "${WORKDIR}/${BP}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:362
# [doc] "The location in the Build Directory where unpacked package source code resides."
# pre-expansion value:
# "${WORKDIR}/${BP}"
S="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rescue-rootfs-1.0"
#
# $SANITY_ABIFILE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf:8
# "${TMPDIR}/abi_version"
SANITY_ABIFILE="/home/mnhu/projects/pil/yocto/tmp-glibc/abi_version"
#
# $SANITY_BBLAYERCONF_SAMPLE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass:79
# "${COREBASE}/meta*/conf/bblayers.conf.sample"
SANITY_BBLAYERCONF_SAMPLE="/home/mnhu/projects/pil/yocto/meta-poky/meta*/conf/bblayers.conf.sample"
#
# $SANITY_DIFF_TOOL
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass:37
# "meld"
SANITY_DIFF_TOOL="meld"
#
# $SANITY_LOCALCONF_SAMPLE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass:39
# "${COREBASE}/meta*/conf/local.conf.sample"
SANITY_LOCALCONF_SAMPLE="/home/mnhu/projects/pil/yocto/meta-poky/meta*/conf/local.conf.sample"
#
# $SANITY_REQUIRED_UTILITIES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass:6
# "patch diffstat makeinfo git bzip2 tar gzip gawk chrpath wget cpio perl file which"
SANITY_REQUIRED_UTILITIES="patch diffstat makeinfo git bzip2 tar gzip gawk chrpath wget cpio perl file which"
#
# $SANITY_SITECONF_SAMPLE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sanity.bbclass:59
# "${COREBASE}/meta*/conf/site.conf.sample"
SANITY_SITECONF_SAMPLE="/home/mnhu/projects/pil/yocto/meta-poky/meta*/conf/site.conf.sample"
#
# $SANITY_TESTED_DISTROS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:363
# [doc] "A list of the host distribution identifiers that the build system has been tested against."
#
# $SANITY_VERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf:10
# "1"
SANITY_VERSION="1"
#
# $SAVANNAH_GNU_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:618
# "http://download.savannah.gnu.org/releases"
SAVANNAH_GNU_MIRROR="http://download.savannah.gnu.org/releases"
#
# $SAVANNAH_NONGNU_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:619
# "http://download.savannah.nongnu.org/releases"
SAVANNAH_NONGNU_MIRROR="http://download.savannah.nongnu.org/releases"
#
# $SDKDEPLOYDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:29
# "${WORKDIR}/${SDKMACHINE}-deploy-${PN}-populate-sdk"
SDKDEPLOYDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk"
#
# $SDKEXTCLASS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:5
# "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
SDKEXTCLASS="populate_sdk_ext"
#
# $SDKEXTDEPLOYDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:679
# "${WORKDIR}/deploy-${PN}-populate-sdk-ext"
SDKEXTDEPLOYDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-populate-sdk-ext"
#
# $SDKEXTPATH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:57
# "~/${@d.getVar('DISTRO')}_sdk"
SDKEXTPATH="~/basic_sdk"
#
# $SDKGCCVERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:26
# "${GCCVERSION}"
SDKGCCVERSION="6.3%"
#
# $SDKIMAGE_FEATURES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:369
# [doc] "Equivalent to IMAGE_FEATURES. However, this variable applies to the SDK generated from an image using the command 'bitbake -c populate_sdk imagename'."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:20
# [_defaultval] "dev-pkgs dbg-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}"
# pre-expansion value:
# "dev-pkgs dbg-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}"
SDKIMAGE_FEATURES="dev-pkgs dbg-pkgs "
#
# $SDKIMAGE_INSTALL_COMPLEMENTARY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:21
# "${@complementary_globs("SDKIMAGE_FEATURES", d)}"
SDKIMAGE_INSTALL_COMPLEMENTARY="*-dev *-dbg"
#
# $SDKMACHINE [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:132
# [_defaultval] "x86_64"
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:15
# "x86_64"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:370
# [doc] "Specifies the architecture (i.e. i686 or x86_64) for which to build SDK and ADT items."
# pre-expansion value:
# "x86_64"
SDKMACHINE="x86_64"
#
# $SDKPATH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:401
# "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
SDKPATH="/usr/local/oecore-x86_64"
#
# $SDKPATHNATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:402
# "${SDKPATH}/sysroots/${SDK_SYS}"
SDKPATHNATIVE="/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux"
#
# $SDKPKGSUFFIX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:138
# "nativesdk"
SDKPKGSUFFIX="nativesdk"
#
# $SDKTARGETSYSROOT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:33
# "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
SDKTARGETSYSROOT="/usr/local/oecore-x86_64/sysroots/cortexa7hf-neon-vfpv4-oe-linux-gnueabi"
#
# $SDKTAROPTS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:190
# "--owner=root --group=root"
SDKTAROPTS="--owner=root --group=root"
#
# $SDKUSE_NLS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:121
# [_defaultval] "yes"
SDKUSE_NLS="yes"
#
# $SDK_ARCH [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf:1
# "x86_64"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:364
# [doc] "The target architecture for the SDK."
# pre-expansion value:
# "x86_64"
SDK_ARCH="x86_64"
#
# $SDK_AS_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:141
# "${BUILD_AS_ARCH}"
SDK_AS_ARCH=""
#
# $SDK_CC_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:137
# "${BUILD_CC_ARCH}"
SDK_CC_ARCH=""
#
# $SDK_DEPENDS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:42
# "virtual/fakeroot-native pixz-native"
SDK_DEPENDS="virtual/fakeroot-native pixz-native"
#
# $SDK_DEPLOY [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:365
# [doc] "The directory set up and used by the populate_sdk_base to which the SDK is deployed."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:27
# "${DEPLOY_DIR}/sdk"
# pre-expansion value:
# "${DEPLOY_DIR}/sdk"
SDK_DEPLOY="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/sdk"
#
# $SDK_DIR [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:366
# [doc] "The parent directory used by the OpenEmbedded build system when creating SDK output."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:25
# "${WORKDIR}/sdk"
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:78
# "${WORKDIR}/sdk-ext"
# pre-expansion value:
# "${WORKDIR}/sdk"
SDK_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk"
#
# $SDK_DIR_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:78
# "${WORKDIR}/sdk-ext"
SDK_DIR_task-populate-sdk-ext="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk-ext"
#
# $SDK_EXT [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:16
# ""
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:17
# "-ext"
# pre-expansion value:
# ""
SDK_EXT=""
#
# $SDK_EXT_HOST_MANIFEST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:84
# "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"
SDK_EXT_HOST_MANIFEST="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-ext-nodistro.0.host.manifest"
#
# $SDK_EXT_TARGET_MANIFEST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:83
# "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"
SDK_EXT_TARGET_MANIFEST="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-ext-nodistro.0.target.manifest"
#
# $SDK_EXT_TYPE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:20
# "full"
SDK_EXT_TYPE="full"
#
# $SDK_EXT_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:17
# "-ext"
SDK_EXT_task-populate-sdk-ext="-ext"
#
# $SDK_HOST_MANIFEST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:61
# "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"
SDK_HOST_MANIFEST="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.host.manifest"
#
# $SDK_INCLUDE_PKGDATA
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:21
# "0"
SDK_INCLUDE_PKGDATA="0"
#
# $SDK_INCLUDE_TOOLCHAIN
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:22
# "${@'1' if d.getVar('SDK_EXT_TYPE') == 'full' else '0'}"
SDK_INCLUDE_TOOLCHAIN="1"
#
# $SDK_INHERIT_BLACKLIST
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:37
# "buildhistory icecc"
SDK_INHERIT_BLACKLIST="buildhistory icecc"
#
# $SDK_INSTALL_TARGETS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:608
# ""
SDK_INSTALL_TARGETS=""
#
# $SDK_LD_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:140
# "${BUILD_LD_ARCH}"
SDK_LD_ARCH=""
#
# $SDK_LOCAL_CONF_BLACKLIST
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:36
# "CONF_VERSION BB_NUMBER_THREADS BB_NUMBER_PARSE_THREADS PARALLEL_MAKE PRSERV_HOST SSTATE_MIRRORS DL_DIR SSTATE_DIR TMPDIR "
SDK_LOCAL_CONF_BLACKLIST="CONF_VERSION BB_NUMBER_THREADS BB_NUMBER_PARSE_THREADS PARALLEL_MAKE PRSERV_HOST SSTATE_MIRRORS DL_DIR SSTATE_DIR TMPDIR "
#
# $SDK_LOCAL_CONF_WHITELIST
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:26
# ""
SDK_LOCAL_CONF_WHITELIST=""
#
# $SDK_NAME [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:400
# "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:367
# [doc] "The base name for SDK output files."
# pre-expansion value:
# "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}"
SDK_NAME="oecore-x86_64-cortexa7hf-neon-vfpv4"
#
# $SDK_NAME_PREFIX
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:399
# "oecore"
SDK_NAME_PREFIX="oecore"
#
# $SDK_OLDEST_KERNEL [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:415
# "3.2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine-sdk/x86_64.conf:3
# "2.6.32"
# pre-expansion value:
# "2.6.32"
SDK_OLDEST_KERNEL="2.6.32"
#
# $SDK_OS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:133
# "${BUILD_OS}"
SDK_OS="linux"
#
# $SDK_OUTPUT [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:368
# [doc] "The location used by the OpenEmbedded build system when creating SDK output."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:26
# "${SDK_DIR}/image"
# pre-expansion value:
# "${SDK_DIR}/image"
SDK_OUTPUT="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image"
#
# $SDK_PACKAGE_ARCHS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:139
# "all any noarch ${SDK_ARCH}-${SDKPKGSUFFIX}"
SDK_PACKAGE_ARCHS="all any noarch x86_64-nativesdk"
#
# $SDK_PACKAGING_COMMAND
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:93
# "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}"
SDK_PACKAGING_COMMAND="create_shar;"
#
# $SDK_PACKAGING_FUNC
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:52
# "create_shar"
SDK_PACKAGING_FUNC="create_shar"
#
# $SDK_POST_INSTALL_COMMAND [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:54
# ""
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:604
# "${sdk_ext_postinst}"
# pre-expansion value:
# ""
SDK_POST_INSTALL_COMMAND=""
#
# $SDK_POST_INSTALL_COMMAND_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:604
# "${sdk_ext_postinst}"
SDK_POST_INSTALL_COMMAND_task-populate-sdk-ext=" printf \"\nExtracting buildtools...\n\" \
cd \$target_sdk_dir \
env_setup_script=\"\$target_sdk_dir/environment-setup-cortexa7hf-neon-vfpv4-oe-linux-gnueabi\" \
printf \"buildtools\ny\" | ./\${SDK_BUILDTOOLS_INSTALLER} > buildtools.log || { printf 'ERROR: buildtools installation failed:\n' ; cat buildtools.log ; echo \"printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'\" >> \$env_setup_script ; exit 1 ; } \
\
# Delete the buildtools tar file since it won't be used again \
rm -f ./\${SDK_BUILDTOOLS_INSTALLER} \
# We don't need the log either since it succeeded \
rm -f buildtools.log \
\
# Make sure when the user sets up the environment, they also get \
# the buildtools-tarball tools in their path. \
echo \". \$target_sdk_dir/buildtools/environment-setup*\" >> \$env_setup_script \
\
# Allow bitbake environment setup to be ran as part of this sdk. \
echo \"export OE_SKIP_SDK_CHECK=1\" >> \$env_setup_script \
# Work around runqemu not knowing how to get this information within the eSDK \
echo \"export DEPLOY_DIR_IMAGE=\$target_sdk_dir/tmp/deploy/images/rpi2\" >> \$env_setup_script \
\
# A bit of another hack, but we need this in the path only for devtool \
# so put it at the end of \$PATH. \
echo \"export PATH=\$target_sdk_dir/sysroots/x86_64-oesdk-linux/usr/bin:\\$PATH\" >> \$env_setup_script \
\
echo \"printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'\" >> \$env_setup_script \
\
# Warn if trying to use external bitbake and the ext SDK together \
echo \"(which bitbake > /dev/null 2>&1 && echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || true\" >> \$env_setup_script \
\
if [ \"\$prepare_buildsystem\" != \"no\" ]; then \
printf \"Preparing build system...\n\" \
# dash which is /bin/sh on Ubuntu will not preserve the \
# current working directory when first ran, nor will it set \$1 when \
# sourcing a script. That is why this has to look so ugly. \
LOGFILE=\"\$target_sdk_dir/preparing_build_system.log\" \
sh -c \". buildtools/environment-setup* > \$LOGFILE && cd \$target_sdk_dir/`dirname \${oe_init_build_env_path}` && set \$target_sdk_dir && . \$target_sdk_dir/\${oe_init_build_env_path} \$target_sdk_dir >> \$LOGFILE && python \$target_sdk_dir/ext-sdk-prepare.py \$LOGFILE ''\" || { echo \"printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'\" >> \$env_setup_script ; exit 1 ; } \
rm \$target_sdk_dir/ext-sdk-prepare.py \
fi \
echo done \
"
#
# $SDK_PREFIX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:136
# "${SDK_SYS}-"
SDK_PREFIX="x86_64-oesdk-linux-"
#
# $SDK_PRE_INSTALL_COMMAND [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:53
# ""
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:560
# "${sdk_ext_preinst}"
# pre-expansion value:
# ""
SDK_PRE_INSTALL_COMMAND=""
#
# $SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:560
# "${sdk_ext_preinst}"
SDK_PRE_INSTALL_COMMAND_task-populate-sdk-ext=" # Since bitbake won't run as root it doesn't make sense to try and install \
# the extensible sdk as root. \
if [ \"`id -u`\" = \"0\" ]; then \
echo \"ERROR: The extensible sdk cannot be installed as root.\" \
exit 1 \
fi \
if ! command -v locale > /dev/null; then \
echo \"ERROR: The installer requires the locale command, please install it first\" \
exit 1 \
fi \
# Check setting of LC_ALL set above \
canonicalised_locale=`echo \$LC_ALL | sed 's/UTF-8/utf8/'` \
if ! locale -a | grep -q \$canonicalised_locale ; then \
echo \"ERROR: the installer requires the \$LC_ALL locale to be installed (but not selected), please install it first\" \
exit 1 \
fi \
# The relocation script used by buildtools installer requires python \
if ! command -v python > /dev/null; then \
echo \"ERROR: The installer requires python, please install it first\" \
exit 1 \
fi \
missing_utils=\"\" \
for util in \${SDK_REQUIRED_UTILITIES}; do \
if ! command -v \$util > /dev/null; then \
missing_utils=\"\$missing_utils \$util\" \
fi \
done \
if [ -n \"\$missing_utils\" ] ; then \
echo \"ERROR: the SDK requires the following missing utilities, please install them: \$missing_utils\" \
exit 1 \
fi \
SDK_EXTENSIBLE=\"1\" \
if [ \"\$publish\" = \"1\" ] ; then \
EXTRA_TAR_OPTIONS=\"\$EXTRA_TAR_OPTIONS --exclude=ext-sdk-prepare.py\" \
if [ \"full\" = \"minimal\" ] ; then \
EXTRA_TAR_OPTIONS=\"\$EXTRA_TAR_OPTIONS --exclude=sstate-cache\" \
fi \
fi \
"
#
# $SDK_RDEPENDS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:41
# "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
SDK_RDEPENDS="packagegroup-core-standalone-sdk-target packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init rescue-init run-postinsts base-passwd shadow nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-rpi2"
#
# $SDK_RECRDEP_TASKS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:24
# ""
SDK_RECRDEP_TASKS=""
#
# $SDK_RELOCATE_AFTER_INSTALL [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:55
# "1"
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:14
# "0"
# pre-expansion value:
# "1"
SDK_RELOCATE_AFTER_INSTALL="1"
#
# $SDK_RELOCATE_AFTER_INSTALL_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:14
# "0"
SDK_RELOCATE_AFTER_INSTALL_task-populate-sdk-ext="0"
#
# $SDK_SYS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:135
# "${SDK_ARCH}${SDK_VENDOR}${@['-' + d.getVar('SDK_OS'), ''][d.getVar('SDK_OS') == ('' or 'custom')]}"
SDK_SYS="x86_64-oesdk-linux"
#
# $SDK_TARGETS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:40
# "${PN}"
SDK_TARGETS="rescue-rootfs"
#
# $SDK_TARGET_MANIFEST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:60
# "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"
SDK_TARGET_MANIFEST="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.target.manifest"
#
# $SDK_TITLE [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:58
# "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:86
# "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"
# pre-expansion value:
# "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
SDK_TITLE="PIL/basic SDK"
#
# $SDK_TITLE_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:86
# "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"
SDK_TITLE_task-populate-sdk-ext="PIL/basic Extensible SDK"
#
# $SDK_UPDATE_URL
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:38
# ""
SDK_UPDATE_URL=""
#
# $SDK_VENDOR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:134
# "-oesdk"
SDK_VENDOR="-oesdk"
#
# $SDK_VERSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:41
# [_defaultval] "nodistro.0"
SDK_VERSION="nodistro.0"
#
# $SECTION [6 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:221
# "base"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:371
# [doc] "The section in which packages should be categorized. Package management utilities can make use of this variable."
# override[rescue-rootfs-dbg]:rename from SECTION_${PN}-dbg data.py:116 [expandKeys]
# "devel"
# override[rescue-rootfs-dev]:rename from SECTION_${PN}-dev data.py:116 [expandKeys]
# "devel"
# override[rescue-rootfs-doc]:rename from SECTION_${PN}-doc data.py:116 [expandKeys]
# "doc"
# override[rescue-rootfs-staticdev]:rename from SECTION_${PN}-staticdev data.py:116 [expandKeys]
# "devel"
# pre-expansion value:
# "base"
SECTION="base"
#
# $SECTION_rescue-rootfs-dbg
# rename from SECTION_${PN}-dbg data.py:116 [expandKeys]
# "devel"
SECTION_rescue-rootfs-dbg="devel"
#
# $SECTION_rescue-rootfs-dev
# rename from SECTION_${PN}-dev data.py:116 [expandKeys]
# "devel"
SECTION_rescue-rootfs-dev="devel"
#
# $SECTION_rescue-rootfs-doc
# rename from SECTION_${PN}-doc data.py:116 [expandKeys]
# "doc"
SECTION_rescue-rootfs-doc="doc"
#
# $SECTION_rescue-rootfs-staticdev
# rename from SECTION_${PN}-staticdev data.py:116 [expandKeys]
# "devel"
SECTION_rescue-rootfs-staticdev="devel"
#
# $SELECTED_OPTIMIZATION [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:592
# "${@d.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][d.getVar('DEBUG_BUILD') == '1'])}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:593
# [vardeps] "FULL_OPTIMIZATION DEBUG_OPTIMIZATION"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:372
# [doc] "The variable takes the value of FULL_OPTIMIZATION unless DEBUG_BUILD = '1'. In this case, the value of DEBUG_OPTIMIZATION is used."
# pre-expansion value:
# "${@d.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][d.getVar('DEBUG_BUILD') == '1'])}"
SELECTED_OPTIMIZATION="-O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
#
# $SERIAL_CONSOLE [3 operations]
# set? /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:18
# "115200 ttyAMA0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:373
# [doc] "The speed and device for the serial port used to attach the serial console. This variable is given to the kernel as the 'console' parameter. After booting occurs, getty is started on that port so remote login is possible."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:815
# [_defaultval] ""
# pre-expansion value:
# "115200 ttyAMA0"
SERIAL_CONSOLE="115200 ttyAMA0"
#
# $SERIAL_CONSOLES [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:374
# [doc] "Defines the serial consoles (TTYs) to enable using getty."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:816
# [_defaultval] "${@d.getVar('SERIAL_CONSOLE').replace(' ', ';')}"
# pre-expansion value:
# "${@d.getVar('SERIAL_CONSOLE').replace(' ', ';')}"
SERIAL_CONSOLES="115200;ttyAMA0"
#
# $SERIAL_CONSOLES_CHECK
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:375
# [doc] "Similar to SERIAL_CONSOLES except the device is checked for existence before attempting to enable it. Supported only by SysVinit."
#
# $SHELL [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:837
# [unexport] "1"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass:10
# "bash"
# pre-expansion value:
# "bash"
unset SHELL
#
# $SHLIBSDIRS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:1502
# "${PKGDATA_DIR}/${MLPREFIX}shlibs2"
SHLIBSDIRS="/home/mnhu/projects/pil/yocto/tmp-glibc/pkgdata/rpi2/shlibs2"
#
# $SHLIBSWORKDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:1503
# "${PKGDESTWORK}/${MLPREFIX}shlibs2"
SHLIBSWORKDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/pkgdata/shlibs2"
#
# $SIGGEN_EXCLUDERECIPES_ABISAFE [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:41
# " sysvinit-inittab shadow-securetty opkg-arch-config netbase init-ifupdown connman-conf formfactor xserver-xf86-config pointercal-xinput base-files keymaps udev-extraconf packagegroup-x11-xserver systemd-serialgetty initscripts shadow shadow-sysroot base-passwd opkg-utils gstreamer1.0-meta-base "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:377
# [doc] "A list of recipes that are completely stable and will never change."
# pre-expansion value:
# " sysvinit-inittab shadow-securetty opkg-arch-config netbase init-ifupdown connman-conf formfactor xserver-xf86-config pointercal-xinput base-files keymaps udev-extraconf packagegroup-x11-xserver systemd-serialgetty initscripts shadow shadow-sysroot base-passwd opkg-utils gstreamer1.0-meta-base "
SIGGEN_EXCLUDERECIPES_ABISAFE=" sysvinit-inittab shadow-securetty opkg-arch-config netbase init-ifupdown connman-conf formfactor xserver-xf86-config pointercal-xinput base-files keymaps udev-extraconf packagegroup-x11-xserver systemd-serialgetty initscripts shadow shadow-sysroot base-passwd opkg-utils gstreamer1.0-meta-base "
#
# $SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/layer.conf:60
# " gcc-cross-${TARGET_ARCH}->virtual/${TARGET_PREFIX}libc-for-gcc gcc-cross-${TARGET_ARCH}->linux-libc-headers ppp-dialin->ppp resolvconf->bash docbook-xsl-stylesheets->perl ca-certificates->openssl initramfs-framework->${VIRTUAL-RUNTIME_base-utils} initramfs-framework->systemd initramfs-framework->eudev liberation-fonts->fontconfig cantarell-fonts->fontconfig gnome-icon-theme->librsvg font-alias->font-util weston-init->weston weston-init->kbd oprofile->virtual/kernel "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:376
# [doc] "A list of recipe dependencies that should not be used to determine signatures of tasks from one recipe when they depend on tasks from another recipe."
# pre-expansion value:
# " gcc-cross-${TARGET_ARCH}->virtual/${TARGET_PREFIX}libc-for-gcc gcc-cross-${TARGET_ARCH}->linux-libc-headers ppp-dialin->ppp resolvconf->bash docbook-xsl-stylesheets->perl ca-certificates->openssl initramfs-framework->${VIRTUAL-RUNTIME_base-utils} initramfs-framework->systemd initramfs-framework->eudev liberation-fonts->fontconfig cantarell-fonts->fontconfig gnome-icon-theme->librsvg font-alias->font-util weston-init->weston weston-init->kbd oprofile->virtual/kernel "
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS=" gcc-cross-arm->virtual/arm-oe-linux-gnueabi-libc-for-gcc gcc-cross-arm->linux-libc-headers ppp-dialin->ppp resolvconf->bash docbook-xsl-stylesheets->perl ca-certificates->openssl initramfs-framework->busybox initramfs-framework->systemd initramfs-framework->eudev liberation-fonts->fontconfig cantarell-fonts->fontconfig gnome-icon-theme->librsvg font-alias->font-util weston-init->weston weston-init->kbd oprofile->virtual/kernel "
#
# $SIGGEN_LOCKEDSIGS_SSTATE_EXISTS_CHECK
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:62
# "error"
SIGGEN_LOCKEDSIGS_SSTATE_EXISTS_CHECK="error"
#
# $SIGGEN_LOCKEDSIGS_TASKSIG_CHECK
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:66
# "error"
SIGGEN_LOCKEDSIGS_TASKSIG_CHECK="error"
#
# $SITECONFIG_SYSROOTCACHE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/siteinfo.bbclass:194
# "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
SITECONFIG_SYSROOTCACHE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/share/arm-oe-linux-gnueabi_config_site.d"
#
# $SITEINFO_BITS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:378
# [doc] "Specifies the number of bits for the target system CPU."
# set siteinfo.bbclass:154 [__anon_160__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_siteinfo_bbclass]
# "32"
# pre-expansion value:
# "32"
SITEINFO_BITS="32"
#
# $SITEINFO_ENDIANNESS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:379
# [doc] "Specifies the endian byte order of the target system. The value should be either 'le' for 'little-endian' or 'be' for 'big-endian'."
# set siteinfo.bbclass:145 [__anon_160__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_siteinfo_bbclass]
# "le"
# pre-expansion value:
# "le"
SITEINFO_ENDIANNESS="le"
#
# $SITE_CONF_VERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/sanity.conf:13
# "1"
SITE_CONF_VERSION="1"
#
# $SOC_FAMILY [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/soc-family.inc:2
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:4
# "rpi"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:380
# [doc] "Groups together machines based upon the same family of SOC (System On Chip). You typically set this variable in a common .inc file that you include in the configuration files of all the machines."
# pre-expansion value:
# "rpi"
SOC_FAMILY="rpi"
#
# $SOLIBS [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:268
# ".so.*"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:381
# [doc] "Defines the suffix for shared libraries used on the target platform."
# override[darwin]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:269
# ".dylib"
# pre-expansion value:
# ".so.*"
SOLIBS=".so.*"
#
# $SOLIBSDEV [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:271
# ".so"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:382
# [doc] "Defines the suffix for the development symbolic link (symlink) for shared libraries on the target platform."
# override[darwin]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:275
# ".dylibbroken"
# pre-expansion value:
# ".so"
SOLIBSDEV=".so"
#
# $SOLIBSDEV_darwin
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:275
# ".dylibbroken"
SOLIBSDEV_darwin=".dylibbroken"
#
# $SOLIBS_darwin
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:269
# ".dylib"
SOLIBS_darwin=".dylib"
#
# $SORT_PASSWD_POSTPROCESS_COMMAND
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass:48
# [_defaultval] " sort_passwd; "
SORT_PASSWD_POSTPROCESS_COMMAND=" sort_passwd; "
#
# $SOURCEFORGE_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:615
# "http://downloads.sourceforge.net"
SOURCEFORGE_MIRROR="http://downloads.sourceforge.net"
#
# $SOURCE_MIRROR_FETCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:383
# [doc] "Switch marking build as source fetcher. Used to skip COMPATIBLE_* checking."
#
# $SOURCE_MIRROR_URL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:384
# [doc] "URL to source mirror that will be used before fetching from original SRC_URI."
#
# $SPDXLICENSEMAP [37 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:54
# [AGPL-3] "AGPL-3.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:55
# [AGPLv3] "AGPL-3.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:56
# [AGPLv3.0] "AGPL-3.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:59
# [GPL-1] "GPL-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:60
# [GPLv1] "GPL-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:61
# [GPLv1.0] "GPL-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:62
# [GPL-2] "GPL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:63
# [GPLv2] "GPL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:64
# [GPLv2.0] "GPL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:65
# [GPL-3] "GPL-3.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:66
# [GPLv3] "GPL-3.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:67
# [GPLv3.0] "GPL-3.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:70
# [LGPLv2] "LGPL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:71
# [LGPLv2.0] "LGPL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:72
# [LGPL2.1] "LGPL-2.1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:73
# [LGPLv2.1] "LGPL-2.1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:74
# [LGPLv3] "LGPL-3.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:77
# [MPL-1] "MPL-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:78
# [MPLv1] "MPL-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:79
# [MPLv1.1] "MPL-1.1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:80
# [MPLv2] "MPL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:83
# [MIT-X] "MIT"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:84
# [MIT-style] "MIT"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:87
# [openssl] "OpenSSL"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:90
# [PSF] "Python-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:91
# [PSFv2] "Python-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:92
# [Python-2] "Python-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:95
# [Apachev2] "Apache-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:96
# [Apache-2] "Apache-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:99
# [Artisticv1] "Artistic-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:100
# [Artistic-1] "Artistic-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:103
# [AFL-2] "AFL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:104
# [AFL-1] "AFL-1.2"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:105
# [AFLv2] "AFL-2.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:106
# [AFLv1] "AFL-1.2"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:109
# [EPLv1.0] "EPL-1.0"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:112
# [SGIv1] "SGI-1"
# pre-expansion value:
# "None"
#
# $SPDX_MANIFEST_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:126
# "/home/yocto/fossology_scans"
SPDX_MANIFEST_DIR="/home/yocto/fossology_scans"
#
# $SPDX_TEMP_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:125
# "${WORKDIR}/spdx_temp"
SPDX_TEMP_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/spdx_temp"
#
# $SPDX_VERSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:129
# "SPDX-1.1"
SPDX_VERSION="SPDX-1.1"
#
# $SPECIAL_PKGSUFFIX [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:215
# "-native -cross -initial -intermediate -crosssdk -cross-canadian"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:385
# [doc] "A list of prefixes for PN used by the OpenEmbedded build system to create variants of recipes or packages. The list specifies the prefixes to strip off during certain circumstances such as the generation of the BPN variable."
# pre-expansion value:
# "-native -cross -initial -intermediate -crosssdk -cross-canadian"
SPECIAL_PKGSUFFIX="-native -cross -initial -intermediate -crosssdk -cross-canadian"
#
# $SPLASH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:46
# "psplash"
SPLASH="psplash"
#
# $SPL_BINARY
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:15
# ""
SPL_BINARY=""
#
# $SRCDATE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:650
# "${DATE}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:388
# [doc] "The date of the source code used to build the package. This variable applies only if the source was fetched from a Source Code Manager (SCM)."
# pre-expansion value:
# "${DATE}"
SRCDATE="20170915"
#
# $SRCPV [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:655
# [vardepvalue] "${SRCPV}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:389
# [doc] "Returns the version string of the current package. This string is used to help define the value of PV."
# pre-expansion value:
# "None"
#
# $SRCREV [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:651
# [_defaultval] "INVALID"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:390
# [doc] "The revision of the source code used to build the package. This variable applies to Subversion, Git, Mercurial and Bazaar only."
# pre-expansion value:
# "INVALID"
SRCREV="INVALID"
#
# $SRC_DISTRIBUTE_LICENSES [37 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:4
# "AAL Adobe AFL-1.2 AFL-2.0 AFL-2.1 AFL-3.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:5
# "AGPL-3.0 ANTLR-PD Apache-1.0 Apache-1.1 Apache-2.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:6
# "APL-1.0 APSL-1.0 APSL-1.1 APSL-1.2 APSL-2.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:7
# "Artistic-1.0 Artistic-2.0 BitstreamVera BSD"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:8
# "BSD-2-Clause BSD-3-Clause BSD-4-Clause BSL-1.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:9
# "CATOSL-1.1 CC0-1.0 CC-BY-1.0 CC-BY-2.0 CC-BY-2.5"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:10
# "CC-BY-3.0 CC-BY-NC-1.0 CC-BY-NC-2.0 CC-BY-NC-2.5"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:11
# "CC-BY-NC-3.0 CC-BY-NC-ND-1.0 CC-BY-NC-ND-2.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:12
# "CC-BY-NC-ND-2.5 CC-BY-NC-ND-3.0 CC-BY-NC-SA-1.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:13
# "CC-BY-NC-SA-2.0 CC-BY-NC-SA-2.5 CC-BY-NC-SA-3.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:14
# "CC-BY-ND-1.0 CC-BY-ND-2.0 CC-BY-ND-2.5 CC-BY-ND-3.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:15
# "CC-BY-SA-1.0 CC-BY-SA-2.0 CC-BY-SA-2.5 CC-BY-SA-3.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:16
# "CDDL-1.0 CECILL-1.0 CECILL-2.0 CECILL-B CECILL-C"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:17
# "ClArtistic CPAL-1.0 CPL-1.0 CUA-OPL-1.0 DSSSL"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:18
# "ECL-1.0 ECL-2.0 eCos-2.0 EDL-1.0 EFL-1.0 EFL-2.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:19
# "Elfutils-Exception Entessa EPL-1.0 ErlPL-1.1"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:20
# "EUDatagrid EUPL-1.0 EUPL-1.1 Fair Frameworx-1.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:21
# "FreeType GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-1.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:22
# "GPL-2.0 GPL-2.0-with-autoconf-exception"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:23
# "GPL-2.0-with-classpath-exception"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:24
# "GPL-2.0-with-font-exception"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:25
# "GPL-2.0-with-GCC-exception"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:26
# "GPL-2-with-bison-exception GPL-3.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:27
# "GPL-3.0-with-autoconf-exception"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:28
# "GPL-3.0-with-GCC-exception"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:29
# "gSOAP-1 gSOAP-1.3b HPND IPA IPL-1.0 ISC LGPL-2.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:30
# "LGPL-2.1 LGPL-3.0 Libpng LPL-1.02 LPPL-1.0 LPPL-1.1"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:31
# "LPPL-1.2 LPPL-1.3c MirOS MIT Motosoto MPL-1.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:32
# "MPL-1.1 MS-PL MS-RL Multics NASA-1.3 Nauman NCSA"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:33
# "NGPL Nokia NPOSL-3.0 NTP OASIS OCLC-2.0 ODbL-1.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:34
# "OFL-1.1 OGTSL OLDAP-2.8 OpenSSL OSL-1.0 OSL-2.0"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:35
# "OSL-3.0 PD PHP-3.0 PostgreSQL Proprietary"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:36
# "Python-2.0 QPL-1.0 RHeCos-1 RHeCos-1.1 RPL-1.5"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:37
# "RPSL-1.0 RSCPL Ruby SAX-PD SGI-1 Simple-2.0 Sleepycat"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:38
# "SPL-1.0 SugarCRM-1 SugarCRM-1.1.3 UCB VSL-1.0 W3C"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:39
# "Watcom-1.0 WXwindows XFree86-1.0 XFree86-1.1 Xnet XSL YPL-1.1"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/licenses.conf:40
# "Zimbra-1.3 Zlib ZPL-1.1 ZPL-2.0 ZPL-2.1"
# pre-expansion value:
# " AAL Adobe AFL-1.2 AFL-2.0 AFL-2.1 AFL-3.0 AGPL-3.0 ANTLR-PD Apache-1.0 Apache-1.1 Apache-2.0 APL-1.0 APSL-1.0 APSL-1.1 APSL-1.2 APSL-2.0 Artistic-1.0 Artistic-2.0 BitstreamVera BSD BSD-2-Clause BSD-3-Clause BSD-4-Clause BSL-1.0 CATOSL-1.1 CC0-1.0 CC-BY-1.0 CC-BY-2.0 CC-BY-2.5 CC-BY-3.0 CC-BY-NC-1.0 CC-BY-NC-2.0 CC-BY-NC-2.5 CC-BY-NC-3.0 CC-BY-NC-ND-1.0 CC-BY-NC-ND-2.0 CC-BY-NC-ND-2.5 CC-BY-NC-ND-3.0 CC-BY-NC-SA-1.0 CC-BY-NC-SA-2.0 CC-BY-NC-SA-2.5 CC-BY-NC-SA-3.0 CC-BY-ND-1.0 CC-BY-ND-2.0 CC-BY-ND-2.5 CC-BY-ND-3.0 CC-BY-SA-1.0 CC-BY-SA-2.0 CC-BY-SA-2.5 CC-BY-SA-3.0 CDDL-1.0 CECILL-1.0 CECILL-2.0 CECILL-B CECILL-C ClArtistic CPAL-1.0 CPL-1.0 CUA-OPL-1.0 DSSSL ECL-1.0 ECL-2.0 eCos-2.0 EDL-1.0 EFL-1.0 EFL-2.0 Elfutils-Exception Entessa EPL-1.0 ErlPL-1.1 EUDatagrid EUPL-1.0 EUPL-1.1 Fair Frameworx-1.0 FreeType GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-1.0 GPL-2.0 GPL-2.0-with-autoconf-exception GPL-2.0-with-classpath-exception GPL-2.0-with-font-exception GPL-2.0-with-GCC-exception GPL-2-with-bison-exception GPL-3.0 GPL-3.0-with-autoconf-exception GPL-3.0-with-GCC-exception gSOAP-1 gSOAP-1.3b HPND IPA IPL-1.0 ISC LGPL-2.0 LGPL-2.1 LGPL-3.0 Libpng LPL-1.02 LPPL-1.0 LPPL-1.1 LPPL-1.2 LPPL-1.3c MirOS MIT Motosoto MPL-1.0 MPL-1.1 MS-PL MS-RL Multics NASA-1.3 Nauman NCSA NGPL Nokia NPOSL-3.0 NTP OASIS OCLC-2.0 ODbL-1.0 OFL-1.1 OGTSL OLDAP-2.8 OpenSSL OSL-1.0 OSL-2.0 OSL-3.0 PD PHP-3.0 PostgreSQL Proprietary Python-2.0 QPL-1.0 RHeCos-1 RHeCos-1.1 RPL-1.5 RPSL-1.0 RSCPL Ruby SAX-PD SGI-1 Simple-2.0 Sleepycat SPL-1.0 SugarCRM-1 SugarCRM-1.1.3 UCB VSL-1.0 W3C Watcom-1.0 WXwindows XFree86-1.0 XFree86-1.1 Xnet XSL YPL-1.1 Zimbra-1.3 Zlib ZPL-1.1 ZPL-2.0 ZPL-2.1"
SRC_DISTRIBUTE_LICENSES=" AAL Adobe AFL-1.2 AFL-2.0 AFL-2.1 AFL-3.0 AGPL-3.0 ANTLR-PD Apache-1.0 Apache-1.1 Apache-2.0 APL-1.0 APSL-1.0 APSL-1.1 APSL-1.2 APSL-2.0 Artistic-1.0 Artistic-2.0 BitstreamVera BSD BSD-2-Clause BSD-3-Clause BSD-4-Clause BSL-1.0 CATOSL-1.1 CC0-1.0 CC-BY-1.0 CC-BY-2.0 CC-BY-2.5 CC-BY-3.0 CC-BY-NC-1.0 CC-BY-NC-2.0 CC-BY-NC-2.5 CC-BY-NC-3.0 CC-BY-NC-ND-1.0 CC-BY-NC-ND-2.0 CC-BY-NC-ND-2.5 CC-BY-NC-ND-3.0 CC-BY-NC-SA-1.0 CC-BY-NC-SA-2.0 CC-BY-NC-SA-2.5 CC-BY-NC-SA-3.0 CC-BY-ND-1.0 CC-BY-ND-2.0 CC-BY-ND-2.5 CC-BY-ND-3.0 CC-BY-SA-1.0 CC-BY-SA-2.0 CC-BY-SA-2.5 CC-BY-SA-3.0 CDDL-1.0 CECILL-1.0 CECILL-2.0 CECILL-B CECILL-C ClArtistic CPAL-1.0 CPL-1.0 CUA-OPL-1.0 DSSSL ECL-1.0 ECL-2.0 eCos-2.0 EDL-1.0 EFL-1.0 EFL-2.0 Elfutils-Exception Entessa EPL-1.0 ErlPL-1.1 EUDatagrid EUPL-1.0 EUPL-1.1 Fair Frameworx-1.0 FreeType GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-1.0 GPL-2.0 GPL-2.0-with-autoconf-exception GPL-2.0-with-classpath-exception GPL-2.0-with-font-exception GPL-2.0-with-GCC-exception GPL-2-with-bison-exception GPL-3.0 GPL-3.0-with-autoconf-exception GPL-3.0-with-GCC-exception gSOAP-1 gSOAP-1.3b HPND IPA IPL-1.0 ISC LGPL-2.0 LGPL-2.1 LGPL-3.0 Libpng LPL-1.02 LPPL-1.0 LPPL-1.1 LPPL-1.2 LPPL-1.3c MirOS MIT Motosoto MPL-1.0 MPL-1.1 MS-PL MS-RL Multics NASA-1.3 Nauman NCSA NGPL Nokia NPOSL-3.0 NTP OASIS OCLC-2.0 ODbL-1.0 OFL-1.1 OGTSL OLDAP-2.8 OpenSSL OSL-1.0 OSL-2.0 OSL-3.0 PD PHP-3.0 PostgreSQL Proprietary Python-2.0 QPL-1.0 RHeCos-1 RHeCos-1.1 RPL-1.5 RPSL-1.0 RSCPL Ruby SAX-PD SGI-1 Simple-2.0 Sleepycat SPL-1.0 SugarCRM-1 SugarCRM-1.1.3 UCB VSL-1.0 W3C Watcom-1.0 WXwindows XFree86-1.0 XFree86-1.1 Xnet XSL YPL-1.1 Zimbra-1.3 Zlib ZPL-1.1 ZPL-2.0 ZPL-2.1"
#
# $SRC_URI [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:638
# [vardepsexclude] "APACHE_MIRROR CPAN_MIRROR DEBIAN_MIRROR GENTOO_MIRROR GNOME_GIT GNOME_MIRROR GNU_MIRROR GNUPG_MIRROR GPE_MIRROR KERNELORG_MIRROR SAVANNAH_GNU_MIRROR SAVANNAH_NONGNU_MIRROR SOURCEFORGE_MIRROR XLIBS_MIRROR XORG_MIRROR "
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:657
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:386
# [doc] "The list of source files - local or remote. This variable tells the OpenEmbedded build system what bits to pull in for the build and how to pull them in."
# pre-expansion value:
# ""
SRC_URI=""
#
# $SRC_URI_OVERRIDES_PACKAGE_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:387
# [doc] "By default, the OpenEmbedded build system automatically detects whether SRC_URI contains files that are machine-specific. If so, the build system automatically changes PACKAGE_ARCH. Setting this variable to '0' disables this behavior."
#
# $SSH_DISABLE_DNS_LOOKUP
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass:33
# " ssh_disable_dns_lookup ; "
SSH_DISABLE_DNS_LOOKUP=" ssh_disable_dns_lookup ; "
#
# $SSTATECLEANFUNCS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:58
# ""
SSTATECLEANFUNCS=""
#
# $SSTATECREATEFUNCS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:52
# "sstate_hardcode_path"
SSTATECREATEFUNCS="sstate_hardcode_path"
#
# $SSTATEPOSTCREATEFUNCS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:53
# ""
SSTATEPOSTCREATEFUNCS=""
#
# $SSTATEPOSTINSTFUNCS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:56
# ""
SSTATEPOSTINSTFUNCS=""
#
# $SSTATEPOSTUNPACKFUNCS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:55
# "sstate_hardcode_path_unpack"
SSTATEPOSTUNPACKFUNCS="sstate_hardcode_path_unpack"
#
# $SSTATEPREINSTFUNCS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:54
# ""
SSTATEPREINSTFUNCS=""
#
# $SSTATETASKS [11 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:201
# "do_populate_sysroot"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:1193
# "do_package_qa"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2149
# "do_package"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package.bbclass:2166
# "do_packagedata"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/package_ipk.bbclass:246
# "do_package_write_ipk"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/license.bbclass:678
# "do_populate_lic"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass:2
# "do_deploy"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:122
# "do_populate_sdk"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:681
# "do_populate_sdk_ext"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:299
# "do_image_complete"
# set sstate.bbclass:98 [__anon_101__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_sstate_bbclass]
# "do_deploy do_image_complete do_package do_package_qa do_package_write_ipk do_packagedata do_populate_lic do_populate_sdk do_populate_sdk_ext do_populate_sysroot"
# pre-expansion value:
# "do_deploy do_image_complete do_package do_package_qa do_package_write_ipk do_packagedata do_populate_lic do_populate_sdk do_populate_sdk_ext do_populate_sysroot"
SSTATETASKS="do_deploy do_image_complete do_package do_package_qa do_package_write_ipk do_packagedata do_populate_lic do_populate_sdk do_populate_sdk_ext do_populate_sysroot"
#
# $SSTATE_ARCHS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:48
# " ${BUILD_ARCH} ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} ${BUILD_ARCH}_${TARGET_ARCH} ${SDK_ARCH}_${SDK_OS} ${SDK_ARCH}_${PACKAGE_ARCH} allarch ${PACKAGE_ARCH} ${MACHINE}"
SSTATE_ARCHS=" x86_64 x86_64_x86_64_linux x86_64_arm x86_64_linux x86_64_rpi2 allarch rpi2 rpi2"
#
# $SSTATE_DIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:391
# [doc] "The directory for the shared state cache."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:749
# "${TOPDIR}/sstate-cache"
# pre-expansion value:
# "${TOPDIR}/sstate-cache"
SSTATE_DIR="/home/mnhu/projects/pil/yocto/sstate-cache"
#
# $SSTATE_DUPWHITELIST [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:28
# "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/noarch/"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:30
# "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:32
# "${DEPLOY_DIR_SRC}"
# pre-expansion value:
# "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/noarch/ ${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml ${DEPLOY_DIR_SRC}"
SSTATE_DUPWHITELIST="/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/images/rpi2/ /home/mnhu/projects/pil/yocto/tmp-glibc/deploy/licenses/ /home/mnhu/projects/pil/yocto/tmp-glibc/deploy/rpm/noarch/ /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/etc/sgml /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/share/sgml \${DEPLOY_DIR_SRC}"
#
# $SSTATE_EXTRAPATH [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:16
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:25
# [vardepvalue] ""
# pre-expansion value:
# ""
SSTATE_EXTRAPATH=""
#
# $SSTATE_EXTRAPATHWILDCARD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:17
# ""
SSTATE_EXTRAPATHWILDCARD=""
#
# $SSTATE_MANFILEPREFIX
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:4
# "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-${PN}"
SSTATE_MANFILEPREFIX="/home/mnhu/projects/pil/yocto/tmp-glibc/sstate-control/manifest-rpi2-rescue-rootfs"
#
# $SSTATE_MANIFESTS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:3
# "${TMPDIR}/sstate-control"
SSTATE_MANIFESTS="/home/mnhu/projects/pil/yocto/tmp-glibc/sstate-control"
#
# $SSTATE_MANMACH [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:50
# "${SSTATE_PKGARCH}"
# set sstate.bbclass:90 [__anon_101__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_sstate_bbclass]
# "rpi2"
# pre-expansion value:
# "rpi2"
SSTATE_MANMACH="rpi2"
#
# $SSTATE_MIRRORS [2 operations]
# set? /home/mnhu/projects/pil/yocto/conf/local.conf:25
# "file://.* http://172.16.10.37/prebakes/yocto/PATH"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:392
# [doc] "Configures the OpenEmbedded build system to search other mirror locations for prebuilt cache data objects before building out the data. You can specify a filesystem directory or a remote URL such as HTTP or FTP."
# pre-expansion value:
# "file://.* http://172.16.10.37/prebakes/yocto/PATH"
SSTATE_MIRRORS="file://.* http://172.16.10.37/prebakes/yocto/PATH"
#
# $SSTATE_PATHSPEC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:18
# "${SSTATE_DIR}/${SSTATE_EXTRAPATHWILDCARD}*/${SSTATE_PKGSPEC}"
SSTATE_PATHSPEC="/home/mnhu/projects/pil/yocto/sstate-cache/*/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:"
#
# $SSTATE_PKG
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:15
# "${SSTATE_DIR}/${SSTATE_PKGNAME}"
SSTATE_PKG="/home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID"
#
# $SSTATE_PKGARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:11
# "${PACKAGE_ARCH}"
SSTATE_PKGARCH="rpi2"
#
# $SSTATE_PKGNAME
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:14
# "${SSTATE_EXTRAPATH}${@generate_sstatefn(d.getVar('SSTATE_PKGSPEC'), d.getVar('BB_TASKHASH'), d)}"
SSTATE_PKGNAME="IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID"
#
# $SSTATE_PKGSPEC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:12
# "sstate:${PN}:${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}:${PV}:${PR}:${SSTATE_PKGARCH}:${SSTATE_VERSION}:"
SSTATE_PKGSPEC="sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:"
#
# $SSTATE_PRUNE_OBSOLETEWORKDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:1006
# "1"
SSTATE_PRUNE_OBSOLETEWORKDIR="1"
#
# $SSTATE_SCAN_CMD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:35
# [_defaultval] "find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES").split())}" \) -type f"
SSTATE_SCAN_CMD="find \${SSTATE_BUILDDIR} \( -name \"*.la\" -o -name \"*-config\" -o -name \"*_config\" -o -name \"postinst-*\" \) -type f"
#
# $SSTATE_SCAN_CMD_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:36
# [_defaultval] "grep -Irl -e ${RECIPE_SYSROOT} -e ${RECIPE_SYSROOT_NATIVE} -e ${HOSTTOOLS_DIR} ${SSTATE_BUILDDIR}"
SSTATE_SCAN_CMD_NATIVE="grep -Irl -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native -e /home/mnhu/projects/pil/yocto/tmp-glibc/hosttools \${SSTATE_BUILDDIR}"
#
# $SSTATE_SCAN_FILES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:34
# "*.la *-config *_config postinst-*"
SSTATE_SCAN_FILES="*.la *-config *_config postinst-*"
#
# $SSTATE_SIG_KEY
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:70
# ""
SSTATE_SIG_KEY=""
#
# $SSTATE_SIG_PASSPHRASE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:71
# ""
SSTATE_SIG_PASSPHRASE=""
#
# $SSTATE_SKIP_CREATION_task-image-complete
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:300
# "1"
SSTATE_SKIP_CREATION_task-image-complete="1"
#
# $SSTATE_SKIP_CREATION_task-populate-sdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:123
# "1"
SSTATE_SKIP_CREATION_task-populate-sdk="1"
#
# $SSTATE_SKIP_CREATION_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:682
# "1"
SSTATE_SKIP_CREATION_task-populate-sdk-ext="1"
#
# $SSTATE_SWSPEC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:13
# "sstate:${PN}::${PV}:${PR}::${SSTATE_VERSION}:"
SSTATE_SWSPEC="sstate:rescue-rootfs::1.0:r0::3:"
#
# $SSTATE_VERIFY_SIG
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:73
# "0"
SSTATE_VERIFY_SIG="0"
#
# $SSTATE_VERSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/sstate.bbclass:1
# "3"
SSTATE_VERSION="3"
#
# $STAGING_BASELIBDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:374
# "${STAGING_DIR_HOST}${base_libdir}"
STAGING_BASELIBDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/lib"
#
# $STAGING_BASE_LIBDIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:364
# "${STAGING_DIR_NATIVE}${base_libdir_native}"
STAGING_BASE_LIBDIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/lib"
#
# $STAGING_BINDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:371
# "${STAGING_DIR_HOST}${bindir}"
STAGING_BINDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/bin"
#
# $STAGING_BINDIR_CROSS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:360
# "${STAGING_BINDIR}/crossscripts"
STAGING_BINDIR_CROSS="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/bin/crossscripts"
#
# $STAGING_BINDIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:359
# "${STAGING_DIR_NATIVE}${bindir_native}"
STAGING_BINDIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin"
#
# $STAGING_BINDIR_TOOLCHAIN
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:361
# "${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
STAGING_BINDIR_TOOLCHAIN="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi"
#
# $STAGING_DATADIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:376
# "${STAGING_DIR_HOST}${datadir}"
STAGING_DATADIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/share"
#
# $STAGING_DATADIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:368
# "${STAGING_DIR_NATIVE}${datadir_native}"
STAGING_DATADIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/share"
#
# $STAGING_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:353
# "${TMPDIR}/sysroots"
STAGING_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots"
#
# $STAGING_DIR_HOST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:370
# "${RECIPE_SYSROOT}"
STAGING_DIR_HOST="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $STAGING_DIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:358
# "${RECIPE_SYSROOT_NATIVE}"
STAGING_DIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native"
#
# $STAGING_DIR_TARGET
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:381
# "${RECIPE_SYSROOT}"
STAGING_DIR_TARGET="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $STAGING_ETCDIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:367
# "${STAGING_DIR_NATIVE}${sysconfdir_native}"
STAGING_ETCDIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/etc"
#
# $STAGING_EXECPREFIXDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:377
# "${STAGING_DIR_HOST}${exec_prefix}"
STAGING_EXECPREFIXDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr"
#
# $STAGING_FIRMWARE_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:379
# "${STAGING_DIR_HOST}/firmware"
STAGING_FIRMWARE_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/firmware"
#
# $STAGING_INCDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:375
# "${STAGING_DIR_HOST}${includedir}"
STAGING_INCDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/include"
#
# $STAGING_INCDIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:366
# "${STAGING_DIR_NATIVE}${includedir_native}"
STAGING_INCDIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/include"
#
# $STAGING_KERNEL_BUILDDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:422
# "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
STAGING_KERNEL_BUILDDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work-shared/rpi2/kernel-build-artifacts"
#
# $STAGING_KERNEL_DIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:421
# "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:393
# [doc] "The directory with kernel headers that are required to build out-of-tree modules."
# pre-expansion value:
# "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
STAGING_KERNEL_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work-shared/rpi2/kernel-source"
#
# $STAGING_LIBDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:372
# "${STAGING_DIR_HOST}${libdir}"
STAGING_LIBDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib"
#
# $STAGING_LIBDIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:362
# "${STAGING_DIR_NATIVE}${libdir_native}"
STAGING_LIBDIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib"
#
# $STAGING_LIBEXECDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:373
# "${STAGING_DIR_HOST}${libexecdir}"
STAGING_LIBEXECDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/libexec"
#
# $STAGING_LIBEXECDIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:363
# "${STAGING_DIR_NATIVE}${libexecdir_native}"
STAGING_LIBEXECDIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/libexec"
#
# $STAGING_LOADER_DIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:378
# "${STAGING_DIR_HOST}/loader"
STAGING_LOADER_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/loader"
#
# $STAGING_SBINDIR_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:365
# "${STAGING_DIR_NATIVE}${sbindir_native}"
STAGING_SBINDIR_NATIVE="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/sbin"
#
# $STAMP [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:344
# "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:394
# [doc] "Specifies the base path used to create recipe stamp files. The path to an actual stamp file is constructed by evaluating this string and then appending additional information."
# pre-expansion value:
# "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
STAMP="/home/mnhu/projects/pil/yocto/tmp-glibc/stamps/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0"
#
# $STAMPCLEAN
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:345
# "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*"
STAMPCLEAN="/home/mnhu/projects/pil/yocto/tmp-glibc/stamps/rpi2-oe-linux-gnueabi/rescue-rootfs/*-*"
#
# $STAMPS_DIR [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:343
# "${TMPDIR}/stamps"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:395
# [doc] "Specifies the base directory in which the OpenEmbedded build system places stamps."
# pre-expansion value:
# "${TMPDIR}/stamps"
STAMPS_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/stamps"
#
# $STRINGS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:506
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:506
# "${HOST_PREFIX}strings"
# pre-expansion value:
# "${HOST_PREFIX}strings"
export STRINGS="arm-oe-linux-gnueabi-strings"
#
# $STRIP [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:503
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:503
# "${HOST_PREFIX}strip"
# pre-expansion value:
# "${HOST_PREFIX}strip"
export STRIP="arm-oe-linux-gnueabi-strip"
#
# $SUMMARY [7 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:223
# "${PN} version ${PV}-${PR}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:396
# [doc] "The short (80 characters or less) summary of the binary package for packaging systems such as opkg, rpm or dpkg. By default, SUMMARY is used to define the DESCRIPTION variable if DESCRIPTION is not set in the recipe."
# set /home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems/rescue-rootfs.bb:1
# "PIL rescue-rootfs"
# override[rescue-rootfs-dbg]:rename from SUMMARY_${PN}-dbg data.py:116 [expandKeys]
# "${SUMMARY} - Debugging files"
# override[rescue-rootfs-dev]:rename from SUMMARY_${PN}-dev data.py:116 [expandKeys]
# "${SUMMARY} - Development files"
# override[rescue-rootfs-doc]:rename from SUMMARY_${PN}-doc data.py:116 [expandKeys]
# "${SUMMARY} - Documentation files"
# override[rescue-rootfs-staticdev]:rename from SUMMARY_${PN}-staticdev data.py:116 [expandKeys]
# "${SUMMARY} - Development files (Static Libraries)"
# pre-expansion value:
# "PIL rescue-rootfs"
SUMMARY="PIL rescue-rootfs"
#
# $SUMMARY_rescue-rootfs-dbg
# rename from SUMMARY_${PN}-dbg data.py:116 [expandKeys]
# "${SUMMARY} - Debugging files"
SUMMARY_rescue-rootfs-dbg="PIL rescue-rootfs - Debugging files"
#
# $SUMMARY_rescue-rootfs-dev
# rename from SUMMARY_${PN}-dev data.py:116 [expandKeys]
# "${SUMMARY} - Development files"
SUMMARY_rescue-rootfs-dev="PIL rescue-rootfs - Development files"
#
# $SUMMARY_rescue-rootfs-doc
# rename from SUMMARY_${PN}-doc data.py:116 [expandKeys]
# "${SUMMARY} - Documentation files"
SUMMARY_rescue-rootfs-doc="PIL rescue-rootfs - Documentation files"
#
# $SUMMARY_rescue-rootfs-staticdev
# rename from SUMMARY_${PN}-staticdev data.py:116 [expandKeys]
# "${SUMMARY} - Development files (Static Libraries)"
SUMMARY_rescue-rootfs-staticdev="PIL rescue-rootfs - Development files (Static Libraries)"
#
# $SVNDIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:338
# "${CO_DIR}/svn"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:397
# [doc] "The directory where Subversion checkouts will be stored."
# pre-expansion value:
# "${CO_DIR}/svn"
SVNDIR="/home/mnhu/projects/pil/yocto/downloads/svn"
#
# $SYSLINUX_DEFAULT_CONSOLE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:398
# [doc] "Specifies the kernel boot default console."
#
# $SYSLINUX_OPTS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:399
# [doc] "Lists additional options to add to the syslinux file."
#
# $SYSLINUX_SERIAL
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:400
# [doc] "Specifies the alternate serial port or turns it off."
#
# $SYSLINUX_SERIAL_TTY
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:402
# [doc] "Specifies the alternate console=tty... kernel boot argument."
#
# $SYSLINUX_SPLASH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:401
# [doc] "An .LSS file used as the background for the VGA boot menu when you are using the boot menu."
#
# $SYSROOT_DESTDIR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:174
# "${WORKDIR}/sysroot-destdir"
SYSROOT_DESTDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sysroot-destdir"
#
# $SYSROOT_DIRS [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:8
# " ${includedir} ${libdir} ${base_libdir} ${nonarch_base_libdir} ${datadir} "
# _append[class-native] /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:21
# " ${SYSROOT_DIRS_NATIVE}"
# _append[class-cross] /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:22
# " ${SYSROOT_DIRS_NATIVE}"
# _append[class-crosssdk] /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:23
# " ${SYSROOT_DIRS_NATIVE}"
# pre-expansion value:
# " ${includedir} ${libdir} ${base_libdir} ${nonarch_base_libdir} ${datadir} "
SYSROOT_DIRS=" /usr/include /usr/lib /lib /lib /usr/share "
#
# $SYSROOT_DIRS_BLACKLIST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:35
# " ${mandir} ${docdir} ${infodir} ${datadir}/locale ${datadir}/applications ${datadir}/fonts ${datadir}/pixmaps ${libdir}/${PN}/ptest "
SYSROOT_DIRS_BLACKLIST=" /usr/share/man /usr/share/doc /usr/share/info /usr/share/locale /usr/share/applications /usr/share/fonts /usr/share/pixmaps /usr/lib/rescue-rootfs/ptest "
#
# $SYSROOT_DIRS_NATIVE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:20
# " ${bindir} ${sbindir} ${base_bindir} ${base_sbindir} ${libexecdir} ${sysconfdir} ${localstatedir} "
SYSROOT_DIRS_NATIVE=" /usr/bin /usr/sbin /bin /sbin /usr/libexec /etc /var "
#
# $SYSROOT_PREPROCESS_FUNCS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:403
# [doc] "A list of functions to execute after files are staged into the sysroot. These functions are usually used to apply additional processing on the staged files, or to stage additional files."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/staging.bbclass:173
# ""
# pre-expansion value:
# ""
SYSROOT_PREPROCESS_FUNCS=""
#
# $SYSTEMD_AUTO_ENABLE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:404
# [doc] "For recipes that inherit the systemd class, this variable specifies whether the service you have specified in SYSTEMD_SERVICE should be started automatically or not."
#
# $SYSTEMD_DEFAULT_TARGET
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/rootfs-postcommands.bbclass:26
# "${@bb.utils.contains("IMAGE_FEATURES", "x11-base", "graphical.target", "multi-user.target", d)}"
SYSTEMD_DEFAULT_TARGET="multi-user.target"
#
# $SYSTEMD_PACKAGES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:405
# [doc] "For recipes that inherit the systemd class, this variable locates the systemd unit files when they are not found in the main recipe's package."
#
# $SYSTEMD_SERVICE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:406
# [doc] "For recipes that inherit the systemd class, this variable specifies the systemd service name for a package."
#
# $SYSVINIT_ENABLED_GETTYS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:407
# [doc] "Specifies which virtual terminals should be running a getty, the default is '1'."
#
# $T [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:348
# "${WORKDIR}/temp"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:411
# [doc] "This variable points to a directory were BitBake places temporary files, which consist mostly of task logs and scripts, when building a particular recipe."
# override[task-clean]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass:22
# "${LOG_DIR}/cleanlogs/${PN}"
# pre-expansion value:
# "${WORKDIR}/temp"
T="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp"
#
# $TARGET_ARCH [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:123
# "${TUNE_ARCH}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:412
# [doc] "The architecture of the device being built. The OpenEmbedded build system supports the following architectures: arm, mips, ppc, x86, x86-64."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:828
# [unexport] "1"
# pre-expansion value:
# "${TUNE_ARCH}"
unset TARGET_ARCH
#
# $TARGET_AR_KERNEL_ARCH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:56
# ""
TARGET_AR_KERNEL_ARCH=""
#
# $TARGET_AS_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:130
# "${TUNE_ASARGS}"
TARGET_AS_ARCH=""
#
# $TARGET_CC_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:128
# "${TUNE_CCARGS}"
TARGET_CC_ARCH=" -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7"
#
# $TARGET_CC_KERNEL_ARCH [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc:30
# "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '-mno-thumb-interwork -marm', '', d)}"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:52
# ""
# pre-expansion value:
# " ${@bb.utils.contains('TUNE_FEATURES', 'thumb', '-mno-thumb-interwork -marm', '', d)}"
TARGET_CC_KERNEL_ARCH=" -mno-thumb-interwork -marm"
#
# $TARGET_CFLAGS [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:546
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:546
# "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:413
# [doc] "Flags passed to the C compiler for the target system. This variable evaluates to the same as CFLAGS."
# pre-expansion value:
# "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
export TARGET_CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
#
# $TARGET_CPPFLAGS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:541
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:541
# ""
# pre-expansion value:
# ""
export TARGET_CPPFLAGS=""
#
# $TARGET_CXXFLAGS [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:550
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:550
# "${TARGET_CFLAGS}"
# pre-expansion value:
# "${TARGET_CFLAGS}"
export TARGET_CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
#
# $TARGET_FPU [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:16
# "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:414
# [doc] "Specifies the method for handling FPU code. For FPU-less targets, which include most ARM CPUs, the variable must be set to 'soft'. If not, the kernel emulation gets used, which results in a performance penalty."
# pre-expansion value:
# "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
TARGET_FPU="hard"
#
# $TARGET_LDFLAGS [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:569
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:569
# "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/as-needed.inc:14
# "${ASNEEDED}"
# pre-expansion value:
# "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
export TARGET_LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
#
# $TARGET_LD_ARCH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:129
# "${TUNE_LDARGS}"
TARGET_LD_ARCH=""
#
# $TARGET_LD_KERNEL_ARCH [2 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:12
# "${FIX_V4BX}"
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:54
# ""
# pre-expansion value:
# " ${FIX_V4BX}"
TARGET_LD_KERNEL_ARCH=" "
#
# $TARGET_LINK_HASH_STYLE
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:566
# "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_STYLE') != 'gnu']}"
TARGET_LINK_HASH_STYLE="-Wl,--hash-style=gnu"
#
# $TARGET_OS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:124
# "linux${LIBCEXTENSION}${ABIEXTENSION}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:415
# [doc] "Specifies the target's operating system."
# pre-expansion value:
# "linux${LIBCEXTENSION}${ABIEXTENSION}"
TARGET_OS="linux-gnueabi"
#
# $TARGET_PREFIX [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:127
# "${TARGET_SYS}-"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:416
# [doc] "The prefix for the cross-compile toolchain (e.g. arm-linux-)."
# pre-expansion value:
# "${TARGET_SYS}-"
TARGET_PREFIX="arm-oe-linux-gnueabi-"
#
# $TARGET_SYS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:126
# "${TARGET_ARCH}${TARGET_VENDOR}${@['-' + d.getVar('TARGET_OS'), ''][d.getVar('TARGET_OS') == ('' or 'custom')]}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:417
# [doc] "The target system is comprised of TARGET_ARCH,TARGET_VENDOR and TARGET_OS."
# pre-expansion value:
# "${TARGET_ARCH}${TARGET_VENDOR}${@['-' + d.getVar('TARGET_OS'), ''][d.getVar('TARGET_OS') == ('' or 'custom')]}"
TARGET_SYS="arm-oe-linux-gnueabi"
#
# $TARGET_VENDOR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:125
# "-oe"
TARGET_VENDOR="-oe"
#
# $TCLIBC [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:9
# "glibc"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:418
# [doc] "Specifies C library (libc) variant to use during the build process. You can select 'baremetal', 'glibc' or 'musl'."
# pre-expansion value:
# "glibc"
TCLIBC="glibc"
#
# $TCLIBCAPPEND
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:15
# "-${TCLIBC}"
TCLIBCAPPEND="-glibc"
#
# $TCMODE [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:6
# "default"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:419
# [doc] "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'."
# pre-expansion value:
# "default"
TCMODE="default"
#
# $TERM [2 operations]
# from env data.py:124 [inheritFromOS]
# "screen"
# auto env export data.py:126 [inheritFromOS]
# [export] "True"
# pre-expansion value:
# "screen"
export TERM="screen"
#
# $TESTIMAGECLASS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:20
# "${@base_conditional('TEST_IMAGE', '1', 'testimage-auto', '', d)}"
TESTIMAGECLASS=""
#
# $TEST_IMAGE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:420
# [doc] "Enables test booting of virtual machine images under the QEMU emulator after any root filesystems are created and runs tests against those images."
#
# $TEST_POWERCONTROL_CMD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:423
# [doc] "For automated hardware testing, specifies the command to use to control the power of the target machine under test"
#
# $TEST_POWERCONTROL_EXTRA_ARGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:424
# [doc] "For automated hardware testing, specifies additional arguments to pass through to the command specified in TEST_POWERCONTROL_CMD"
#
# $TEST_QEMUBOOT_TIMEOUT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:421
# [doc] "The time in seconds allowed for an image to boot before automated runtime tests begin to run against an image."
#
# $TEST_SERIALCONTROL_CMD
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:425
# [doc] "For automated hardware testing, specifies the command to use to connect to the serial console of the target machine under test"
#
# $TEST_SERIALCONTROL_EXTRA_ARGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:426
# [doc] "For automated hardware testing, specifies additional arguments to pass through to the command specified in TEST_SERIALCONTROL_CMD"
#
# $TEST_SUITES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:422
# [doc] "An ordered list of tests (modules) to run against an image when performing automated runtime testing."
#
# $TEST_TARGET
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:427
# [doc] "For automated runtime testing, specifies the method of deploying the image and running tests on the target machine"
#
# $THISDIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:428
# [doc] "The directory in which the file BitBake is currently parsing is located."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/base.bbclass:86
# "${@os.path.dirname(d.getVar('FILE'))}"
# pre-expansion value:
# "${@os.path.dirname(d.getVar('FILE'))}"
THISDIR="/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems"
#
# $TIME [2 operations]
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:159
# "${@time.strftime('%H%M%S',time.gmtime())}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:429
# [doc] "The time the build was started using HMS format."
# pre-expansion value:
# "073224"
TIME="073224"
#
# $TMPDIR [4 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:331
# "${TOPDIR}/tmp"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:16
# "${TCLIBCAPPEND}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:430
# [doc] "The temporary directory the OpenEmbedded build system uses when it does its work building images. By default, the TMPDIR variable is named tmp within the Build Directory."
# set cache.py:299 [parse_recipe]
# "/home/mnhu/projects/pil/yocto/tmp-glibc"
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto/tmp-glibc"
TMPDIR="/home/mnhu/projects/pil/yocto/tmp-glibc"
#
# $TOOLCHAIN
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:62
# "gcc"
TOOLCHAIN="gcc"
#
# $TOOLCHAINEXT_OUTPUTNAME
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:80
# "${SDK_NAME}-toolchain-ext-${SDK_VERSION}"
TOOLCHAINEXT_OUTPUTNAME="oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-ext-nodistro.0"
#
# $TOOLCHAIN_HOST_TASK [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:431
# [doc] "This variable lists packages the OpenEmbedded build system uses when building an SDK, which contains a cross-development environment."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:35
# "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}"
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:10
# " meta-environment-extsdk-${MACHINE} "
# pre-expansion value:
# "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}"
TOOLCHAIN_HOST_TASK="nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-rpi2"
#
# $TOOLCHAIN_HOST_TASK_ATTEMPTONLY
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:36
# ""
TOOLCHAIN_HOST_TASK_ATTEMPTONLY=""
#
# $TOOLCHAIN_HOST_TASK_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:10
# " meta-environment-extsdk-${MACHINE} "
TOOLCHAIN_HOST_TASK_task-populate-sdk-ext=" meta-environment-extsdk-rpi2 "
#
# $TOOLCHAIN_OPTIONS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:492
# " --sysroot=${STAGING_DIR_TARGET}"
TOOLCHAIN_OPTIONS=" --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
#
# $TOOLCHAIN_OUTPUTNAME [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:39
# "${SDK_NAME}-toolchain-${SDK_VERSION}"
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:81
# "${TOOLCHAINEXT_OUTPUTNAME}"
# pre-expansion value:
# "${SDK_NAME}-toolchain-${SDK_VERSION}"
TOOLCHAIN_OUTPUTNAME="oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0"
#
# $TOOLCHAIN_OUTPUTNAME_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:81
# "${TOOLCHAINEXT_OUTPUTNAME}"
TOOLCHAIN_OUTPUTNAME_task-populate-sdk-ext="oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-ext-nodistro.0"
#
# $TOOLCHAIN_TARGET_TASK [4 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:432
# [doc] "This variable lists packages the OpenEmbedded build system uses when it creates the target part of an SDK, which includes libraries and headers."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:37
# "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:8
# "${PACKAGE_INSTALL}"
# override[task-populate-sdk-ext]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:12
# ""
# pre-expansion value:
# "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} ${PACKAGE_INSTALL}"
TOOLCHAIN_TARGET_TASK="packagegroup-core-standalone-sdk-target packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init rescue-init run-postinsts base-passwd shadow"
#
# $TOOLCHAIN_TARGET_TASK_ATTEMPTONLY [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_base.bbclass:38
# ""
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:9
# "${PACKAGE_INSTALL_ATTEMPTONLY}"
# pre-expansion value:
# " ${PACKAGE_INSTALL_ATTEMPTONLY}"
TOOLCHAIN_TARGET_TASK_ATTEMPTONLY=" "
#
# $TOOLCHAIN_TARGET_TASK_task-populate-sdk-ext
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/populate_sdk_ext.bbclass:12
# ""
TOOLCHAIN_TARGET_TASK_task-populate-sdk-ext=""
#
# $TOPDIR [2 operations]
# set cookerdata.py:323 [parseConfigurationFiles]
# "/home/mnhu/projects/pil/yocto"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:433
# [doc] "The Build Directory. BitBake automatically sets this variable. The OpenEmbedded build system uses the Build Directory when building images."
# pre-expansion value:
# "/home/mnhu/projects/pil/yocto"
TOPDIR="/home/mnhu/projects/pil/yocto"
#
# $TRANSLATED_TARGET_ARCH [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:434
# [doc] "A sanitized version of TARGET_ARCH. This variable is used where the architecture is needed in a value where underscores are not allowed."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:840
# [_defaultval] "${@d.getVar('TARGET_ARCH').replace("_", "-")}"
# pre-expansion value:
# "${@d.getVar('TARGET_ARCH').replace("_", "-")}"
TRANSLATED_TARGET_ARCH="arm"
#
# $TUNEABI
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:436
# [doc] "An underlying ABI used by a particular tuning in a given toolchain layer. This feature allows providers using prebuilt libraries to check compatibility of a tuning against their selection of libraries."
#
# $TUNEABI_OVERRIDE
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:437
# [doc] "If set, ignores TUNEABI_WHITELIST."
#
# $TUNEABI_WHITELIST
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:438
# [doc] "A whitelist of permissible TUNEABI values. If the variable is not set, all values are allowed."
#
# $TUNECONFLICTS [5 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:4
# [armv7ve] "armv4 armv5 armv6 armv7 armv7a"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:4
# [armv7a] "armv4 armv5 armv6 armv7"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:4
# [armv6] "armv4 armv5"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:4
# [armv5] "armv4"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:439
# [doc] "List of conflicting features for a given feature."
# pre-expansion value:
# "None"
#
# $TUNEVALID [17 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:3
# [armv7ve] "Enable instructions for ARMv7ve"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:3
# [armv7a] "Enable instructions for ARMv7-a"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:3
# [armv6] "Enable instructions for ARMv6"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:2
# [dsp] "ARM DSP functionality"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:3
# [armv5] "Enable instructions for ARMv5"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:3
# [arm] "Enable ARM instruction set"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:4
# [armv4] "Enable instructions for ARMv4"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:2
# [bigendian] "Enable big-endian mode."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc:2
# [thumb] "Support Thumb instructions"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:5
# [vfp] "Enable Vector Floating Point (vfp) unit."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:11
# [callconvention-hard] "Enable EABI hard float call convention, requires VFP."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:7
# [neon] "Enable Neon SIMD accelerator unit."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:10
# [vfpv3d16] "Enable Vector Floating Point Version 3 with 16 registers (vfpv3-d16) unit."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:13
# [vfpv3] "Enable Vector Floating Point Version 3 with 32 registers (vfpv3) unit."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:16
# [vfpv4] "Enable Vector Floating Point Version 4 (vfpv4) unit."
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:5
# [cortexa7] "Enable Cortex-A7 specific processor optimizations"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:440
# [doc] "Descriptions, stored as flags, of valid tuning features."
# pre-expansion value:
# "None"
#
# $TUNE_ARCH [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:112
# [_defaultval] "INVALID"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:11
# "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'armeb', 'arm', d)}"
# pre-expansion value:
# "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'armeb', 'arm', d)}"
TUNE_ARCH="arm"
#
# $TUNE_ASARGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:116
# [_defaultval] ""
TUNE_ASARGS=""
#
# $TUNE_CCARGS [11 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:113
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:114
# [vardepvalue] "${TUNE_CCARGS}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:5
# "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:5
# "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:5
# "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:5
# "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:5
# "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-thumb.inc:24
# "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:8
# "${@ (' -mfpu=%s ' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:13
# "${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:6
# "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}"
# pre-expansion value:
# "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}${@ (' -mfpu=%s ' % d.getVar('TUNE_CCARGS_MFPU').split()[-1]) if (d.getVar('TUNE_CCARGS_MFPU') != '') else ''}${@ ' -mfloat-abi=${TUNE_CCARGS_MFLOAT}' if (d.getVar('TUNE_CCARGS_MFLOAT') != '') else ''}${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}"
TUNE_CCARGS=" -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7"
#
# $TUNE_CCARGS_MFLOAT
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:12
# "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '') else '' }"
TUNE_CCARGS_MFLOAT="hard"
#
# $TUNE_CCARGS_MFPU [6 operations]
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-vfp.inc:6
# "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:8
# "${@bb.utils.contains('TUNE_FEATURES', 'neon', ' neon', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:11
# "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', ' vfpv3-d16', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:14
# "${@bb.utils.contains('TUNE_FEATURES', 'vfpv3', ' vfpv3', '' , d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:17
# "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4', ' vfpv4', '', d)}"
# postdot /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/feature-arm-neon.inc:18
# "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ], ' neon-vfpv4', '', d)}"
# pre-expansion value:
# "${@bb.utils.contains('TUNE_FEATURES', 'vfp', ' vfp', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'neon', ' neon', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', ' vfpv3-d16', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'vfpv3', ' vfpv3', '' , d)}${@bb.utils.contains('TUNE_FEATURES', 'vfpv4', ' vfpv4', '', d)}${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ], ' neon-vfpv4', '', d)}"
TUNE_CCARGS_MFPU=" vfp neon vfpv4 neon-vfpv4"
#
# $TUNE_FEATURES [133 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:117
# [_defaultval] "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
# override[tune-armv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:22
# "arm armv4"
# override[tune-armv4t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:23
# "${TUNE_FEATURES_tune-armv4} thumb"
# override[tune-armv4b]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:31
# "${TUNE_FEATURES_tune-armv4} bigendian"
# override[tune-armv4tb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:32
# "${TUNE_FEATURES_tune-armv4t} bigendian"
# override[tune-armv5]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:15
# "arm armv5"
# override[tune-armv5t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:16
# "${TUNE_FEATURES_tune-armv5} thumb"
# override[tune-armv5-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:26
# "${TUNE_FEATURES_tune-armv5} vfp"
# override[tune-armv5t-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:27
# "${TUNE_FEATURES_tune-armv5t} vfp"
# override[tune-armv5hf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:28
# "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard"
# override[tune-armv5thf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:29
# "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard"
# override[tune-armv5b]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:39
# "${TUNE_FEATURES_tune-armv5} bigendian"
# override[tune-armv5tb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:40
# "${TUNE_FEATURES_tune-armv5t} bigendian"
# override[tune-armv5b-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:50
# "${TUNE_FEATURES_tune-armv5-vfp} bigendian"
# override[tune-armv5tb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:51
# "${TUNE_FEATURES_tune-armv5t-vfp} bigendian"
# override[tune-armv5hfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:52
# "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian"
# override[tune-armv5thfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:53
# "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian"
# override[tune-armv5e]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:10
# "${TUNE_FEATURES_tune-armv5} dsp"
# override[tune-armv5te]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:11
# "${TUNE_FEATURES_tune-armv5t} dsp"
# override[tune-armv5e-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:21
# "${TUNE_FEATURES_tune-armv5e} vfp"
# override[tune-armv5te-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:22
# "${TUNE_FEATURES_tune-armv5te} vfp"
# override[tune-armv5ehf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:23
# "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard"
# override[tune-armv5tehf-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:24
# "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard"
# override[tune-armv5eb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:34
# "${TUNE_FEATURES_tune-armv5e} bigendian"
# override[tune-armv5teb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:35
# "${TUNE_FEATURES_tune-armv5te} bigendian"
# override[tune-armv5eb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:45
# "${TUNE_FEATURES_tune-armv5e-vfp} bigendian"
# override[tune-armv5teb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:46
# "${TUNE_FEATURES_tune-armv5te-vfp} bigendian"
# override[tune-armv5ehfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:47
# "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian"
# override[tune-armv5tehfb-vfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:48
# "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian"
# override[tune-armv6-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:18
# "arm armv6"
# override[tune-armv6t-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:19
# "${TUNE_FEATURES_tune-armv6-novfp} thumb"
# override[tune-armv6]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:20
# "${TUNE_FEATURES_tune-armv6-novfp} vfp"
# override[tune-armv6t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:21
# "${TUNE_FEATURES_tune-armv6t-novfp} vfp"
# override[tune-armv6hf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:22
# "${TUNE_FEATURES_tune-armv6} callconvention-hard"
# override[tune-armv6thf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:23
# "${TUNE_FEATURES_tune-armv6t} callconvention-hard"
# override[tune-armv6b-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:39
# "${TUNE_FEATURES_tune-armv6-novfp} bigendian"
# override[tune-armv6tb-novfp]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:40
# "${TUNE_FEATURES_tune-armv6t-novfp} bigendian"
# override[tune-armv6b]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:41
# "${TUNE_FEATURES_tune-armv6} bigendian"
# override[tune-armv6tb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:42
# "${TUNE_FEATURES_tune-armv6t} bigendian"
# override[tune-armv6hfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:43
# "${TUNE_FEATURES_tune-armv6hf} bigendian"
# override[tune-armv6thfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:44
# "${TUNE_FEATURES_tune-armv6thf} bigendian"
# override[tune-armv7a]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:23
# "arm armv7a vfp"
# override[tune-armv7at]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:24
# "${TUNE_FEATURES_tune-armv7a} thumb"
# override[tune-armv7a-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:25
# "${TUNE_FEATURES_tune-armv7a} vfpv3d16"
# override[tune-armv7at-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:26
# "${TUNE_FEATURES_tune-armv7at} vfpv3d16"
# override[tune-armv7a-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:27
# "${TUNE_FEATURES_tune-armv7a-vfpv3d16} vfpv3"
# override[tune-armv7at-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:28
# "${TUNE_FEATURES_tune-armv7at-vfpv3d16} vfpv3"
# override[tune-armv7a-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:29
# "${TUNE_FEATURES_tune-armv7a} neon"
# override[tune-armv7at-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:30
# "${TUNE_FEATURES_tune-armv7at} neon"
# override[tune-armv7a-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:31
# "${TUNE_FEATURES_tune-armv7a-neon} vfpv4"
# override[tune-armv7at-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:32
# "${TUNE_FEATURES_tune-armv7at-neon} vfpv4"
# override[tune-armv7ahf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:56
# "${TUNE_FEATURES_tune-armv7a} callconvention-hard"
# override[tune-armv7athf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:57
# "${TUNE_FEATURES_tune-armv7at} callconvention-hard"
# override[tune-armv7ahf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:58
# "${TUNE_FEATURES_tune-armv7a-vfpv3d16} callconvention-hard"
# override[tune-armv7athf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:59
# "${TUNE_FEATURES_tune-armv7at-vfpv3d16} callconvention-hard"
# override[tune-armv7ahf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:60
# "${TUNE_FEATURES_tune-armv7a-vfpv3} callconvention-hard"
# override[tune-armv7athf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:61
# "${TUNE_FEATURES_tune-armv7at-vfpv3} callconvention-hard"
# override[tune-armv7ahf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:62
# "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard"
# override[tune-armv7athf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:63
# "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard"
# override[tune-armv7ahf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:64
# "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} callconvention-hard"
# override[tune-armv7athf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:65
# "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} callconvention-hard"
# override[tune-armv7ab]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:89
# "${TUNE_FEATURES_tune-armv7a} bigendian"
# override[tune-armv7atb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:90
# "${TUNE_FEATURES_tune-armv7at} bigendian"
# override[tune-armv7ab-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:91
# "${TUNE_FEATURES_tune-armv7a-vfpv3d16} bigendian"
# override[tune-armv7atb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:92
# "${TUNE_FEATURES_tune-armv7at-vfpv3d16} bigendian"
# override[tune-armv7ab-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:93
# "${TUNE_FEATURES_tune-armv7a-vfpv3} bigendian"
# override[tune-armv7atb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:94
# "${TUNE_FEATURES_tune-armv7at-vfpv3} bigendian"
# override[tune-armv7ab-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:95
# "${TUNE_FEATURES_tune-armv7a-neon} bigendian"
# override[tune-armv7atb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:96
# "${TUNE_FEATURES_tune-armv7at-neon} bigendian"
# override[tune-armv7ab-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:97
# "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} bigendian"
# override[tune-armv7atb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:98
# "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} bigendian"
# override[tune-armv7ahfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:122
# "${TUNE_FEATURES_tune-armv7ahf} bigendian"
# override[tune-armv7athfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:123
# "${TUNE_FEATURES_tune-armv7athf} bigendian"
# override[tune-armv7ahfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:124
# "${TUNE_FEATURES_tune-armv7ahf-vfpv3d16} bigendian"
# override[tune-armv7athfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:125
# "${TUNE_FEATURES_tune-armv7athf-vfpv3d16} bigendian"
# override[tune-armv7ahfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:126
# "${TUNE_FEATURES_tune-armv7ahf-vfpv3} bigendian"
# override[tune-armv7athfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:127
# "${TUNE_FEATURES_tune-armv7athf-vfpv3} bigendian"
# override[tune-armv7ahfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:128
# "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian"
# override[tune-armv7athfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:129
# "${TUNE_FEATURES_tune-armv7athf-neon} bigendian"
# override[tune-armv7ahfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:130
# "${TUNE_FEATURES_tune-armv7ahf-neon-vfpv4} bigendian"
# override[tune-armv7athfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:131
# "${TUNE_FEATURES_tune-armv7athf-neon-vfpv4} bigendian"
# override[tune-armv7ve]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:22
# "arm armv7ve vfp"
# override[tune-armv7vet]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:23
# "${TUNE_FEATURES_tune-armv7ve} thumb"
# override[tune-armv7ve-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:24
# "${TUNE_FEATURES_tune-armv7ve} vfpv3d16"
# override[tune-armv7vet-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:25
# "${TUNE_FEATURES_tune-armv7vet} vfpv3d16"
# override[tune-armv7ve-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:26
# "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} vfpv3"
# override[tune-armv7vet-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:27
# "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} vfpv3"
# override[tune-armv7ve-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:28
# "${TUNE_FEATURES_tune-armv7ve} neon"
# override[tune-armv7vet-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:29
# "${TUNE_FEATURES_tune-armv7vet} neon"
# override[tune-armv7ve-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:30
# "${TUNE_FEATURES_tune-armv7ve-neon} vfpv4"
# override[tune-armv7vet-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:31
# "${TUNE_FEATURES_tune-armv7vet-neon} vfpv4"
# override[tune-armv7vehf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:55
# "${TUNE_FEATURES_tune-armv7ve} callconvention-hard"
# override[tune-armv7vethf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:56
# "${TUNE_FEATURES_tune-armv7vet} callconvention-hard"
# override[tune-armv7vehf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:57
# "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} callconvention-hard"
# override[tune-armv7vethf-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:58
# "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} callconvention-hard"
# override[tune-armv7vehf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:59
# "${TUNE_FEATURES_tune-armv7ve-vfpv3} callconvention-hard"
# override[tune-armv7vethf-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:60
# "${TUNE_FEATURES_tune-armv7vet-vfpv3} callconvention-hard"
# override[tune-armv7vehf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:61
# "${TUNE_FEATURES_tune-armv7ve-neon} callconvention-hard"
# override[tune-armv7vethf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:62
# "${TUNE_FEATURES_tune-armv7vet-neon} callconvention-hard"
# override[tune-armv7vehf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:63
# "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} callconvention-hard"
# override[tune-armv7vethf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:64
# "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} callconvention-hard"
# override[tune-armv7veb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:88
# "${TUNE_FEATURES_tune-armv7ve} bigendian"
# override[tune-armv7vetb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:89
# "${TUNE_FEATURES_tune-armv7vet} bigendian"
# override[tune-armv7veb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:90
# "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} bigendian"
# override[tune-armv7vetb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:91
# "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} bigendian"
# override[tune-armv7veb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:92
# "${TUNE_FEATURES_tune-armv7ve-vfpv3} bigendian"
# override[tune-armv7vetb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:93
# "${TUNE_FEATURES_tune-armv7vet-vfpv3} bigendian"
# override[tune-armv7veb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:94
# "${TUNE_FEATURES_tune-armv7ve-neon} bigendian"
# override[tune-armv7vetb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:95
# "${TUNE_FEATURES_tune-armv7vet-neon} bigendian"
# override[tune-armv7veb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:96
# "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} bigendian"
# override[tune-armv7vetb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:97
# "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} bigendian"
# override[tune-armv7vehfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:121
# "${TUNE_FEATURES_tune-armv7vehf} bigendian"
# override[tune-armv7vethfb]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:122
# "${TUNE_FEATURES_tune-armv7vethf} bigendian"
# override[tune-armv7vehfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:123
# "${TUNE_FEATURES_tune-armv7vehf-vfpv3d16} bigendian"
# override[tune-armv7vethfb-vfpv3d16]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:124
# "${TUNE_FEATURES_tune-armv7vethf-vfpv3d16} bigendian"
# override[tune-armv7vehfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:125
# "${TUNE_FEATURES_tune-armv7vehf-vfpv3} bigendian"
# override[tune-armv7vethfb-vfpv3]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:126
# "${TUNE_FEATURES_tune-armv7vethf-vfpv3} bigendian"
# override[tune-armv7vehfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:127
# "${TUNE_FEATURES_tune-armv7vehf-neon} bigendian"
# override[tune-armv7vethfb-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:128
# "${TUNE_FEATURES_tune-armv7vethf-neon} bigendian"
# override[tune-armv7vehfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:129
# "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} bigendian"
# override[tune-armv7vethfb-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:130
# "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} bigendian"
# override[tune-cortexa7]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:16
# "${TUNE_FEATURES_tune-armv7ve} cortexa7"
# override[tune-cortexa7t]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:17
# "${TUNE_FEATURES_tune-armv7vet} cortexa7"
# override[tune-cortexa7-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:18
# "${TUNE_FEATURES_tune-armv7ve-neon} cortexa7"
# override[tune-cortexa7t-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:19
# "${TUNE_FEATURES_tune-armv7vet-neon} cortexa7"
# override[tune-cortexa7-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:20
# "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} cortexa7"
# override[tune-cortexa7t-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:21
# "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} cortexa7"
# override[tune-cortexa7hf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:37
# "${TUNE_FEATURES_tune-armv7vehf} cortexa7"
# override[tune-cortexa7thf]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:38
# "${TUNE_FEATURES_tune-armv7vethf} cortexa7"
# override[tune-cortexa7hf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:39
# "${TUNE_FEATURES_tune-armv7vehf-neon} cortexa7"
# override[tune-cortexa7thf-neon]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:40
# "${TUNE_FEATURES_tune-armv7vethf-neon} cortexa7"
# override[tune-cortexa7hf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:41
# "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} cortexa7"
# override[tune-cortexa7thf-neon-vfpv4]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:42
# "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} cortexa7"
# pre-expansion value:
# "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
TUNE_FEATURES="arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
#
# $TUNE_FEATURES_tune-armv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:22
# "arm armv4"
TUNE_FEATURES_tune-armv4="arm armv4"
#
# $TUNE_FEATURES_tune-armv4b
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:31
# "${TUNE_FEATURES_tune-armv4} bigendian"
TUNE_FEATURES_tune-armv4b="arm armv4 bigendian"
#
# $TUNE_FEATURES_tune-armv4t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:23
# "${TUNE_FEATURES_tune-armv4} thumb"
TUNE_FEATURES_tune-armv4t="arm armv4 thumb"
#
# $TUNE_FEATURES_tune-armv4tb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv4.inc:32
# "${TUNE_FEATURES_tune-armv4t} bigendian"
TUNE_FEATURES_tune-armv4tb="arm armv4 thumb bigendian"
#
# $TUNE_FEATURES_tune-armv5
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:15
# "arm armv5"
TUNE_FEATURES_tune-armv5="arm armv5"
#
# $TUNE_FEATURES_tune-armv5-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:26
# "${TUNE_FEATURES_tune-armv5} vfp"
TUNE_FEATURES_tune-armv5-vfp="arm armv5 vfp"
#
# $TUNE_FEATURES_tune-armv5b
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:39
# "${TUNE_FEATURES_tune-armv5} bigendian"
TUNE_FEATURES_tune-armv5b="arm armv5 bigendian"
#
# $TUNE_FEATURES_tune-armv5b-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:50
# "${TUNE_FEATURES_tune-armv5-vfp} bigendian"
TUNE_FEATURES_tune-armv5b-vfp="arm armv5 vfp bigendian"
#
# $TUNE_FEATURES_tune-armv5e
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:10
# "${TUNE_FEATURES_tune-armv5} dsp"
TUNE_FEATURES_tune-armv5e="arm armv5 dsp"
#
# $TUNE_FEATURES_tune-armv5e-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:21
# "${TUNE_FEATURES_tune-armv5e} vfp"
TUNE_FEATURES_tune-armv5e-vfp="arm armv5 dsp vfp"
#
# $TUNE_FEATURES_tune-armv5eb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:34
# "${TUNE_FEATURES_tune-armv5e} bigendian"
TUNE_FEATURES_tune-armv5eb="arm armv5 dsp bigendian"
#
# $TUNE_FEATURES_tune-armv5eb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:45
# "${TUNE_FEATURES_tune-armv5e-vfp} bigendian"
TUNE_FEATURES_tune-armv5eb-vfp="arm armv5 dsp vfp bigendian"
#
# $TUNE_FEATURES_tune-armv5ehf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:23
# "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard"
TUNE_FEATURES_tune-armv5ehf-vfp="arm armv5 dsp vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv5ehfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:47
# "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian"
TUNE_FEATURES_tune-armv5ehfb-vfp="arm armv5 dsp vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv5hf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:28
# "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard"
TUNE_FEATURES_tune-armv5hf-vfp="arm armv5 vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv5hfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:52
# "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian"
TUNE_FEATURES_tune-armv5hfb-vfp="arm armv5 vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv5t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:16
# "${TUNE_FEATURES_tune-armv5} thumb"
TUNE_FEATURES_tune-armv5t="arm armv5 thumb"
#
# $TUNE_FEATURES_tune-armv5t-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:27
# "${TUNE_FEATURES_tune-armv5t} vfp"
TUNE_FEATURES_tune-armv5t-vfp="arm armv5 thumb vfp"
#
# $TUNE_FEATURES_tune-armv5tb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:40
# "${TUNE_FEATURES_tune-armv5t} bigendian"
TUNE_FEATURES_tune-armv5tb="arm armv5 thumb bigendian"
#
# $TUNE_FEATURES_tune-armv5tb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:51
# "${TUNE_FEATURES_tune-armv5t-vfp} bigendian"
TUNE_FEATURES_tune-armv5tb-vfp="arm armv5 thumb vfp bigendian"
#
# $TUNE_FEATURES_tune-armv5te
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:11
# "${TUNE_FEATURES_tune-armv5t} dsp"
TUNE_FEATURES_tune-armv5te="arm armv5 thumb dsp"
#
# $TUNE_FEATURES_tune-armv5te-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:22
# "${TUNE_FEATURES_tune-armv5te} vfp"
TUNE_FEATURES_tune-armv5te-vfp="arm armv5 thumb dsp vfp"
#
# $TUNE_FEATURES_tune-armv5teb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:35
# "${TUNE_FEATURES_tune-armv5te} bigendian"
TUNE_FEATURES_tune-armv5teb="arm armv5 thumb dsp bigendian"
#
# $TUNE_FEATURES_tune-armv5teb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:46
# "${TUNE_FEATURES_tune-armv5te-vfp} bigendian"
TUNE_FEATURES_tune-armv5teb-vfp="arm armv5 thumb dsp vfp bigendian"
#
# $TUNE_FEATURES_tune-armv5tehf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:24
# "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard"
TUNE_FEATURES_tune-armv5tehf-vfp="arm armv5 thumb dsp vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv5tehfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc:48
# "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian"
TUNE_FEATURES_tune-armv5tehfb-vfp="arm armv5 thumb dsp vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv5thf-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:29
# "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard"
TUNE_FEATURES_tune-armv5thf-vfp="arm armv5 thumb vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv5thfb-vfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv5.inc:53
# "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian"
TUNE_FEATURES_tune-armv5thfb-vfp="arm armv5 thumb vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv6
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:20
# "${TUNE_FEATURES_tune-armv6-novfp} vfp"
TUNE_FEATURES_tune-armv6="arm armv6 vfp"
#
# $TUNE_FEATURES_tune-armv6-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:18
# "arm armv6"
TUNE_FEATURES_tune-armv6-novfp="arm armv6"
#
# $TUNE_FEATURES_tune-armv6b
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:41
# "${TUNE_FEATURES_tune-armv6} bigendian"
TUNE_FEATURES_tune-armv6b="arm armv6 vfp bigendian"
#
# $TUNE_FEATURES_tune-armv6b-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:39
# "${TUNE_FEATURES_tune-armv6-novfp} bigendian"
TUNE_FEATURES_tune-armv6b-novfp="arm armv6 bigendian"
#
# $TUNE_FEATURES_tune-armv6hf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:22
# "${TUNE_FEATURES_tune-armv6} callconvention-hard"
TUNE_FEATURES_tune-armv6hf="arm armv6 vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv6hfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:43
# "${TUNE_FEATURES_tune-armv6hf} bigendian"
TUNE_FEATURES_tune-armv6hfb="arm armv6 vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv6t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:21
# "${TUNE_FEATURES_tune-armv6t-novfp} vfp"
TUNE_FEATURES_tune-armv6t="arm armv6 thumb vfp"
#
# $TUNE_FEATURES_tune-armv6t-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:19
# "${TUNE_FEATURES_tune-armv6-novfp} thumb"
TUNE_FEATURES_tune-armv6t-novfp="arm armv6 thumb"
#
# $TUNE_FEATURES_tune-armv6tb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:42
# "${TUNE_FEATURES_tune-armv6t} bigendian"
TUNE_FEATURES_tune-armv6tb="arm armv6 thumb vfp bigendian"
#
# $TUNE_FEATURES_tune-armv6tb-novfp
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:40
# "${TUNE_FEATURES_tune-armv6t-novfp} bigendian"
TUNE_FEATURES_tune-armv6tb-novfp="arm armv6 thumb bigendian"
#
# $TUNE_FEATURES_tune-armv6thf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:23
# "${TUNE_FEATURES_tune-armv6t} callconvention-hard"
TUNE_FEATURES_tune-armv6thf="arm armv6 thumb vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv6thfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv6.inc:44
# "${TUNE_FEATURES_tune-armv6thf} bigendian"
TUNE_FEATURES_tune-armv6thfb="arm armv6 thumb vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7a
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:23
# "arm armv7a vfp"
TUNE_FEATURES_tune-armv7a="arm armv7a vfp"
#
# $TUNE_FEATURES_tune-armv7a-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:29
# "${TUNE_FEATURES_tune-armv7a} neon"
TUNE_FEATURES_tune-armv7a-neon="arm armv7a vfp neon"
#
# $TUNE_FEATURES_tune-armv7a-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:31
# "${TUNE_FEATURES_tune-armv7a-neon} vfpv4"
TUNE_FEATURES_tune-armv7a-neon-vfpv4="arm armv7a vfp neon vfpv4"
#
# $TUNE_FEATURES_tune-armv7a-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:27
# "${TUNE_FEATURES_tune-armv7a-vfpv3d16} vfpv3"
TUNE_FEATURES_tune-armv7a-vfpv3="arm armv7a vfp vfpv3d16 vfpv3"
#
# $TUNE_FEATURES_tune-armv7a-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:25
# "${TUNE_FEATURES_tune-armv7a} vfpv3d16"
TUNE_FEATURES_tune-armv7a-vfpv3d16="arm armv7a vfp vfpv3d16"
#
# $TUNE_FEATURES_tune-armv7ab
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:89
# "${TUNE_FEATURES_tune-armv7a} bigendian"
TUNE_FEATURES_tune-armv7ab="arm armv7a vfp bigendian"
#
# $TUNE_FEATURES_tune-armv7ab-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:95
# "${TUNE_FEATURES_tune-armv7a-neon} bigendian"
TUNE_FEATURES_tune-armv7ab-neon="arm armv7a vfp neon bigendian"
#
# $TUNE_FEATURES_tune-armv7ab-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:97
# "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7ab-neon-vfpv4="arm armv7a vfp neon vfpv4 bigendian"
#
# $TUNE_FEATURES_tune-armv7ab-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:93
# "${TUNE_FEATURES_tune-armv7a-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7ab-vfpv3="arm armv7a vfp vfpv3d16 vfpv3 bigendian"
#
# $TUNE_FEATURES_tune-armv7ab-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:91
# "${TUNE_FEATURES_tune-armv7a-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7ab-vfpv3d16="arm armv7a vfp vfpv3d16 bigendian"
#
# $TUNE_FEATURES_tune-armv7ahf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:56
# "${TUNE_FEATURES_tune-armv7a} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf="arm armv7a vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7ahf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:62
# "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf-neon="arm armv7a vfp neon callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7ahf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:64
# "${TUNE_FEATURES_tune-armv7a-neon-vfpv4} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf-neon-vfpv4="arm armv7a vfp neon vfpv4 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7ahf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:60
# "${TUNE_FEATURES_tune-armv7a-vfpv3} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf-vfpv3="arm armv7a vfp vfpv3d16 vfpv3 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7ahf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:58
# "${TUNE_FEATURES_tune-armv7a-vfpv3d16} callconvention-hard"
TUNE_FEATURES_tune-armv7ahf-vfpv3d16="arm armv7a vfp vfpv3d16 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7ahfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:122
# "${TUNE_FEATURES_tune-armv7ahf} bigendian"
TUNE_FEATURES_tune-armv7ahfb="arm armv7a vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7ahfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:128
# "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian"
TUNE_FEATURES_tune-armv7ahfb-neon="arm armv7a vfp neon callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7ahfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:130
# "${TUNE_FEATURES_tune-armv7ahf-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7ahfb-neon-vfpv4="arm armv7a vfp neon vfpv4 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7ahfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:126
# "${TUNE_FEATURES_tune-armv7ahf-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7ahfb-vfpv3="arm armv7a vfp vfpv3d16 vfpv3 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7ahfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:124
# "${TUNE_FEATURES_tune-armv7ahf-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7ahfb-vfpv3d16="arm armv7a vfp vfpv3d16 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7at
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:24
# "${TUNE_FEATURES_tune-armv7a} thumb"
TUNE_FEATURES_tune-armv7at="arm armv7a vfp thumb"
#
# $TUNE_FEATURES_tune-armv7at-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:30
# "${TUNE_FEATURES_tune-armv7at} neon"
TUNE_FEATURES_tune-armv7at-neon="arm armv7a vfp thumb neon"
#
# $TUNE_FEATURES_tune-armv7at-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:32
# "${TUNE_FEATURES_tune-armv7at-neon} vfpv4"
TUNE_FEATURES_tune-armv7at-neon-vfpv4="arm armv7a vfp thumb neon vfpv4"
#
# $TUNE_FEATURES_tune-armv7at-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:28
# "${TUNE_FEATURES_tune-armv7at-vfpv3d16} vfpv3"
TUNE_FEATURES_tune-armv7at-vfpv3="arm armv7a vfp thumb vfpv3d16 vfpv3"
#
# $TUNE_FEATURES_tune-armv7at-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:26
# "${TUNE_FEATURES_tune-armv7at} vfpv3d16"
TUNE_FEATURES_tune-armv7at-vfpv3d16="arm armv7a vfp thumb vfpv3d16"
#
# $TUNE_FEATURES_tune-armv7atb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:90
# "${TUNE_FEATURES_tune-armv7at} bigendian"
TUNE_FEATURES_tune-armv7atb="arm armv7a vfp thumb bigendian"
#
# $TUNE_FEATURES_tune-armv7atb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:96
# "${TUNE_FEATURES_tune-armv7at-neon} bigendian"
TUNE_FEATURES_tune-armv7atb-neon="arm armv7a vfp thumb neon bigendian"
#
# $TUNE_FEATURES_tune-armv7atb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:98
# "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7atb-neon-vfpv4="arm armv7a vfp thumb neon vfpv4 bigendian"
#
# $TUNE_FEATURES_tune-armv7atb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:94
# "${TUNE_FEATURES_tune-armv7at-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7atb-vfpv3="arm armv7a vfp thumb vfpv3d16 vfpv3 bigendian"
#
# $TUNE_FEATURES_tune-armv7atb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:92
# "${TUNE_FEATURES_tune-armv7at-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7atb-vfpv3d16="arm armv7a vfp thumb vfpv3d16 bigendian"
#
# $TUNE_FEATURES_tune-armv7athf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:57
# "${TUNE_FEATURES_tune-armv7at} callconvention-hard"
TUNE_FEATURES_tune-armv7athf="arm armv7a vfp thumb callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7athf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:63
# "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7athf-neon="arm armv7a vfp thumb neon callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7athf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:65
# "${TUNE_FEATURES_tune-armv7at-neon-vfpv4} callconvention-hard"
TUNE_FEATURES_tune-armv7athf-neon-vfpv4="arm armv7a vfp thumb neon vfpv4 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7athf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:61
# "${TUNE_FEATURES_tune-armv7at-vfpv3} callconvention-hard"
TUNE_FEATURES_tune-armv7athf-vfpv3="arm armv7a vfp thumb vfpv3d16 vfpv3 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7athf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:59
# "${TUNE_FEATURES_tune-armv7at-vfpv3d16} callconvention-hard"
TUNE_FEATURES_tune-armv7athf-vfpv3d16="arm armv7a vfp thumb vfpv3d16 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7athfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:123
# "${TUNE_FEATURES_tune-armv7athf} bigendian"
TUNE_FEATURES_tune-armv7athfb="arm armv7a vfp thumb callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7athfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:129
# "${TUNE_FEATURES_tune-armv7athf-neon} bigendian"
TUNE_FEATURES_tune-armv7athfb-neon="arm armv7a vfp thumb neon callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7athfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:131
# "${TUNE_FEATURES_tune-armv7athf-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7athfb-neon-vfpv4="arm armv7a vfp thumb neon vfpv4 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7athfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:127
# "${TUNE_FEATURES_tune-armv7athf-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7athfb-vfpv3="arm armv7a vfp thumb vfpv3d16 vfpv3 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7athfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7a.inc:125
# "${TUNE_FEATURES_tune-armv7athf-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7athfb-vfpv3d16="arm armv7a vfp thumb vfpv3d16 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7ve
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:22
# "arm armv7ve vfp"
TUNE_FEATURES_tune-armv7ve="arm armv7ve vfp"
#
# $TUNE_FEATURES_tune-armv7ve-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:28
# "${TUNE_FEATURES_tune-armv7ve} neon"
TUNE_FEATURES_tune-armv7ve-neon="arm armv7ve vfp neon"
#
# $TUNE_FEATURES_tune-armv7ve-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:30
# "${TUNE_FEATURES_tune-armv7ve-neon} vfpv4"
TUNE_FEATURES_tune-armv7ve-neon-vfpv4="arm armv7ve vfp neon vfpv4"
#
# $TUNE_FEATURES_tune-armv7ve-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:26
# "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} vfpv3"
TUNE_FEATURES_tune-armv7ve-vfpv3="arm armv7ve vfp vfpv3d16 vfpv3"
#
# $TUNE_FEATURES_tune-armv7ve-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:24
# "${TUNE_FEATURES_tune-armv7ve} vfpv3d16"
TUNE_FEATURES_tune-armv7ve-vfpv3d16="arm armv7ve vfp vfpv3d16"
#
# $TUNE_FEATURES_tune-armv7veb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:88
# "${TUNE_FEATURES_tune-armv7ve} bigendian"
TUNE_FEATURES_tune-armv7veb="arm armv7ve vfp bigendian"
#
# $TUNE_FEATURES_tune-armv7veb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:94
# "${TUNE_FEATURES_tune-armv7ve-neon} bigendian"
TUNE_FEATURES_tune-armv7veb-neon="arm armv7ve vfp neon bigendian"
#
# $TUNE_FEATURES_tune-armv7veb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:96
# "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7veb-neon-vfpv4="arm armv7ve vfp neon vfpv4 bigendian"
#
# $TUNE_FEATURES_tune-armv7veb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:92
# "${TUNE_FEATURES_tune-armv7ve-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7veb-vfpv3="arm armv7ve vfp vfpv3d16 vfpv3 bigendian"
#
# $TUNE_FEATURES_tune-armv7veb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:90
# "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7veb-vfpv3d16="arm armv7ve vfp vfpv3d16 bigendian"
#
# $TUNE_FEATURES_tune-armv7vehf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:55
# "${TUNE_FEATURES_tune-armv7ve} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf="arm armv7ve vfp callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vehf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:61
# "${TUNE_FEATURES_tune-armv7ve-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf-neon="arm armv7ve vfp neon callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vehf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:63
# "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf-neon-vfpv4="arm armv7ve vfp neon vfpv4 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vehf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:59
# "${TUNE_FEATURES_tune-armv7ve-vfpv3} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf-vfpv3="arm armv7ve vfp vfpv3d16 vfpv3 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vehf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:57
# "${TUNE_FEATURES_tune-armv7ve-vfpv3d16} callconvention-hard"
TUNE_FEATURES_tune-armv7vehf-vfpv3d16="arm armv7ve vfp vfpv3d16 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vehfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:121
# "${TUNE_FEATURES_tune-armv7vehf} bigendian"
TUNE_FEATURES_tune-armv7vehfb="arm armv7ve vfp callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vehfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:127
# "${TUNE_FEATURES_tune-armv7vehf-neon} bigendian"
TUNE_FEATURES_tune-armv7vehfb-neon="arm armv7ve vfp neon callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vehfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:129
# "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7vehfb-neon-vfpv4="arm armv7ve vfp neon vfpv4 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vehfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:125
# "${TUNE_FEATURES_tune-armv7vehf-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7vehfb-vfpv3="arm armv7ve vfp vfpv3d16 vfpv3 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vehfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:123
# "${TUNE_FEATURES_tune-armv7vehf-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7vehfb-vfpv3d16="arm armv7ve vfp vfpv3d16 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vet
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:23
# "${TUNE_FEATURES_tune-armv7ve} thumb"
TUNE_FEATURES_tune-armv7vet="arm armv7ve vfp thumb"
#
# $TUNE_FEATURES_tune-armv7vet-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:29
# "${TUNE_FEATURES_tune-armv7vet} neon"
TUNE_FEATURES_tune-armv7vet-neon="arm armv7ve vfp thumb neon"
#
# $TUNE_FEATURES_tune-armv7vet-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:31
# "${TUNE_FEATURES_tune-armv7vet-neon} vfpv4"
TUNE_FEATURES_tune-armv7vet-neon-vfpv4="arm armv7ve vfp thumb neon vfpv4"
#
# $TUNE_FEATURES_tune-armv7vet-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:27
# "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} vfpv3"
TUNE_FEATURES_tune-armv7vet-vfpv3="arm armv7ve vfp thumb vfpv3d16 vfpv3"
#
# $TUNE_FEATURES_tune-armv7vet-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:25
# "${TUNE_FEATURES_tune-armv7vet} vfpv3d16"
TUNE_FEATURES_tune-armv7vet-vfpv3d16="arm armv7ve vfp thumb vfpv3d16"
#
# $TUNE_FEATURES_tune-armv7vetb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:89
# "${TUNE_FEATURES_tune-armv7vet} bigendian"
TUNE_FEATURES_tune-armv7vetb="arm armv7ve vfp thumb bigendian"
#
# $TUNE_FEATURES_tune-armv7vetb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:95
# "${TUNE_FEATURES_tune-armv7vet-neon} bigendian"
TUNE_FEATURES_tune-armv7vetb-neon="arm armv7ve vfp thumb neon bigendian"
#
# $TUNE_FEATURES_tune-armv7vetb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:97
# "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7vetb-neon-vfpv4="arm armv7ve vfp thumb neon vfpv4 bigendian"
#
# $TUNE_FEATURES_tune-armv7vetb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:93
# "${TUNE_FEATURES_tune-armv7vet-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7vetb-vfpv3="arm armv7ve vfp thumb vfpv3d16 vfpv3 bigendian"
#
# $TUNE_FEATURES_tune-armv7vetb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:91
# "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7vetb-vfpv3d16="arm armv7ve vfp thumb vfpv3d16 bigendian"
#
# $TUNE_FEATURES_tune-armv7vethf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:56
# "${TUNE_FEATURES_tune-armv7vet} callconvention-hard"
TUNE_FEATURES_tune-armv7vethf="arm armv7ve vfp thumb callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vethf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:62
# "${TUNE_FEATURES_tune-armv7vet-neon} callconvention-hard"
TUNE_FEATURES_tune-armv7vethf-neon="arm armv7ve vfp thumb neon callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vethf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:64
# "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} callconvention-hard"
TUNE_FEATURES_tune-armv7vethf-neon-vfpv4="arm armv7ve vfp thumb neon vfpv4 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vethf-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:60
# "${TUNE_FEATURES_tune-armv7vet-vfpv3} callconvention-hard"
TUNE_FEATURES_tune-armv7vethf-vfpv3="arm armv7ve vfp thumb vfpv3d16 vfpv3 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vethf-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:58
# "${TUNE_FEATURES_tune-armv7vet-vfpv3d16} callconvention-hard"
TUNE_FEATURES_tune-armv7vethf-vfpv3d16="arm armv7ve vfp thumb vfpv3d16 callconvention-hard"
#
# $TUNE_FEATURES_tune-armv7vethfb
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:122
# "${TUNE_FEATURES_tune-armv7vethf} bigendian"
TUNE_FEATURES_tune-armv7vethfb="arm armv7ve vfp thumb callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vethfb-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:128
# "${TUNE_FEATURES_tune-armv7vethf-neon} bigendian"
TUNE_FEATURES_tune-armv7vethfb-neon="arm armv7ve vfp thumb neon callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vethfb-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:130
# "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} bigendian"
TUNE_FEATURES_tune-armv7vethfb-neon-vfpv4="arm armv7ve vfp thumb neon vfpv4 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vethfb-vfpv3
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:126
# "${TUNE_FEATURES_tune-armv7vethf-vfpv3} bigendian"
TUNE_FEATURES_tune-armv7vethfb-vfpv3="arm armv7ve vfp thumb vfpv3d16 vfpv3 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-armv7vethfb-vfpv3d16
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-armv7ve.inc:124
# "${TUNE_FEATURES_tune-armv7vethf-vfpv3d16} bigendian"
TUNE_FEATURES_tune-armv7vethfb-vfpv3d16="arm armv7ve vfp thumb vfpv3d16 callconvention-hard bigendian"
#
# $TUNE_FEATURES_tune-cortexa7
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:16
# "${TUNE_FEATURES_tune-armv7ve} cortexa7"
TUNE_FEATURES_tune-cortexa7="arm armv7ve vfp cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:18
# "${TUNE_FEATURES_tune-armv7ve-neon} cortexa7"
TUNE_FEATURES_tune-cortexa7-neon="arm armv7ve vfp neon cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:20
# "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} cortexa7"
TUNE_FEATURES_tune-cortexa7-neon-vfpv4="arm armv7ve vfp neon vfpv4 cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7hf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:37
# "${TUNE_FEATURES_tune-armv7vehf} cortexa7"
TUNE_FEATURES_tune-cortexa7hf="arm armv7ve vfp callconvention-hard cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7hf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:39
# "${TUNE_FEATURES_tune-armv7vehf-neon} cortexa7"
TUNE_FEATURES_tune-cortexa7hf-neon="arm armv7ve vfp neon callconvention-hard cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:41
# "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} cortexa7"
TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4="arm armv7ve vfp neon vfpv4 callconvention-hard cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7t
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:17
# "${TUNE_FEATURES_tune-armv7vet} cortexa7"
TUNE_FEATURES_tune-cortexa7t="arm armv7ve vfp thumb cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7t-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:19
# "${TUNE_FEATURES_tune-armv7vet-neon} cortexa7"
TUNE_FEATURES_tune-cortexa7t-neon="arm armv7ve vfp thumb neon cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7t-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:21
# "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} cortexa7"
TUNE_FEATURES_tune-cortexa7t-neon-vfpv4="arm armv7ve vfp thumb neon vfpv4 cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7thf
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:38
# "${TUNE_FEATURES_tune-armv7vethf} cortexa7"
TUNE_FEATURES_tune-cortexa7thf="arm armv7ve vfp thumb callconvention-hard cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7thf-neon
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:40
# "${TUNE_FEATURES_tune-armv7vethf-neon} cortexa7"
TUNE_FEATURES_tune-cortexa7thf-neon="arm armv7ve vfp thumb neon callconvention-hard cortexa7"
#
# $TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/tune-cortexa7.inc:42
# "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} cortexa7"
TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4="arm armv7ve vfp thumb neon vfpv4 callconvention-hard cortexa7"
#
# $TUNE_LDARGS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:115
# [_defaultval] ""
TUNE_LDARGS=""
#
# $TUNE_PKGARCH [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:143
# [_defaultval] ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/machine/include/arm/arch-arm.inc:12
# "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:435
# [doc] "The package architecture understood by the packaging system to define the architecture, ABI, and tuning of output packages."
# pre-expansion value:
# "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
TUNE_PKGARCH="cortexa7hf-neon-vfpv4"
#
# $T_task-clean
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/utility-tasks.bbclass:22
# "${LOG_DIR}/cleanlogs/${PN}"
T_task-clean="/home/mnhu/projects/pil/yocto/tmp-glibc/log/cleanlogs/rescue-rootfs"
#
# $UBI_VOLNAME
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:143
# "${MACHINE}-rootfs"
UBI_VOLNAME="rpi2-rootfs"
#
# $UBOOT_ARCH [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:48
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:48
# "${@map_uboot_arch(d.getVar('ARCH'), d)}"
# pre-expansion value:
# "${@map_uboot_arch(d.getVar('ARCH'), d)}"
export UBOOT_ARCH="arm"
#
# $UBOOT_CONFIG
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:444
# [doc] "Configures the UBOOT_MACHINE and can also define IMAGE_FSTYPES for individual cases."
#
# $UBOOT_ENTRYPOINT [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:14
# "0x01000000"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:445
# [doc] "Specifies the entry point for the U-Boot image."
# pre-expansion value:
# "0x01000000"
UBOOT_ENTRYPOINT="0x01000000"
#
# $UBOOT_LOADADDRESS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:446
# [doc] "Specifies the load address for the U-Boot image."
#
# $UBOOT_LOCALVERSION
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:447
# [doc] "Appends a string to the name of the local version of the U-Boot image."
#
# $UBOOT_MACHINE [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:12
# "rpi_2_defconfig"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:448
# [doc] "Specifies the value passed on the make command line when building a U-Boot image."
# pre-expansion value:
# "rpi_2_defconfig"
UBOOT_MACHINE="rpi_2_defconfig"
#
# $UBOOT_MAKE_TARGET
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:449
# [doc] "Specifies the target called in the Makefile."
#
# $UBOOT_SUFFIX [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-pil/conf/machine/rpi2.conf:13
# "bin"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:450
# [doc] "Points to the generated U-Boot extension."
# pre-expansion value:
# "bin"
UBOOT_SUFFIX="bin"
#
# $UBOOT_TARGET
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:451
# [doc] "Specifies the target used for building U-Boot."
#
# $UCLIBCVERSION
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/tcmode-default.inc:30
# "1.0%"
UCLIBCVERSION="1.0%"
#
# $UNKNOWN_CONFIGURE_WHITELIST
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:49
# "--enable-nls --disable-nls --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot --disable-static"
UNKNOWN_CONFIGURE_WHITELIST="--enable-nls --disable-nls --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot --disable-static"
#
# $USERADDEXTENSION [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:459
# [doc] "When set to 'useradd-staticids', causes the OpenEmbedded build system to base all user and group additions on files listed in USERADD_UID_TABLES and USERADD_GID_TABLES."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/extrausers.bbclass:67
# ""
# pre-expansion value:
# ""
USERADDEXTENSION=""
#
# $USERADD_ERROR_DYNAMIC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:454
# [doc] "If set to 'error', forces the OpenEmbedded build system to produce an error if the user identification (uid) and group identification (gid) values are not defined in any of the files listed in USERADD_UID_TABLES and USERADD_GID_TABLES. If set to 'warn', a warning will be issued instead."
#
# $USERADD_GID_TABLES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:455
# [doc] "Specifies a password file to use for obtaining static group identification (gid) values when the OpenEmbedded build system adds a group to the system during package installation."
#
# $USERADD_PACKAGES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:456
# [doc] "When a recipe inherits the useradd class, this variable specifies the individual packages within the recipe that require users and/or groups to be added."
#
# $USERADD_PARAM
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:457
# [doc] "When a recipe inherits the useradd class, this variable specifies for a package what parameters should be passed to the useradd command if you wish to add a user to the system when the package is installed."
#
# $USERADD_UID_TABLES
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:458
# [doc] "Specifies a password file to use for obtaining static user identification (uid) values when the OpenEmbedded build system adds a user to the system during package installation."
#
# $USER_CLASSES [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/defaultsetup.conf:20
# ""
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:453
# [doc] "List of additional classes to use when building images that enable extra features."
# pre-expansion value:
# ""
USER_CLASSES=""
#
# $USE_DEPMOD
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:81
# "1"
USE_DEPMOD="1"
#
# $USE_DEVFS [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:452
# [doc] "When building images, specifies to populate or not /dev. This variable defaults to '1' (leave directory empty, surely because devtmpfs do the job). Set it to '0' to use makedevs (or consider using a custom file with IMAGE_DEVICE_TABLES)."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:80
# "1"
# pre-expansion value:
# "1"
USE_DEVFS="1"
#
# $USE_NLS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:120
# [_defaultval] "${@bb.utils.contains('DISTRO_FEATURES', 'libc-locale-code', 'yes', 'no', d)}"
USE_NLS="yes"
#
# $USING_WIC
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:39
# "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}"
USING_WIC=""
#
# $USRBINPATH [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:79
# "${bindir}"
# override[class-native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:80
# "/usr/bin"
# override[class-nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:81
# "/usr/bin"
# pre-expansion value:
# "${bindir}"
USRBINPATH="/usr/bin"
#
# $USRBINPATH_class-native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:80
# "/usr/bin"
USRBINPATH_class-native="/usr/bin"
#
# $USRBINPATH_class-nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:81
# "/usr/bin"
USRBINPATH_class-nativesdk="/usr/bin"
#
# $VIRTUAL-RUNTIME_alsa-state
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:26
# "alsa-state"
VIRTUAL-RUNTIME_alsa-state="alsa-state"
#
# $VIRTUAL-RUNTIME_apm
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:25
# "apm"
VIRTUAL-RUNTIME_apm="apm"
#
# $VIRTUAL-RUNTIME_base-utils
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:29
# "busybox"
VIRTUAL-RUNTIME_base-utils="busybox"
#
# $VIRTUAL-RUNTIME_base-utils-hwclock
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:30
# "busybox-hwclock"
VIRTUAL-RUNTIME_base-utils-hwclock="busybox-hwclock"
#
# $VIRTUAL-RUNTIME_getopt
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:27
# "util-linux-getopt"
VIRTUAL-RUNTIME_getopt="util-linux-getopt"
#
# $VIRTUAL-RUNTIME_update-alternatives
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:24
# "update-alternatives-opkg"
VIRTUAL-RUNTIME_update-alternatives="update-alternatives-opkg"
#
# $VIRTUAL-RUNTIME_wireless-tools
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-providers.inc:28
# "iw wireless-tools"
VIRTUAL-RUNTIME_wireless-tools="iw wireless-tools"
#
# $WARN_QA [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:463
# [doc] "Specifies the quality assurance checks whose failures are reported as warnings by the OpenEmbedded build system."
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/insane.bbclass:36
# "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated "
# pre-expansion value:
# "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated "
WARN_QA="ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi textrel already-stripped incompatible-license files-invalid installed-vs-shipped compile-host-path install-host-path pn-overrides infodir build-deps unknown-configure-option symlink-to-sysroot multilib invalid-packageconfig host-user-contaminated "
#
# $WHITELIST_GPL-3.0
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/distro/include/default-distrovars.inc:25
# ""
WHITELIST_GPL-3.0=""
#
# $WICVARS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:6
# " BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH"
WICVARS=" BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH"
#
# $WIC_CREATE_EXTRA_ARGS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:23
# ""
WIC_CREATE_EXTRA_ARGS=""
#
# $WKS_FILE [2 operations]
# set? /home/mnhu/projects/pil/yocto/meta-pil/conf/distro/basic.inc:12
# "${MACHINE}.wks"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:8
# [_defaultval] "${IMAGE_BASENAME}.${MACHINE}.wks"
# pre-expansion value:
# "${MACHINE}.wks"
WKS_FILE="rpi2.wks"
#
# $WKS_FILES
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:9
# "${WKS_FILE} ${IMAGE_BASENAME}.wks"
WKS_FILES="rpi2.wks rescue-rootfs.wks"
#
# $WKS_FILE_CHECKSUM
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:40
# "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}"
WKS_FILE_CHECKSUM=""
#
# $WKS_FILE_DEPENDS
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:43
# [_defaultval] ""
WKS_FILE_DEPENDS=""
#
# $WKS_FULL_PATH
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:11
# "${@wks_search(d.getVar('WKS_FILES').split(), d.getVar('WKS_SEARCH_PATH')) or ''}"
WKS_FULL_PATH="/home/mnhu/projects/pil/yocto/meta-pil/wic/rpi2.wks"
#
# $WKS_SEARCH_PATH
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:10
# "${THISDIR}:${@':'.join('%s/wic' % p for p in '${BBPATH}'.split(':'))}:${@':'.join('%s/scripts/lib/wic/canned-wks' % l for l in '${BBPATH}:${COREBASE}'.split(':'))}"
WKS_SEARCH_PATH="/home/mnhu/projects/pil/yocto/meta-pil/recipes-filesystems:/home/mnhu/projects/pil/yocto/wic:/home/mnhu/projects/pil/yocto/meta-poky/meta/wic:/home/mnhu/projects/pil/yocto/meta-qt5/wic:/home/mnhu/projects/pil/yocto/meta-rauc/wic:/home/mnhu/projects/pil/yocto/meta-pil/wic:/home/mnhu/projects/pil/yocto/wic:/home/mnhu/projects/pil/yocto/scripts/lib/wic/canned-wks:/home/mnhu/projects/pil/yocto/meta-poky/meta/scripts/lib/wic/canned-wks:/home/mnhu/projects/pil/yocto/meta-qt5/scripts/lib/wic/canned-wks:/home/mnhu/projects/pil/yocto/meta-rauc/scripts/lib/wic/canned-wks:/home/mnhu/projects/pil/yocto/meta-pil/scripts/lib/wic/canned-wks:/home/mnhu/projects/pil/yocto/scripts/lib/wic/canned-wks:/home/mnhu/projects/pil/yocto/meta-poky/scripts/lib/wic/canned-wks"
#
# $WORKDIR [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:347
# "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:464
# [doc] "The pathname of the working directory in which the OpenEmbedded build system builds a recipe. This directory is located within the TMPDIR directory structure and changes as different packages are built."
# pre-expansion value:
# "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
WORKDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0"
#
# $XAUTHORITY
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/terminal.bbclass:9
# "${HOME}/.Xauthority"
XAUTHORITY="/home/mnhu/.Xauthority"
#
# $XLIBS_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:616
# "http://xlibs.freedesktop.org/release"
XLIBS_MIRROR="http://xlibs.freedesktop.org/release"
#
# $XORG_MIRROR
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:617
# "http://xorg.freedesktop.org/releases"
XORG_MIRROR="http://xorg.freedesktop.org/releases"
#
# $XZ_COMPRESSION_LEVEL
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:46
# "-3"
XZ_COMPRESSION_LEVEL="-3"
#
# $XZ_INTEGRITY_CHECK
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:47
# "crc32"
XZ_INTEGRITY_CHECK="crc32"
#
# $XZ_THREADS
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:48
# "-T 0"
XZ_THREADS="-T 0"
#
# $ZIP_COMPRESSION_LEVEL
# set? /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types.bbclass:50
# "-9"
ZIP_COMPRESSION_LEVEL="-9"
#
# $_task_deps
# set build.py:823 [add_tasks]
# "{'noexec': {'do_package_write_ipk': '1', 'do_compile': '1', 'do_install': '1', 'do_unpack': '1', 'do_fetch': '1', 'do_patch': '1', 'do_bundle_initramfs': '1', 'do_package': '1', 'do_build': '1', 'do_packagedata': '1', 'do_configure': '1'}, 'recrdeptask': {'do_populate_sdk': ' do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb', 'do_rootfs': ' do_populate_lic do_package_write_ipk do_packagedata', 'do_image': ' do_populate_lic', 'do_sdk_depends': ' do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb do_populate_lic do_package_qa do_populate_sysroot do_deploy ', 'do_fetchall': 'do_fetchall do_fetch', 'do_checkuriall': 'do_checkuriall do_checkuri', 'do_build': 'do_build'}, 'depends': {'do_rootfs': ' opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot', 'do_bundle_initramfs': ' virtual/kernel:do_bundle_initramfs', 'do_sdk_depends': 'rescue-rootfs:do_image_tar rescue-rootfs:do_image_cpio rescue-rootfs:do_image virtual/kernel:do_deploy opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot meta-extsdk-toolchain:do_populate_sysroot', 'do_package_write_ipk': ' ', 'do_populate_sdk': ' opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot pixz-native:do_populate_sysroot opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot', 'do_patch': 'quilt-native:do_populate_sysroot', 'do_populate_sdk_ext': ' opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot pixz-native:do_populate_sysroot opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk meta-extsdk-toolchain:do_locked_sigs', 'do_install': ' virtual/fakeroot-native:do_populate_sysroot', 'do_devshell': ' virtual/fakeroot-native:do_populate_sysroot', 'do_package_setscene': ' virtual/fakeroot-native:do_populate_sysroot', 'do_package': ' virtual/fakeroot-native:do_populate_sysroot', 'do_image_complete': '', 'do_build': ' virtual/kernel:do_deploy'}, 'parents': {'do_image_tar': ['do_image'], 'do_clean': [], 'do_populate_lic_setscene': [], 'do_image_cpio': ['do_image'], 'do_prepare_recipe_sysroot': ['do_fetch'], 'do_sdk_depends': [], 'do_listtasks': [], 'do_bundle_initramfs': ['do_image_complete'], 'do_cleanall': ['do_cleansstate'], 'do_package_qa_setscene': [], 'do_populate_lic': ['do_patch'], 'do_populate_sdk': [], 'do_compile': ['do_configure'], 'do_checkuri': [], 'do_package_setscene': [], 'do_rootfs': ['do_prepare_recipe_sysroot'], 'do_deploy_setscene': [], 'do_unpack': ['do_fetch'], 'do_fetch': [], 'do_image': ['do_rootfs'], 'do_patch': ['do_unpack'], 'do_cleansstate': ['do_clean'], 'do_package_write_ipk': ['do_packagedata', 'do_package'], 'do_package_write_ipk_setscene': [], 'do_checkuriall': ['do_checkuri'], 'do_packagedata': ['do_package'], 'do_packagedata_setscene': [], 'do_populate_sysroot_setscene': [], 'do_install': ['do_compile'], 'do_populate_sdk_ext': ['do_sdk_depends'], 'do_configure': ['do_prepare_recipe_sysroot', 'do_patch'], 'do_devshell': ['do_patch'], 'do_devpyshell': ['do_patch'], 'do_image_qa': ['do_image_complete'], 'do_fetchall': ['do_fetch'], 'do_package': ['do_install'], 'do_image_complete': ['do_image_tar', 'do_image_cpio', 'do_image'], 'do_rootfs_wicenv': ['do_image'], 'do_build': ['do_image_qa', 'do_image_complete', 'do_image', 'do_rootfs', 'do_populate_lic', 'do_packagedata']}, 'nostamp': {'do_cleansstate': '1', 'do_clean': '1', 'do_populate_sdk_ext': '1', 'do_devshell': '1', 'do_devpyshell': '1', 'do_checkuri': '1', 'do_listtasks': '1', 'do_cleanall': '1', 'do_checkuriall': '1', 'do_bundle_initramfs': '1'}, 'rdepends': {'do_populate_sdk': 'packagegroup-core-standalone-sdk-target:do_package_write_ipk packagegroup-core-standalone-sdk-target:do_packagedata packagegroup-core-boot:do_package_write_ipk packagegroup-core-boot:do_packagedata packagegroup-core-ssh-openssh:do_package_write_ipk packagegroup-core-ssh-openssh:do_packagedata e2fsprogs:do_package_write_ipk e2fsprogs:do_packagedata e2fsprogs-tune2fs:do_package_write_ipk e2fsprogs-tune2fs:do_packagedata dosfstools:do_package_write_ipk dosfstools:do_packagedata mtd-utils:do_package_write_ipk mtd-utils:do_packagedata mtd-utils-jffs2:do_package_write_ipk mtd-utils-jffs2:do_packagedata mtd-utils-misc:do_package_write_ipk mtd-utils-misc:do_packagedata u-boot-fw-utils:do_package_write_ipk u-boot-fw-utils:do_packagedata busybox-syslog:do_package_write_ipk busybox-syslog:do_packagedata busybox-watchdog:do_package_write_ipk busybox-watchdog:do_packagedata busybox-ifplugd:do_package_write_ipk busybox-ifplugd:do_packagedata dhcp-client:do_package_write_ipk dhcp-client:do_packagedata openssh-sftp-server:do_package_write_ipk openssh-sftp-server:do_packagedata openssh-sftp:do_package_write_ipk openssh-sftp:do_packagedata rauc:do_package_write_ipk rauc:do_packagedata dbus:do_package_write_ipk dbus:do_packagedata system-init:do_package_write_ipk system-init:do_packagedata rescue-init:do_package_write_ipk rescue-init:do_packagedata run-postinsts:do_package_write_ipk run-postinsts:do_packagedata base-passwd:do_package_write_ipk base-passwd:do_packagedata shadow:do_package_write_ipk shadow:do_packagedata nativesdk-packagegroup-sdk-host:do_package_write_ipk nativesdk-packagegroup-sdk-host:do_packagedata packagegroup-cross-canadian-rpi2:do_package_write_ipk packagegroup-cross-canadian-rpi2:do_packagedata', 'do_sdk_depends': 'meta-environment-extsdk-rpi2:do_package_write_ipk meta-environment-extsdk-rpi2:do_packagedata', 'do_populate_sdk_ext': ' rescue-rootfs:do_build'}, 'recideptask': {'do_fetchall': 'do_build', 'do_checkuriall': 'do_build'}, 'rdeptask': {'do_package_write_ipk': ''}, 'fakeroot': {'do_populate_sdk': '1', 'do_rootfs': '1', 'do_image_qa': '1', 'do_populate_sdk_ext': '1', 'do_install': '1', 'do_image': '1', 'do_package_setscene': '1', 'do_image_tar': '1', 'do_package': '1', 'do_image_complete': '1', 'do_image_cpio': '1'}, 'umask': {'do_rootfs': '022', 'do_compile': '022', 'do_unpack': '022', 'do_configure': '022', 'do_image': '022', 'do_package_write_ipk': '022', 'do_package': '022', 'do_image_complete': '022', 'do_install': '022'}, 'deptask': {'do_prepare_recipe_sysroot': 'do_populate_sysroot'}, 'tasks': ['do_patch', 'do_populate_sysroot_setscene', 'do_prepare_recipe_sysroot', 'do_listtasks', 'do_clean', 'do_checkuri', 'do_checkuriall', 'do_fetchall', 'do_fetch', 'do_unpack', 'do_configure', 'do_compile', 'do_install', 'do_build', 'do_cleansstate', 'do_cleanall', 'do_package_qa_setscene', 'do_package', 'do_package_setscene', 'do_packagedata', 'do_packagedata_setscene', 'do_package_write_ipk_setscene', 'do_package_write_ipk', 'do_devshell', 'do_devpyshell', 'do_populate_lic', 'do_populate_lic_setscene', 'do_deploy_setscene', 'do_populate_sdk', 'do_sdk_depends', 'do_populate_sdk_ext', 'do_rootfs_wicenv', 'do_rootfs', 'do_image', 'do_image_complete', 'do_image_qa', 'do_bundle_initramfs', 'do_image_cpio', 'do_image_tar']}"
_task_deps="{'noexec': {'do_package_write_ipk': '1', 'do_compile': '1', 'do_install': '1', 'do_unpack': '1', 'do_fetch': '1', 'do_patch': '1', 'do_bundle_initramfs': '1', 'do_package': '1', 'do_build': '1', 'do_packagedata': '1', 'do_configure': '1'}, 'recrdeptask': {'do_populate_sdk': ' do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb', 'do_rootfs': ' do_populate_lic do_package_write_ipk do_packagedata', 'do_image': ' do_populate_lic', 'do_sdk_depends': ' do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb do_populate_lic do_package_qa do_populate_sysroot do_deploy ', 'do_fetchall': 'do_fetchall do_fetch', 'do_checkuriall': 'do_checkuriall do_checkuri', 'do_build': 'do_build'}, 'depends': {'do_rootfs': ' opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot', 'do_bundle_initramfs': ' virtual/kernel:do_bundle_initramfs', 'do_sdk_depends': 'rescue-rootfs:do_image_tar rescue-rootfs:do_image_cpio rescue-rootfs:do_image virtual/kernel:do_deploy opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot meta-extsdk-toolchain:do_populate_sysroot', 'do_package_write_ipk': ' ', 'do_populate_sdk': ' opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot pixz-native:do_populate_sysroot opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot', 'do_patch': 'quilt-native:do_populate_sysroot', 'do_populate_sdk_ext': ' opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot pixz-native:do_populate_sysroot opkg-native:do_populate_sysroot opkg-utils-native:do_populate_sysroot makedevs-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot ldconfig-native:do_populate_sysroot virtual/update-alternatives-native:do_populate_sysroot update-rc.d-native:do_populate_sysroot virtual/kernel:do_packagedata pigz-native:do_populate_sysroot u-boot-mkimage-native:do_populate_sysroot buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk meta-extsdk-toolchain:do_locked_sigs', 'do_install': ' virtual/fakeroot-native:do_populate_sysroot', 'do_devshell': ' virtual/fakeroot-native:do_populate_sysroot', 'do_package_setscene': ' virtual/fakeroot-native:do_populate_sysroot', 'do_package': ' virtual/fakeroot-native:do_populate_sysroot', 'do_image_complete': '', 'do_build': ' virtual/kernel:do_deploy'}, 'parents': {'do_image_tar': ['do_image'], 'do_clean': [], 'do_populate_lic_setscene': [], 'do_image_cpio': ['do_image'], 'do_prepare_recipe_sysroot': ['do_fetch'], 'do_sdk_depends': [], 'do_listtasks': [], 'do_bundle_initramfs': ['do_image_complete'], 'do_cleanall': ['do_cleansstate'], 'do_package_qa_setscene': [], 'do_populate_lic': ['do_patch'], 'do_populate_sdk': [], 'do_compile': ['do_configure'], 'do_checkuri': [], 'do_package_setscene': [], 'do_rootfs': ['do_prepare_recipe_sysroot'], 'do_deploy_setscene': [], 'do_unpack': ['do_fetch'], 'do_fetch': [], 'do_image': ['do_rootfs'], 'do_patch': ['do_unpack'], 'do_cleansstate': ['do_clean'], 'do_package_write_ipk': ['do_packagedata', 'do_package'], 'do_package_write_ipk_setscene': [], 'do_checkuriall': ['do_checkuri'], 'do_packagedata': ['do_package'], 'do_packagedata_setscene': [], 'do_populate_sysroot_setscene': [], 'do_install': ['do_compile'], 'do_populate_sdk_ext': ['do_sdk_depends'], 'do_configure': ['do_prepare_recipe_sysroot', 'do_patch'], 'do_devshell': ['do_patch'], 'do_devpyshell': ['do_patch'], 'do_image_qa': ['do_image_complete'], 'do_fetchall': ['do_fetch'], 'do_package': ['do_install'], 'do_image_complete': ['do_image_tar', 'do_image_cpio', 'do_image'], 'do_rootfs_wicenv': ['do_image'], 'do_build': ['do_image_qa', 'do_image_complete', 'do_image', 'do_rootfs', 'do_populate_lic', 'do_packagedata']}, 'deptask': {'do_prepare_recipe_sysroot': 'do_populate_sysroot'}, 'rdepends': {'do_populate_sdk': 'packagegroup-core-standalone-sdk-target:do_package_write_ipk packagegroup-core-standalone-sdk-target:do_packagedata packagegroup-core-boot:do_package_write_ipk packagegroup-core-boot:do_packagedata packagegroup-core-ssh-openssh:do_package_write_ipk packagegroup-core-ssh-openssh:do_packagedata e2fsprogs:do_package_write_ipk e2fsprogs:do_packagedata e2fsprogs-tune2fs:do_package_write_ipk e2fsprogs-tune2fs:do_packagedata dosfstools:do_package_write_ipk dosfstools:do_packagedata mtd-utils:do_package_write_ipk mtd-utils:do_packagedata mtd-utils-jffs2:do_package_write_ipk mtd-utils-jffs2:do_packagedata mtd-utils-misc:do_package_write_ipk mtd-utils-misc:do_packagedata u-boot-fw-utils:do_package_write_ipk u-boot-fw-utils:do_packagedata busybox-syslog:do_package_write_ipk busybox-syslog:do_packagedata busybox-watchdog:do_package_write_ipk busybox-watchdog:do_packagedata busybox-ifplugd:do_package_write_ipk busybox-ifplugd:do_packagedata dhcp-client:do_package_write_ipk dhcp-client:do_packagedata openssh-sftp-server:do_package_write_ipk openssh-sftp-server:do_packagedata openssh-sftp:do_package_write_ipk openssh-sftp:do_packagedata rauc:do_package_write_ipk rauc:do_packagedata dbus:do_package_write_ipk dbus:do_packagedata system-init:do_package_write_ipk system-init:do_packagedata rescue-init:do_package_write_ipk rescue-init:do_packagedata run-postinsts:do_package_write_ipk run-postinsts:do_packagedata base-passwd:do_package_write_ipk base-passwd:do_packagedata shadow:do_package_write_ipk shadow:do_packagedata nativesdk-packagegroup-sdk-host:do_package_write_ipk nativesdk-packagegroup-sdk-host:do_packagedata packagegroup-cross-canadian-rpi2:do_package_write_ipk packagegroup-cross-canadian-rpi2:do_packagedata', 'do_sdk_depends': 'meta-environment-extsdk-rpi2:do_package_write_ipk meta-environment-extsdk-rpi2:do_packagedata', 'do_populate_sdk_ext': ' rescue-rootfs:do_build'}, 'recideptask': {'do_fetchall': 'do_build', 'do_checkuriall': 'do_build'}, 'rdeptask': {'do_package_write_ipk': ''}, 'fakeroot': {'do_populate_sdk': '1', 'do_rootfs': '1', 'do_image_qa': '1', 'do_populate_sdk_ext': '1', 'do_install': '1', 'do_image': '1', 'do_package_setscene': '1', 'do_image_tar': '1', 'do_package': '1', 'do_image_complete': '1', 'do_image_cpio': '1'}, 'umask': {'do_rootfs': '022', 'do_compile': '022', 'do_unpack': '022', 'do_configure': '022', 'do_image': '022', 'do_package_write_ipk': '022', 'do_package': '022', 'do_image_complete': '022', 'do_install': '022'}, 'nostamp': {'do_cleansstate': '1', 'do_clean': '1', 'do_populate_sdk_ext': '1', 'do_devshell': '1', 'do_devpyshell': '1', 'do_checkuri': '1', 'do_listtasks': '1', 'do_cleanall': '1', 'do_checkuriall': '1', 'do_bundle_initramfs': '1'}, 'tasks': ['do_patch', 'do_populate_sysroot_setscene', 'do_prepare_recipe_sysroot', 'do_listtasks', 'do_clean', 'do_checkuri', 'do_checkuriall', 'do_fetchall', 'do_fetch', 'do_unpack', 'do_configure', 'do_compile', 'do_install', 'do_build', 'do_cleansstate', 'do_cleanall', 'do_package_qa_setscene', 'do_package', 'do_package_setscene', 'do_packagedata', 'do_packagedata_setscene', 'do_package_write_ipk_setscene', 'do_package_write_ipk', 'do_devshell', 'do_devpyshell', 'do_populate_lic', 'do_populate_lic_setscene', 'do_deploy_setscene', 'do_populate_sdk', 'do_sdk_depends', 'do_populate_sdk_ext', 'do_rootfs_wicenv', 'do_rootfs', 'do_image', 'do_image_complete', 'do_image_qa', 'do_bundle_initramfs', 'do_image_cpio', 'do_image_tar']}"
#
# $base_bindir [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:21
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:21
# "${base_prefix}/bin"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:50
# "/bin"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:66
# "/bin"
# pre-expansion value:
# "${base_prefix}/bin"
export base_bindir="/bin"
#
# $base_bindir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:50
# "/bin"
base_bindir_native="/bin"
#
# $base_bindir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:66
# "/bin"
base_bindir_nativesdk="/bin"
#
# $base_dep
# _prepend ast.py:214 [eval]
# "def base_dep_prepend(d):
# #
# # Ideally this will check a flag so we will operate properly in
# # the case where host == build == target, for now we don't work in
# # that case though.
# #
#
# deps = ""
# # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
# # we need that built is the responsibility of the patch function / class, not
# # the application.
# if not d.getVar('INHIBIT_DEFAULT_DEPS', False):
# if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
# deps += " virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc "
# return deps
# "
base_dep="def base_dep_prepend(d): \
# \
# Ideally this will check a flag so we will operate properly in \
# the case where host == build == target, for now we don't work in \
# that case though. \
# \
\
deps = \"\" \
# INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not \
# we need that built is the responsibility of the patch function / class, not \
# the application. \
if not d.getVar('INHIBIT_DEFAULT_DEPS', False): \
if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')): \
deps += \" virtual/arm-oe-linux-gnueabi-gcc virtual/arm-oe-linux-gnueabi-compilerlibs virtual/libc \" \
return deps \
"
#
# $base_libdir [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:23
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:23
# "${base_prefix}/${baselib}"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:59
# "/lib"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:70
# "/lib"
# pre-expansion value:
# "${base_prefix}/${baselib}"
export base_libdir="/lib"
#
# $base_libdir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:59
# "/lib"
base_libdir_native="/lib"
#
# $base_libdir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:70
# "/lib"
base_libdir_nativesdk="/lib"
#
# $base_prefix [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:16
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:16
# ""
# pre-expansion value:
# ""
export base_prefix=""
#
# $base_sbindir [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:22
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:22
# "${base_prefix}/sbin"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:51
# "/sbin"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:67
# "/sbin"
# pre-expansion value:
# "${base_prefix}/sbin"
export base_sbindir="/sbin"
#
# $base_sbindir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:51
# "/sbin"
base_sbindir_native="/sbin"
#
# $base_sbindir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:67
# "/sbin"
base_sbindir_nativesdk="/sbin"
#
# $baselib [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:10
# "${BASELIB}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:11
# [vardepvalue] "${baselib}"
# pre-expansion value:
# "${BASELIB}"
baselib="lib"
#
# $bindir [6 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:41
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:41
# "${exec_prefix}/bin"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:54
# "${prefix_native}/bin"
# override[cross]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:61
# "/bin"
# override[crossscripts]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:62
# "${bindir}/crossscripts"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:64
# "${prefix_nativesdk}/bin"
# pre-expansion value:
# "${exec_prefix}/bin"
export bindir="/usr/bin"
#
# $bindir_cross
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:61
# "/bin"
bindir_cross="/bin"
#
# $bindir_crossscripts
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:62
# "${bindir}/crossscripts"
bindir_crossscripts="/usr/bin/crossscripts"
#
# $bindir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:54
# "${prefix_native}/bin"
bindir_native="/usr/bin"
#
# $bindir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:64
# "${prefix_nativesdk}/bin"
bindir_nativesdk="/usr/bin"
#
# $datadir [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:31
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:31
# "${prefix}/share"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:60
# "${prefix_native}/share"
# pre-expansion value:
# "${prefix}/share"
export datadir="/usr/share"
#
# $datadir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:60
# "${prefix_native}/share"
datadir_native="/usr/share"
#
# $do_bootimg
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:7
# [doc] "Creates a bootable live image"
#
# $do_compile_kernelmodules
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:16
# [doc] "Compiles loadable modules for the Linux kernel"
#
# $do_compile_ptest_base
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:17
# [doc] "Compiles the runtime test suite included in the software being built"
#
# $do_configure_ptest_base
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:19
# [doc] "Configures the runtime test suite included in the software being built"
#
# $do_deploy [8 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:20
# [doc] "Writes deployable output files to the deploy directory"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass:3
# [sstate-inputdirs] "${DEPLOYDIR}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass:4
# [sstate-outputdirs] "${DEPLOY_DIR_IMAGE}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass:10
# [dirs] "${DEPLOYDIR} ${B}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/deploy.bbclass:11
# [stamp-extra-info] "${MACHINE}"
# prepend sstate.bbclass:100 [__anon_101__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_sstate_bbclass]
# [prefuncs] "sstate_task_prefunc "
# append sstate.bbclass:101 [__anon_101__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_sstate_bbclass]
# [postfuncs] " sstate_task_postfunc"
# override[setscene]:set ast.py:195 [eval]
# " sstate_setscene(d)
# "
# pre-expansion value:
# "None"
#
# $do_diffconfig
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:23
# [doc] "Compares the old and new config files after running do_menuconfig for the kernel"
#
# $do_image_wic [3 operations]
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:41
# [file-checksums] "${WKS_FILE_CHECKSUM}"
# append /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image_types_wic.bbclass:42
# [depends] "wic-tools:do_populate_sysroot"
# set build.py:847 [addtask]
# [deps] "['do_rootfs_wicenv']"
# pre-expansion value:
# "None"
#
# $do_install_ptest_base
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:27
# [doc] "Copies the runtime test suite files from the compilation directory to a holding area"
#
# $do_kernel_checkout
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:28
# [doc] "Checks out source/meta branches for a linux-yocto style kernel"
#
# $do_kernel_configcheck
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:29
# [doc] "Validates the kernel configuration for a linux-yocto style kernel"
#
# $do_kernel_configme
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:30
# [doc] "Assembles the kernel configuration for a linux-yocto style kernel"
#
# $do_kernel_link_images
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:31
# [doc] "Creates a symbolic link in arch/$arch/boot for vmlinux and vmlinuz kernel images"
#
# $do_menuconfig
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:33
# [doc] "Runs 'make menuconfig' for the kernel"
#
# $do_package_index
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:35
# [doc] "Creates or updates the index in the Package Feed area"
#
# $do_package_write_deb [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:37
# [doc] "Creates the actual DEB packages and places them in the Package Feed area"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass:18
# [rdeptask] "${DEBIANRDEP}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:609
# [noexec] "1"
# pre-expansion value:
# "None"
#
# $do_package_write_rpm [3 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:39
# [doc] "Creates the actual RPM packages and places them in the Package Feed area"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass:20
# [rdeptask] "${DEBIANRDEP}"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/image.bbclass:610
# [noexec] "1"
# pre-expansion value:
# "None"
#
# $do_package_write_tar [2 operations]
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:40
# [doc] "Creates tar archives for packages and places them in the Package Feed area"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/debian.bbclass:19
# [rdeptask] "${DEBIANRDEP}"
# pre-expansion value:
# "None"
#
# $do_rm_work
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:46
# [doc] "Removes work files after the build system has finished with them"
#
# $do_rm_work_all
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:47
# [doc] "Top-level task for removing work files after the build system has finished with them"
#
# $do_savedefconfig
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:49
# [doc] "Creates a minimal Linux kernel configuration file"
#
# $do_sizecheck
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:50
# [doc] "Checks the size of the kernel image against KERNEL_IMAGE_MAXSIZE (if set)"
#
# $do_spdx
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:51
# [doc] "A build stage that takes the source code and scans it on a remote FOSSOLOGY server in order to produce an SPDX document"
#
# $do_strip
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:52
# [doc] "Strips unneeded sections out of the Linux kernel image"
#
# $do_testimage
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:53
# [doc] "Boots an image and performs runtime tests within the image"
#
# $do_testimage_auto
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:54
# [doc] "Boots an image and performs runtime tests within the image immediately after it has been built"
#
# $do_testsdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:55
# [doc] "Installs an SDK and performs runtime tests on the tools installed by it"
#
# $do_uboot_mkimage
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:56
# [doc] "Creates a uImage file from the kernel for the U-Boot bootloader"
#
# $do_validate_branches
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:58
# [doc] "Ensures that the source/meta branches are on the locations specified by their SRCREV values for a linux-yocto style kernel"
#
# $do_vmimg
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/documentation.conf:59
# [doc] "Creates an image for use with VMware or VirtualBox compatible virtual machine hosts (based on IMAGE_FSTYPES either .vmdk or .vdi)"
#
# $docdir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:34
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:34
# "${datadir}/doc"
# pre-expansion value:
# "${datadir}/doc"
export docdir="/usr/share/doc"
#
# $exec_prefix [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:18
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:18
# "${prefix}"
# pre-expansion value:
# "${prefix}"
export exec_prefix="/usr"
#
# $includedir [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:45
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:45
# "${exec_prefix}/include"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:56
# "${prefix_native}/include"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:68
# "${prefix_nativesdk}/include"
# pre-expansion value:
# "${exec_prefix}/include"
export includedir="/usr/include"
#
# $includedir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:56
# "${prefix_native}/include"
includedir_native="/usr/include"
#
# $includedir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:68
# "${prefix_nativesdk}/include"
includedir_nativesdk="/usr/include"
#
# $infodir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:32
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:32
# "${datadir}/info"
# pre-expansion value:
# "${datadir}/info"
export infodir="/usr/share/info"
#
# $libdir [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:43
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:43
# "${exec_prefix}/${baselib}"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:57
# "${prefix_native}/lib"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:69
# "${prefix_nativesdk}/lib"
# pre-expansion value:
# "${exec_prefix}/${baselib}"
export libdir="/usr/lib"
#
# $libdir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:57
# "${prefix_native}/lib"
libdir_native="/usr/lib"
#
# $libdir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:69
# "${prefix_nativesdk}/lib"
libdir_nativesdk="/usr/lib"
#
# $libexecdir [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:44
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:44
# "${exec_prefix}/libexec"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:58
# "${prefix_native}/libexec"
# pre-expansion value:
# "${exec_prefix}/libexec"
export libexecdir="/usr/libexec"
#
# $libexecdir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:58
# "${prefix_native}/libexec"
libexecdir_native="/usr/libexec"
#
# $localedir
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:47
# "${libdir}/locale"
localedir="/usr/lib/locale"
#
# $localstatedir [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:30
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:30
# "${base_prefix}/var"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:71
# "/var"
# pre-expansion value:
# "${base_prefix}/var"
export localstatedir="/var"
#
# $localstatedir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:71
# "/var"
localstatedir_nativesdk="/var"
#
# $mandir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:33
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:33
# "${datadir}/man"
# pre-expansion value:
# "${datadir}/man"
export mandir="/usr/share/man"
#
# $nonarch_base_libdir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:24
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:24
# "${base_prefix}/lib"
# pre-expansion value:
# "${base_prefix}/lib"
export nonarch_base_libdir="/lib"
#
# $nonarch_libdir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:37
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:37
# "${exec_prefix}/lib"
# pre-expansion value:
# "${exec_prefix}/lib"
export nonarch_libdir="/usr/lib"
#
# $oldincludedir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:46
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:46
# "${exec_prefix}/include"
# pre-expansion value:
# "${exec_prefix}/include"
export oldincludedir="/usr/include"
#
# $prefix [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:17
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:17
# "/usr"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:53
# "/usr"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:63
# "/usr"
# pre-expansion value:
# "/usr"
export prefix="/usr"
#
# $prefix_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:53
# "/usr"
prefix_native="/usr"
#
# $prefix_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:63
# "/usr"
prefix_nativesdk="/usr"
#
# $sbindir [4 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:42
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:42
# "${exec_prefix}/sbin"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:55
# "${prefix_native}/sbin"
# override[nativesdk]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:65
# "${prefix_nativesdk}/sbin"
# pre-expansion value:
# "${exec_prefix}/sbin"
export sbindir="/usr/sbin"
#
# $sbindir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:55
# "${prefix_native}/sbin"
sbindir_native="/usr/sbin"
#
# $sbindir_nativesdk
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:65
# "${prefix_nativesdk}/sbin"
sbindir_nativesdk="/usr/sbin"
#
# $servicedir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:28
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:28
# "${base_prefix}/srv"
# pre-expansion value:
# "${base_prefix}/srv"
export servicedir="/srv"
#
# $sharedstatedir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:29
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:29
# "${base_prefix}/com"
# pre-expansion value:
# "${base_prefix}/com"
export sharedstatedir="/com"
#
# $sysconfdir [3 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:27
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:27
# "${base_prefix}/etc"
# override[native]:set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:52
# "/etc"
# pre-expansion value:
# "${base_prefix}/etc"
export sysconfdir="/etc"
#
# $sysconfdir_native
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:52
# "/etc"
sysconfdir_native="/etc"
#
# $systemd_system_unitdir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:36
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:36
# "${nonarch_base_libdir}/systemd/system"
# pre-expansion value:
# "${nonarch_base_libdir}/systemd/system"
export systemd_system_unitdir="/lib/systemd/system"
#
# $systemd_unitdir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:35
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:35
# "${nonarch_base_libdir}/systemd"
# pre-expansion value:
# "${nonarch_base_libdir}/systemd"
export systemd_unitdir="/lib/systemd"
#
# $systemd_user_unitdir [2 operations]
# exported /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:38
# [export] "1"
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:38
# "${nonarch_libdir}/systemd/user"
# pre-expansion value:
# "${nonarch_libdir}/systemd/user"
export systemd_user_unitdir="/usr/lib/systemd/user"
#
# $target_datadir
# immediate /home/mnhu/projects/pil/yocto/meta-poky/meta/conf/bitbake.conf:77
# "${datadir}"
target_datadir="/usr/share"
#
# $valid_archs
# set /home/mnhu/projects/pil/yocto/meta-poky/meta/classes/kernel-arch.bbclass:17
# "alpha cris ia64 i386 x86 m68knommu m68k ppc powerpc powerpc64 ppc64 sparc sparc64 arm aarch64 m32r mips sh sh64 um h8300 parisc s390 v850 avr32 blackfin microblaze nios2 arc xtensa"
valid_archs="alpha cris ia64 i386 x86 m68knommu m68k ppc powerpc powerpc64 ppc64 sparc sparc64 arm aarch64 m32r mips sh sh64 um h8300 parisc s390 v850 avr32 blackfin microblaze nios2 arc xtensa"
IMAGE_CMD_btrfs() {
size=${ROOTFS_SIZE}
if [ ${size} -lt 16384 ] ; then
size=16384
bbwarn "Rootfs size is too small for BTRFS. Filesystem will be extended to ${size}K"
fi
dd if=/dev/zero of=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.btrfs count=${size} bs=1024
mkfs.btrfs -r /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.btrfs
}
IMAGE_CMD_elf() {
test -f /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.elf && rm -f /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.elf
mkelfImage --kernel=/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/images/rpi2/uImage --initrd=/home/mnhu/projects/pil/yocto/tmp-glibc/deploy/images/rpi2/rescue-rootfs-rpi2.cpio.gz --output=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.elf --append='ramdisk_size=32768 root=/dev/ram0 rw console='
}
IMAGE_CMD_multiubi() {
# Split MKUBIFS_ARGS_<name> and UBINIZE_ARGS_<name>
for name in ${MULTIUBI_BUILD}; do
eval local mkubifs_args=\"\$MKUBIFS_ARGS_${name}\"
eval local ubinize_args=\"\$UBINIZE_ARGS_${name}\"
multiubi_mkfs "${mkubifs_args}" "${ubinize_args}" "${name}"
done
}
IMAGE_CMD_ubi() {
multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}"
}
IMAGE_CMD_wic() {
out="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224"
wks="/home/mnhu/projects/pil/yocto/meta-pil/wic/rpi2.wks"
if [ -z "$wks" ]; then
bbfatal "No kickstart files from WKS_FILES were found: rpi2.wks rescue-rootfs.wks. Please set WKS_FILE or WKS_FILES appropriately."
fi
BUILDDIR="/home/mnhu/projects/pil/yocto" wic create "$wks" --vars "/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots/rpi2/imgdata/" -e "rescue-rootfs" -o "$out/"
mv "$out/$(basename "${wks%.wks}")"*.direct "$out.rootfs.wic"
rm -rf "$out/"
}
IMAGE_POSTPROCESS_COMMAND() {
write_deploy_manifest;
}
POPULATE_SDK_POST_HOST_COMMAND() {
write_host_sdk_manifest;
}
POPULATE_SDK_POST_TARGET_COMMAND() {
rootfs_sysroot_relativelinks; write_target_sdk_manifest ; write_sdk_test_data ;
}
ROOTFS_POSTPROCESS_COMMAND() {
write_package_manifest; license_create_manifest; zap_empty_root_password ; rootfs_update_timestamp ; write_image_test_data ; empty_var_volatile; set_user_group; sort_passwd;
}
ROOTFS_POSTUNINSTALL_COMMAND() {
write_image_manifest ;
}
SDK_POSTPROCESS_COMMAND() {
create_sdk_files; check_sdk_sysroots; tar_sdk; create_shar;
}
base_do_compile() {
if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then
oe_runmake || die "make failed"
else
bbnote "nothing to compile"
fi
}
base_do_configure() {
if [ -n "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/configure.sstate" -a -e "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/configure.sstate" ]; then
if [ "`cat /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/configure.sstate`" != "${BB_TASKHASH}" ]; then
cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rescue-rootfs-1.0
if [ "0" != "1" -a \( -e Makefile -o -e makefile -o -e GNUmakefile \) ]; then
oe_runmake clean
fi
find /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rescue-rootfs-1.0 -ignore_readdir_race -name \*.la -delete
fi
fi
if [ -n "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/configure.sstate" ]; then
mkdir -p `dirname /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/configure.sstate`
echo ${BB_TASKHASH} > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/configure.sstate
fi
}
base_do_install() {
:
}
base_do_package() {
:
}
bbdebug() {
USAGE='Usage: bbdebug [123] "message"'
if [ $# -lt 2 ]; then
bbfatal "$USAGE"
fi
# Strip off the debug level and ensure it is an integer
DBGLVL=$1; shift
NONDIGITS=$(echo "$DBGLVL" | tr -d [:digit:])
if [ "$NONDIGITS" ]; then
bbfatal "$USAGE"
fi
# All debug output is printed to the logs
if [ -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198 ] ; then
printf "%b\0" "bbdebug $DBGLVL $*" > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198
else
echo "DEBUG: $*"
fi
}
bberror() {
if [ -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198 ] ; then
printf "%b\0" "bberror $*" > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198
else
echo "ERROR: $*"
fi
}
bbfatal() {
if [ -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198 ] ; then
printf "%b\0" "bbfatal $*" > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198
else
echo "ERROR: $*"
fi
exit 1
}
bbfatal_log() {
if [ -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198 ] ; then
printf "%b\0" "bbfatal_log $*" > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198
else
echo "ERROR: $*"
fi
exit 1
}
bbnote() {
if [ -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198 ] ; then
printf "%b\0" "bbnote $*" > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198
else
echo "NOTE: $*"
fi
}
bbplain() {
if [ -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198 ] ; then
printf "%b\0" "bbplain $*" > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198
else
echo "$*"
fi
}
bbwarn() {
if [ -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198 ] ; then
printf "%b\0" "bbwarn $*" > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/fifo.17198
else
echo "WARNING: $*"
fi
}
check_git_config() {
if ! git config user.email > /dev/null ; then
git config --local user.email "oe.patch at oe"
fi
if ! git config user.name > /dev/null ; then
git config --local user.name "OpenEmbedded"
fi
}
create_cmdline_wrapper() {
# Create a wrapper script where commandline options are needed
#
# These are useful to work around relocation issues, by passing extra options
# to a program
#
# Usage: create_cmdline_wrapper FILENAME <extra-options>
cmd=$1
shift
echo "Generating wrapper script for $cmd"
mv $cmd $cmd.real
cmdname=`basename $cmd`
dirname=`dirname $cmd`
cmdoptions=$@
if [ "" != "" ]; then
relpath=`python3 -c "import os; print(os.path.relpath('/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image', '$dirname'))"`
cmdoptions=`echo $@ | sed -e "s::\\$realdir/$relpath:g"`
fi
cat <<END >$cmd
#!/bin/bash
realpath=\`readlink -fn \$0\`
realdir=\`dirname \$realpath\`
exec -a \`dirname \$realpath\`/$cmdname \`dirname \$realpath\`/$cmdname.real $cmdoptions "\$@"
END
chmod +x $cmd
}
create_sdk_files() {
cp /home/mnhu/projects/pil/yocto/meta-poky/scripts/relocate_sdk.py /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/
# Replace the ##DEFAULT_INSTALL_DIR## with the correct pattern.
# Escape special characters like '+' and '.' in the SDKPATH
escaped_sdkpath=$(echo /usr/local/oecore-x86_64 |sed -e "s:[\+\.]:\\\\\\\\\0:g")
sed -i -e "s:##DEFAULT_INSTALL_DIR##:$escaped_sdkpath:" /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/relocate_sdk.py
}
create_shar() {
# copy in the template shar extractor script
cp /home/mnhu/projects/pil/yocto/meta-poky/meta/files/toolchain-shar-extract.sh /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.sh
rm -f /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/pre_install_command /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/post_install_command
if [ 1 -eq 1 ] ; then
cp /home/mnhu/projects/pil/yocto/meta-poky/meta/files/toolchain-shar-relocate.sh /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/post_install_command
fi
cat << "EOF" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/pre_install_command
EOF
cat << "EOF" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/post_install_command
EOF
sed -i -e '/@SDK_PRE_INSTALL_COMMAND@/r /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/pre_install_command' \
-e '/@SDK_POST_INSTALL_COMMAND@/r /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/temp/post_install_command' \
/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.sh
# substitute variables
sed -i -e 's#@SDK_ARCH@#x86_64#g' \
-e 's#@SDKPATH@#/usr/local/oecore-x86_64#g' \
-e 's#@SDKEXTPATH@#~/basic_sdk#g' \
-e 's#@OLDEST_KERNEL@#2.6.32#g' \
-e 's#@REAL_MULTIMACH_TARGET_SYS@#cortexa7hf-neon-vfpv4-oe-linux-gnueabi#g' \
-e 's#@SDK_TITLE@#PIL/basic SDK#g' \
-e 's#@SDK_VERSION@#nodistro.0#g' \
-e '/@SDK_PRE_INSTALL_COMMAND@/d' \
-e '/@SDK_POST_INSTALL_COMMAND@/d' \
-e 's#@SDK_GCC_VER@##g' \
/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.sh
# add execution permission
chmod +x /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.sh
# append the SDK tarball
cat /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.tar.xz >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.sh
# delete the old tarball, we don't need it anymore
rm /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.tar.xz
}
create_wrapper() {
# Create a wrapper script where extra environment variables are needed
#
# These are useful to work around relocation issues, by setting environment
# variables which point to paths in the filesystem.
#
# Usage: create_wrapper FILENAME [[VAR=VALUE]..]
cmd=$1
shift
echo "Generating wrapper script for $cmd"
mv $cmd $cmd.real
cmdname=`basename $cmd`
dirname=`dirname $cmd`
exportstring=$@
if [ "" != "" ]; then
relpath=`python3 -c "import os; print(os.path.relpath('/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image', '$dirname'))"`
exportstring=`echo $@ | sed -e "s::\\$realdir/$relpath:g"`
fi
cat <<END >$cmd
#!/bin/bash
realpath=\`readlink -fn \$0\`
realdir=\`dirname \$realpath\`
export $exportstring
exec -a \`dirname \$realpath\`/$cmdname \`dirname \$realpath\`/$cmdname.real "\$@"
END
chmod +x $cmd
}
die() {
bbfatal_log "$*"
}
do_build() {
:
}
do_bundle_initramfs() {
:
}
do_checkuriall() {
:
}
do_compile() {
base_do_compile
}
do_configure() {
base_do_configure
}
do_fetchall() {
:
}
do_image_cpio() {
(cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs && find . | cpio -o -H newc >/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.cpio)
# We only need the /init symlink if we're building the real
# image. The -dbg image doesn't need it! By being clever
# about this we also avoid 'touch' below failing, as it
# might be trying to touch /sbin/init on the host since both
# the normal and the -dbg image share the same WORKDIR
if [ "${IMAGE_BUILDING_DEBUGFS}" != "true" ]; then
if [ ! -L /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/init ] && [ ! -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/init ]; then
if [ -L /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init ] || [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init ]; then
ln -sf /sbin/init /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append/init
else
touch /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append/init
fi
(cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append && echo ./init | cpio -oA -H newc -F /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.cpio)
fi
fi
cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete
gzip -f -9 -c rescue-rootfs-rpi2-20170915073224.rootfs.cpio > rescue-rootfs-rpi2-20170915073224.rootfs.cpio.gz
gzip -f -9 -c rescue-rootfs-rpi2-20170915073224.rootfs.cpio > rescue-rootfs-rpi2-20170915073224.rootfs.cpio.gz; oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.cpio.gz gzip
oe_mkimage rescue-rootfs-rpi2-20170915073224.rootfs.cpio.gz none
rm rescue-rootfs-rpi2-20170915073224.rootfs.cpio
}
do_image_tar() {
tar -cvf /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.tar -C /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs .
cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete
}
do_install() {
base_do_install
}
do_packagedata() {
:
}
empty_var_volatile() {
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/fstab ]; then
match=`awk '$1 !~ "#" && $2 ~ /\/var\/volatile/{print $2}' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/fstab 2> /dev/null`
if [ -n "$match" ]; then
find /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/var/volatile -mindepth 1 -delete
fi
fi
}
hardlinkdir() {
from=$1
to=$2
(cd $from; find . -print0 | cpio --null -pdlu $to)
}
install_tools() {
install -d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin
scripts="devtool recipetool oe-find-native-sysroot runqemu*"
for script in $scripts; do
for scriptfn in `find /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/${scriptrelpath} -maxdepth 1 -executable -name "$script"`; do
lnr ${scriptfn} /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/`basename $scriptfn`
done
done
# We can't use the same method as above because files in the sysroot won't exist at this point
# (they get populated from sstate on installation)
unfsd_path="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/unfsd"
if [ "1" = "1" -a ! -e $unfsd_path ] ; then
binrelpath=work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin
lnr /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/tmp/$binrelpath/unfsd $unfsd_path
fi
touch /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/.devtoolbase
# find latest buildtools-tarball and install it
install /home/mnhu/projects/pil/yocto/tmp-glibc/deploy/sdk/${SDK_BUILDTOOLS_INSTALLER} /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64
install -m 0644 /home/mnhu/projects/pil/yocto/meta-poky/meta/files/ext-sdk-prepare.py /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64
}
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi
fi
}
make_zimage_symlink_relative() {
if [ -L /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/boot/zImage ]; then
(cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/boot/ && for i in `ls zImage-* | sort`; do ln -sf $i zImage; done)
fi
}
multiubi_mkfs() {
local mkubifs_args="$1"
local ubinize_args="$2"
if [ -z "$3" ]; then
local vname=""
else
local vname="_$3"
fi
echo \[ubifs\] > ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
echo mode=ubi >> ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
echo image=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224${vname}.rootfs.ubifs >> ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
echo vol_id=0 >> ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
echo vol_type=dynamic >> ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
echo vol_name=rpi2-rootfs >> ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
echo vol_flags=autoresize >> ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
mkfs.ubifs -r /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs -o /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224${vname}.rootfs.ubifs ${mkubifs_args}
ubinize -o /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224${vname}.rootfs.ubi ${ubinize_args} ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg
# Cleanup cfg file
mv ubinize${vname}-rescue-rootfs-rpi2-20170915073224.cfg /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/
# Create own symlinks for 'named' volumes
if [ -n "$vname" ]; then
cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete
if [ -e rescue-rootfs-rpi2-20170915073224${vname}.rootfs.ubifs ]; then
ln -sf rescue-rootfs-rpi2-20170915073224${vname}.rootfs.ubifs \
rescue-rootfs-rpi2${vname}.ubifs
fi
if [ -e rescue-rootfs-rpi2-20170915073224${vname}.rootfs.ubi ]; then
ln -sf rescue-rootfs-rpi2-20170915073224${vname}.rootfs.ubi \
rescue-rootfs-rpi2${vname}.ubi
fi
cd -
fi
}
oe_libinstall() {
# Purpose: Install a library, in all its forms
# Example
#
# oe_libinstall libltdl /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/
# oe_libinstall -C src/libblah libblah /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image//usr/lib/
dir=""
libtool=""
silent=""
require_static=""
require_shared=""
staging_install=""
while [ "$#" -gt 0 ]; do
case "$1" in
-C)
shift
dir="$1"
;;
-s)
silent=1
;;
-a)
require_static=1
;;
-so)
require_shared=1
;;
-*)
bbfatal "oe_libinstall: unknown option: $1"
;;
*)
break;
;;
esac
shift
done
libname="$1"
shift
destpath="$1"
if [ -z "$destpath" ]; then
bbfatal "oe_libinstall: no destination path specified"
fi
if echo "$destpath/" | egrep '^/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/' >/dev/null
then
staging_install=1
fi
__runcmd () {
if [ -z "$silent" ]; then
echo >&2 "oe_libinstall: $*"
fi
$*
}
if [ -z "$dir" ]; then
dir=`pwd`
fi
dotlai=$libname.lai
# Sanity check that the libname.lai is unique
number_of_files=`(cd $dir; find . -name "$dotlai") | wc -l`
if [ $number_of_files -gt 1 ]; then
bbfatal "oe_libinstall: $dotlai is not unique in $dir"
fi
dir=$dir`(cd $dir;find . -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"`
olddir=`pwd`
__runcmd cd $dir
lafile=$libname.la
# If such file doesn't exist, try to cut version suffix
if [ ! -f "$lafile" ]; then
libname1=`echo "$libname" | sed 's/-[0-9.]*$//'`
lafile1=$libname.la
if [ -f "$lafile1" ]; then
libname=$libname1
lafile=$lafile1
fi
fi
if [ -f "$lafile" ]; then
# libtool archive
eval `cat $lafile|grep "^library_names="`
libtool=1
else
library_names="$libname.so* $libname.dll.a $libname.*.dylib"
fi
__runcmd install -d $destpath/
dota=$libname.a
if [ -f "$dota" -o -n "$require_static" ]; then
rm -f $destpath/$dota
__runcmd install -m 0644 $dota $destpath/
fi
if [ -f "$dotlai" -a -n "$libtool" ]; then
rm -f $destpath/$libname.la
__runcmd install -m 0644 $dotlai $destpath/$libname.la
fi
for name in $library_names; do
files=`eval echo $name`
for f in $files; do
if [ ! -e "$f" ]; then
if [ -n "$libtool" ]; then
bbfatal "oe_libinstall: $dir/$f not found."
fi
elif [ -L "$f" ]; then
__runcmd cp -P "$f" $destpath/
elif [ ! -L "$f" ]; then
libfile="$f"
rm -f $destpath/$libfile
__runcmd install -m 0755 $libfile $destpath/
fi
done
done
if [ -z "$libfile" ]; then
if [ -n "$require_shared" ]; then
bbfatal "oe_libinstall: unable to locate shared library"
fi
elif [ -z "$libtool" ]; then
# special case hack for non-libtool .so.#.#.# links
baselibfile=`basename "$libfile"`
if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
sonamelink=`arm-oe-linux-gnueabi-readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then
__runcmd ln -sf $baselibfile $destpath/$sonamelink
fi
__runcmd ln -sf $baselibfile $destpath/$solink
fi
fi
__runcmd cd "$olddir"
}
oe_machinstall() {
# Purpose: Install machine dependent files, if available
# If not available, check if there is a default
# If no default, just touch the destination
# Example:
# $1 $2 $3 $4
# oe_machinstall -m 0644 fstab /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image/etc/fstab
#
# TODO: Check argument number?
#
filename=`basename $3`
dirname=`dirname $3`
for o in `echo linux-gnueabi:arm:build-linux:pn-rescue-rootfs:armv7ve:rpi:rpi2:basic:class-target:forcevariable:libc-glibc | tr ':' ' '`; do
if [ -e $dirname/$o/$filename ]; then
bbnote $dirname/$o/$filename present, installing to $4
install $1 $2 $dirname/$o/$filename $4
return
fi
done
# bbnote overrides specific file NOT present, trying default=$3...
if [ -e $3 ]; then
bbnote $3 present, installing to $4
install $1 $2 $3 $4
else
bbnote $3 NOT present, touching empty $4
touch $4
fi
}
oe_mkext234fs() {
fstype=$1
extra_imagecmd=""
if [ $# -gt 1 ]; then
shift
extra_imagecmd=$@
fi
# If generating an empty image the size of the sparse block should be large
# enough to allocate an ext4 filesystem using 4096 bytes per inode, this is
# about 60K, so dd needs a minimum count of 60, with bs=1024 (bytes per IO)
eval local COUNT=\"0\"
eval local MIN_COUNT=\"60\"
if [ $ROOTFS_SIZE -lt $MIN_COUNT ]; then
eval COUNT=\"$MIN_COUNT\"
fi
# Create a sparse image block
dd if=/dev/zero of=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.$fstype seek=$ROOTFS_SIZE count=$COUNT bs=1024
mkfs.$fstype -F $extra_imagecmd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.$fstype -d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs
# Error codes 0-3 indicate successfull operation of fsck (no errors or errors corrected)
fsck.$fstype -pvfD /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073224.rootfs.$fstype || [ $? -le 3 ]
}
oe_mkimage() {
mkimage -A arm -O linux -T ramdisk -C $2 -n rescue-rootfs-rpi2-20170915073224 \
-d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/$1 /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/$1.u-boot
}
oe_runmake() {
oe_runmake_call "$@" || die "oe_runmake failed"
}
oe_runmake_call() {
bbnote make "$@"
make "$@"
}
oe_soinstall() {
# Purpose: Install shared library file and
# create the necessary links
# Example: oe_soinstall libfoo.so.1.2.3 /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image/usr/lib
libname=`basename $1`
case "$libname" in
*.so)
bbfatal "oe_soinstall: Shared library must haved versioned filename (e.g. libfoo.so.1.2.3)"
;;
esac
install -m 755 $1 $2/$libname
sonamelink=`arm-oe-linux-gnueabi-readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
if [ -z $sonamelink ]; then
bbfatal "oe_soinstall: $libname is missing ELF tag 'SONAME'."
fi
solink=`echo $libname | sed -e 's/\.so\..*/.so/'`
ln -sf $libname $2/$sonamelink
ln -sf $libname $2/$solink
}
perform_groupadd() {
local rootdir="$1"
local opts="$2"
bbnote "rescue-rootfs: Performing groupadd with [$opts]"
local groupname=`echo "$opts" | awk '{ print $NF }'`
local group_exists="`grep "^$groupname:" $rootdir/etc/group || true`"
if test "x$group_exists" = "x"; then
eval flock -x $rootdir/etc -c \"$PSEUDO groupadd \$opts\" || true
group_exists="`grep "^$groupname:" $rootdir/etc/group || true`"
if test "x$group_exists" = "x"; then
bbfatal "rescue-rootfs: groupadd command did not succeed."
fi
else
bbnote "rescue-rootfs: group $groupname already exists, not re-creating it"
fi
}
perform_groupdel() {
local rootdir="$1"
local opts="$2"
bbnote "rescue-rootfs: Performing groupdel with [$opts]"
local groupname=`echo "$opts" | awk '{ print $NF }'`
local group_exists="`grep "^$groupname:" $rootdir/etc/group || true`"
if test "x$group_exists" != "x"; then
local awk_input='BEGIN {FS=":"}; $1=="'$groupname'" { print $3 }'
local groupid=`echo "$awk_input" | awk -f- $rootdir/etc/group`
local awk_check_users='BEGIN {FS=":"}; $4=="'$groupid'" {print $1}'
local other_users=`echo "$awk_check_users" | awk -f- $rootdir/etc/passwd`
if test "x$other_users" = "x"; then
eval flock -x $rootdir/etc -c \"$PSEUDO groupdel \$opts\" || true
group_exists="`grep "^$groupname:" $rootdir/etc/group || true`"
if test "x$group_exists" != "x"; then
bbfatal "rescue-rootfs: groupdel command did not succeed."
fi
else
bbnote "rescue-rootfs: '$groupname' is primary group for users '$other_users', not removing it"
fi
else
bbnote "rescue-rootfs: group $groupname doesn't exist, not removing it"
fi
}
perform_groupmems() {
local rootdir="$1"
local opts="$2"
bbnote "rescue-rootfs: Performing groupmems with [$opts]"
local groupname=`echo "$opts" | awk '{ for (i = 1; i < NF; i++) if ($i == "-g" || $i == "--group") print $(i+1) }'`
local username=`echo "$opts" | awk '{ for (i = 1; i < NF; i++) if ($i == "-a" || $i == "--add") print $(i+1) }'`
bbnote "rescue-rootfs: Running groupmems command with group $groupname and user $username"
local mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*" $rootdir/etc/group || true`"
if test "x$mem_exists" = "x"; then
eval flock -x $rootdir/etc -c \"$PSEUDO groupmems \$opts\" || true
mem_exists="`grep "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*" $rootdir/etc/group || true`"
if test "x$mem_exists" = "x"; then
bbfatal "rescue-rootfs: groupmems command did not succeed."
fi
else
bbnote "rescue-rootfs: group $groupname already contains $username, not re-adding it"
fi
}
perform_groupmod() {
# Other than the return value of groupmod, there's no simple way to judge whether the command
# succeeds, so we disable -e option temporarily
set +e
local rootdir="$1"
local opts="$2"
bbnote "rescue-rootfs: Performing groupmod with [$opts]"
local groupname=`echo "$opts" | awk '{ print $NF }'`
local group_exists="`grep "^$groupname:" $rootdir/etc/group || true`"
if test "x$group_exists" != "x"; then
eval flock -x $rootdir/etc -c \"$PSEUDO groupmod \$opts\"
if test $? != 0; then
bbwarn "rescue-rootfs: groupmod command did not succeed."
fi
else
bbwarn "rescue-rootfs: group $groupname doesn't exist, unable to modify it"
fi
set -e
}
perform_useradd() {
local rootdir="$1"
local opts="$2"
bbnote "rescue-rootfs: Performing useradd with [$opts]"
local username=`echo "$opts" | awk '{ print $NF }'`
local user_exists="`grep "^$username:" $rootdir/etc/passwd || true`"
if test "x$user_exists" = "x"; then
eval flock -x $rootdir/etc -c \"$PSEUDO useradd \$opts\" || true
user_exists="`grep "^$username:" $rootdir/etc/passwd || true`"
if test "x$user_exists" = "x"; then
bbfatal "rescue-rootfs: useradd command did not succeed."
fi
else
bbnote "rescue-rootfs: user $username already exists, not re-creating it"
fi
}
perform_userdel() {
local rootdir="$1"
local opts="$2"
bbnote "rescue-rootfs: Performing userdel with [$opts]"
local username=`echo "$opts" | awk '{ print $NF }'`
local user_exists="`grep "^$username:" $rootdir/etc/passwd || true`"
if test "x$user_exists" != "x"; then
eval flock -x $rootdir/etc -c \"$PSEUDO userdel \$opts\" || true
user_exists="`grep "^$username:" $rootdir/etc/passwd || true`"
if test "x$user_exists" != "x"; then
bbfatal "rescue-rootfs: userdel command did not succeed."
fi
else
bbnote "rescue-rootfs: user $username doesn't exist, not removing it"
fi
}
perform_usermod() {
# Same reason with groupmod, temporarily disable -e option
set +e
local rootdir="$1"
local opts="$2"
bbnote "rescue-rootfs: Performing usermod with [$opts]"
local username=`echo "$opts" | awk '{ print $NF }'`
local user_exists="`grep "^$username:" $rootdir/etc/passwd || true`"
if test "x$user_exists" != "x"; then
eval flock -x $rootdir/etc -c \"$PSEUDO usermod \$opts\"
if test $? != 0; then
bbfatal "rescue-rootfs: usermod command did not succeed."
fi
else
bbwarn "rescue-rootfs: user $username doesn't exist, unable to modify it"
fi
set -e
}
populate_sdk_log_check() {
for target in $*
do
lf_path="`dirname ${BB_LOGFILE}`/log.do_$target.17198"
echo "log_check: Using $lf_path as logfile"
if [ -e "$lf_path" ]; then
ipk_log_check $target $lf_path
else
echo "Cannot find logfile [$lf_path]"
fi
echo "Logfile is clean"
done
}
postinst_enable_logging() {
mkdir -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default
echo "POSTINST_LOGGING=1" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/postinst
echo "LOGFILE=/var/log/postinstall.log" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/postinst
}
read_only_rootfs_hook() {
# Tweak the mount option and fs_passno for rootfs in fstab
sed -i -e '/^[#[:space:]]*\/dev\/root/{s/defaults/ro/;s/\([[:space:]]*[[:digit:]]\)\([[:space:]]*\)[[:digit:]]$/\1\20/}' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/fstab
# If we're using openssh and the /etc/ssh directory has no pre-generated keys,
# we should configure openssh to use the configuration file /etc/ssh/sshd_config_readonly
# and the keys under /var/run/ssh.
if [ -d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/ssh ]; then
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/ssh/ssh_host_rsa_key ]; then
echo "SYSCONFDIR=/etc/ssh" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/ssh
echo "SSHD_OPTS=" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/ssh
else
echo "SYSCONFDIR=/var/run/ssh" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/ssh
echo "SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/ssh
fi
fi
# Also tweak the key location for dropbear in the same way.
if [ -d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/dropbear ]; then
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/dropbear/dropbear_rsa_host_key ]; then
echo "DROPBEAR_RSAKEY_DIR=/etc/dropbear" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/dropbear
else
echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/dropbear
fi
fi
if true; then
# Change the value of ROOTFS_READ_ONLY in /etc/default/rcS to yes
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/rcS ]; then
sed -i 's/ROOTFS_READ_ONLY=no/ROOTFS_READ_ONLY=yes/' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/rcS
fi
# Run populate-volatile.sh at rootfs time to set up basic files
# and directories to support read-only rootfs.
if [ -x /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/init.d/populate-volatile.sh ]; then
/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/init.d/populate-volatile.sh
fi
fi
}
remove_init_link() {
if [ -h /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init ]; then
LINKFILE=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs`readlink /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init`
rm /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init
cp $LINKFILE /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init
fi
}
remove_libtool_la() {
if [ "1" != "0" ]; then
find "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image" -ignore_readdir_race -name "*.la" -delete
fi
}
rootfs_check_host_user_contaminated() {
contaminated="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/host-user-contaminated.txt"
HOST_USER_UID="$(PSEUDO_UNLOAD=1 id -u)"
HOST_USER_GID="$(PSEUDO_UNLOAD=1 id -g)"
find "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs" -wholename "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/home" -prune \
-user "$HOST_USER_UID" -o -group "$HOST_USER_GID" >"$contaminated"
if [ -s "$contaminated" ]; then
echo "WARNING: Paths in the rootfs are owned by the same user or group as the user running bitbake. See the logfile for the specific paths."
cat "$contaminated" | sed "s,^, ,"
fi
}
rootfs_no_x_startup() {
if [ -f /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/init.d/xserver-nodm ]; then
chmod a-x /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/init.d/xserver-nodm
fi
}
rootfs_sysroot_relativelinks() {
sysroot-relativelinks.py /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64/sysroots/cortexa7hf-neon-vfpv4-oe-linux-gnueabi
}
rootfs_trim_schemas() {
for schema in /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/gconf/schemas/*.schemas
do
# Need this in case no files exist
if [ -e $schema ]; then
oe-trim-schemas $schema > $schema.new
mv $schema.new $schema
fi
done
}
rootfs_update_timestamp() {
date -u +%4Y%2m%2d%2H%2M%2S >/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/timestamp
}
sdk_ext_postinst() {
printf "\nExtracting buildtools...\n"
cd $target_sdk_dir
env_setup_script="$target_sdk_dir/environment-setup-cortexa7hf-neon-vfpv4-oe-linux-gnueabi"
printf "buildtools\ny" | ./${SDK_BUILDTOOLS_INSTALLER} > buildtools.log || { printf 'ERROR: buildtools installation failed:\n' ; cat buildtools.log ; echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
# Delete the buildtools tar file since it won't be used again
rm -f ./${SDK_BUILDTOOLS_INSTALLER}
# We don't need the log either since it succeeded
rm -f buildtools.log
# Make sure when the user sets up the environment, they also get
# the buildtools-tarball tools in their path.
echo ". $target_sdk_dir/buildtools/environment-setup*" >> $env_setup_script
# Allow bitbake environment setup to be ran as part of this sdk.
echo "export OE_SKIP_SDK_CHECK=1" >> $env_setup_script
# Work around runqemu not knowing how to get this information within the eSDK
echo "export DEPLOY_DIR_IMAGE=$target_sdk_dir/tmp/deploy/images/rpi2" >> $env_setup_script
# A bit of another hack, but we need this in the path only for devtool
# so put it at the end of $PATH.
echo "export PATH=$target_sdk_dir/sysroots/x86_64-oesdk-linux/usr/bin:\$PATH" >> $env_setup_script
echo "printf 'SDK environment now set up; additionally you may now run devtool to perform development tasks.\nRun devtool --help for further details.\n'" >> $env_setup_script
# Warn if trying to use external bitbake and the ext SDK together
echo "(which bitbake > /dev/null 2>&1 && echo 'WARNING: attempting to use the extensible SDK in an environment set up to run bitbake - this may lead to unexpected results. Please source this script in a new shell session instead.') || true" >> $env_setup_script
if [ "$prepare_buildsystem" != "no" ]; then
printf "Preparing build system...\n"
# dash which is /bin/sh on Ubuntu will not preserve the
# current working directory when first ran, nor will it set $1 when
# sourcing a script. That is why this has to look so ugly.
LOGFILE="$target_sdk_dir/preparing_build_system.log"
sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python $target_sdk_dir/ext-sdk-prepare.py $LOGFILE ''" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
rm $target_sdk_dir/ext-sdk-prepare.py
fi
echo done
}
sdk_ext_preinst() {
# Since bitbake won't run as root it doesn't make sense to try and install
# the extensible sdk as root.
if [ "`id -u`" = "0" ]; then
echo "ERROR: The extensible sdk cannot be installed as root."
exit 1
fi
if ! command -v locale > /dev/null; then
echo "ERROR: The installer requires the locale command, please install it first"
exit 1
fi
# Check setting of LC_ALL set above
canonicalised_locale=`echo $LC_ALL | sed 's/UTF-8/utf8/'`
if ! locale -a | grep -q $canonicalised_locale ; then
echo "ERROR: the installer requires the $LC_ALL locale to be installed (but not selected), please install it first"
exit 1
fi
# The relocation script used by buildtools installer requires python
if ! command -v python > /dev/null; then
echo "ERROR: The installer requires python, please install it first"
exit 1
fi
missing_utils=""
for util in ${SDK_REQUIRED_UTILITIES}; do
if ! command -v $util > /dev/null; then
missing_utils="$missing_utils $util"
fi
done
if [ -n "$missing_utils" ] ; then
echo "ERROR: the SDK requires the following missing utilities, please install them: $missing_utils"
exit 1
fi
SDK_EXTENSIBLE="1"
if [ "$publish" = "1" ] ; then
EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=ext-sdk-prepare.py"
if [ "full" = "minimal" ] ; then
EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --exclude=sstate-cache"
fi
fi
}
set_systemd_default_target() {
if [ -d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/systemd/system -a -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/lib/systemd/system/multi-user.target ]; then
ln -sf /lib/systemd/system/multi-user.target /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/systemd/system/default.target
fi
}
set_user_group() {
user_group_settings=" usermod -P root root;"
export PSEUDO="PSEUDO_PREFIX=/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr PSEUDO_LOCALSTATEDIR=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/pseudo/ PSEUDO_PASSWD=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0 /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin/pseudo"
setting=`echo $user_group_settings | cut -d ';' -f1`
remaining=`echo $user_group_settings | cut -d ';' -f2-`
while test "x$setting" != "x"; do
cmd=`echo $setting | cut -d ' ' -f1`
opts=`echo $setting | cut -d ' ' -f2-`
# Different from useradd.bbclass, there's no file locking issue here, as
# this setting is actually a serial process. So we only retry once.
case $cmd in
useradd)
perform_useradd "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs" "-R /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $opts"
;;
groupadd)
perform_groupadd "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs" "-R /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $opts"
;;
userdel)
perform_userdel "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs" "-R /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $opts"
;;
groupdel)
perform_groupdel "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs" "-R /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $opts"
;;
usermod)
perform_usermod "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs" "-R /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $opts"
;;
groupmod)
perform_groupmod "/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs" "-R /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $opts"
;;
*)
bbfatal "Invalid command in EXTRA_USERS_PARAMS: $cmd"
;;
esac
# Avoid infinite loop if the last parameter doesn't end with ';'
if [ "$setting" = "$remaining" ]; then
break
fi
# iterate to the next setting
setting=`echo $remaining | cut -d ';' -f1`
remaining=`echo $remaining | cut -d ';' -f2-`
done
}
ssh_allow_empty_password() {
for config in sshd_config sshd_config_readonly; do
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/ssh/$config ]; then
sed -i 's/^[#[:space:]]*PermitRootLogin.*/PermitRootLogin yes/' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/ssh/$config
sed -i 's/^[#[:space:]]*PermitEmptyPasswords.*/PermitEmptyPasswords yes/' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/ssh/$config
fi
done
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/usr/sbin/dropbear ] ; then
if grep -q DROPBEAR_EXTRA_ARGS /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/dropbear 2>/dev/null ; then
if ! grep -q "DROPBEAR_EXTRA_ARGS=.*-B" /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/dropbear ; then
sed -i 's/^DROPBEAR_EXTRA_ARGS="*\([^"]*\)"*/DROPBEAR_EXTRA_ARGS="\1 -B"/' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/dropbear
fi
else
printf '\nDROPBEAR_EXTRA_ARGS="-B"\n' >> /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/default/dropbear
fi
fi
if [ -d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/pam.d ] ; then
sed -i 's/nullok_secure/nullok/' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/pam.d/*
fi
}
ssh_disable_dns_lookup() {
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/ssh/sshd_config ]; then
sed -i -e 's:#UseDNS yes:UseDNS no:' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/ssh/sshd_config
fi
}
sstate_create_package() {
TFILE=`mktemp /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.XXXXXXXX`
# Need to handle empty directories
if [ "$(ls -A)" ]; then
set +e
tar -czf $TFILE *
ret=$?
if [ $ret -ne 0 ] && [ $ret -ne 1 ]; then
exit 1
fi
set -e
else
tar -cz --file=$TFILE --files-from=/dev/null
fi
chmod 0664 $TFILE
mv -f $TFILE /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID
}
sstate_unpack_package() {
tar -xvzf /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID
# update .siginfo atime on local/NFS mirror
[ -w /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.siginfo ] && [ -h /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.siginfo ] && touch -a /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.siginfo
# Use "! -w ||" to return true for read only files
[ ! -w /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID ] || touch --no-dereference /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID
[ ! -w /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.sig ] || [ ! -e /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.sig ] || touch --no-dereference /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.sig
[ ! -w /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.siginfo ] || [ ! -e /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.siginfo ] || touch --no-dereference /home/mnhu/projects/pil/yocto/sstate-cache/IN/sstate:rescue-rootfs:rpi2-oe-linux-gnueabi:1.0:r0:rpi2:3:INVALID.siginfo
}
sysroot_stage_all() {
sysroot_stage_dirs /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/image /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sysroot-destdir
}
sysroot_stage_dir() {
src="$1"
dest="$2"
# if the src doesn't exist don't do anything
if [ ! -d "$src" ]; then
return
fi
mkdir -p "$dest"
(
cd $src
find . -print0 | cpio --null -pdlu $dest
)
}
sysroot_stage_dirs() {
from="$1"
to="$2"
for dir in /usr/include /usr/lib /lib /lib /usr/share ; do
sysroot_stage_dir "$from$dir" "$to$dir"
done
# Remove directories we do not care about
for dir in /usr/share/man /usr/share/doc /usr/share/info /usr/share/locale /usr/share/applications /usr/share/fonts /usr/share/pixmaps /usr/lib/rescue-rootfs/ptest ; do
rm -rf "$to$dir"
done
}
systemd_create_users() {
for conffile in /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/usr/lib/sysusers.d/systemd.conf /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/usr/lib/sysusers.d/systemd-remote.conf; do
[ -e $conffile ] || continue
grep -v "^#" $conffile | sed -e '/^$/d' | while read type name id comment; do
if [ "$type" = "u" ]; then
useradd_params="--shell /sbin/nologin"
[ "$id" != "-" ] && useradd_params="$useradd_params --uid $id"
[ "$comment" != "-" ] && useradd_params="$useradd_params --comment $comment"
useradd_params="$useradd_params --system $name"
eval useradd --root /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $useradd_params || true
elif [ "$type" = "g" ]; then
groupadd_params=""
[ "$id" != "-" ] && groupadd_params="$groupadd_params --gid $id"
groupadd_params="$groupadd_params --system $name"
eval groupadd --root /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs $groupadd_params || true
elif [ "$type" = "m" ]; then
group=$id
if [ ! `grep -q "^${group}:" /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/group` ]; then
eval groupadd --root /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs --system $group
fi
if [ ! `grep -q "^${name}:" /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/passwd` ]; then
eval useradd --root /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs --shell /sbin/nologin --system $name
fi
eval usermod --root /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs -a -G $group $name
fi
done
done
}
tar_sdk() {
# Package it up
mkdir -p /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk
cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/sdk/image//usr/local/oecore-x86_64
tar --owner=root --group=root -cf - . | pixz > /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/x86_64-deploy-rescue-rootfs-populate-sdk/oecore-x86_64-cortexa7hf-neon-vfpv4-toolchain-nodistro.0.tar.xz
}
zap_empty_root_password() {
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/shadow ]; then
sed -i 's%^root::%root:*:%' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/shadow
fi
if [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/passwd ]; then
sed -i 's%^root::%root:*:%' /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/etc/passwd
fi
}
python __anon_101__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_sstate_bbclass () {
def __anon_101__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_sstate_bbclass(d):
if bb.data.inherits_class('native', d):
d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False))
elif bb.data.inherits_class('crosssdk', d):
d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
elif bb.data.inherits_class('cross', d):
d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${TARGET_ARCH}"))
elif bb.data.inherits_class('nativesdk', d):
d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${SDK_OS}"))
elif bb.data.inherits_class('cross-canadian', d):
d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${PACKAGE_ARCH}"))
elif bb.data.inherits_class('allarch', d) and d.getVar("PACKAGE_ARCH") == "all":
d.setVar('SSTATE_PKGARCH', "allarch")
else:
d.setVar('SSTATE_MANMACH', d.expand("${PACKAGE_ARCH}"))
if bb.data.inherits_class('native', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('cross', d):
d.setVar('SSTATE_EXTRAPATH', "${NATIVELSBSTRING}/")
d.setVar('BB_HASHFILENAME', "True ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}")
d.setVar('SSTATE_EXTRAPATHWILDCARD', "*/")
unique_tasks = sorted(set((d.getVar('SSTATETASKS') or "").split()))
d.setVar('SSTATETASKS', " ".join(unique_tasks))
for task in unique_tasks:
d.prependVarFlag(task, 'prefuncs', "sstate_task_prefunc ")
d.appendVarFlag(task, 'postfuncs', " sstate_task_postfunc")
}
python __anon_113__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass () {
def __anon_113__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass(d):
variables = rootfs_command_variables(d) + sdk_command_variables(d)
for var in variables:
if d.getVar(var, False):
d.setVarFlag(var, 'func', '1')
}
python __anon_1356__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_insane_bbclass () {
def __anon_1356__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_insane_bbclass(d):
tests = d.getVar('ALL_QA').split()
if "desktop" in tests:
d.appendVar("PACKAGE_DEPENDS", " desktop-file-utils-native")
###########################################################################
# Check various variables
###########################################################################
# Checking ${FILESEXTRAPATHS}
extrapaths = (d.getVar("FILESEXTRAPATHS") or "")
if '__default' not in extrapaths.split(":"):
msg = "FILESEXTRAPATHS-variable, must always use _prepend (or _append)\n"
msg += "type of assignment, and don't forget the colon.\n"
msg += "Please assign it with the format of:\n"
msg += " FILESEXTRAPATHS_append := \":${THISDIR}/Your_Files_Path\" or\n"
msg += " FILESEXTRAPATHS_prepend := \"${THISDIR}/Your_Files_Path:\"\n"
msg += "in your bbappend file\n\n"
msg += "Your incorrect assignment is:\n"
msg += "%s\n" % extrapaths
bb.warn(msg)
overrides = d.getVar('OVERRIDES').split(':')
pn = d.getVar('PN')
if pn in overrides:
msg = 'Recipe %s has PN of "%s" which is in OVERRIDES, this can result in unexpected behaviour.' % (d.getVar("FILE"), pn)
package_qa_handle_error("pn-overrides", msg, d)
issues = []
if (d.getVar('PACKAGES') or "").split():
for dep in (d.getVar('QADEPENDS') or "").split():
d.appendVarFlag('do_package_qa', 'depends', " %s:do_populate_sysroot" % dep)
for var in 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RCONFLICTS', 'RPROVIDES', 'RREPLACES', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', 'ALLOW_EMPTY':
if d.getVar(var, False):
issues.append(var)
fakeroot_tests = d.getVar('FAKEROOT_QA').split()
if set(tests) & set(fakeroot_tests):
d.setVarFlag('do_package_qa', 'fakeroot', '1')
d.appendVarFlag('do_package_qa', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
else:
d.setVarFlag('do_package_qa', 'rdeptask', '')
for i in issues:
package_qa_handle_error("pkgvarcheck", "%s: Variable %s is set as not being package specific, please fix this." % (d.getVar("FILE"), i), d)
qa_sane = d.getVar("QA_SANE")
if not qa_sane:
bb.fatal("Fatal QA errors found, failing task.")
}
python __anon_160__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_siteinfo_bbclass () {
def __anon_160__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_siteinfo_bbclass(d):
sitedata = set(siteinfo_data(d))
if "endian-little" in sitedata:
d.setVar("SITEINFO_ENDIANNESS", "le")
elif "endian-big" in sitedata:
d.setVar("SITEINFO_ENDIANNESS", "be")
else:
bb.error("Unable to determine endianness for architecture '%s'" %
d.getVar("HOST_ARCH"))
bb.fatal("Please add your architecture to siteinfo.bbclass")
if "bit-32" in sitedata:
d.setVar("SITEINFO_BITS", "32")
elif "bit-64" in sitedata:
d.setVar("SITEINFO_BITS", "64")
else:
bb.error("Unable to determine bit size for architecture '%s'" %
d.getVar("HOST_ARCH"))
bb.fatal("Please add your architecture to siteinfo.bbclass")
}
python __anon_167__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_base_bbclass () {
def __anon_167__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_base_bbclass(d):
if d.getVar('S') != d.getVar('WORKDIR'):
d.setVarFlag('do_unpack', 'cleandirs', '${S}')
else:
d.setVarFlag('do_unpack', 'cleandirs', os.path.join('${S}', 'patches'))
}
python __anon_191__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass () {
def __anon_191__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass(d):
deps = " " + imagetypes_getdepends(d)
d.appendVarFlag('do_rootfs', 'depends', deps)
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
deps += " %s:do_populate_sysroot" % dep
d.appendVarFlag('do_image_complete', 'depends', deps)
#process IMAGE_FEATURES, we must do this before runtime_mapping_rename
#Check for replaces image features
features = set(oe.data.typed_value('IMAGE_FEATURES', d))
remain_features = features.copy()
for feature in features:
replaces = set((d.getVar("IMAGE_FEATURES_REPLACES_%s" % feature) or "").split())
remain_features -= replaces
#Check for conflict image features
for feature in remain_features:
conflicts = set((d.getVar("IMAGE_FEATURES_CONFLICTS_%s" % feature) or "").split())
temp = conflicts & remain_features
if temp:
bb.fatal("%s contains conflicting IMAGE_FEATURES %s %s" % (d.getVar('PN'), feature, ' '.join(list(temp))))
d.setVar('IMAGE_FEATURES', ' '.join(sorted(list(remain_features))))
check_image_features(d)
initramfs_image = d.getVar('INITRAMFS_IMAGE') or ""
if initramfs_image != "":
d.appendVarFlag('do_build', 'depends', " %s:do_bundle_initramfs" % d.getVar('PN'))
d.appendVarFlag('do_bundle_initramfs', 'depends', " %s:do_image_complete" % initramfs_image)
}
python __anon_20__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_blacklist_bbclass () {
def __anon_20__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_blacklist_bbclass(d):
blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN'))
if blacklist:
raise bb.parse.SkipPackage("Recipe is blacklisted: %s" % (blacklist))
}
python __anon_22__home_mnhu_projects_pil_yocto_meta_poky_meta_conf_machine_include_arm_feature_arm_thumb_inc () {
def __anon_22__home_mnhu_projects_pil_yocto_meta_poky_meta_conf_machine_include_arm_feature_arm_thumb_inc(d):
if bb.utils.contains('TUNE_FEATURES', 'thumb', False, True, d):
return
selected = d.getVar('ARM_INSTRUCTION_SET')
if selected == None:
return
used = d.getVar('ARM_M_OPT')
if selected != used:
pn = d.getVar('PN')
bb.warn("Recipe '%s' selects ARM_INSTRUCTION_SET to be '%s', but tune configuration overrides it to '%s'" % (pn, selected, used))
}
python __anon_250__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_package_bbclass () {
def __anon_250__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_package_bbclass(d):
if d.getVar('PACKAGES') != '':
deps = ""
for dep in (d.getVar('PACKAGE_DEPENDS') or "").split():
deps += " %s:do_populate_sysroot" % dep
d.appendVarFlag('do_package', 'depends', deps)
# shlibs requires any DEPENDS to have already packaged for the *.list files
d.appendVarFlag('do_package', 'deptask', " do_packagedata")
}
python __anon_25__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_debian_bbclass () {
def __anon_25__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_debian_bbclass(d):
if not d.getVar("PACKAGES"):
d.setVar("DEBIANRDEP", "")
}
python __anon_25__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_patch_bbclass () {
def __anon_25__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_patch_bbclass(d):
if d.getVar('PATCHTOOL') == 'git' and d.getVar('PATCH_COMMIT_FUNCTIONS') == '1':
extratasks = bb.build.tasksbetween('do_unpack', 'do_patch', d)
try:
extratasks.remove('do_unpack')
except ValueError:
# For some recipes do_unpack doesn't exist, ignore it
pass
d.appendVarFlag('do_patch', 'prefuncs', ' patch_task_patch_prefunc')
for task in extratasks:
d.appendVarFlag(task, 'postfuncs', ' patch_task_postfunc')
}
python __anon_265__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_package_ipk_bbclass () {
def __anon_265__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_package_ipk_bbclass(d):
if d.getVar('PACKAGES') != '':
deps = ' opkg-utils-native:do_populate_sysroot virtual/fakeroot-native:do_populate_sysroot'
d.appendVarFlag('do_package_write_ipk', 'depends', deps)
d.setVarFlag('do_package_write_ipk', 'fakeroot', "1")
}
python __anon_35__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_devshell_bbclass () {
def __anon_35__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_devshell_bbclass(d):
if d.getVarFlag("do_devshell", "fakeroot"):
# We need to signal our code that we want fakeroot however we
# can't manipulate the environment and variables here yet (see YOCTO #4795)
d.setVarFlag("do_devshell", "manualfakeroot", "1")
d.delVarFlag("do_devshell", "fakeroot")
}
python __anon_37__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_rootfs_ipk_bbclass () {
def __anon_37__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_rootfs_ipk_bbclass(d):
if d.getVar('BUILD_IMAGES_FROM_FEEDS'):
flags = d.getVarFlag('do_rootfs', 'recrdeptask')
flags = flags.replace("do_package_write_ipk", "")
flags = flags.replace("do_deploy", "")
flags = flags.replace("do_populate_sysroot", "")
d.setVarFlag('do_rootfs', 'recrdeptask', flags)
d.setVar('OPKG_PREPROCESS_COMMANDS', "")
d.setVar('OPKG_POSTPROCESS_COMMANDS', '')
}
python __anon_507__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass () {
def __anon_507__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_bbclass(d):
vardeps = set()
# We allow CONVERSIONTYPES to have duplicates. That avoids breaking
# derived distros when OE-core or some other layer independently adds
# the same type. There is still only one command for each type, but
# presumably the commands will do the same when the type is the same,
# even when added in different places.
#
# Without de-duplication, gen_conversion_cmds() below
# would create the same compression command multiple times.
ctypes = set(d.getVar('CONVERSIONTYPES').split())
old_overrides = d.getVar('OVERRIDES', False)
def _image_base_type(type):
basetype = type
for ctype in ctypes:
if type.endswith("." + ctype):
basetype = type[:-len("." + ctype)]
break
if basetype != type:
# New base type itself might be generated by a conversion command.
basetype = _image_base_type(basetype)
return basetype
basetypes = {}
alltypes = d.getVar('IMAGE_FSTYPES').split()
typedeps = {}
if d.getVar('IMAGE_GEN_DEBUGFS') == "1":
debugfs_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS').split()
for t in debugfs_fstypes:
alltypes.append("debugfs_" + t)
def _add_type(t):
baset = _image_base_type(t)
input_t = t
if baset not in basetypes:
basetypes[baset]= []
if t not in basetypes[baset]:
basetypes[baset].append(t)
debug = ""
if t.startswith("debugfs_"):
t = t[8:]
debug = "debugfs_"
deps = (d.getVar('IMAGE_TYPEDEP_' + t) or "").split()
vardeps.add('IMAGE_TYPEDEP_' + t)
if baset not in typedeps:
typedeps[baset] = set()
deps = [debug + dep for dep in deps]
for dep in deps:
if dep not in alltypes:
alltypes.append(dep)
_add_type(dep)
basedep = _image_base_type(dep)
typedeps[baset].add(basedep)
if baset != input_t:
_add_type(baset)
for t in alltypes[:]:
_add_type(t)
d.appendVarFlag('do_image', 'vardeps', ' '.join(vardeps))
maskedtypes = (d.getVar('IMAGE_TYPES_MASKED') or "").split()
maskedtypes = [dbg + t for t in maskedtypes for dbg in ("", "debugfs_")]
for t in basetypes:
vardeps = set()
cmds = []
subimages = []
realt = t
if t in maskedtypes:
continue
localdata = bb.data.createCopy(d)
debug = ""
if t.startswith("debugfs_"):
setup_debugfs_variables(localdata)
debug = "setup_debugfs "
realt = t[8:]
localdata.setVar('OVERRIDES', '%s:%s' % (realt, old_overrides))
localdata.setVar('type', realt)
# Delete DATETIME so we don't expand any references to it now
# This means the task's hash can be stable rather than having hardcoded
# date/time values. It will get expanded at execution time.
# Similarly TMPDIR since otherwise we see QA stamp comparision problems
localdata.delVar('DATETIME')
localdata.delVar('TMPDIR')
image_cmd = localdata.getVar("IMAGE_CMD")
vardeps.add('IMAGE_CMD_' + realt)
if image_cmd:
cmds.append("\t" + image_cmd)
else:
bb.fatal("No IMAGE_CMD defined for IMAGE_FSTYPES entry '%s' - possibly invalid type name or missing support class" % t)
cmds.append(localdata.expand("\tcd ${IMGDEPLOYDIR}"))
# Since a copy of IMAGE_CMD_xxx will be inlined within do_image_xxx,
# prevent a redundant copy of IMAGE_CMD_xxx being emitted as a function.
d.delVarFlag('IMAGE_CMD_' + realt, 'func')
rm_tmp_images = set()
def gen_conversion_cmds(bt):
for ctype in ctypes:
if bt.endswith("." + ctype):
type = bt[0:-len(ctype) - 1]
if type.startswith("debugfs_"):
type = type[8:]
# Create input image first.
gen_conversion_cmds(type)
localdata.setVar('type', type)
cmd = "\t" + (localdata.getVar("CONVERSION_CMD_" + ctype) or localdata.getVar("COMPRESS_CMD_" + ctype))
if cmd not in cmds:
cmds.append(cmd)
vardeps.add('CONVERSION_CMD_' + ctype)
vardeps.add('COMPRESS_CMD_' + ctype)
subimage = type + "." + ctype
if subimage not in subimages:
subimages.append(subimage)
if type not in alltypes:
rm_tmp_images.add(localdata.expand("${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"))
for bt in basetypes[t]:
gen_conversion_cmds(bt)
localdata.setVar('type', realt)
if t not in alltypes:
rm_tmp_images.add(localdata.expand("${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"))
else:
subimages.append(realt)
# Clean up after applying all conversion commands. Some of them might
# use the same input, therefore we cannot delete sooner without applying
# some complex dependency analysis.
for image in sorted(rm_tmp_images):
cmds.append("\trm " + image)
after = 'do_image'
for dep in typedeps[t]:
after += ' do_image_%s' % dep.replace("-", "_").replace(".", "_")
t = t.replace("-", "_").replace(".", "_")
d.setVar('do_image_%s' % t, '\n'.join(cmds))
d.setVarFlag('do_image_%s' % t, 'func', '1')
d.setVarFlag('do_image_%s' % t, 'fakeroot', '1')
d.setVarFlag('do_image_%s' % t, 'prefuncs', debug + 'set_image_size')
d.setVarFlag('do_image_%s' % t, 'postfuncs', 'create_symlinks')
d.setVarFlag('do_image_%s' % t, 'subimages', ' '.join(subimages))
d.appendVarFlag('do_image_%s' % t, 'vardeps', ' '.join(vardeps))
d.appendVarFlag('do_image_%s' % t, 'vardepsexclude', 'DATETIME')
bb.debug(2, "Adding type %s before %s, after %s" % (t, 'do_image_complete', after))
bb.build.addtask('do_image_%s' % t, 'do_image_complete', after, d)
}
python __anon_51__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_rootfs_postcommands_bbclass () {
def __anon_51__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_rootfs_postcommands_bbclass(d):
d.appendVar('ROOTFS_POSTPROCESS_COMMAND', '${SORT_PASSWD_POSTPROCESS_COMMAND}')
}
python __anon_679__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_base_bbclass () {
def __anon_679__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_base_bbclass(d):
import string, re
# Handle PACKAGECONFIG
#
# These take the form:
#
# PACKAGECONFIG ??= "<default options>"
# PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends"
pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
if pkgconfigflags:
pkgconfig = (d.getVar('PACKAGECONFIG') or "").split()
pn = d.getVar("PN")
mlprefix = d.getVar("MLPREFIX")
def expandFilter(appends, extension, prefix):
appends = bb.utils.explode_deps(d.expand(" ".join(appends)))
newappends = []
for a in appends:
if a.endswith("-native") or ("-cross-" in a):
newappends.append(a)
elif a.startswith("virtual/"):
subs = a.split("/", 1)[1]
if subs.startswith(prefix):
newappends.append(a + extension)
else:
newappends.append("virtual/" + prefix + subs + extension)
else:
if a.startswith(prefix):
newappends.append(a + extension)
else:
newappends.append(prefix + a + extension)
return newappends
def appendVar(varname, appends):
if not appends:
return
if varname.find("DEPENDS") != -1:
if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross-canadian', d) :
appends = expandFilter(appends, "", "nativesdk-")
elif bb.data.inherits_class('native', d):
appends = expandFilter(appends, "-native", "")
elif mlprefix:
appends = expandFilter(appends, "", mlprefix)
varname = d.expand(varname)
d.appendVar(varname, " " + " ".join(appends))
extradeps = []
extrardeps = []
extraconf = []
for flag, flagval in sorted(pkgconfigflags.items()):
items = flagval.split(",")
num = len(items)
if num > 4:
bb.error("%s: PACKAGECONFIG[%s] Only enable,disable,depend,rdepend can be specified!"
% (d.getVar('PN'), flag))
if flag in pkgconfig:
if num >= 3 and items[2]:
extradeps.append(items[2])
if num >= 4 and items[3]:
extrardeps.append(items[3])
if num >= 1 and items[0]:
extraconf.append(items[0])
elif num >= 2 and items[1]:
extraconf.append(items[1])
appendVar('DEPENDS', extradeps)
appendVar('RDEPENDS_${PN}', extrardeps)
appendVar('PACKAGECONFIG_CONFARGS', extraconf)
pn = d.getVar('PN')
license = d.getVar('LICENSE')
if license == "INVALID":
bb.fatal('This recipe does not have the LICENSE field set (%s)' % pn)
if bb.data.inherits_class('license', d):
check_license_format(d)
unmatched_license_flag = check_license_flags(d)
if unmatched_license_flag:
bb.debug(1, "Skipping %s because it has a restricted license not"
" whitelisted in LICENSE_FLAGS_WHITELIST" % pn)
raise bb.parse.SkipPackage("because it has a restricted license not"
" whitelisted in LICENSE_FLAGS_WHITELIST")
# If we're building a target package we need to use fakeroot (pseudo)
# in order to capture permissions, owners, groups and special files
if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d):
d.setVarFlag('do_unpack', 'umask', '022')
d.setVarFlag('do_configure', 'umask', '022')
d.setVarFlag('do_compile', 'umask', '022')
d.appendVarFlag('do_install', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
d.setVarFlag('do_install', 'fakeroot', '1')
d.setVarFlag('do_install', 'umask', '022')
d.appendVarFlag('do_package', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
d.setVarFlag('do_package', 'fakeroot', '1')
d.setVarFlag('do_package', 'umask', '022')
d.setVarFlag('do_package_setscene', 'fakeroot', '1')
d.appendVarFlag('do_package_setscene', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
d.setVarFlag('do_devshell', 'fakeroot', '1')
d.appendVarFlag('do_devshell', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
need_machine = d.getVar('COMPATIBLE_MACHINE')
if need_machine:
import re
compat_machines = (d.getVar('MACHINEOVERRIDES') or "").split(":")
for m in compat_machines:
if re.match(need_machine, m):
break
else:
raise bb.parse.SkipPackage("incompatible with machine %s (not in COMPATIBLE_MACHINE)" % d.getVar('MACHINE'))
source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False)
if not source_mirror_fetch:
need_host = d.getVar('COMPATIBLE_HOST')
if need_host:
import re
this_host = d.getVar('HOST_SYS')
if not re.match(need_host, this_host):
raise bb.parse.SkipPackage("incompatible with host %s (not in COMPATIBLE_HOST)" % this_host)
bad_licenses = (d.getVar('INCOMPATIBLE_LICENSE') or "").split()
check_license = False if pn.startswith("nativesdk-") else True
for t in ["-native", "-cross-${TARGET_ARCH}", "-cross-initial-${TARGET_ARCH}",
"-crosssdk-${SDK_SYS}", "-crosssdk-initial-${SDK_SYS}",
"-cross-canadian-${TRANSLATED_TARGET_ARCH}"]:
if pn.endswith(d.expand(t)):
check_license = False
if pn.startswith("gcc-source-"):
check_license = False
if check_license and bad_licenses:
bad_licenses = expand_wildcard_licenses(d, bad_licenses)
whitelist = []
incompatwl = []
for lic in bad_licenses:
spdx_license = return_spdx(d, lic)
for w in ["LGPLv2_WHITELIST_", "WHITELIST_"]:
whitelist.extend((d.getVar(w + lic) or "").split())
if spdx_license:
whitelist.extend((d.getVar(w + spdx_license) or "").split())
'''
We need to track what we are whitelisting and why. If pn is
incompatible we need to be able to note that the image that
is created may infact contain incompatible licenses despite
INCOMPATIBLE_LICENSE being set.
'''
incompatwl.extend((d.getVar(w + lic) or "").split())
if spdx_license:
incompatwl.extend((d.getVar(w + spdx_license) or "").split())
if not pn in whitelist:
pkgs = d.getVar('PACKAGES').split()
skipped_pkgs = []
unskipped_pkgs = []
for pkg in pkgs:
if incompatible_license(d, bad_licenses, pkg):
skipped_pkgs.append(pkg)
else:
unskipped_pkgs.append(pkg)
all_skipped = skipped_pkgs and not unskipped_pkgs
if unskipped_pkgs:
for pkg in skipped_pkgs:
bb.debug(1, "SKIPPING the package " + pkg + " at do_rootfs because it's " + license)
mlprefix = d.getVar('MLPREFIX')
d.setVar('LICENSE_EXCLUSION-' + mlprefix + pkg, 1)
for pkg in unskipped_pkgs:
bb.debug(1, "INCLUDING the package " + pkg)
elif all_skipped or incompatible_license(d, bad_licenses):
bb.debug(1, "SKIPPING recipe %s because it's %s" % (pn, license))
raise bb.parse.SkipPackage("it has an incompatible license: %s" % license)
elif pn in whitelist:
if pn in incompatwl:
bb.note("INCLUDING " + pn + " as buildable despite INCOMPATIBLE_LICENSE because it has been whitelisted")
# Try to verify per-package (LICENSE_<pkg>) values. LICENSE should be a
# superset of all per-package licenses. We do not do advanced (pattern)
# matching of license expressions - just check that all license strings
# in LICENSE_<pkg> are found in LICENSE.
license_set = oe.license.list_licenses(license)
for pkg in d.getVar('PACKAGES').split():
pkg_license = d.getVar('LICENSE_' + pkg)
if pkg_license:
unlisted = oe.license.list_licenses(pkg_license) - license_set
if unlisted:
bb.warn("LICENSE_%s includes licenses (%s) that are not "
"listed in LICENSE" % (pkg, ' '.join(unlisted)))
needsrcrev = False
srcuri = d.getVar('SRC_URI')
for uri in srcuri.split():
(scheme, _ , path) = bb.fetch.decodeurl(uri)[:3]
# HTTP/FTP use the wget fetcher
if scheme in ("http", "https", "ftp"):
d.appendVarFlag('do_fetch', 'depends', ' wget-native:do_populate_sysroot')
# Svn packages should DEPEND on subversion-native
if scheme == "svn":
needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')
# Git packages should DEPEND on git-native
elif scheme in ("git", "gitsm"):
needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')
# Mercurial packages should DEPEND on mercurial-native
elif scheme == "hg":
needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')
# Perforce packages support SRCREV = "${AUTOREV}"
elif scheme == "p4":
needsrcrev = True
# OSC packages should DEPEND on osc-native
elif scheme == "osc":
d.appendVarFlag('do_fetch', 'depends', ' osc-native:do_populate_sysroot')
elif scheme == "npm":
d.appendVarFlag('do_fetch', 'depends', ' nodejs-native:do_populate_sysroot')
# *.lz4 should DEPEND on lz4-native for unpacking
if path.endswith('.lz4'):
d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')
# *.lz should DEPEND on lzip-native for unpacking
elif path.endswith('.lz'):
d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot')
# *.xz should DEPEND on xz-native for unpacking
elif path.endswith('.xz'):
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
# .zip should DEPEND on unzip-native for unpacking
elif path.endswith('.zip'):
d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')
# file is needed by rpm2cpio.sh
elif path.endswith('.src.rpm'):
d.appendVarFlag('do_unpack', 'depends', ' file-native:do_populate_sysroot')
if needsrcrev:
d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}")
set_packagetriplet(d)
# 'multimachine' handling
mach_arch = d.getVar('MACHINE_ARCH')
pkg_arch = d.getVar('PACKAGE_ARCH')
if (pkg_arch == mach_arch):
# Already machine specific - nothing further to do
return
#
# We always try to scan SRC_URI for urls with machine overrides
# unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
#
override = d.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH')
if override != '0':
paths = []
fpaths = (d.getVar('FILESPATH') or '').split(':')
machine = d.getVar('MACHINE')
for p in fpaths:
if os.path.basename(p) == machine and os.path.isdir(p):
paths.append(p)
if len(paths) != 0:
for s in srcuri.split():
if not s.startswith("file://"):
continue
fetcher = bb.fetch2.Fetch([s], d)
local = fetcher.localpath(s)
for mp in paths:
if local.startswith(mp):
#bb.note("overriding PACKAGE_ARCH from %s to %s for %s" % (pkg_arch, mach_arch, pn))
d.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}")
return
packages = d.getVar('PACKAGES').split()
for pkg in packages:
pkgarch = d.getVar("PACKAGE_ARCH_%s" % pkg)
# We could look for != PACKAGE_ARCH here but how to choose
# if multiple differences are present?
# Look through PACKAGE_ARCHS for the priority order?
if pkgarch and pkgarch == mach_arch:
d.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}")
bb.warn("Recipe %s is marked as only being architecture specific but seems to have machine specific packages?! The recipe may as well mark itself as machine specific directly." % d.getVar("PN"))
}
python __anon_94__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_types_wic_bbclass () {
def __anon_94__home_mnhu_projects_pil_yocto_meta_poky_meta_classes_image_types_wic_bbclass(d):
if d.getVar('USING_WIC'):
wks_file_u = d.getVar('WKS_FULL_PATH', False)
wks_file = d.expand(wks_file_u)
base, ext = os.path.splitext(wks_file)
if ext == '.in' and os.path.exists(wks_file):
wks_out_file = os.path.join(d.getVar('WORKDIR'), os.path.basename(base))
d.setVar('WKS_FULL_PATH', wks_out_file)
d.setVar('WKS_TEMPLATE_PATH', wks_file_u)
d.setVar('WKS_FILE_CHECKSUM', '${WKS_TEMPLATE_PATH}:True')
# We need to re-parse each time the file changes, and bitbake
# needs to be told about that explicitly.
bb.parse.mark_dependency(d, wks_file)
try:
with open(wks_file, 'r') as f:
body = f.read()
except (IOError, OSError) as exc:
pass
else:
# Previously, I used expandWithRefs to get the dependency list
# and add it to WICVARS, but there's no point re-parsing the
# file in process_wks_template as well, so just put it in
# a variable and let the metadata deal with the deps.
d.setVar('_WKS_TEMPLATE', body)
bb.build.addtask('do_write_wks_template', 'do_image_wic', None, d)
}
python add_package_and_files () {
def add_package_and_files(d):
packages = d.getVar('PACKAGES')
files = d.getVar('LICENSE_FILES_DIRECTORY')
pn = d.getVar('PN')
pn_lic = "%s%s" % (pn, d.getVar('LICENSE_PACKAGE_SUFFIX', False))
if pn_lic in packages:
bb.warn("%s package already existed in %s." % (pn_lic, pn))
else:
# first in PACKAGES to be sure that nothing else gets LICENSE_FILES_DIRECTORY
d.setVar('PACKAGES', "%s %s" % (pn_lic, packages))
d.setVar('FILES_' + pn_lic, files)
rrecommends_pn = d.getVar('RRECOMMENDS_' + pn)
if rrecommends_pn:
d.setVar('RRECOMMENDS_' + pn, "%s %s" % (pn_lic, rrecommends_pn))
else:
d.setVar('RRECOMMENDS_' + pn, "%s" % (pn_lic))
}
python all_multilib_tune_list () {
def all_multilib_tune_list(vars, d):
"""
Return a list of ${VAR} for each variable VAR in vars from each
multilib tune configuration.
Is safe to be called from a multilib recipe/context as it can
figure out the original tune and remove the multilib overrides.
"""
values = {}
for v in vars:
values[v] = []
localdata = bb.data.createCopy(d)
overrides = localdata.getVar("OVERRIDES", False).split(":")
newoverrides = []
for o in overrides:
if not o.startswith("virtclass-multilib-"):
newoverrides.append(o)
localdata.setVar("OVERRIDES", ":".join(newoverrides))
localdata.setVar("MLPREFIX", "")
origdefault = localdata.getVar("DEFAULTTUNE_MULTILIB_ORIGINAL")
if origdefault:
localdata.setVar("DEFAULTTUNE", origdefault)
values['ml'] = ['']
for v in vars:
values[v].append(localdata.getVar(v))
variants = d.getVar("MULTILIB_VARIANTS") or ""
for item in variants.split():
localdata = get_multilib_datastore(item, d)
values[v].append(localdata.getVar(v))
values['ml'].append(item)
return values
}
python all_multilib_tune_values () {
def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = ' '):
"""Return a string of all ${var} in all multilib tune configuration"""
values = []
value = d.getVar(var) or ""
if value != "":
if need_split:
for item in value.split(delim):
values.append(item)
else:
values.append(value)
variants = d.getVar("MULTILIB_VARIANTS") or ""
for item in variants.split():
localdata = get_multilib_datastore(item, d)
value = localdata.getVar(var) or ""
if value != "":
if need_split:
for item in value.split(delim):
values.append(item)
else:
values.append(value)
if unique:
#we do this to keep order as much as possible
ret = []
for value in values:
if not value in ret:
ret.append(value)
else:
ret = values
return " ".join(ret)
}
python base_both_contain () {
def base_both_contain(variable1, variable2, checkvalue, d):
return oe.utils.both_contain(variable1, variable2, checkvalue, d)
}
python base_conditional () {
def base_conditional(variable, checkvalue, truevalue, falsevalue, d):
return oe.utils.conditional(variable, checkvalue, truevalue, falsevalue, d)
}
python base_contains () {
def base_contains(variable, checkvalues, truevalue, falsevalue, d):
bb.note('base_contains is deprecated, please use bb.utils.contains instead.')
return bb.utils.contains(variable, checkvalues, truevalue, falsevalue, d)
}
python base_dep_prepend () {
None}
python base_detect_branch () {
def base_detect_branch(d):
path = base_get_scmbasepath(d)
scms = [base_get_metadata_git_branch]
for scm in scms:
rev = scm(path, d)
if rev != "<unknown>":
return rev.strip()
return "<unknown>"
}
python base_detect_revision () {
def base_detect_revision(d):
path = base_get_scmbasepath(d)
scms = [base_get_metadata_git_revision]
for scm in scms:
rev = scm(path, d)
if rev != "<unknown>":
return rev
return "<unknown>"
}
python base_do_fetch () {
src_uri = (d.getVar('SRC_URI') or "").split()
if len(src_uri) == 0:
return
try:
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.download()
except bb.fetch2.BBFetchException as e:
bb.fatal(str(e))
}
python base_do_unpack () {
src_uri = (d.getVar('SRC_URI') or "").split()
if len(src_uri) == 0:
return
try:
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.unpack(d.getVar('WORKDIR'))
except bb.fetch2.BBFetchException as e:
bb.fatal(str(e))
}
python base_eventhandler () {
import bb.runqueue
if isinstance(e, bb.event.ConfigParsed):
if not e.data.getVar("NATIVELSBSTRING", False):
e.data.setVar("NATIVELSBSTRING", lsb_distro_identifier(e.data))
e.data.setVar('BB_VERSION', bb.__version__)
pkgarch_mapping(e.data)
oe.utils.features_backfill("DISTRO_FEATURES", e.data)
oe.utils.features_backfill("MACHINE_FEATURES", e.data)
# Works with the line in layer.conf which changes PATH to point here
setup_hosttools_dir(d.getVar('HOSTTOOLS_DIR'), 'HOSTTOOLS', d)
setup_hosttools_dir(d.getVar('HOSTTOOLS_DIR'), 'HOSTTOOLS_NONFATAL', d, fatal=False)
if isinstance(e, bb.event.BuildStarted):
localdata = bb.data.createCopy(e.data)
statuslines = []
for func in oe.data.typed_value('BUILDCFG_FUNCS', localdata):
g = globals()
if func not in g:
bb.warn("Build configuration function '%s' does not exist" % func)
else:
flines = g[func](localdata)
if flines:
statuslines.extend(flines)
statusheader = e.data.getVar('BUILDCFG_HEADER')
if statusheader:
bb.plain('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines)))
# This code is to silence warnings where the SDK variables overwrite the
# target ones and we'd see dulpicate key names overwriting each other
# for various PREFERRED_PROVIDERS
if isinstance(e, bb.event.RecipePreFinalise):
if e.data.getVar("TARGET_PREFIX") == e.data.getVar("SDK_PREFIX"):
e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils")
e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial")
e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc")
e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++")
e.data.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs")
if isinstance(e, bb.runqueue.sceneQueueComplete):
completions = e.data.expand("${STAGING_DIR}/sstatecompletions")
if os.path.exists(completions):
cmds = set()
with open(completions, "r") as f:
cmds = set(f)
e.data.setVar("completion_function", "\n".join(cmds))
e.data.setVarFlag("completion_function", "func", "1")
bb.debug(1, "Executing SceneQueue Completion commands: %s" % "\n".join(cmds))
bb.build.exec_func("completion_function", e.data)
os.remove(completions)
if isinstance(e, bb.event.RecipeParsed):
#
# If we have multiple providers of virtual/X and a PREFERRED_PROVIDER_virtual/X is set
# skip parsing for all the other providers which will mean they get uninstalled from the
# sysroot since they're now "unreachable". This makes switching virtual/kernel work in
# particular.
#
pn = d.getVar('PN')
source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False)
if not source_mirror_fetch:
provs = (d.getVar("PROVIDES") or "").split()
multiwhitelist = (d.getVar("MULTI_PROVIDER_WHITELIST") or "").split()
for p in provs:
if p.startswith("virtual/") and p not in multiwhitelist:
profprov = d.getVar("PREFERRED_PROVIDER_" + p)
if profprov and pn != profprov:
raise bb.parse.SkipPackage("PREFERRED_PROVIDER_%s set to %s, not %s" % (p, profprov, pn))
}
python base_get_metadata_git_branch () {
def base_get_metadata_git_branch(path, d):
import bb.process
try:
rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path)
except bb.process.ExecutionError:
rev = '<unknown>'
return rev.strip()
}
python base_get_metadata_git_revision () {
def base_get_metadata_git_revision(path, d):
import bb.process
try:
rev, _ = bb.process.run('git rev-parse HEAD', cwd=path)
except bb.process.ExecutionError:
rev = '<unknown>'
return rev.strip()}
python base_get_metadata_monotone_branch () {
def base_get_metadata_monotone_branch(path, d):
monotone_branch = "<unknown>"
try:
with open("%s/_MTN/options" % path) as f:
monotone_branch = f.read().strip()
if monotone_branch.startswith( "database" ):
monotone_branch_words = monotone_branch.split()
monotone_branch = monotone_branch_words[ monotone_branch_words.index( "branch" )+1][1:-1]
except:
pass
return monotone_branch
}
python base_get_metadata_monotone_revision () {
def base_get_metadata_monotone_revision(path, d):
monotone_revision = "<unknown>"
try:
with open("%s/_MTN/revision" % path) as f:
monotone_revision = f.read().strip()
if monotone_revision.startswith( "format_version" ):
monotone_revision_words = monotone_revision.split()
monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1]
except IOError:
pass
return monotone_revision
}
python base_get_metadata_svn_revision () {
def base_get_metadata_svn_revision(path, d):
# This only works with older subversion. For newer versions
# this function will need to be fixed by someone interested
revision = "<unknown>"
try:
with open("%s/.svn/entries" % path) as f:
revision = f.readlines()[3].strip()
except (IOError, IndexError):
pass
return revision
}
python base_get_scmbasepath () {
def base_get_scmbasepath(d):
return os.path.join(d.getVar('COREBASE'), 'meta')
}
python base_ifelse () {
def base_ifelse(condition, iftrue = True, iffalse = False):
return oe.utils.ifelse(condition, iftrue, iffalse)
}
python base_less_or_equal () {
def base_less_or_equal(variable, checkvalue, truevalue, falsevalue, d):
return oe.utils.less_or_equal(variable, checkvalue, truevalue, falsevalue, d)
}
python base_path_join () {
def base_path_join(a, *p):
return oe.path.join(a, *p)
}
python base_path_out () {
def base_path_out(path, d):
return oe.path.format_display(path, d)
}
python base_path_relative () {
def base_path_relative(src, dest):
return oe.path.relative(src, dest)
}
python base_prune_suffix () {
def base_prune_suffix(var, suffixes, d):
return oe.utils.prune_suffix(var, suffixes, d)
}
python base_read_file () {
def base_read_file(filename):
return oe.utils.read_file(filename)
}
python base_set_filespath () {
def base_set_filespath(path, d):
filespath = []
extrapaths = (d.getVar("FILESEXTRAPATHS") or "")
# Remove default flag which was used for checking
extrapaths = extrapaths.replace("__default:", "")
# Don't prepend empty strings to the path list
if extrapaths != "":
path = extrapaths.split(":") + path
# The ":" ensures we have an 'empty' override
overrides = (":" + (d.getVar("FILESOVERRIDES") or "")).split(":")
overrides.reverse()
for o in overrides:
for p in path:
if p != "":
filespath.append(os.path.join(p, o))
return ":".join(filespath)
}
python base_version_less_or_equal () {
def base_version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d):
return oe.utils.version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d)
}
python bblayers_conf_file () {
def bblayers_conf_file(d):
return os.path.join(d.getVar('TOPDIR'), 'conf/bblayers.conf')
}
python build_live () {
def build_live(d):
if bb.utils.contains("IMAGE_FSTYPES", "live", "live", "0", d) == "0": # live is not set but hob might set iso or hddimg
d.setVar('NOISO', bb.utils.contains('IMAGE_FSTYPES', "iso", "0", "1", d))
d.setVar('NOHDD', bb.utils.contains('IMAGE_FSTYPES', "hddimg", "0", "1", d))
if d.getVar('NOISO') == "0" or d.getVar('NOHDD') == "0":
return "image-live"
return ""
return "image-live"
}
python build_uboot () {
def build_uboot(d):
if 'u-boot' in (d.getVar('IMAGE_FSTYPES') or ''):
return "image_types_uboot"
else:
return ""
}
python buildcfg_neededvars () {
def buildcfg_neededvars(d):
needed_vars = oe.data.typed_value("BUILDCFG_NEEDEDVARS", d)
pesteruser = []
for v in needed_vars:
val = d.getVar(v)
if not val or val == 'INVALID':
pesteruser.append(v)
if pesteruser:
bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser))
}
python buildcfg_vars () {
def buildcfg_vars(d):
statusvars = oe.data.typed_value('BUILDCFG_VARS', d)
for var in statusvars:
value = d.getVar(var)
if value is not None:
yield '%-17s = "%s"' % (var, value)
}
python canonical_license () {
def canonical_license(d, license):
"""
Return the canonical (SPDX) form of the license if available (so GPLv3
becomes GPL-3.0), for the license named 'X+', return canonical form of
'X' if availabel and the tailing '+' (so GPLv3+ becomes GPL-3.0+),
or the passed license if there is no canonical form.
"""
lic = d.getVarFlag('SPDXLICENSEMAP', license) or ""
if not lic and license.endswith('+'):
lic = d.getVarFlag('SPDXLICENSEMAP', license.rstrip('+'))
if lic:
lic += '+'
return lic or license
}
python check_app_exists () {
def check_app_exists(app, d):
app = d.expand(app).strip()
path = d.getVar('PATH')
return bool(bb.utils.which(path, app))
}
python check_conf_exists () {
def check_conf_exists(fn, data):
bbpath = []
fn = data.expand(fn)
vbbpath = data.getVar("BBPATH", False)
if vbbpath:
bbpath += vbbpath.split(":")
for p in bbpath:
currname = os.path.join(data.expand(p), fn)
if os.access(currname, os.R_OK):
return True
return False
}
python check_connectivity () {
def check_connectivity(d):
# URI's to check can be set in the CONNECTIVITY_CHECK_URIS variable
# using the same syntax as for SRC_URI. If the variable is not set
# the check is skipped
test_uris = (d.getVar('CONNECTIVITY_CHECK_URIS') or "").split()
retval = ""
bbn = d.getVar('BB_NO_NETWORK')
if bbn not in (None, '0', '1'):
return 'BB_NO_NETWORK should be "0" or "1", but it is "%s"' % bbn
# Only check connectivity if network enabled and the
# CONNECTIVITY_CHECK_URIS are set
network_enabled = not (bbn == '1')
check_enabled = len(test_uris)
if check_enabled and network_enabled:
# Take a copy of the data store and unset MIRRORS and PREMIRRORS
data = bb.data.createCopy(d)
data.delVar('PREMIRRORS')
data.delVar('MIRRORS')
try:
fetcher = bb.fetch2.Fetch(test_uris, data)
fetcher.checkstatus()
except Exception as err:
# Allow the message to be configured so that users can be
# pointed to a support mechanism.
msg = data.getVar('CONNECTIVITY_CHECK_MSG') or ""
if len(msg) == 0:
msg = "%s.\n" % err
msg += " Please ensure your host's network is configured correctly,\n"
msg += " or set BB_NO_NETWORK = \"1\" to disable network access if\n"
msg += " all required sources are on local disk.\n"
retval = msg
return retval
}
python check_create_long_filename () {
def check_create_long_filename(filepath, pathname):
import string, random
testfile = os.path.join(filepath, ''.join(random.choice(string.ascii_letters) for x in range(200)))
try:
if not os.path.exists(filepath):
bb.utils.mkdirhier(filepath)
f = open(testfile, "w")
f.close()
os.remove(testfile)
except IOError as e:
import errno
err, strerror = e.args
if err == errno.ENAMETOOLONG:
return "Failed to create a file with a long name in %s. Please use a filesystem that does not unreasonably limit filename length.\n" % pathname
else:
return "Failed to create a file in %s: %s.\n" % (pathname, strerror)
except OSError as e:
errno, strerror = e.args
return "Failed to create %s directory in which to run long name sanity check: %s.\n" % (pathname, strerror)
return ""
}
python check_gcc_march () {
def check_gcc_march(sanity_data):
result = True
message = ""
# Check if -march not in BUILD_CFLAGS
if sanity_data.getVar("BUILD_CFLAGS").find("-march") < 0:
result = False
# Construct a test file
f = open("gcc_test.c", "w")
f.write("int main (){ volatile int atomic = 2; __sync_bool_compare_and_swap (&atomic, 2, 3); return 0; }\n")
f.close()
# Check if GCC could work without march
if not result:
status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} gcc_test.c -o gcc_test"))
if status == 0:
result = True;
if not result:
status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} -march=native gcc_test.c -o gcc_test"))
if status == 0:
message = "BUILD_CFLAGS_append = \" -march=native\""
result = True;
if not result:
build_arch = sanity_data.getVar('BUILD_ARCH')
status,res = oe.utils.getstatusoutput(sanity_data.expand("${BUILD_CC} -march=%s gcc_test.c -o gcc_test" % build_arch))
if status == 0:
message = "BUILD_CFLAGS_append = \" -march=%s\"" % build_arch
result = True;
os.remove("gcc_test.c")
if os.path.exists("gcc_test"):
os.remove("gcc_test")
return (result, message)
}
python check_git_version () {
def check_git_version(sanity_data):
from distutils.version import LooseVersion
status, result = oe.utils.getstatusoutput("git --version 2> /dev/null")
if status != 0:
return "Unable to execute git --version, exit code %s\n" % status
version = result.split()[2]
if LooseVersion(version) < LooseVersion("1.8.3.1"):
return "Your version of git is older than 1.8.3.1 and has bugs which will break builds. Please install a newer version of git.\n"
return None
}
python check_image_features () {
def check_image_features(d):
valid_features = (d.getVarFlag('IMAGE_FEATURES', 'validitems') or "").split()
valid_features += d.getVarFlags('COMPLEMENTARY_GLOB').keys()
for var in d:
if var.startswith("PACKAGE_GROUP_"):
bb.warn("PACKAGE_GROUP is deprecated, please use FEATURE_PACKAGES instead")
valid_features.append(var[14:])
elif var.startswith("FEATURE_PACKAGES_"):
valid_features.append(var[17:])
valid_features.sort()
features = set(oe.data.typed_value('IMAGE_FEATURES', d))
for feature in features:
if feature not in valid_features:
if bb.utils.contains('EXTRA_IMAGE_FEATURES', feature, True, False, d):
raise bb.parse.SkipRecipe("'%s' in IMAGE_FEATURES (added via EXTRA_IMAGE_FEATURES) is not a valid image feature. Valid features: %s" % (feature, ' '.join(valid_features)))
else:
raise bb.parse.SkipRecipe("'%s' in IMAGE_FEATURES is not a valid image feature. Valid features: %s" % (feature, ' '.join(valid_features)))
}
python check_license_flags () {
def check_license_flags(d):
"""
This function checks if a recipe has any LICENSE_FLAGS that
aren't whitelisted.
If it does, it returns the first LICENSE_FLAGS item missing from the
whitelist, or all of the LICENSE_FLAGS if there is no whitelist.
If everything is is properly whitelisted, it returns None.
"""
def license_flag_matches(flag, whitelist, pn):
"""
Return True if flag matches something in whitelist, None if not.
Before we test a flag against the whitelist, we append _${PN}
to it. We then try to match that string against the
whitelist. This covers the normal case, where we expect
LICENSE_FLAGS to be a simple string like 'commercial', which
the user typically matches exactly in the whitelist by
explicitly appending the package name e.g 'commercial_foo'.
If we fail the match however, we then split the flag across
'_' and append each fragment and test until we either match or
run out of fragments.
"""
flag_pn = ("%s_%s" % (flag, pn))
for candidate in whitelist:
if flag_pn == candidate:
return True
flag_cur = ""
flagments = flag_pn.split("_")
flagments.pop() # we've already tested the full string
for flagment in flagments:
if flag_cur:
flag_cur += "_"
flag_cur += flagment
for candidate in whitelist:
if flag_cur == candidate:
return True
return False
def all_license_flags_match(license_flags, whitelist):
""" Return first unmatched flag, None if all flags match """
pn = d.getVar('PN')
split_whitelist = whitelist.split()
for flag in license_flags.split():
if not license_flag_matches(flag, split_whitelist, pn):
return flag
return None
license_flags = d.getVar('LICENSE_FLAGS')
if license_flags:
whitelist = d.getVar('LICENSE_FLAGS_WHITELIST')
if not whitelist:
return license_flags
unmatched_flag = all_license_flags_match(license_flags, whitelist)
if unmatched_flag:
return unmatched_flag
return None
}
python check_license_format () {
def check_license_format(d):
"""
This function checks if LICENSE is well defined,
Validate operators in LICENSES.
No spaces are allowed between LICENSES.
"""
pn = d.getVar('PN')
licenses = d.getVar('LICENSE')
from oe.license import license_operator, license_operator_chars, license_pattern
elements = list(filter(lambda x: x.strip(), license_operator.split(licenses)))
for pos, element in enumerate(elements):
if license_pattern.match(element):
if pos > 0 and license_pattern.match(elements[pos - 1]):
bb.warn('%s: LICENSE value "%s" has an invalid format - license names ' \
'must be separated by the following characters to indicate ' \
'the license selection: %s' %
(pn, licenses, license_operator_chars))
elif not license_operator.match(element):
bb.warn('%s: LICENSE value "%s" has an invalid separator "%s" that is not ' \
'in the valid list of separators (%s)' %
(pn, licenses, element, license_operator_chars))
}
python check_make_version () {
def check_make_version(sanity_data):
from distutils.version import LooseVersion
status, result = oe.utils.getstatusoutput("make --version")
if status != 0:
return "Unable to execute make --version, exit code %s\n" % status
version = result.split()[2]
if LooseVersion(version) == LooseVersion("3.82"):
# Construct a test file
f = open("makefile_test", "w")
f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
f.write("\n")
f.write("makefile_test_a.c:\n")
f.write(" touch $@\n")
f.write("\n")
f.write("makefile_test_b.c:\n")
f.write(" touch $@\n")
f.close()
# Check if make 3.82 has been patched
status,result = oe.utils.getstatusoutput("make -f makefile_test")
os.remove("makefile_test")
if os.path.exists("makefile_test_a.c"):
os.remove("makefile_test_a.c")
if os.path.exists("makefile_test_b.c"):
os.remove("makefile_test_b.c")
if os.path.exists("makefile_test.a"):
os.remove("makefile_test.a")
if status != 0:
return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
return None
}
python check_not_nfs () {
def check_not_nfs(path, name):
# The nfs' filesystem id is 6969
if get_filesystem_id(path) == "6969":
return "The %s: %s can't be located on nfs.\n" % (name, path)
return ""
}
python check_path_length () {
def check_path_length(filepath, pathname, limit):
if len(filepath) > limit:
return "The length of %s is longer than %s, this would cause unexpected errors, please use a shorter path.\n" % (pathname, limit)
return ""
}
python check_perl_modules () {
def check_perl_modules(sanity_data):
ret = ""
modules = ( "Text::ParseWords", "Thread::Queue", "Data::Dumper" )
errresult = ''
for m in modules:
status, result = oe.utils.getstatusoutput("perl -e 'use %s'" % m)
if status != 0:
errresult += result
ret += "%s " % m
if ret:
return "Required perl module(s) not found: %s\n\n%s\n" % (ret, errresult)
return None
}
python check_sanity () {
def check_sanity(sanity_data):
class SanityStatus(object):
def __init__(self):
self.messages = ""
self.network_error = False
def addresult(self, message):
if message:
self.messages = self.messages + message
status = SanityStatus()
tmpdir = sanity_data.getVar('TMPDIR')
sstate_dir = sanity_data.getVar('SSTATE_DIR')
check_symlink(sstate_dir, sanity_data)
# Check saved sanity info
last_sanity_version = 0
last_tmpdir = ""
last_sstate_dir = ""
last_nativelsbstr = ""
sanityverfile = sanity_data.expand("${TOPDIR}/conf/sanity_info")
if os.path.exists(sanityverfile):
with open(sanityverfile, 'r') as f:
for line in f:
if line.startswith('SANITY_VERSION'):
last_sanity_version = int(line.split()[1])
if line.startswith('TMPDIR'):
last_tmpdir = line.split()[1]
if line.startswith('SSTATE_DIR'):
last_sstate_dir = line.split()[1]
if line.startswith('NATIVELSBSTRING'):
last_nativelsbstr = line.split()[1]
check_sanity_everybuild(status, sanity_data)
sanity_version = int(sanity_data.getVar('SANITY_VERSION') or 1)
network_error = False
# NATIVELSBSTRING var may have been overridden with "universal", so
# get actual host distribution id and version
nativelsbstr = lsb_distro_identifier(sanity_data)
if last_sanity_version < sanity_version or last_nativelsbstr != nativelsbstr:
check_sanity_version_change(status, sanity_data)
status.addresult(check_sanity_sstate_dir_change(sstate_dir, sanity_data))
else:
if last_sstate_dir != sstate_dir:
status.addresult(check_sanity_sstate_dir_change(sstate_dir, sanity_data))
if os.path.exists(os.path.dirname(sanityverfile)) and not status.messages:
with open(sanityverfile, 'w') as f:
f.write("SANITY_VERSION %s\n" % sanity_version)
f.write("TMPDIR %s\n" % tmpdir)
f.write("SSTATE_DIR %s\n" % sstate_dir)
f.write("NATIVELSBSTRING %s\n" % nativelsbstr)
sanity_handle_abichanges(status, sanity_data)
if status.messages != "":
raise_sanity_error(sanity_data.expand(status.messages), sanity_data, status.network_error)
}
python check_sanity_eventhandler () {
if bb.event.getName(e) == "SanityCheck":
sanity_data = copy_data(e)
check_sanity(sanity_data)
if e.generateevents:
sanity_data.setVar("SANITY_USE_EVENTS", "1")
bb.event.fire(bb.event.SanityCheckPassed(), e.data)
elif bb.event.getName(e) == "NetworkTest":
sanity_data = copy_data(e)
if e.generateevents:
sanity_data.setVar("SANITY_USE_EVENTS", "1")
bb.event.fire(bb.event.NetworkTestFailed() if check_connectivity(sanity_data) else bb.event.NetworkTestPassed(), e.data)
return
}
python check_sanity_everybuild () {
def check_sanity_everybuild(status, d):
import os, stat
# Sanity tests which test the users environment so need to run at each build (or are so cheap
# it makes sense to always run them.
if 0 == os.getuid():
raise_sanity_error("Do not use Bitbake as root.", d)
# Check the Python version, we now have a minimum of Python 2.7.3
import sys
if sys.hexversion < 0x020703F0:
status.addresult('The system requires at least Python 2.7.3 to run. Please update your Python interpreter.\n')
# Check the bitbake version meets minimum requirements
from distutils.version import LooseVersion
minversion = d.getVar('BB_MIN_VERSION')
if (LooseVersion(bb.__version__) < LooseVersion(minversion)):
status.addresult('Bitbake version %s is required and version %s was found\n' % (minversion, bb.__version__))
sanity_check_locale(d)
paths = d.getVar('PATH').split(":")
if "." in paths or "./" in paths or "" in paths:
status.addresult("PATH contains '.', './' or '' (empty element), which will break the build, please remove this.\nParsed PATH is " + str(paths) + "\n")
# Check that the DISTRO is valid, if set
# need to take into account DISTRO renaming DISTRO
distro = d.getVar('DISTRO')
if distro and distro != "nodistro":
if not ( check_conf_exists("conf/distro/${DISTRO}.conf", d) or check_conf_exists("conf/distro/include/${DISTRO}.inc", d) ):
status.addresult("DISTRO '%s' not found. Please set a valid DISTRO in your local.conf\n" % d.getVar("DISTRO"))
# Check that DL_DIR is set, exists and is writable. In theory, we should never even hit the check if DL_DIR isn't
# set, since so much relies on it being set.
dldir = d.getVar('DL_DIR')
if not dldir:
status.addresult("DL_DIR is not set. Your environment is misconfigured, check that DL_DIR is set, and if the directory exists, that it is writable. \n")
if os.path.exists(dldir) and not os.access(dldir, os.W_OK):
status.addresult("DL_DIR: %s exists but you do not appear to have write access to it. \n" % dldir)
check_symlink(dldir, d)
# Check that the MACHINE is valid, if it is set
machinevalid = True
if d.getVar('MACHINE'):
if not check_conf_exists("conf/machine/${MACHINE}.conf", d):
status.addresult('MACHINE=%s is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.\n' % (d.getVar('MACHINE')))
machinevalid = False
else:
status.addresult(check_sanity_validmachine(d))
else:
status.addresult('Please set a MACHINE in your local.conf or environment\n')
machinevalid = False
if machinevalid:
status.addresult(check_toolchain(d))
# Check that the SDKMACHINE is valid, if it is set
if d.getVar('SDKMACHINE'):
if not check_conf_exists("conf/machine-sdk/${SDKMACHINE}.conf", d):
status.addresult('Specified SDKMACHINE value is not valid\n')
elif d.getVar('SDK_ARCH', False) == "${BUILD_ARCH}":
status.addresult('SDKMACHINE is set, but SDK_ARCH has not been changed as a result - SDKMACHINE may have been set too late (e.g. in the distro configuration)\n')
check_supported_distro(d)
omask = os.umask(0o022)
if omask & 0o755:
status.addresult("Please use a umask which allows a+rx and u+rwx\n")
os.umask(omask)
if d.getVar('TARGET_ARCH') == "arm":
# This path is no longer user-readable in modern (very recent) Linux
try:
if os.path.exists("/proc/sys/vm/mmap_min_addr"):
f = open("/proc/sys/vm/mmap_min_addr", "r")
try:
if (int(f.read().strip()) > 65536):
status.addresult("/proc/sys/vm/mmap_min_addr is not <= 65536. This will cause problems with qemu so please fix the value (as root).\n\nTo fix this in later reboots, set vm.mmap_min_addr = 65536 in /etc/sysctl.conf.\n")
finally:
f.close()
except:
pass
oeroot = d.getVar('COREBASE')
if oeroot.find('+') != -1:
status.addresult("Error, you have an invalid character (+) in your COREBASE directory path. Please move the installation to a directory which doesn't include any + characters.")
if oeroot.find('@') != -1:
status.addresult("Error, you have an invalid character (@) in your COREBASE directory path. Please move the installation to a directory which doesn't include any @ characters.")
if oeroot.find(' ') != -1:
status.addresult("Error, you have a space in your COREBASE directory path. Please move the installation to a directory which doesn't include a space since autotools doesn't support this.")
# Check the format of MIRRORS, PREMIRRORS and SSTATE_MIRRORS
import re
mirror_vars = ['MIRRORS', 'PREMIRRORS', 'SSTATE_MIRRORS']
protocols = ['http', 'ftp', 'file', 'https', \
'git', 'gitsm', 'hg', 'osc', 'p4', 'svn', \
'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3' ]
for mirror_var in mirror_vars:
mirrors = (d.getVar(mirror_var) or '').replace('\\n', ' ').split()
# Split into pairs
if len(mirrors) % 2 != 0:
bb.warn('Invalid mirror variable value for %s: %s, should contain paired members.' % (mirror_var, mirrors.strip()))
continue
mirrors = list(zip(*[iter(mirrors)]*2))
for mirror_entry in mirrors:
pattern, mirror = mirror_entry
decoded = bb.fetch2.decodeurl(pattern)
try:
pattern_scheme = re.compile(decoded[0])
except re.error as exc:
bb.warn('Invalid scheme regex (%s) in %s; %s' % (pattern, mirror_var, mirror_entry))
continue
if not any(pattern_scheme.match(protocol) for protocol in protocols):
bb.warn('Invalid protocol (%s) in %s: %s' % (decoded[0], mirror_var, mirror_entry))
continue
if not any(mirror.startswith(protocol + '://') for protocol in protocols):
bb.warn('Invalid protocol in %s: %s' % (mirror_var, mirror_entry))
continue
if mirror.startswith('file://'):
import urllib
check_symlink(urllib.parse.urlparse(mirror).path, d)
# SSTATE_MIRROR ends with a /PATH string
if mirror.endswith('/PATH'):
# remove /PATH$ from SSTATE_MIRROR to get a working
# base directory path
mirror_base = urllib.parse.urlparse(mirror[:-1*len('/PATH')]).path
check_symlink(mirror_base, d)
# Check that TMPDIR hasn't changed location since the last time we were run
tmpdir = d.getVar('TMPDIR')
checkfile = os.path.join(tmpdir, "saved_tmpdir")
if os.path.exists(checkfile):
with open(checkfile, "r") as f:
saved_tmpdir = f.read().strip()
if (saved_tmpdir != tmpdir):
status.addresult("Error, TMPDIR has changed location. You need to either move it back to %s or rebuild\n" % saved_tmpdir)
else:
bb.utils.mkdirhier(tmpdir)
# Remove setuid, setgid and sticky bits from TMPDIR
try:
os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID)
os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID)
os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX)
except OSError as exc:
bb.warn("Unable to chmod TMPDIR: %s" % exc)
with open(checkfile, "w") as f:
f.write(tmpdir)
# If /bin/sh is a symlink, check that it points to dash or bash
if os.path.islink('/bin/sh'):
real_sh = os.path.realpath('/bin/sh')
# Due to update-alternatives, the shell name may take various
# forms, such as /bin/dash, bin/bash, /bin/bash.bash ...
if '/dash' not in real_sh and '/bash' not in real_sh:
status.addresult("Error, /bin/sh links to %s, must be dash or bash\n" % real_sh)
}
python check_sanity_sstate_dir_change () {
def check_sanity_sstate_dir_change(sstate_dir, data):
# Sanity checks to be done when the value of SSTATE_DIR changes
# Check that SSTATE_DIR isn't on a filesystem with limited filename length (eg. eCryptFS)
testmsg = ""
if sstate_dir != "":
testmsg = check_create_long_filename(sstate_dir, "SSTATE_DIR")
# If we don't have permissions to SSTATE_DIR, suggest the user set it as an SSTATE_MIRRORS
try:
err = testmsg.split(': ')[1].strip()
if err == "Permission denied.":
testmsg = testmsg + "You could try using %s in SSTATE_MIRRORS rather than as an SSTATE_CACHE.\n" % (sstate_dir)
except IndexError:
pass
return testmsg
}
python check_sanity_validmachine () {
def check_sanity_validmachine(sanity_data):
messages = ""
# Check TUNE_ARCH is set
if sanity_data.getVar('TUNE_ARCH') == 'INVALID':
messages = messages + 'TUNE_ARCH is unset. Please ensure your MACHINE configuration includes a valid tune configuration file which will set this correctly.\n'
# Check TARGET_OS is set
if sanity_data.getVar('TARGET_OS') == 'INVALID':
messages = messages + 'Please set TARGET_OS directly, or choose a MACHINE or DISTRO that does so.\n'
# Check that we don't have duplicate entries in PACKAGE_ARCHS & that TUNE_PKGARCH is in PACKAGE_ARCHS
pkgarchs = sanity_data.getVar('PACKAGE_ARCHS')
tunepkg = sanity_data.getVar('TUNE_PKGARCH')
defaulttune = sanity_data.getVar('DEFAULTTUNE')
tunefound = False
seen = {}
dups = []
for pa in pkgarchs.split():
if seen.get(pa, 0) == 1:
dups.append(pa)
else:
seen[pa] = 1
if pa == tunepkg:
tunefound = True
if len(dups):
messages = messages + "Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: %s" % " ".join(dups)
if tunefound == False:
messages = messages + "Error, the PACKAGE_ARCHS variable (%s) for DEFAULTTUNE (%s) does not contain TUNE_PKGARCH (%s)." % (pkgarchs, defaulttune, tunepkg)
return messages
}
python check_sanity_version_change () {
def check_sanity_version_change(status, d):
# Sanity checks to be done when SANITY_VERSION or NATIVELSBSTRING changes
# In other words, these tests run once in a given build directory and then
# never again until the sanity version or host distrubution id/version changes.
# Check the python install is complete. glib-2.0-natives requries
# xml.parsers.expat
try:
import xml.parsers.expat
except ImportError:
status.addresult('Your python is not a full install. Please install the module xml.parsers.expat (python-xml on openSUSE and SUSE Linux).\n')
import stat
status.addresult(check_make_version(d))
status.addresult(check_tar_version(d))
status.addresult(check_git_version(d))
status.addresult(check_perl_modules(d))
missing = ""
if not check_app_exists("${MAKE}", d):
missing = missing + "GNU make,"
if not check_app_exists('${BUILD_CC}', d):
missing = missing + "C Compiler (%s)," % d.getVar("BUILD_CC")
if not check_app_exists('${BUILD_CXX}', d):
missing = missing + "C++ Compiler (%s)," % d.getVar("BUILD_CXX")
required_utilities = d.getVar('SANITY_REQUIRED_UTILITIES')
for util in required_utilities.split():
if not check_app_exists(util, d):
missing = missing + "%s," % util
if missing:
missing = missing.rstrip(',')
status.addresult("Please install the following missing utilities: %s\n" % missing)
assume_provided = d.getVar('ASSUME_PROVIDED').split()
# Check user doesn't have ASSUME_PROVIDED = instead of += in local.conf
if "diffstat-native" not in assume_provided:
status.addresult('Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf\n')
if "qemu-native" in assume_provided:
if not check_app_exists("qemu-arm", d):
status.addresult("qemu-native was in ASSUME_PROVIDED but the QEMU binaries (qemu-arm) can't be found in PATH")
if "libsdl-native" in assume_provided:
if not check_app_exists("sdl-config", d):
status.addresult("libsdl-native is set to be ASSUME_PROVIDED but sdl-config can't be found in PATH. Please either install it, or configure qemu not to require sdl.")
(result, message) = check_gcc_march(d)
if result and message:
status.addresult("Your gcc version is older than 4.5, please add the following param to local.conf\n \
%s\n" % message)
if not result:
status.addresult("Your gcc version is older than 4.5 or is not working properly. Please verify you can build")
status.addresult(" and link something that uses atomic operations, such as: \n")
status.addresult(" __sync_bool_compare_and_swap (&atomic, 2, 3);\n")
# Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS)
tmpdir = d.getVar('TMPDIR')
status.addresult(check_create_long_filename(tmpdir, "TMPDIR"))
tmpdirmode = os.stat(tmpdir).st_mode
if (tmpdirmode & stat.S_ISGID):
status.addresult("TMPDIR is setgid, please don't build in a setgid directory")
if (tmpdirmode & stat.S_ISUID):
status.addresult("TMPDIR is setuid, please don't build in a setuid directory")
# Some third-party software apparently relies on chmod etc. being suid root (!!)
import stat
suid_check_bins = "chown chmod mknod".split()
for bin_cmd in suid_check_bins:
bin_path = bb.utils.which(os.environ["PATH"], bin_cmd)
if bin_path:
bin_stat = os.stat(bin_path)
if bin_stat.st_uid == 0 and bin_stat.st_mode & stat.S_ISUID:
status.addresult('%s has the setuid bit set. This interferes with pseudo and may cause other issues that break the build process.\n' % bin_path)
# Check that we can fetch from various network transports
netcheck = check_connectivity(d)
status.addresult(netcheck)
if netcheck:
status.network_error = True
nolibs = d.getVar('NO32LIBS')
if not nolibs:
lib32path = '/lib'
if os.path.exists('/lib64') and ( os.path.islink('/lib64') or os.path.islink('/lib') ):
lib32path = '/lib32'
if os.path.exists('%s/libc.so.6' % lib32path) and not os.path.exists('/usr/include/gnu/stubs-32.h'):
status.addresult("You have a 32-bit libc, but no 32-bit headers. You must install the 32-bit libc headers.\n")
bbpaths = d.getVar('BBPATH').split(":")
if ("." in bbpaths or "./" in bbpaths or "" in bbpaths):
status.addresult("BBPATH references the current directory, either through " \
"an empty entry, a './' or a '.'.\n\t This is unsafe and means your "\
"layer configuration is adding empty elements to BBPATH.\n\t "\
"Please check your layer.conf files and other BBPATH " \
"settings to remove the current working directory " \
"references.\n" \
"Parsed BBPATH is" + str(bbpaths));
oes_bb_conf = d.getVar( 'OES_BITBAKE_CONF')
if not oes_bb_conf:
status.addresult('You are not using the OpenEmbedded version of conf/bitbake.conf. This means your environment is misconfigured, in particular check BBPATH.\n')
# The length of TMPDIR can't be longer than 410
status.addresult(check_path_length(tmpdir, "TMPDIR", 410))
# Check that TMPDIR isn't located on nfs
status.addresult(check_not_nfs(tmpdir, "TMPDIR"))
}
python check_sdk_sysroots () {
# Fails build if there are broken or dangling symlinks in SDK sysroots
if d.getVar('CHECK_SDK_SYSROOTS') != '1':
# disabled, bail out
return
def norm_path(path):
return os.path.abspath(path)
# Get scan root
SCAN_ROOT = norm_path("%s/%s/sysroots/" % (d.getVar('SDK_OUTPUT'),
d.getVar('SDKPATH')))
bb.note('Checking SDK sysroots at ' + SCAN_ROOT)
def check_symlink(linkPath):
if not os.path.islink(linkPath):
return
linkDirPath = os.path.dirname(linkPath)
targetPath = os.readlink(linkPath)
if not os.path.isabs(targetPath):
targetPath = os.path.join(linkDirPath, targetPath)
targetPath = norm_path(targetPath)
if SCAN_ROOT != os.path.commonprefix( [SCAN_ROOT, targetPath] ):
bb.error("Escaping symlink {0!s} --> {1!s}".format(linkPath, targetPath))
return
if not os.path.exists(targetPath):
bb.error("Broken symlink {0!s} --> {1!s}".format(linkPath, targetPath))
return
if os.path.isdir(targetPath):
dir_walk(targetPath)
def walk_error_handler(e):
bb.error(str(e))
def dir_walk(rootDir):
for dirPath,subDirEntries,fileEntries in os.walk(rootDir, followlinks=False, onerror=walk_error_handler):
entries = subDirEntries + fileEntries
for e in entries:
ePath = os.path.join(dirPath, e)
check_symlink(ePath)
# start
dir_walk(SCAN_ROOT)
}
python check_supported_distro () {
def check_supported_distro(sanity_data):
from fnmatch import fnmatch
tested_distros = sanity_data.getVar('SANITY_TESTED_DISTROS')
if not tested_distros:
return
try:
distro = oe.lsb.distro_identifier()
except Exception:
distro = None
if not distro:
bb.warn('Host distribution could not be determined; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.')
for supported in [x.strip() for x in tested_distros.split('\\n')]:
if fnmatch(distro, supported):
return
bb.warn('Host distribution "%s" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.' % distro)
}
python check_symlink () {
def check_symlink(lnk, data):
if os.path.islink(lnk) and not os.path.exists(lnk):
raise_sanity_error("%s is a broken symlink." % lnk, data)
}
python check_tar_version () {
def check_tar_version(sanity_data):
from distutils.version import LooseVersion
status, result = oe.utils.getstatusoutput("tar --version")
if status != 0:
return "Unable to execute tar --version, exit code %s\n" % status
version = result.split()[3]
if LooseVersion(version) < LooseVersion("1.24"):
return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar.\n"
return None
}
python check_toolchain () {
def check_toolchain(data):
tune_error_set = []
deftune = data.getVar("DEFAULTTUNE")
tune_errors = check_toolchain_tune(data, deftune, 'default')
if tune_errors:
tune_error_set.append(tune_errors)
multilibs = (data.getVar("MULTILIB_VARIANTS") or "").split()
global_multilibs = (data.getVar("MULTILIB_GLOBAL_VARIANTS") or "").split()
if multilibs:
seen_libs = []
seen_tunes = []
for lib in multilibs:
if lib in seen_libs:
tune_error_set.append("The multilib '%s' appears more than once." % lib)
else:
seen_libs.append(lib)
if not lib in global_multilibs:
tune_error_set.append("Multilib %s is not present in MULTILIB_GLOBAL_VARIANTS" % lib)
tune = data.getVar("DEFAULTTUNE_virtclass-multilib-%s" % lib)
if tune in seen_tunes:
tune_error_set.append("The tuning '%s' appears in more than one multilib." % tune)
else:
seen_libs.append(tune)
if tune == deftune:
tune_error_set.append("Multilib '%s' (%s) is also the default tuning." % (lib, deftune))
else:
tune_errors = check_toolchain_tune(data, tune, lib)
if tune_errors:
tune_error_set.append(tune_errors)
if tune_error_set:
return "Toolchain tunings invalid:\n" + '\n'.join(tune_error_set) + "\n"
return ""
}
python check_toolchain_args_present () {
def check_toolchain_args_present(data, tune, multilib, tune_errors, which):
args_set = (data.getVar("TUNE_%s" % which) or "").split()
args_wanted = (data.getVar("TUNEABI_REQUIRED_%s_tune-%s" % (which, tune)) or "").split()
args_missing = []
# If no args are listed/required, we are done.
if not args_wanted:
return
for arg in args_wanted:
if arg not in args_set:
args_missing.append(arg)
found_errors = False
if args_missing:
found_errors = True
tune_errors.append("TUNEABI for %s requires '%s' in TUNE_%s (%s)." %
(tune, ' '.join(args_missing), which, ' '.join(args_set)))
return found_errors
}
python check_toolchain_tune () {
def check_toolchain_tune(data, tune, multilib):
tune_errors = []
if not tune:
return "No tuning found for %s multilib." % multilib
localdata = bb.data.createCopy(data)
if multilib != "default":
# Apply the overrides so we can look at the details.
overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + multilib
localdata.setVar("OVERRIDES", overrides)
bb.debug(2, "Sanity-checking tuning '%s' (%s) features:" % (tune, multilib))
features = (localdata.getVar("TUNE_FEATURES_tune-%s" % tune) or "").split()
if not features:
return "Tuning '%s' has no defined features, and cannot be used." % tune
valid_tunes = localdata.getVarFlags('TUNEVALID') or {}
conflicts = localdata.getVarFlags('TUNECONFLICTS') or {}
# [doc] is the documentation for the variable, not a real feature
if 'doc' in valid_tunes:
del valid_tunes['doc']
if 'doc' in conflicts:
del conflicts['doc']
for feature in features:
if feature in conflicts:
for conflict in conflicts[feature].split():
if conflict in features:
tune_errors.append("Feature '%s' conflicts with '%s'." %
(feature, conflict))
if feature in valid_tunes:
bb.debug(2, " %s: %s" % (feature, valid_tunes[feature]))
else:
tune_errors.append("Feature '%s' is not defined." % feature)
whitelist = localdata.getVar("TUNEABI_WHITELIST")
if whitelist:
tuneabi = localdata.getVar("TUNEABI_tune-%s" % tune)
if not tuneabi:
tuneabi = tune
if True not in [x in whitelist.split() for x in tuneabi.split()]:
tune_errors.append("Tuning '%s' (%s) cannot be used with any supported tuning/ABI." %
(tune, tuneabi))
else:
if not check_toolchain_tune_args(localdata, tuneabi, multilib, tune_errors):
bb.debug(2, "Sanity check: Compiler args OK for %s." % tune)
if tune_errors:
return "Tuning '%s' has the following errors:\n" % tune + '\n'.join(tune_errors)
}
python check_toolchain_tune_args () {
def check_toolchain_tune_args(data, tune, multilib, errs):
found_errors = False
if check_toolchain_args_present(data, tune, multilib, errs, 'CCARGS'):
found_errors = True
if check_toolchain_args_present(data, tune, multilib, errs, 'ASARGS'):
found_errors = True
if check_toolchain_args_present(data, tune, multilib, errs, 'LDARGS'):
found_errors = True
return found_errors
}
python checkbuildpath () {
def checkbuildpath(file, d):
tmpdir = d.getVar('TMPDIR')
with open(file) as f:
file_content = f.read()
if tmpdir in file_content:
return True
return False
}
python clean_esdk_builddir () {
def clean_esdk_builddir(d, sdkbasepath):
"""Clean up traces of the fake build for create_filtered_tasklist()"""
import shutil
cleanpaths = 'cache conf/sanity_info tmp'.split()
for pth in cleanpaths:
fullpth = os.path.join(sdkbasepath, pth)
if os.path.isdir(fullpth):
shutil.rmtree(fullpth)
elif os.path.isfile(fullpth):
os.remove(fullpth)
}
python clean_recipe_sysroot () {
return
}
python complementary_globs () {
def complementary_globs(featurevar, d):
all_globs = d.getVarFlags('COMPLEMENTARY_GLOB')
globs = []
features = set((d.getVar(featurevar) or '').split())
for name, glob in all_globs.items():
if name in features:
globs.append(glob)
return ' '.join(globs)
}
python config_reparse_eventhandler () {
sanity_check_conffiles(e.data)
}
python copy_buildsystem () {
import re
import shutil
import glob
import oe.copy_buildsystem
oe_init_env_script = d.getVar('OE_INIT_ENV_SCRIPT')
conf_bbpath = ''
conf_initpath = ''
core_meta_subdir = ''
# Copy in all metadata layers + bitbake (as repositories)
buildsystem = oe.copy_buildsystem.BuildSystem('extensible SDK', d)
baseoutpath = d.getVar('SDK_OUTPUT') + '/' + d.getVar('SDKPATH')
# Determine if we're building a derivative extensible SDK (from devtool build-sdk)
derivative = (d.getVar('SDK_DERIVATIVE') or '') == '1'
if derivative:
workspace_name = 'orig-workspace'
else:
workspace_name = None
layers_copied = buildsystem.copy_bitbake_and_layers(baseoutpath + '/layers', workspace_name)
sdkbblayers = []
corebase = os.path.basename(d.getVar('COREBASE'))
for layer in layers_copied:
if corebase == os.path.basename(layer):
conf_bbpath = os.path.join('layers', layer, 'bitbake')
else:
sdkbblayers.append(layer)
for path in os.listdir(baseoutpath + '/layers'):
relpath = os.path.join('layers', path, oe_init_env_script)
if os.path.exists(os.path.join(baseoutpath, relpath)):
conf_initpath = relpath
relpath = os.path.join('layers', path, 'scripts', 'devtool')
if os.path.exists(os.path.join(baseoutpath, relpath)):
scriptrelpath = os.path.dirname(relpath)
relpath = os.path.join('layers', path, 'meta')
if os.path.exists(os.path.join(baseoutpath, relpath, 'lib', 'oe')):
core_meta_subdir = relpath
d.setVar('oe_init_build_env_path', conf_initpath)
d.setVar('scriptrelpath', scriptrelpath)
# Write out config file for devtool
import configparser
config = configparser.SafeConfigParser()
config.add_section('General')
config.set('General', 'bitbake_subdir', conf_bbpath)
config.set('General', 'init_path', conf_initpath)
config.set('General', 'core_meta_subdir', core_meta_subdir)
config.add_section('SDK')
config.set('SDK', 'sdk_targets', d.getVar('SDK_TARGETS'))
updateurl = d.getVar('SDK_UPDATE_URL')
if updateurl:
config.set('SDK', 'updateserver', updateurl)
bb.utils.mkdirhier(os.path.join(baseoutpath, 'conf'))
with open(os.path.join(baseoutpath, 'conf', 'devtool.conf'), 'w') as f:
config.write(f)
unlockedsigs = os.path.join(baseoutpath, 'conf', 'unlocked-sigs.inc')
with open(unlockedsigs, 'w') as f:
pass
# Create a layer for new recipes / appends
bbpath = d.getVar('BBPATH')
bb.process.run(['devtool', '--bbpath', bbpath, '--basepath', baseoutpath, 'create-workspace', '--create-only', os.path.join(baseoutpath, 'workspace')])
# Create bblayers.conf
bb.utils.mkdirhier(baseoutpath + '/conf')
with open(baseoutpath + '/conf/bblayers.conf', 'w') as f:
f.write('# WARNING: this configuration has been automatically generated and in\n')
f.write('# most cases should not be edited. If you need more flexibility than\n')
f.write('# this configuration provides, it is strongly suggested that you set\n')
f.write('# up a proper instance of the full build system and use that instead.\n\n')
# LCONF_VERSION may not be set, for example when using meta-poky
# so don't error if it isn't found
lconf_version = d.getVar('LCONF_VERSION', False)
if lconf_version is not None:
f.write('LCONF_VERSION = "%s"\n\n' % lconf_version)
f.write('BBPATH = "$' + '{TOPDIR}"\n')
f.write('SDKBASEMETAPATH = "$' + '{TOPDIR}"\n')
f.write('BBLAYERS := " \\\n')
for layerrelpath in sdkbblayers:
f.write(' $' + '{SDKBASEMETAPATH}/layers/%s \\\n' % layerrelpath)
f.write(' $' + '{SDKBASEMETAPATH}/workspace \\\n')
f.write(' "\n')
# Copy uninative tarball
# For now this is where uninative.bbclass expects the tarball
uninative_file = d.expand('${SDK_DEPLOY}/${BUILD_ARCH}-nativesdk-libc.tar.bz2')
uninative_checksum = bb.utils.sha256_file(uninative_file)
uninative_outdir = '%s/downloads/uninative/%s' % (baseoutpath, uninative_checksum)
bb.utils.mkdirhier(uninative_outdir)
shutil.copy(uninative_file, uninative_outdir)
env_whitelist = (d.getVar('BB_ENV_EXTRAWHITE') or '').split()
env_whitelist_values = {}
# Create local.conf
builddir = d.getVar('TOPDIR')
if derivative and os.path.exists(builddir + '/conf/auto.conf'):
shutil.copyfile(builddir + '/conf/auto.conf', baseoutpath + '/conf/auto.conf')
if derivative:
shutil.copyfile(builddir + '/conf/local.conf', baseoutpath + '/conf/local.conf')
else:
local_conf_whitelist = (d.getVar('SDK_LOCAL_CONF_WHITELIST') or '').split()
local_conf_blacklist = (d.getVar('SDK_LOCAL_CONF_BLACKLIST') or '').split()
def handle_var(varname, origvalue, op, newlines):
if varname in local_conf_blacklist or (origvalue.strip().startswith('/') and not varname in local_conf_whitelist):
newlines.append('# Removed original setting of %s\n' % varname)
return None, op, 0, True
else:
if varname in env_whitelist:
env_whitelist_values[varname] = origvalue
return origvalue, op, 0, True
varlist = ['[^#=+ ]*']
oldlines = []
if os.path.exists(builddir + '/conf/auto.conf'):
with open(builddir + '/conf/auto.conf', 'r') as f:
oldlines += f.readlines()
with open(builddir + '/conf/local.conf', 'r') as f:
oldlines += f.readlines()
(updated, newlines) = bb.utils.edit_metadata(oldlines, varlist, handle_var)
with open(baseoutpath + '/conf/local.conf', 'w') as f:
f.write('# WARNING: this configuration has been automatically generated and in\n')
f.write('# most cases should not be edited. If you need more flexibility than\n')
f.write('# this configuration provides, it is strongly suggested that you set\n')
f.write('# up a proper instance of the full build system and use that instead.\n\n')
for line in newlines:
if line.strip() and not line.startswith('#'):
f.write(line)
# Write a newline just in case there's none at the end of the original
f.write('\n')
f.write('TMPDIR = "${TOPDIR}/tmp"\n')
f.write('TCLIBCAPPEND = ""\n')
f.write('DL_DIR = "${TOPDIR}/downloads"\n')
f.write('INHERIT += "%s"\n' % 'uninative')
f.write('UNINATIVE_CHECKSUM[%s] = "%s"\n\n' % (d.getVar('BUILD_ARCH'), uninative_checksum))
f.write('CONF_VERSION = "%s"\n\n' % d.getVar('CONF_VERSION', False))
# Some classes are not suitable for SDK, remove them from INHERIT
f.write('INHERIT_remove = "%s"\n' % d.getVar('SDK_INHERIT_BLACKLIST', False))
# Bypass the default connectivity check if any
f.write('CONNECTIVITY_CHECK_URIS = ""\n\n')
# This warning will come out if reverse dependencies for a task
# don't have sstate as well as the task itself. We already know
# this will be the case for the extensible sdk, so turn off the
# warning.
f.write('SIGGEN_LOCKEDSIGS_SSTATE_EXISTS_CHECK = "none"\n\n')
# Warn if the sigs in the locked-signature file don't match
# the sig computed from the metadata.
f.write('SIGGEN_LOCKEDSIGS_TASKSIG_CHECK = "warn"\n\n')
# Set up whitelist for run on install
f.write('BB_SETSCENE_ENFORCE_WHITELIST = "%:* *:do_shared_workdir *:do_rm_work wic-tools:* *:do_addto_recipe_sysroot"\n\n')
# Hide the config information from bitbake output (since it's fixed within the SDK)
f.write('BUILDCFG_HEADER = ""\n\n')
# Map gcc-dependent uninative sstate cache for installer usage
f.write('SSTATE_MIRRORS += " file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n\n')
# Allow additional config through sdk-extra.conf
fn = bb.cookerdata.findConfigFile('sdk-extra.conf', d)
if fn:
with open(fn, 'r') as xf:
for line in xf:
f.write(line)
# If you define a sdk_extraconf() function then it can contain additional config
# (Though this is awkward; sdk-extra.conf should probably be used instead)
extraconf = (d.getVar('sdk_extraconf') or '').strip()
if extraconf:
# Strip off any leading / trailing spaces
for line in extraconf.splitlines():
f.write(line.strip() + '\n')
f.write('require conf/locked-sigs.inc\n')
f.write('require conf/unlocked-sigs.inc\n')
# Write a templateconf.cfg
with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
f.write('meta/conf\n')
# Ensure any variables set from the external environment (by way of
# BB_ENV_EXTRAWHITE) are set in the SDK's configuration
extralines = []
for name, value in env_whitelist_values.items():
actualvalue = d.getVar(name) or ''
if value != actualvalue:
extralines.append('%s = "%s"\n' % (name, actualvalue))
if extralines:
with open(baseoutpath + '/conf/local.conf', 'a') as f:
f.write('\n')
f.write('# Extra settings from environment:\n')
for line in extralines:
f.write(line)
f.write('\n')
# Filter the locked signatures file to just the sstate tasks we are interested in
excluded_targets = get_sdk_install_targets(d, images_only=True)
sigfile = d.getVar('WORKDIR') + '/locked-sigs.inc'
lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
oe.copy_buildsystem.prune_lockedsigs([],
excluded_targets.split(),
sigfile,
lockedsigs_pruned)
sstate_out = baseoutpath + '/sstate-cache'
bb.utils.remove(sstate_out, True)
# uninative.bbclass sets NATIVELSBSTRING to 'universal%s' % oe.utils.host_gcc_version(d)
fixedlsbstring = "universal%s" % oe.utils.host_gcc_version(d)
sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1')
sdk_ext_type = d.getVar('SDK_EXT_TYPE')
if sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative:
# Create the filtered task list used to generate the sstate cache shipped with the SDK
tasklistfn = d.getVar('WORKDIR') + '/tasklist.txt'
create_filtered_tasklist(d, baseoutpath, tasklistfn, conf_initpath)
else:
tasklistfn = None
# Add packagedata if enabled
if d.getVar('SDK_INCLUDE_PKGDATA') == '1':
lockedsigs_base = d.getVar('WORKDIR') + '/locked-sigs-base.inc'
lockedsigs_copy = d.getVar('WORKDIR') + '/locked-sigs-copy.inc'
shutil.move(lockedsigs_pruned, lockedsigs_base)
oe.copy_buildsystem.merge_lockedsigs(['do_packagedata'],
lockedsigs_base,
d.getVar('STAGING_DIR_HOST') + '/world-pkgdata/locked-sigs-pkgdata.inc',
lockedsigs_pruned,
lockedsigs_copy)
if sdk_include_toolchain:
lockedsigs_base = d.getVar('WORKDIR') + '/locked-sigs-base2.inc'
lockedsigs_toolchain = d.expand("${STAGING_DIR}/${TUNE_PKGARCH}/meta-extsdk-toolchain/locked-sigs/locked-sigs-extsdk-toolchain.inc")
shutil.move(lockedsigs_pruned, lockedsigs_base)
oe.copy_buildsystem.merge_lockedsigs([],
lockedsigs_base,
lockedsigs_toolchain,
lockedsigs_pruned)
oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_toolchain,
d.getVar('SSTATE_DIR'),
sstate_out, d,
fixedlsbstring,
filterfile=tasklistfn)
if sdk_ext_type == 'minimal':
if derivative:
# Assume the user is not going to set up an additional sstate
# mirror, thus we need to copy the additional artifacts (from
# workspace recipes) into the derivative SDK
lockedsigs_orig = d.getVar('TOPDIR') + '/conf/locked-sigs.inc'
if os.path.exists(lockedsigs_orig):
lockedsigs_extra = d.getVar('WORKDIR') + '/locked-sigs-extra.inc'
oe.copy_buildsystem.merge_lockedsigs(None,
lockedsigs_orig,
lockedsigs_pruned,
None,
lockedsigs_extra)
oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_extra,
d.getVar('SSTATE_DIR'),
sstate_out, d,
fixedlsbstring,
filterfile=tasklistfn)
else:
oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_pruned,
d.getVar('SSTATE_DIR'),
sstate_out, d,
fixedlsbstring,
filterfile=tasklistfn)
# We don't need sstate do_package files
for root, dirs, files in os.walk(sstate_out):
for name in files:
if name.endswith("_package.tgz"):
f = os.path.join(root, name)
os.remove(f)
# Write manifest file
# Note: at the moment we cannot include the env setup script here to keep
# it updated, since it gets modified during SDK installation (see
# sdk_ext_postinst() below) thus the checksum we take here would always
# be different.
manifest_file_list = ['conf/*']
manifest_file = os.path.join(baseoutpath, 'conf', 'sdk-conf-manifest')
with open(manifest_file, 'w') as f:
for item in manifest_file_list:
for fn in glob.glob(os.path.join(baseoutpath, item)):
if fn == manifest_file:
continue
chksum = bb.utils.sha256_file(fn)
f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath)))
}
python copy_data () {
def copy_data(e):
sanity_data = bb.data.createCopy(e.data)
sanity_data.finalize()
return sanity_data
}
python copy_license_files () {
def copy_license_files(lic_files_paths, destdir):
import shutil
import errno
bb.utils.mkdirhier(destdir)
for (basename, path, beginline, endline) in lic_files_paths:
try:
src = path
dst = os.path.join(destdir, basename)
if os.path.exists(dst):
os.remove(dst)
if os.path.islink(src):
src = os.path.realpath(src)
canlink = os.access(src, os.W_OK) and (os.stat(src).st_dev == os.stat(destdir).st_dev) and beginline is None and endline is None
if canlink:
try:
os.link(src, dst)
except OSError as err:
if err.errno == errno.EXDEV:
# Copy license files if hard-link is not possible even if st_dev is the
# same on source and destination (docker container with device-mapper?)
canlink = False
else:
raise
# Only chown if we did hardling, and, we're running under pseudo
if canlink and os.environ.get('PSEUDO_DISABLED') == '0':
os.chown(dst,0,0)
if not canlink:
begin_idx = int(beginline)-1 if beginline is not None else None
end_idx = int(endline) if endline is not None else None
if begin_idx is None and end_idx is None:
shutil.copyfile(src, dst)
else:
with open(src, 'rb') as src_f:
with open(dst, 'wb') as dst_f:
dst_f.write(b''.join(src_f.readlines()[begin_idx:end_idx]))
except Exception as e:
bb.warn("Could not copy license file %s to %s: %s" % (src, dst, e))
}
python copydebugsources () {
def copydebugsources(debugsrcdir, d):
# The debug src information written out to sourcefile is further procecessed
# and copied to the destination here.
import stat
sourcefile = d.expand("${WORKDIR}/debugsources.list")
if debugsrcdir and os.path.isfile(sourcefile):
dvar = d.getVar('PKGD')
strip = d.getVar("STRIP")
objcopy = d.getVar("OBJCOPY")
debugedit = d.expand("${STAGING_LIBDIR_NATIVE}/rpm/bin/debugedit")
workdir = d.getVar("WORKDIR")
workparentdir = os.path.dirname(os.path.dirname(workdir))
workbasedir = os.path.basename(os.path.dirname(workdir)) + "/" + os.path.basename(workdir)
# If build path exists in sourcefile, it means toolchain did not use
# -fdebug-prefix-map to compile
if checkbuildpath(sourcefile, d):
localsrc_prefix = workparentdir + "/"
else:
localsrc_prefix = "/usr/src/debug/"
nosuchdir = []
basepath = dvar
for p in debugsrcdir.split("/"):
basepath = basepath + "/" + p
if not cpath.exists(basepath):
nosuchdir.append(basepath)
bb.utils.mkdirhier(basepath)
cpath.updatecache(basepath)
# Ignore files from the recipe sysroots (target and native)
processdebugsrc = "LC_ALL=C ; sort -z -u '%s' | egrep -v -z '((<internal>|<built-in>)$|/.*recipe-sysroot.*/)' | "
# We need to ignore files that are not actually ours
# we do this by only paying attention to items from this package
processdebugsrc += "fgrep -zw '%s' | "
# Remove prefix in the source paths
processdebugsrc += "sed 's#%s##g' | "
processdebugsrc += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)"
cmd = processdebugsrc % (sourcefile, workbasedir, localsrc_prefix, workparentdir, dvar, debugsrcdir)
(retval, output) = oe.utils.getstatusoutput(cmd)
# Can "fail" if internal headers/transient sources are attempted
#if retval:
# bb.fatal("debug source copy failed with exit code %s (cmd was %s)" % (retval, cmd))
# cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
# Work around this by manually finding and copying any symbolic links that made it through.
cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s' 2>/dev/null)" % (dvar, debugsrcdir, dvar, debugsrcdir, workparentdir, dvar, debugsrcdir)
(retval, output) = oe.utils.getstatusoutput(cmd)
if retval:
bb.fatal("debugsrc symlink fixup failed with exit code %s (cmd was %s)" % (retval, cmd))
# The copy by cpio may have resulted in some empty directories! Remove these
cmd = "find %s%s -empty -type d -delete" % (dvar, debugsrcdir)
(retval, output) = oe.utils.getstatusoutput(cmd)
if retval:
bb.fatal("empty directory removal failed with exit code %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else ""))
# Also remove debugsrcdir if its empty
for p in nosuchdir[::-1]:
if os.path.exists(p) and not os.listdir(p):
os.rmdir(p)
}
python create_filtered_tasklist () {
def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
"""
Create a filtered list of tasks. Also double-checks that the build system
within the SDK basically works and required sstate artifacts are available.
"""
import tempfile
import shutil
import oe.copy_buildsystem
# Create a temporary build directory that we can pass to the env setup script
shutil.copyfile(sdkbasepath + '/conf/local.conf', sdkbasepath + '/conf/local.conf.bak')
try:
with open(sdkbasepath + '/conf/local.conf', 'a') as f:
# Force the use of sstate from the build system
f.write('\nSSTATE_DIR_forcevariable = "%s"\n' % d.getVar('SSTATE_DIR'))
f.write('SSTATE_MIRRORS_forcevariable = ""\n')
# Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it
f.write('TMPDIR_forcevariable = "${TOPDIR}/tmp"\n')
f.write('TCLIBCAPPEND_forcevariable = ""\n')
# Drop uninative if the build isn't using it (or else NATIVELSBSTRING will
# be different and we won't be able to find our native sstate)
if not bb.data.inherits_class('uninative', d):
f.write('INHERIT_remove = "uninative"\n')
# Unfortunately the default SDKPATH (or even a custom value) may contain characters that bitbake
# will not allow in its COREBASE path, so we need to rename the directory temporarily
temp_sdkbasepath = d.getVar('SDK_OUTPUT') + '/tmp-renamed-sdk'
# Delete any existing temp dir
try:
shutil.rmtree(temp_sdkbasepath)
except FileNotFoundError:
pass
os.rename(sdkbasepath, temp_sdkbasepath)
try:
cmdprefix = '. %s .; ' % conf_initpath
logfile = d.getVar('WORKDIR') + '/tasklist_bb_log.txt'
try:
oe.copy_buildsystem.check_sstate_task_list(d, get_sdk_install_targets(d), tasklistfile, cmdprefix=cmdprefix, cwd=temp_sdkbasepath, logfile=logfile)
except bb.process.ExecutionError as e:
msg = 'Failed to generate filtered task list for extensible SDK:\n%s' % e.stdout.rstrip()
if 'attempted to execute unexpectedly and should have been setscened' in e.stdout:
msg += '\n----------\n\nNOTE: "attempted to execute unexpectedly and should have been setscened" errors indicate this may be caused by missing sstate artifacts that were likely produced in earlier builds, but have been subsequently deleted for some reason.\n'
bb.fatal(msg)
finally:
os.rename(temp_sdkbasepath, sdkbasepath)
# Clean out residue of running bitbake, which check_sstate_task_list()
# will effectively do
clean_esdk_builddir(d, sdkbasepath)
finally:
os.replace(sdkbasepath + '/conf/local.conf.bak', sdkbasepath + '/conf/local.conf')
}
python create_symlinks () {
deploy_dir = d.getVar('IMGDEPLOYDIR')
img_name = d.getVar('IMAGE_NAME')
link_name = d.getVar('IMAGE_LINK_NAME')
manifest_name = d.getVar('IMAGE_MANIFEST')
taskname = d.getVar("BB_CURRENTTASK")
subimages = (d.getVarFlag("do_" + taskname, 'subimages', False) or "").split()
imgsuffix = d.getVarFlag("do_" + taskname, 'imgsuffix') or d.expand("${IMAGE_NAME_SUFFIX}.")
if not link_name:
return
for type in subimages:
dst = os.path.join(deploy_dir, link_name + "." + type)
src = img_name + imgsuffix + type
if os.path.exists(os.path.join(deploy_dir, src)):
bb.note("Creating symlink: %s -> %s" % (dst, src))
if os.path.islink(dst):
os.remove(dst)
os.symlink(src, dst)
else:
bb.note("Skipping symlink, source does not exist: %s -> %s" % (dst, src))
}
python debian_package_name_hook () {
import glob, copy, stat, errno, re
pkgdest = d.getVar('PKGDEST')
packages = d.getVar('PACKAGES')
bin_re = re.compile(".*/s?" + os.path.basename(d.getVar("bindir")) + "$")
lib_re = re.compile(".*/" + os.path.basename(d.getVar("libdir")) + "$")
so_re = re.compile("lib.*\.so")
def socrunch(s):
s = s.lower().replace('_', '-')
m = re.match("^(.*)(.)\.so\.(.*)$", s)
if m is None:
return None
if m.group(2) in '0123456789':
bin = '%s%s-%s' % (m.group(1), m.group(2), m.group(3))
else:
bin = m.group(1) + m.group(2) + m.group(3)
dev = m.group(1) + m.group(2)
return (bin, dev)
def isexec(path):
try:
s = os.stat(path)
except (os.error, AttributeError):
return 0
return (s[stat.ST_MODE] & stat.S_IEXEC)
def add_rprovides(pkg, d):
newpkg = d.getVar('PKG_' + pkg)
if newpkg and newpkg != pkg:
provs = (d.getVar('RPROVIDES_' + pkg) or "").split()
if pkg not in provs:
d.appendVar('RPROVIDES_' + pkg, " " + pkg + " (=" + d.getVar("PKGV") + ")")
def auto_libname(packages, orig_pkg):
sonames = []
has_bins = 0
has_libs = 0
for file in pkgfiles[orig_pkg]:
root = os.path.dirname(file)
if bin_re.match(root):
has_bins = 1
if lib_re.match(root):
has_libs = 1
if so_re.match(os.path.basename(file)):
cmd = (d.getVar('TARGET_PREFIX') or "") + "objdump -p " + file + " 2>/dev/null"
fd = os.popen(cmd)
lines = fd.readlines()
fd.close()
for l in lines:
m = re.match("\s+SONAME\s+([^\s]*)", l)
if m and not m.group(1) in sonames:
sonames.append(m.group(1))
bb.debug(1, 'LIBNAMES: pkg %s libs %d bins %d sonames %s' % (orig_pkg, has_libs, has_bins, sonames))
soname = None
if len(sonames) == 1:
soname = sonames[0]
elif len(sonames) > 1:
lead = d.getVar('LEAD_SONAME')
if lead:
r = re.compile(lead)
filtered = []
for s in sonames:
if r.match(s):
filtered.append(s)
if len(filtered) == 1:
soname = filtered[0]
elif len(filtered) > 1:
bb.note("Multiple matches (%s) for LEAD_SONAME '%s'" % (", ".join(filtered), lead))
else:
bb.note("Multiple libraries (%s) found, but LEAD_SONAME '%s' doesn't match any of them" % (", ".join(sonames), lead))
else:
bb.note("Multiple libraries (%s) found and LEAD_SONAME not defined" % ", ".join(sonames))
if has_libs and not has_bins and soname:
soname_result = socrunch(soname)
if soname_result:
(pkgname, devname) = soname_result
for pkg in packages.split():
if (d.getVar('PKG_' + pkg, False) or d.getVar('DEBIAN_NOAUTONAME_' + pkg, False)):
add_rprovides(pkg, d)
continue
debian_pn = d.getVar('DEBIANNAME_' + pkg, False)
if debian_pn:
newpkg = debian_pn
elif pkg == orig_pkg:
newpkg = pkgname
else:
newpkg = pkg.replace(orig_pkg, devname, 1)
mlpre=d.getVar('MLPREFIX')
if mlpre:
if not newpkg.find(mlpre) == 0:
newpkg = mlpre + newpkg
if newpkg != pkg:
d.setVar('PKG_' + pkg, newpkg)
add_rprovides(pkg, d)
else:
add_rprovides(orig_pkg, d)
# reversed sort is needed when some package is substring of another
# ie in ncurses we get without reverse sort:
# DEBUG: LIBNAMES: pkgname libtic5 devname libtic pkg ncurses-libtic orig_pkg ncurses-libtic debian_pn None newpkg libtic5
# and later
# DEBUG: LIBNAMES: pkgname libtic5 devname libtic pkg ncurses-libticw orig_pkg ncurses-libtic debian_pn None newpkg libticw
# so we need to handle ncurses-libticw->libticw5 before ncurses-libtic->libtic5
for pkg in sorted((d.getVar('AUTO_LIBNAME_PKGS') or "").split(), reverse=True):
auto_libname(packages, pkg)
}
python devpyshell () {
def devpyshell(d):
import code
import select
import signal
import termios
m, s = os.openpty()
sname = os.ttyname(s)
def noechoicanon(fd):
old = termios.tcgetattr(fd)
old[3] = old[3] &~ termios.ECHO &~ termios.ICANON
# &~ termios.ISIG
termios.tcsetattr(fd, termios.TCSADRAIN, old)
# No echo or buffering over the pty
noechoicanon(s)
pid = os.fork()
if pid:
os.close(m)
oe_terminal("oepydevshell-internal.py %s %d" % (sname, pid), 'OpenEmbedded Developer PyShell', d)
os._exit(0)
else:
os.close(s)
os.dup2(m, sys.stdin.fileno())
os.dup2(m, sys.stdout.fileno())
os.dup2(m, sys.stderr.fileno())
bb.utils.nonblockingfd(sys.stdout)
bb.utils.nonblockingfd(sys.stderr)
bb.utils.nonblockingfd(sys.stdin)
_context = {
"os": os,
"bb": bb,
"time": time,
"d": d,
}
ps1 = "pydevshell> "
ps2 = "... "
buf = []
more = False
i = code.InteractiveInterpreter(locals=_context)
print("OE PyShell (PN = %s)\n" % d.getVar("PN"))
def prompt(more):
if more:
prompt = ps2
else:
prompt = ps1
sys.stdout.write(prompt)
sys.stdout.flush()
# Restore Ctrl+C since bitbake masks this
def signal_handler(signal, frame):
raise KeyboardInterrupt
signal.signal(signal.SIGINT, signal_handler)
child = None
prompt(more)
while True:
try:
try:
(r, _, _) = select.select([sys.stdin], [], [], 1)
if not r:
continue
line = sys.stdin.readline().strip()
if not line:
prompt(more)
continue
except EOFError as e:
sys.stdout.write("\n")
sys.stdout.flush()
except (OSError, IOError) as e:
if e.errno == 11:
continue
if e.errno == 5:
return
raise
else:
if not child:
child = int(line)
continue
buf.append(line)
source = "\n".join(buf)
more = i.runsource(source, "<pyshell>")
if not more:
buf = []
prompt(more)
except KeyboardInterrupt:
i.write("\nKeyboardInterrupt\n")
buf = []
more = False
prompt(more)
except SystemExit:
# Easiest way to ensure everything exits
os.kill(child, signal.SIGTERM)
break
}
python do_checkuri () {
src_uri = (d.getVar('SRC_URI') or "").split()
if len(src_uri) == 0:
return
try:
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.checkstatus()
except bb.fetch2.BBFetchException as e:
bb.fatal(str(e))
}
python do_clean () {
"""clear the build and temp directories"""
dir = d.expand("${WORKDIR}")
bb.note("Removing " + dir)
oe.path.remove(dir)
dir = "%s.*" % d.getVar('STAMP')
bb.note("Removing " + dir)
oe.path.remove(dir)
for f in (d.getVar('CLEANFUNCS') or '').split():
bb.build.exec_func(f, d)
}
python do_cleanall () {
src_uri = (d.getVar('SRC_URI') or "").split()
if len(src_uri) == 0:
return
try:
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.clean()
except bb.fetch2.BBFetchException as e:
bb.fatal(str(e))
}
python do_cleansstate () {
sstate_clean_cachefiles(d)
}
python do_deploy_setscene () {
sstate_setscene(d)
}
python do_devpyshell () {
import signal
try:
devpyshell(d)
except SystemExit:
# Stop the SIGTERM above causing an error exit code
return
finally:
return
}
python do_devshell () {
if d.getVarFlag("do_devshell", "manualfakeroot"):
d.prependVar("DEVSHELL", "pseudo ")
fakeenv = d.getVar("FAKEROOTENV").split()
for f in fakeenv:
k = f.split("=")
d.setVar(k[0], k[1])
d.appendVar("OE_TERMINAL_EXPORTS", " " + k[0])
d.delVarFlag("do_devshell", "fakeroot")
oe_terminal(d.getVar('DEVSHELL'), 'OpenEmbedded Developer Shell', d)
}
python do_fetch () {
bb.build.exec_func('base_do_fetch', d)
}
python do_image () {
from oe.utils import execute_pre_post_process
pre_process_cmds = d.getVar("IMAGE_PREPROCESS_COMMAND")
execute_pre_post_process(d, pre_process_cmds)
}
python do_image_complete () {
from oe.utils import execute_pre_post_process
post_process_cmds = d.getVar("IMAGE_POSTPROCESS_COMMAND")
execute_pre_post_process(d, post_process_cmds)
}
python do_image_qa () {
from oe.utils import ImageQAFailed
qa_cmds = (d.getVar('IMAGE_QA_COMMANDS') or '').split()
qamsg = ""
for cmd in qa_cmds:
try:
bb.build.exec_func(cmd, d)
except oe.utils.ImageQAFailed as e:
qamsg = qamsg + '\tImage QA function %s failed: %s\n' % (e.name, e.description)
except bb.build.FuncFailed as e:
qamsg = qamsg + '\tImage QA function %s failed' % e.name
if e.logfile:
qamsg = qamsg + ' (log file is located at %s)' % e.logfile
qamsg = qamsg + '\n'
if qamsg:
imgname = d.getVar('IMAGE_NAME')
bb.fatal("QA errors found whilst validating image: %s\n%s" % (imgname, qamsg))
}
python do_listtasks () {
taskdescs = {}
maxlen = 0
for e in d.keys():
if d.getVarFlag(e, 'task'):
maxlen = max(maxlen, len(e))
if e.endswith('_setscene'):
desc = "%s (setscene version)" % (d.getVarFlag(e[:-9], 'doc') or '')
else:
desc = d.getVarFlag(e, 'doc') or ''
taskdescs[e] = desc
tasks = sorted(taskdescs.keys())
for taskname in tasks:
bb.plain("%s %s" % (taskname.ljust(maxlen), taskdescs[taskname]))
}
python do_package () {
# Change the following version to cause sstate to invalidate the package
# cache. This is useful if an item this class depends on changes in a
# way that the output of this class changes. rpmdeps is a good example
# as any change to rpmdeps requires this to be rerun.
# PACKAGE_BBCLASS_VERSION = "1"
# Init cachedpath
global cpath
cpath = oe.cachedpath.CachedPath()
###########################################################################
# Sanity test the setup
###########################################################################
packages = (d.getVar('PACKAGES') or "").split()
if len(packages) < 1:
bb.debug(1, "No packages to build, skipping do_package")
return
workdir = d.getVar('WORKDIR')
outdir = d.getVar('DEPLOY_DIR')
dest = d.getVar('D')
dvar = d.getVar('PKGD')
pn = d.getVar('PN')
if not workdir or not outdir or not dest or not dvar or not pn:
msg = "WORKDIR, DEPLOY_DIR, D, PN and PKGD all must be defined, unable to package"
package_qa_handle_error("var-undefined", msg, d)
return
bb.build.exec_func("package_get_auto_pr", d)
###########################################################################
# Optimisations
###########################################################################
# Continually expanding complex expressions is inefficient, particularly
# when we write to the datastore and invalidate the expansion cache. This
# code pre-expands some frequently used variables
def expandVar(x, d):
d.setVar(x, d.getVar(x))
for x in 'PN', 'PV', 'BPN', 'TARGET_SYS', 'EXTENDPRAUTO':
expandVar(x, d)
###########################################################################
# Setup PKGD (from D)
###########################################################################
for f in (d.getVar('PACKAGEBUILDPKGD') or '').split():
bb.build.exec_func(f, d)
###########################################################################
# Split up PKGD into PKGDEST
###########################################################################
cpath = oe.cachedpath.CachedPath()
for f in (d.getVar('PACKAGESPLITFUNCS') or '').split():
bb.build.exec_func(f, d)
###########################################################################
# Process PKGDEST
###########################################################################
# Build global list of files in each split package
global pkgfiles
pkgfiles = {}
packages = d.getVar('PACKAGES').split()
pkgdest = d.getVar('PKGDEST')
for pkg in packages:
pkgfiles[pkg] = []
for walkroot, dirs, files in cpath.walk(pkgdest + "/" + pkg):
for file in files:
pkgfiles[pkg].append(walkroot + os.sep + file)
for f in (d.getVar('PACKAGEFUNCS') or '').split():
bb.build.exec_func(f, d)
qa_sane = d.getVar("QA_SANE")
if not qa_sane:
bb.fatal("Fatal QA errors found, failing task.")
}
python do_package_ipk () {
import re, copy
import textwrap
import subprocess
import collections
oldcwd = os.getcwd()
workdir = d.getVar('WORKDIR')
outdir = d.getVar('PKGWRITEDIRIPK')
tmpdir = d.getVar('TMPDIR')
pkgdest = d.getVar('PKGDEST')
if not workdir or not outdir or not tmpdir:
bb.error("Variables incorrectly set, unable to package")
return
packages = d.getVar('PACKAGES')
if not packages or packages == '':
bb.debug(1, "No packages; nothing to do")
return
# We're about to add new packages so the index needs to be checked
# so remove the appropriate stamp file.
if os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"), os.R_OK):
os.unlink(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"))
def cleanupcontrol(root):
for p in ['CONTROL', 'DEBIAN']:
p = os.path.join(root, p)
if os.path.exists(p):
bb.utils.prunedir(p)
recipesource = os.path.basename(d.getVar('FILE'))
for pkg in packages.split():
localdata = bb.data.createCopy(d)
root = "%s/%s" % (pkgdest, pkg)
lf = bb.utils.lockfile(root + ".lock")
localdata.setVar('ROOT', '')
localdata.setVar('ROOT_%s' % pkg, root)
pkgname = localdata.getVar('PKG_%s' % pkg)
if not pkgname:
pkgname = pkg
localdata.setVar('PKG', pkgname)
localdata.setVar('OVERRIDES', d.getVar("OVERRIDES", False) + ":" + pkg)
basedir = os.path.join(os.path.dirname(root))
arch = localdata.getVar('PACKAGE_ARCH')
if localdata.getVar('IPK_HIERARCHICAL_FEED', False) == "1":
# Spread packages across subdirectories so each isn't too crowded
if pkgname.startswith('lib'):
pkg_prefix = 'lib' + pkgname[3]
else:
pkg_prefix = pkgname[0]
# Keep -dbg, -dev, -doc, -staticdev, -locale and -locale-* packages
# together. These package suffixes are taken from the definitions of
# PACKAGES and PACKAGES_DYNAMIC in meta/conf/bitbake.conf
if pkgname[-4:] in ('-dbg', '-dev', '-doc'):
pkg_subdir = pkgname[:-4]
elif pkgname.endswith('-staticdev'):
pkg_subdir = pkgname[:-10]
elif pkgname.endswith('-locale'):
pkg_subdir = pkgname[:-7]
elif '-locale-' in pkgname:
pkg_subdir = pkgname[:pkgname.find('-locale-')]
else:
pkg_subdir = pkgname
pkgoutdir = "%s/%s/%s/%s" % (outdir, arch, pkg_prefix, pkg_subdir)
else:
pkgoutdir = "%s/%s" % (outdir, arch)
bb.utils.mkdirhier(pkgoutdir)
os.chdir(root)
cleanupcontrol(root)
from glob import glob
g = glob('*')
if not g and localdata.getVar('ALLOW_EMPTY', False) != "1":
bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV'), localdata.getVar('PKGR')))
bb.utils.unlockfile(lf)
continue
controldir = os.path.join(root, 'CONTROL')
bb.utils.mkdirhier(controldir)
ctrlfile = open(os.path.join(controldir, 'control'), 'w')
fields = []
pe = d.getVar('PKGE')
if pe and int(pe) > 0:
fields.append(["Version: %s:%s-%s\n", ['PKGE', 'PKGV', 'PKGR']])
else:
fields.append(["Version: %s-%s\n", ['PKGV', 'PKGR']])
fields.append(["Description: %s\n", ['DESCRIPTION']])
fields.append(["Section: %s\n", ['SECTION']])
fields.append(["Priority: %s\n", ['PRIORITY']])
fields.append(["Maintainer: %s\n", ['MAINTAINER']])
fields.append(["License: %s\n", ['LICENSE']])
fields.append(["Architecture: %s\n", ['PACKAGE_ARCH']])
fields.append(["OE: %s\n", ['PN']])
if d.getVar('HOMEPAGE'):
fields.append(["Homepage: %s\n", ['HOMEPAGE']])
def pullData(l, d):
l2 = []
for i in l:
l2.append(d.getVar(i))
return l2
ctrlfile.write("Package: %s\n" % pkgname)
# check for required fields
for (c, fs) in fields:
for f in fs:
if localdata.getVar(f, False) is None:
raise KeyError(f)
# Special behavior for description...
if 'DESCRIPTION' in fs:
summary = localdata.getVar('SUMMARY') or localdata.getVar('DESCRIPTION') or "."
ctrlfile.write('Description: %s\n' % summary)
description = localdata.getVar('DESCRIPTION') or "."
description = textwrap.dedent(description).strip()
if '\\n' in description:
# Manually indent
for t in description.split('\\n'):
# We don't limit the width when manually indent, but we do
# need the textwrap.fill() to set the initial_indent and
# subsequent_indent, so set a large width
line = textwrap.fill(t.strip(),
width=100000,
initial_indent=' ',
subsequent_indent=' ') or '.'
ctrlfile.write('%s\n' % line)
else:
# Auto indent
ctrlfile.write('%s\n' % textwrap.fill(description, width=74, initial_indent=' ', subsequent_indent=' '))
else:
ctrlfile.write(c % tuple(pullData(fs, localdata)))
# more fields
custom_fields_chunk = get_package_additional_metadata("ipk", localdata)
if custom_fields_chunk is not None:
ctrlfile.write(custom_fields_chunk)
ctrlfile.write("\n")
mapping_rename_hook(localdata)
def debian_cmp_remap(var):
# In debian '>' and '<' do not mean what it appears they mean
# '<' = less or equal
# '>' = greater or equal
# adjust these to the '<<' and '>>' equivalents
#
for dep in var:
for i, v in enumerate(var[dep]):
if (v or "").startswith("< "):
var[dep][i] = var[dep][i].replace("< ", "<< ")
elif (v or "").startswith("> "):
var[dep][i] = var[dep][i].replace("> ", ">> ")
rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS") or "")
debian_cmp_remap(rdepends)
rrecommends = bb.utils.explode_dep_versions2(localdata.getVar("RRECOMMENDS") or "")
debian_cmp_remap(rrecommends)
rsuggests = bb.utils.explode_dep_versions2(localdata.getVar("RSUGGESTS") or "")
debian_cmp_remap(rsuggests)
# Deliberately drop version information here, not wanted/supported by ipk
rprovides = dict.fromkeys(bb.utils.explode_dep_versions2(localdata.getVar("RPROVIDES") or ""), [])
rprovides = collections.OrderedDict(sorted(rprovides.items(), key=lambda x: x[0]))
debian_cmp_remap(rprovides)
rreplaces = bb.utils.explode_dep_versions2(localdata.getVar("RREPLACES") or "")
debian_cmp_remap(rreplaces)
rconflicts = bb.utils.explode_dep_versions2(localdata.getVar("RCONFLICTS") or "")
debian_cmp_remap(rconflicts)
if rdepends:
ctrlfile.write("Depends: %s\n" % bb.utils.join_deps(rdepends))
if rsuggests:
ctrlfile.write("Suggests: %s\n" % bb.utils.join_deps(rsuggests))
if rrecommends:
ctrlfile.write("Recommends: %s\n" % bb.utils.join_deps(rrecommends))
if rprovides:
ctrlfile.write("Provides: %s\n" % bb.utils.join_deps(rprovides))
if rreplaces:
ctrlfile.write("Replaces: %s\n" % bb.utils.join_deps(rreplaces))
if rconflicts:
ctrlfile.write("Conflicts: %s\n" % bb.utils.join_deps(rconflicts))
ctrlfile.write("Source: %s\n" % recipesource)
ctrlfile.close()
for script in ["preinst", "postinst", "prerm", "postrm"]:
scriptvar = localdata.getVar('pkg_%s' % script)
if not scriptvar:
continue
scriptfile = open(os.path.join(controldir, script), 'w')
scriptfile.write(scriptvar)
scriptfile.close()
os.chmod(os.path.join(controldir, script), 0o755)
conffiles_str = ' '.join(get_conffiles(pkg, d))
if conffiles_str:
conffiles = open(os.path.join(controldir, 'conffiles'), 'w')
for f in conffiles_str.split():
if os.path.exists(oe.path.join(root, f)):
conffiles.write('%s\n' % f)
conffiles.close()
os.chdir(basedir)
subprocess.check_output("PATH=\"%s\" %s %s %s" % (localdata.getVar("PATH"),
d.getVar("OPKGBUILDCMD"), pkg, pkgoutdir), shell=True)
if d.getVar('IPK_SIGN_PACKAGES') == '1':
ipkver = "%s-%s" % (d.getVar('PKGV'), d.getVar('PKGR'))
ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, d.getVar('PACKAGE_ARCH'))
sign_ipk(d, ipk_to_sign)
cleanupcontrol(root)
bb.utils.unlockfile(lf)
os.chdir(oldcwd)
}
python do_package_qa () {
import subprocess
import oe.packagedata
bb.note("DO PACKAGE QA")
bb.build.exec_func("read_subpackage_metadata", d)
# Check non UTF-8 characters on recipe's metadata
package_qa_check_encoding(['DESCRIPTION', 'SUMMARY', 'LICENSE', 'SECTION'], 'utf-8', d)
logdir = d.getVar('T')
pkg = d.getVar('PN')
# Check the compile log for host contamination
compilelog = os.path.join(logdir,"log.do_compile")
if os.path.exists(compilelog):
statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % compilelog
if subprocess.call(statement, shell=True) == 0:
msg = "%s: The compile log indicates that host include and/or library paths were used.\n \
Please check the log '%s' for more information." % (pkg, compilelog)
package_qa_handle_error("compile-host-path", msg, d)
# Check the install log for host contamination
installlog = os.path.join(logdir,"log.do_install")
if os.path.exists(installlog):
statement = "grep -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s > /dev/null" % installlog
if subprocess.call(statement, shell=True) == 0:
msg = "%s: The install log indicates that host include and/or library paths were used.\n \
Please check the log '%s' for more information." % (pkg, installlog)
package_qa_handle_error("install-host-path", msg, d)
# Scan the packages...
pkgdest = d.getVar('PKGDEST')
packages = set((d.getVar('PACKAGES') or '').split())
cpath = oe.cachedpath.CachedPath()
global pkgfiles
pkgfiles = {}
for pkg in packages:
pkgfiles[pkg] = []
for walkroot, dirs, files in cpath.walk(pkgdest + "/" + pkg):
for file in files:
pkgfiles[pkg].append(walkroot + os.sep + file)
# no packages should be scanned
if not packages:
return
import re
# The package name matches the [a-z0-9.+-]+ regular expression
pkgname_pattern = re.compile("^[a-z0-9.+-]+$")
taskdepdata = d.getVar("BB_TASKDEPDATA", False)
taskdeps = set()
for dep in taskdepdata:
taskdeps.add(taskdepdata[dep][0])
for package in packages:
def parse_test_matrix(matrix_name):
testmatrix = d.getVarFlags(matrix_name) or {}
g = globals()
warnchecks = []
for w in (d.getVar("WARN_QA") or "").split():
if w in skip:
continue
if w in testmatrix and testmatrix[w] in g:
warnchecks.append(g[testmatrix[w]])
if w == 'unsafe-references-in-binaries':
oe.utils.write_ld_so_conf(d)
errorchecks = []
for e in (d.getVar("ERROR_QA") or "").split():
if e in skip:
continue
if e in testmatrix and testmatrix[e] in g:
errorchecks.append(g[testmatrix[e]])
if e == 'unsafe-references-in-binaries':
oe.utils.write_ld_so_conf(d)
return warnchecks, errorchecks
skip = (d.getVar('INSANE_SKIP_' + package) or "").split()
if skip:
bb.note("Package %s skipping QA tests: %s" % (package, str(skip)))
bb.note("Checking Package: %s" % package)
# Check package name
if not pkgname_pattern.match(package):
package_qa_handle_error("pkgname",
"%s doesn't match the [a-z0-9.+-]+ regex" % package, d)
warn_checks, error_checks = parse_test_matrix("QAPATHTEST")
package_qa_walk(warn_checks, error_checks, skip, package, d)
warn_checks, error_checks = parse_test_matrix("QAPKGTEST")
package_qa_package(warn_checks, error_checks, skip, package, d)
package_qa_check_rdepends(package, pkgdest, skip, taskdeps, packages, d)
package_qa_check_deps(package, pkgdest, skip, d)
if 'libdir' in d.getVar("ALL_QA").split():
package_qa_check_libdir(d)
qa_sane = d.getVar("QA_SANE")
if not qa_sane:
bb.fatal("QA run found fatal errors. Please consider fixing them.")
bb.note("DONE with PACKAGE QA")
}
python do_package_qa_setscene () {
sstate_setscene(d)
}
python do_package_setscene () {
sstate_setscene(d)
}
python do_package_write_ipk () {
bb.build.exec_func("read_subpackage_metadata", d)
bb.build.exec_func("do_package_ipk", d)
}
python do_package_write_ipk_setscene () {
tmpdir = d.getVar('TMPDIR')
if os.access(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"), os.R_OK):
os.unlink(os.path.join(tmpdir, "stamps", "IPK_PACKAGE_INDEX_CLEAN"))
sstate_setscene(d)
}
python do_packagedata_setscene () {
sstate_setscene(d)
}
python do_patch () {
bb.build.exec_func('patch_do_patch', d)
}
python do_populate_lic () {
"""
Populate LICENSE_DIRECTORY with licenses.
"""
lic_files_paths = find_license_files(d)
# The base directory we wrangle licenses to
destdir = os.path.join(d.getVar('LICSSTATEDIR'), d.getVar('PN'))
copy_license_files(lic_files_paths, destdir)
info = get_recipe_info(d)
with open(os.path.join(destdir, "recipeinfo"), "w") as f:
for key in sorted(info.keys()):
f.write("%s: %s\n" % (key, info[key]))
}
python do_populate_lic_setscene () {
sstate_setscene(d)
}
python do_populate_sdk () {
populate_sdk_common(d)
}
python do_populate_sdk_ext () {
# FIXME hopefully we can remove this restriction at some point, but uninative
# currently forces this upon us
if d.getVar('SDK_ARCH') != d.getVar('BUILD_ARCH'):
bb.fatal('The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to %s (likely via setting SDKMACHINE) which is different from the architecture of the build machine (%s). Unable to continue.' % (d.getVar('SDK_ARCH'), d.getVar('BUILD_ARCH')))
d.setVar('SDK_INSTALL_TARGETS', get_sdk_install_targets(d))
buildtools_fn = get_current_buildtools(d)
d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d))
d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn)
d.setVar('SDKDEPLOYDIR', '${SDKEXTDEPLOYDIR}')
populate_sdk_common(d)
}
python do_populate_sysroot () {
bb.build.exec_func("sysroot_stage_all", d)
bb.build.exec_func("sysroot_strip", d)
for f in (d.getVar('SYSROOT_PREPROCESS_FUNCS') or '').split():
bb.build.exec_func(f, d)
pn = d.getVar("PN")
multiprov = d.getVar("MULTI_PROVIDER_WHITELIST").split()
provdir = d.expand("${SYSROOT_DESTDIR}${base_prefix}/sysroot-providers/")
bb.utils.mkdirhier(provdir)
for p in d.getVar("PROVIDES").split():
if p in multiprov:
continue
p = p.replace("/", "_")
with open(provdir + p, "w") as f:
f.write(pn)
}
python do_populate_sysroot_setscene () {
sstate_setscene(d)
}
python do_prepare_recipe_sysroot () {
bb.build.exec_func("extend_recipe_sysroot", d)
}
python do_qa_configure () {
import subprocess
###########################################################################
# Check config.log for cross compile issues
###########################################################################
configs = []
workdir = d.getVar('WORKDIR')
if bb.data.inherits_class('autotools', d):
bb.note("Checking autotools environment for common misconfiguration")
for root, dirs, files in os.walk(workdir):
statement = "grep -q -F -e 'CROSS COMPILE Badness:' -e 'is unsafe for cross-compilation' %s" % \
os.path.join(root,"config.log")
if "config.log" in files:
if subprocess.call(statement, shell=True) == 0:
bb.fatal("""This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
Rerun configure task after fixing this.""")
if "configure.ac" in files:
configs.append(os.path.join(root,"configure.ac"))
if "configure.in" in files:
configs.append(os.path.join(root, "configure.in"))
###########################################################################
# Check gettext configuration and dependencies are correct
###########################################################################
cnf = d.getVar('EXTRA_OECONF') or ""
if "gettext" not in d.getVar('P') and "gcc-runtime" not in d.getVar('P') and "--disable-nls" not in cnf:
ml = d.getVar("MLPREFIX") or ""
if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('nativesdk', d):
gt = "gettext-native"
elif bb.data.inherits_class('cross-canadian', d):
gt = "nativesdk-gettext"
else:
gt = "virtual/" + ml + "gettext"
deps = bb.utils.explode_deps(d.getVar('DEPENDS') or "")
if gt not in deps:
for config in configs:
gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config
if subprocess.call(gnu, shell=True) == 0:
bb.fatal("""%s required but not in DEPENDS for file %s.
Missing inherit gettext?""" % (gt, config))
###########################################################################
# Check unrecognised configure options (with a white list)
###########################################################################
if bb.data.inherits_class("autotools", d):
bb.note("Checking configure output for unrecognised options")
try:
flag = "WARNING: unrecognized options:"
log = os.path.join(d.getVar('B'), 'config.log')
output = subprocess.check_output(['grep', '-F', flag, log]).decode("utf-8").replace(', ', ' ')
options = set()
for line in output.splitlines():
options |= set(line.partition(flag)[2].split())
whitelist = set(d.getVar("UNKNOWN_CONFIGURE_WHITELIST").split())
options -= whitelist
if options:
pn = d.getVar('PN')
error_msg = pn + ": configure was passed unrecognised options: " + " ".join(options)
package_qa_handle_error("unknown-configure-option", error_msg, d)
except subprocess.CalledProcessError:
pass
# Check invalid PACKAGECONFIG
pkgconfig = (d.getVar("PACKAGECONFIG") or "").split()
if pkgconfig:
pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
for pconfig in pkgconfig:
if pconfig not in pkgconfigflags:
pn = d.getVar('PN')
error_msg = "%s: invalid PACKAGECONFIG: %s" % (pn, pconfig)
package_qa_handle_error("invalid-packageconfig", error_msg, d)
qa_sane = d.getVar("QA_SANE")
if not qa_sane:
bb.fatal("Fatal QA errors found, failing task.")
}
python do_qa_staging () {
bb.note("QA checking staging")
if not package_qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d):
bb.fatal("QA staging was broken by the package built above")
}
python do_qa_unpack () {
src_uri = d.getVar('SRC_URI')
s_dir = d.getVar('S')
if src_uri and not os.path.exists(s_dir):
bb.warn('%s: the directory %s (%s) pointed to by the S variable doesn\'t exist - please set S within the recipe to point to where the source has been unpacked to' % (d.getVar('PN'), d.getVar('S', False), s_dir))
}
python do_rootfs () {
from oe.rootfs import create_rootfs
from oe.manifest import create_manifest
import logging
logger = d.getVar('BB_TASK_LOGGER', False)
if logger:
logcatcher = bb.utils.LogCatcher()
logger.addHandler(logcatcher)
else:
logcatcher = None
# NOTE: if you add, remove or significantly refactor the stages of this
# process then you should recalculate the weightings here. This is quite
# easy to do - just change the MultiStageProgressReporter line temporarily
# to pass debug=True as the last parameter and you'll get a printout of
# the weightings as well as a map to the lines where next_stage() was
# called. Of course this isn't critical, but it helps to keep the progress
# reporting accurate.
stage_weights = [1, 203, 354, 186, 65, 4228, 1, 353, 49, 330, 382, 23, 1]
progress_reporter = bb.progress.MultiStageProgressReporter(d, stage_weights)
progress_reporter.next_stage()
# Handle package exclusions
excl_pkgs = d.getVar("PACKAGE_EXCLUDE").split()
inst_pkgs = d.getVar("PACKAGE_INSTALL").split()
inst_attempt_pkgs = d.getVar("PACKAGE_INSTALL_ATTEMPTONLY").split()
d.setVar('PACKAGE_INSTALL_ORIG', ' '.join(inst_pkgs))
d.setVar('PACKAGE_INSTALL_ATTEMPTONLY', ' '.join(inst_attempt_pkgs))
for pkg in excl_pkgs:
if pkg in inst_pkgs:
bb.warn("Package %s, set to be excluded, is in %s PACKAGE_INSTALL (%s). It will be removed from the list." % (pkg, d.getVar('PN'), inst_pkgs))
inst_pkgs.remove(pkg)
if pkg in inst_attempt_pkgs:
bb.warn("Package %s, set to be excluded, is in %s PACKAGE_INSTALL_ATTEMPTONLY (%s). It will be removed from the list." % (pkg, d.getVar('PN'), inst_pkgs))
inst_attempt_pkgs.remove(pkg)
d.setVar("PACKAGE_INSTALL", ' '.join(inst_pkgs))
d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", ' '.join(inst_attempt_pkgs))
# Ensure we handle package name remapping
# We have to delay the runtime_mapping_rename until just before rootfs runs
# otherwise, the multilib renaming could step in and squash any fixups that
# may have occurred.
pn = d.getVar('PN')
runtime_mapping_rename("PACKAGE_INSTALL", pn, d)
runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", pn, d)
runtime_mapping_rename("BAD_RECOMMENDATIONS", pn, d)
# Generate the initial manifest
create_manifest(d)
progress_reporter.next_stage()
# generate rootfs
create_rootfs(d, progress_reporter=progress_reporter, logcatcher=logcatcher)
progress_reporter.finish()
}
python do_rootfs_wicenv () {
wicvars = d.getVar('WICVARS')
if not wicvars:
return
stdir = d.getVar('STAGING_DIR')
outdir = os.path.join(stdir, d.getVar('MACHINE'), 'imgdata')
bb.utils.mkdirhier(outdir)
basename = d.getVar('IMAGE_BASENAME')
with open(os.path.join(outdir, basename) + '.env', 'w') as envf:
for var in wicvars.split():
value = d.getVar(var)
if value:
envf.write('%s="%s"\n' % (var, value.strip()))
}
python do_sdk_depends () {
# We have to do this separately in its own task so we avoid recursing into
# dependencies we don't need to (e.g. buildtools-tarball) and bringing those
# into the SDK's sstate-cache
import oe.copy_buildsystem
sigfile = d.getVar('WORKDIR') + '/locked-sigs.inc'
oe.copy_buildsystem.generate_locked_sigs(sigfile, d)
}
python do_split_packages () {
def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None, allow_links=False, summary=None):
"""
Used in .bb files to split up dynamically generated subpackages of a
given package, usually plugins or modules.
Arguments:
root -- the path in which to search
file_regex -- regular expression to match searched files. Use
parentheses () to mark the part of this expression
that should be used to derive the module name (to be
substituted where %s is used in other function
arguments as noted below)
output_pattern -- pattern to use for the package names. Must include %s.
description -- description to set for each package. Must include %s.
postinst -- postinstall script to use for all packages (as a
string)
recursive -- True to perform a recursive search - default False
hook -- a hook function to be called for every match. The
function will be called with the following arguments
(in the order listed):
f: full path to the file/directory match
pkg: the package name
file_regex: as above
output_pattern: as above
modulename: the module name derived using file_regex
extra_depends -- extra runtime dependencies (RDEPENDS) to be set for
all packages. The default value of None causes a
dependency on the main package (${PN}) - if you do
not want this, pass '' for this parameter.
aux_files_pattern -- extra item(s) to be added to FILES for each
package. Can be a single string item or a list of
strings for multiple items. Must include %s.
postrm -- postrm script to use for all packages (as a string)
allow_dirs -- True allow directories to be matched - default False
prepend -- if True, prepend created packages to PACKAGES instead
of the default False which appends them
match_path -- match file_regex on the whole relative path to the
root rather than just the file name
aux_files_pattern_verbatim -- extra item(s) to be added to FILES for
each package, using the actual derived module name
rather than converting it to something legal for a
package name. Can be a single string item or a list
of strings for multiple items. Must include %s.
allow_links -- True to allow symlinks to be matched - default False
summary -- Summary to set for each package. Must include %s;
defaults to description if not set.
"""
dvar = d.getVar('PKGD')
root = d.expand(root)
output_pattern = d.expand(output_pattern)
extra_depends = d.expand(extra_depends)
# If the root directory doesn't exist, don't error out later but silently do
# no splitting.
if not os.path.exists(dvar + root):
return []
ml = d.getVar("MLPREFIX")
if ml:
if not output_pattern.startswith(ml):
output_pattern = ml + output_pattern
newdeps = []
for dep in (extra_depends or "").split():
if dep.startswith(ml):
newdeps.append(dep)
else:
newdeps.append(ml + dep)
if newdeps:
extra_depends = " ".join(newdeps)
packages = d.getVar('PACKAGES').split()
split_packages = set()
if postinst:
postinst = '#!/bin/sh\n' + postinst + '\n'
if postrm:
postrm = '#!/bin/sh\n' + postrm + '\n'
if not recursive:
objs = os.listdir(dvar + root)
else:
objs = []
for walkroot, dirs, files in os.walk(dvar + root):
for file in files:
relpath = os.path.join(walkroot, file).replace(dvar + root + '/', '', 1)
if relpath:
objs.append(relpath)
if extra_depends == None:
extra_depends = d.getVar("PN")
if not summary:
summary = description
for o in sorted(objs):
import re, stat
if match_path:
m = re.match(file_regex, o)
else:
m = re.match(file_regex, os.path.basename(o))
if not m:
continue
f = os.path.join(dvar + root, o)
mode = os.lstat(f).st_mode
if not (stat.S_ISREG(mode) or (allow_links and stat.S_ISLNK(mode)) or (allow_dirs and stat.S_ISDIR(mode))):
continue
on = legitimize_package_name(m.group(1))
pkg = output_pattern % on
split_packages.add(pkg)
if not pkg in packages:
if prepend:
packages = [pkg] + packages
else:
packages.append(pkg)
oldfiles = d.getVar('FILES_' + pkg)
newfile = os.path.join(root, o)
# These names will be passed through glob() so if the filename actually
# contains * or ? (rare, but possible) we need to handle that specially
newfile = newfile.replace('*', '[*]')
newfile = newfile.replace('?', '[?]')
if not oldfiles:
the_files = [newfile]
if aux_files_pattern:
if type(aux_files_pattern) is list:
for fp in aux_files_pattern:
the_files.append(fp % on)
else:
the_files.append(aux_files_pattern % on)
if aux_files_pattern_verbatim:
if type(aux_files_pattern_verbatim) is list:
for fp in aux_files_pattern_verbatim:
the_files.append(fp % m.group(1))
else:
the_files.append(aux_files_pattern_verbatim % m.group(1))
d.setVar('FILES_' + pkg, " ".join(the_files))
else:
d.setVar('FILES_' + pkg, oldfiles + " " + newfile)
if extra_depends != '':
d.appendVar('RDEPENDS_' + pkg, ' ' + extra_depends)
if not d.getVar('DESCRIPTION_' + pkg):
d.setVar('DESCRIPTION_' + pkg, description % on)
if not d.getVar('SUMMARY_' + pkg):
d.setVar('SUMMARY_' + pkg, summary % on)
if postinst:
d.setVar('pkg_postinst_' + pkg, postinst)
if postrm:
d.setVar('pkg_postrm_' + pkg, postrm)
if callable(hook):
hook(f, pkg, file_regex, output_pattern, m.group(1))
d.setVar('PACKAGES', ' '.join(packages))
return list(split_packages)
}
python do_unpack () {
bb.build.exec_func('base_do_unpack', d)
}
python do_write_wks_template () {
"""Write out expanded template contents to WKS_FULL_PATH."""
import re
template_body = d.getVar('_WKS_TEMPLATE')
# Remove any remnant variable references left behind by the expansion
# due to undefined variables
expand_var_regexp = re.compile(r"\${[^{}@\n\t :]+}")
while True:
new_body = re.sub(expand_var_regexp, '', template_body)
if new_body == template_body:
break
else:
template_body = new_body
wks_file = d.getVar('WKS_FULL_PATH')
with open(wks_file, 'w') as f:
f.write(template_body)
}
python emit_pkgdata () {
from glob import glob
import json
def write_if_exists(f, pkg, var):
def encode(str):
import codecs
c = codecs.getencoder("unicode_escape")
return c(str)[0].decode("latin1")
val = d.getVar('%s_%s' % (var, pkg))
if val:
f.write('%s_%s: %s\n' % (var, pkg, encode(val)))
return val
val = d.getVar('%s' % (var))
if val:
f.write('%s: %s\n' % (var, encode(val)))
return val
def write_extra_pkgs(variants, pn, packages, pkgdatadir):
for variant in variants:
with open("%s/%s-%s" % (pkgdatadir, variant, pn), 'w') as fd:
fd.write("PACKAGES: %s\n" % ' '.join(
map(lambda pkg: '%s-%s' % (variant, pkg), packages.split())))
def write_extra_runtime_pkgs(variants, packages, pkgdatadir):
for variant in variants:
for pkg in packages.split():
ml_pkg = "%s-%s" % (variant, pkg)
subdata_file = "%s/runtime/%s" % (pkgdatadir, ml_pkg)
with open(subdata_file, 'w') as fd:
fd.write("PKG_%s: %s" % (ml_pkg, pkg))
packages = d.getVar('PACKAGES')
pkgdest = d.getVar('PKGDEST')
pkgdatadir = d.getVar('PKGDESTWORK')
# Take shared lock since we're only reading, not writing
lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"), True)
data_file = pkgdatadir + d.expand("/${PN}" )
f = open(data_file, 'w')
f.write("PACKAGES: %s\n" % packages)
f.close()
pn = d.getVar('PN')
global_variants = (d.getVar('MULTILIB_GLOBAL_VARIANTS') or "").split()
variants = (d.getVar('MULTILIB_VARIANTS') or "").split()
if bb.data.inherits_class('kernel', d) or bb.data.inherits_class('module-base', d):
write_extra_pkgs(variants, pn, packages, pkgdatadir)
if (bb.data.inherits_class('allarch', d) and not bb.data.inherits_class('packagegroup', d)):
write_extra_pkgs(global_variants, pn, packages, pkgdatadir)
workdir = d.getVar('WORKDIR')
for pkg in packages.split():
pkgval = d.getVar('PKG_%s' % pkg)
if pkgval is None:
pkgval = pkg
d.setVar('PKG_%s' % pkg, pkg)
pkgdestpkg = os.path.join(pkgdest, pkg)
files = {}
total_size = 0
seen = set()
for f in pkgfiles[pkg]:
relpth = os.path.relpath(f, pkgdestpkg)
fstat = os.lstat(f)
files[os.sep + relpth] = fstat.st_size
if fstat.st_ino not in seen:
seen.add(fstat.st_ino)
total_size += fstat.st_size
d.setVar('FILES_INFO', json.dumps(files))
subdata_file = pkgdatadir + "/runtime/%s" % pkg
sf = open(subdata_file, 'w')
write_if_exists(sf, pkg, 'PN')
write_if_exists(sf, pkg, 'PE')
write_if_exists(sf, pkg, 'PV')
write_if_exists(sf, pkg, 'PR')
write_if_exists(sf, pkg, 'PKGE')
write_if_exists(sf, pkg, 'PKGV')
write_if_exists(sf, pkg, 'PKGR')
write_if_exists(sf, pkg, 'LICENSE')
write_if_exists(sf, pkg, 'DESCRIPTION')
write_if_exists(sf, pkg, 'SUMMARY')
write_if_exists(sf, pkg, 'RDEPENDS')
rprov = write_if_exists(sf, pkg, 'RPROVIDES')
write_if_exists(sf, pkg, 'RRECOMMENDS')
write_if_exists(sf, pkg, 'RSUGGESTS')
write_if_exists(sf, pkg, 'RREPLACES')
write_if_exists(sf, pkg, 'RCONFLICTS')
write_if_exists(sf, pkg, 'SECTION')
write_if_exists(sf, pkg, 'PKG')
write_if_exists(sf, pkg, 'ALLOW_EMPTY')
write_if_exists(sf, pkg, 'FILES')
write_if_exists(sf, pkg, 'CONFFILES')
write_if_exists(sf, pkg, 'pkg_postinst')
write_if_exists(sf, pkg, 'pkg_postrm')
write_if_exists(sf, pkg, 'pkg_preinst')
write_if_exists(sf, pkg, 'pkg_prerm')
write_if_exists(sf, pkg, 'FILERPROVIDESFLIST')
write_if_exists(sf, pkg, 'FILES_INFO')
for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split():
write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile)
write_if_exists(sf, pkg, 'FILERDEPENDSFLIST')
for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split():
write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile)
sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size))
sf.close()
# Symlinks needed for rprovides lookup
if rprov:
for p in rprov.strip().split():
subdata_sym = pkgdatadir + "/runtime-rprovides/%s/%s" % (p, pkg)
bb.utils.mkdirhier(os.path.dirname(subdata_sym))
oe.path.symlink("../../runtime/%s" % pkg, subdata_sym, True)
allow_empty = d.getVar('ALLOW_EMPTY_%s' % pkg)
if not allow_empty:
allow_empty = d.getVar('ALLOW_EMPTY')
root = "%s/%s" % (pkgdest, pkg)
os.chdir(root)
g = glob('*')
if g or allow_empty == "1":
# Symlinks needed for reverse lookups (from the final package name)
subdata_sym = pkgdatadir + "/runtime-reverse/%s" % pkgval
oe.path.symlink("../runtime/%s" % pkg, subdata_sym, True)
packagedfile = pkgdatadir + '/runtime/%s.packaged' % pkg
open(packagedfile, 'w').close()
if bb.data.inherits_class('kernel', d) or bb.data.inherits_class('module-base', d):
write_extra_runtime_pkgs(variants, packages, pkgdatadir)
if bb.data.inherits_class('allarch', d) and not bb.data.inherits_class('packagegroup', d):
write_extra_runtime_pkgs(global_variants, packages, pkgdatadir)
bb.utils.unlockfile(lf)
}
python emit_terminal_func () {
def emit_terminal_func(command, envdata, d):
cmd_func = 'do_terminal'
envdata.setVar(cmd_func, 'exec ' + command)
envdata.setVarFlag(cmd_func, 'func', '1')
runfmt = d.getVar('BB_RUNFMT') or "run.{func}.{pid}"
runfile = runfmt.format(func=cmd_func, task=cmd_func, taskfunc=cmd_func, pid=os.getpid())
runfile = os.path.join(d.getVar('T'), runfile)
bb.utils.mkdirhier(os.path.dirname(runfile))
with open(runfile, 'w') as script:
script.write('#!/bin/sh -e\n')
bb.data.emit_func(cmd_func, script, envdata)
script.write(cmd_func)
script.write("\n")
os.chmod(runfile, 0o755)
return runfile
}
python expand_wildcard_licenses () {
def expand_wildcard_licenses(d, wildcard_licenses):
"""
Return actual spdx format license names if wildcard used. We expand
wildcards from SPDXLICENSEMAP flags and SRC_DISTRIBUTE_LICENSES values.
"""
import fnmatch
licenses = []
spdxmapkeys = d.getVarFlags('SPDXLICENSEMAP').keys()
for wld_lic in wildcard_licenses:
spdxflags = fnmatch.filter(spdxmapkeys, wld_lic)
licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags]
spdx_lics = (d.getVar('SRC_DISTRIBUTE_LICENSES', False) or '').split()
for wld_lic in wildcard_licenses:
licenses += fnmatch.filter(spdx_lics, wld_lic)
licenses = list(set(licenses))
return licenses
}
python explode_deps () {
def explode_deps(s):
return bb.utils.explode_deps(s)
}
python extend_recipe_sysroot () {
import copy
import subprocess
import errno
import collections
import glob
taskdepdata = d.getVar("BB_TASKDEPDATA", False)
mytaskname = d.getVar("BB_RUNTASK")
if mytaskname.endswith("_setscene"):
mytaskname = mytaskname.replace("_setscene", "")
workdir = d.getVar("WORKDIR")
#bb.warn(str(taskdepdata))
pn = d.getVar("PN")
stagingdir = d.getVar("STAGING_DIR")
sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests"
recipesysroot = d.getVar("RECIPE_SYSROOT")
recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE")
current_variant = d.getVar("BBEXTENDVARIANT")
# Detect bitbake -b usage
nodeps = d.getVar("BB_LIMITEDDEPS") or False
if nodeps:
lock = bb.utils.lockfile(recipesysroot + "/sysroot.lock")
staging_populate_sysroot_dir(recipesysroot, recipesysrootnative, True, d)
staging_populate_sysroot_dir(recipesysroot, recipesysrootnative, False, d)
bb.utils.unlockfile(lock)
return
start = None
configuredeps = []
for dep in taskdepdata:
data = taskdepdata[dep]
if data[1] == mytaskname and data[0] == pn:
start = dep
break
if start is None:
bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?")
# We need to figure out which sysroot files we need to expose to this task.
# This needs to match what would get restored from sstate, which is controlled
# ultimately by calls from bitbake to setscene_depvalid().
# That function expects a setscene dependency tree. We build a dependency tree
# condensed to inter-sstate task dependencies, similar to that used by setscene
# tasks. We can then call into setscene_depvalid() and decide
# which dependencies we can "see" and should expose in the recipe specific sysroot.
setscenedeps = copy.deepcopy(taskdepdata)
start = set([start])
sstatetasks = d.getVar("SSTATETASKS").split()
def print_dep_tree(deptree):
data = ""
for dep in deptree:
deps = " " + "\n ".join(deptree[dep][3]) + "\n"
data = "%s:\n %s\n %s\n%s %s\n %s\n" % (deptree[dep][0], deptree[dep][1], deptree[dep][2], deps, deptree[dep][4], deptree[dep][5])
return data
#bb.note("Full dep tree is:\n%s" % print_dep_tree(taskdepdata))
#bb.note(" start2 is %s" % str(start))
# If start is an sstate task (like do_package) we need to add in its direct dependencies
# else the code below won't recurse into them.
for dep in set(start):
for dep2 in setscenedeps[dep][3]:
start.add(dep2)
start.remove(dep)
#bb.note(" start3 is %s" % str(start))
# Create collapsed do_populate_sysroot -> do_populate_sysroot tree
for dep in taskdepdata:
data = setscenedeps[dep]
if data[1] not in sstatetasks:
for dep2 in setscenedeps:
data2 = setscenedeps[dep2]
if dep in data2[3]:
data2[3].update(setscenedeps[dep][3])
data2[3].remove(dep)
if dep in start:
start.update(setscenedeps[dep][3])
start.remove(dep)
del setscenedeps[dep]
# Remove circular references
for dep in setscenedeps:
if dep in setscenedeps[dep][3]:
setscenedeps[dep][3].remove(dep)
#bb.note("Computed dep tree is:\n%s" % print_dep_tree(setscenedeps))
#bb.note(" start is %s" % str(start))
# Direct dependencies should be present and can be depended upon
for dep in set(start):
if setscenedeps[dep][1] == "do_populate_sysroot":
if dep not in configuredeps:
configuredeps.append(dep)
bb.note("Direct dependencies are %s" % str(configuredeps))
#bb.note(" or %s" % str(start))
msgbuf = []
# Call into setscene_depvalid for each sub-dependency and only copy sysroot files
# for ones that would be restored from sstate.
done = list(start)
next = list(start)
while next:
new = []
for dep in next:
data = setscenedeps[dep]
for datadep in data[3]:
if datadep in done:
continue
taskdeps = {}
taskdeps[dep] = setscenedeps[dep][:2]
taskdeps[datadep] = setscenedeps[datadep][:2]
retval = setscene_depvalid(datadep, taskdeps, [], d, msgbuf)
if retval:
msgbuf.append("Skipping setscene dependency %s for installation into the sysroot" % datadep)
continue
done.append(datadep)
new.append(datadep)
if datadep not in configuredeps and setscenedeps[datadep][1] == "do_populate_sysroot":
configuredeps.append(datadep)
msgbuf.append("Adding dependency on %s" % setscenedeps[datadep][0])
else:
msgbuf.append("Following dependency on %s" % setscenedeps[datadep][0])
next = new
bb.note("\n".join(msgbuf))
depdir = recipesysrootnative + "/installeddeps"
bb.utils.mkdirhier(depdir)
bb.utils.mkdirhier(sharedmanifests)
lock = bb.utils.lockfile(recipesysroot + "/sysroot.lock")
fixme = {}
fixme[''] = []
fixme['native'] = []
seendirs = set()
postinsts = []
multilibs = {}
manifests = {}
for f in os.listdir(depdir):
if not f.endswith(".complete"):
continue
f = depdir + "/" + f
if os.path.islink(f) and not os.path.exists(f):
bb.note("%s no longer exists, removing from sysroot" % f)
lnk = os.readlink(f.replace(".complete", ""))
sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
os.unlink(f)
os.unlink(f.replace(".complete", ""))
installed = []
for dep in configuredeps:
c = setscenedeps[dep][0]
if mytaskname in ["do_sdk_depends", "do_populate_sdk_ext"] and c.endswith("-initial"):
bb.note("Skipping initial setscene dependency %s for installation into the sysroot" % c)
continue
installed.append(c)
# We want to remove anything which this task previously installed but is no longer a dependency
taskindex = depdir + "/" + "index." + mytaskname
if os.path.exists(taskindex):
potential = []
with open(taskindex, "r") as f:
for l in f:
l = l.strip()
if l not in installed:
fl = depdir + "/" + l
if not os.path.exists(fl):
# Was likely already uninstalled
continue
potential.append(l)
# We need to ensure not other task needs this dependency. We hold the sysroot
# lock so we ca search the indexes to check
if potential:
for i in glob.glob(depdir + "/index.*"):
if i.endswith("." + mytaskname):
continue
with open(i, "r") as f:
for l in f:
l = l.strip()
if l in potential:
potential.remove(l)
for l in potential:
fl = depdir + "/" + l
bb.note("Task %s no longer depends on %s, removing from sysroot" % (mytaskname, l))
lnk = os.readlink(fl)
sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
os.unlink(fl)
os.unlink(fl + ".complete")
for dep in configuredeps:
c = setscenedeps[dep][0]
if c not in installed:
continue
taskhash = setscenedeps[dep][5]
taskmanifest = depdir + "/" + c + "." + taskhash
if os.path.exists(depdir + "/" + c):
lnk = os.readlink(depdir + "/" + c)
if lnk == c + "." + taskhash and os.path.exists(depdir + "/" + c + ".complete"):
bb.note("%s exists in sysroot, skipping" % c)
continue
else:
bb.note("%s exists in sysroot, but is stale (%s vs. %s), removing." % (c, lnk, c + "." + taskhash))
sstate_clean_manifest(depdir + "/" + lnk, d, workdir)
os.unlink(depdir + "/" + c)
if os.path.lexists(depdir + "/" + c + ".complete"):
os.unlink(depdir + "/" + c + ".complete")
elif os.path.lexists(depdir + "/" + c):
os.unlink(depdir + "/" + c)
os.symlink(c + "." + taskhash, depdir + "/" + c)
d2 = d
destsysroot = recipesysroot
variant = ''
if setscenedeps[dep][2].startswith("virtual:multilib"):
variant = setscenedeps[dep][2].split(":")[2]
if variant != current_variant:
if variant not in multilibs:
multilibs[variant] = get_multilib_datastore(variant, d)
d2 = multilibs[variant]
destsysroot = d2.getVar("RECIPE_SYSROOT")
native = False
if c.endswith("-native"):
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c)
native = True
elif c.startswith("nativesdk-"):
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${SDK_ARCH}_${SDK_OS}-%s.populate_sysroot" % c)
elif "-cross-" in c:
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}_${TARGET_ARCH}-%s.populate_sysroot" % c)
native = True
elif "-crosssdk" in c:
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}-%s.populate_sysroot" % c)
native = True
else:
pkgarchs = ['${MACHINE_ARCH}']
pkgarchs = pkgarchs + list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split()))
pkgarchs.append('allarch')
for pkgarch in pkgarchs:
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-%s-%s.populate_sysroot" % (pkgarch, c))
if os.path.exists(manifest):
break
if not os.path.exists(manifest):
bb.warn("Manifest %s not found?" % manifest)
else:
newmanifest = collections.OrderedDict()
if native:
fm = fixme['native']
targetdir = recipesysrootnative
else:
fm = fixme['']
targetdir = destsysroot
with open(manifest, "r") as f:
manifests[dep] = manifest
for l in f:
l = l.strip()
if l.endswith("/fixmepath"):
fm.append(l)
continue
if l.endswith("/fixmepath.cmd"):
continue
dest = l.replace(stagingdir, "")
dest = targetdir + "/" + "/".join(dest.split("/")[3:])
newmanifest[l] = dest
# Having multiple identical manifests in each sysroot eats diskspace so
# create a shared pool of them and hardlink if we can.
# We create the manifest in advance so that if something fails during installation,
# or the build is interrupted, subsequent exeuction can cleanup.
sharedm = sharedmanifests + "/" + os.path.basename(taskmanifest)
if not os.path.exists(sharedm):
smlock = bb.utils.lockfile(sharedm + ".lock")
# Can race here. You'd think it just means we may not end up with all copies hardlinked to each other
# but python can lose file handles so we need to do this under a lock.
if not os.path.exists(sharedm):
with open(sharedm, 'w') as m:
for l in newmanifest:
dest = newmanifest[l]
m.write(dest.replace(workdir + "/", "") + "\n")
bb.utils.unlockfile(smlock)
try:
os.link(sharedm, taskmanifest)
except OSError as err:
if err.errno == errno.EXDEV:
bb.utils.copyfile(sharedm, taskmanifest)
else:
raise
# Finally actually install the files
for l in newmanifest:
dest = newmanifest[l]
if l.endswith("/"):
staging_copydir(l, targetdir, dest, seendirs)
continue
staging_copyfile(l, targetdir, dest, postinsts, seendirs)
for f in fixme:
if f == '':
staging_processfixme(fixme[f], recipesysroot, recipesysroot, recipesysrootnative, d)
elif f == 'native':
staging_processfixme(fixme[f], recipesysrootnative, recipesysroot, recipesysrootnative, d)
else:
staging_processfixme(fixme[f], multilibs[f].getVar("RECIPE_SYSROOT"), recipesysroot, recipesysrootnative, d)
for p in postinsts:
subprocess.check_output(p, shell=True)
for dep in manifests:
c = setscenedeps[dep][0]
os.symlink(manifests[dep], depdir + "/" + c + ".complete")
with open(taskindex, "w") as f:
for l in sorted(installed):
f.write(l + "\n")
bb.utils.unlockfile(lock)
}
python extend_variants () {
def extend_variants(d, var, extend, delim=':'):
"""Return a string of all bb class extend variants for the given extend"""
variants = []
whole = d.getVar(var) or ""
for ext in whole.split():
eext = ext.split(delim)
if len(eext) > 1 and eext[0] == extend:
variants.append(eext[1])
return " ".join(variants)
}
python extra_path_elements () {
def extra_path_elements(d):
path = ""
elements = (d.getVar('EXTRANATIVEPATH') or "").split()
for e in elements:
path = path + "${STAGING_BINDIR_NATIVE}/" + e + ":"
return path
}
python files_from_filevars () {
def files_from_filevars(filevars):
import os,glob
cpath = oe.cachedpath.CachedPath()
files = []
for f in filevars:
if os.path.isabs(f):
f = '.' + f
if not f.startswith("./"):
f = './' + f
globbed = glob.glob(f)
if globbed:
if [ f ] != globbed:
files += globbed
continue
files.append(f)
symlink_paths = []
for ind, f in enumerate(files):
# Handle directory symlinks. Truncate path to the lowest level symlink
parent = ''
for dirname in f.split('/')[:-1]:
parent = os.path.join(parent, dirname)
if dirname == '.':
continue
if cpath.islink(parent):
bb.warn("FILES contains file '%s' which resides under a "
"directory symlink. Please fix the recipe and use the "
"real path for the file." % f[1:])
symlink_paths.append(f)
files[ind] = parent
f = parent
break
if not cpath.islink(f):
if cpath.isdir(f):
newfiles = [ os.path.join(f,x) for x in os.listdir(f) ]
if newfiles:
files += newfiles
return files, symlink_paths
}
python find_license_files () {
def find_license_files(d):
"""
Creates list of files used in LIC_FILES_CHKSUM and generic LICENSE files.
"""
import shutil
import oe.license
from collections import defaultdict, OrderedDict
# All the license files for the package
lic_files = d.getVar('LIC_FILES_CHKSUM') or ""
pn = d.getVar('PN')
# The license files are located in S/LIC_FILE_CHECKSUM.
srcdir = d.getVar('S')
# Directory we store the generic licenses as set in the distro configuration
generic_directory = d.getVar('COMMON_LICENSE_DIR')
# List of basename, path tuples
lic_files_paths = []
# hash for keep track generic lics mappings
non_generic_lics = {}
# Entries from LIC_FILES_CHKSUM
lic_chksums = {}
license_source_dirs = []
license_source_dirs.append(generic_directory)
try:
additional_lic_dirs = d.getVar('LICENSE_PATH').split()
for lic_dir in additional_lic_dirs:
license_source_dirs.append(lic_dir)
except:
pass
class FindVisitor(oe.license.LicenseVisitor):
def visit_Str(self, node):
#
# Until I figure out what to do with
# the two modifiers I support (or greater = +
# and "with exceptions" being *
# we'll just strip out the modifier and put
# the base license.
find_license(node.s.replace("+", "").replace("*", ""))
self.generic_visit(node)
def find_license(license_type):
try:
bb.utils.mkdirhier(gen_lic_dest)
except:
pass
spdx_generic = None
license_source = None
# If the generic does not exist we need to check to see if there is an SPDX mapping to it,
# unless NO_GENERIC_LICENSE is set.
for lic_dir in license_source_dirs:
if not os.path.isfile(os.path.join(lic_dir, license_type)):
if d.getVarFlag('SPDXLICENSEMAP', license_type) != None:
# Great, there is an SPDXLICENSEMAP. We can copy!
bb.debug(1, "We need to use a SPDXLICENSEMAP for %s" % (license_type))
spdx_generic = d.getVarFlag('SPDXLICENSEMAP', license_type)
license_source = lic_dir
break
elif os.path.isfile(os.path.join(lic_dir, license_type)):
spdx_generic = license_type
license_source = lic_dir
break
non_generic_lic = d.getVarFlag('NO_GENERIC_LICENSE', license_type)
if spdx_generic and license_source:
# we really should copy to generic_ + spdx_generic, however, that ends up messing the manifest
# audit up. This should be fixed in emit_pkgdata (or, we actually got and fix all the recipes)
lic_files_paths.append(("generic_" + license_type, os.path.join(license_source, spdx_generic),
None, None))
# The user may attempt to use NO_GENERIC_LICENSE for a generic license which doesn't make sense
# and should not be allowed, warn the user in this case.
if d.getVarFlag('NO_GENERIC_LICENSE', license_type):
bb.warn("%s: %s is a generic license, please don't use NO_GENERIC_LICENSE for it." % (pn, license_type))
elif non_generic_lic and non_generic_lic in lic_chksums:
# if NO_GENERIC_LICENSE is set, we copy the license files from the fetched source
# of the package rather than the license_source_dirs.
lic_files_paths.append(("generic_" + license_type,
os.path.join(srcdir, non_generic_lic), None, None))
non_generic_lics[non_generic_lic] = license_type
else:
# Add explicity avoid of CLOSED license because this isn't generic
if license_type != 'CLOSED':
# And here is where we warn people that their licenses are lousy
bb.warn("%s: No generic license file exists for: %s in any provider" % (pn, license_type))
pass
if not generic_directory:
bb.fatal("COMMON_LICENSE_DIR is unset. Please set this in your distro config")
for url in lic_files.split():
try:
(type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url)
except bb.fetch.MalformedUrl:
bb.fatal("%s: LIC_FILES_CHKSUM contains an invalid URL: %s" % (d.getVar('PF'), url))
# We want the license filename and path
chksum = parm.get('md5', None)
beginline = parm.get('beginline')
endline = parm.get('endline')
lic_chksums[path] = (chksum, beginline, endline)
v = FindVisitor()
try:
v.visit_string(d.getVar('LICENSE'))
except oe.license.InvalidLicense as exc:
bb.fatal('%s: %s' % (d.getVar('PF'), exc))
except SyntaxError:
bb.warn("%s: Failed to parse it's LICENSE field." % (d.getVar('PF')))
# Add files from LIC_FILES_CHKSUM to list of license files
lic_chksum_paths = defaultdict(OrderedDict)
for path, data in sorted(lic_chksums.items()):
lic_chksum_paths[os.path.basename(path)][data] = (os.path.join(srcdir, path), data[1], data[2])
for basename, files in lic_chksum_paths.items():
if len(files) == 1:
# Don't copy again a LICENSE already handled as non-generic
if basename in non_generic_lics:
continue
data = list(files.values())[0]
lic_files_paths.append(tuple([basename] + list(data)))
else:
# If there are multiple different license files with identical
# basenames we rename them to <file>.0, <file>.1, ...
for i, data in enumerate(files.values()):
lic_files_paths.append(tuple(["%s.%d" % (basename, i)] + list(data)))
return lic_files_paths
}
python fixup_perms () {
import pwd, grp
# init using a string with the same format as a line as documented in
# the fs-perms.txt file
# <path> <mode> <uid> <gid> <walk> <fmode> <fuid> <fgid>
# <path> link <link target>
#
# __str__ can be used to print out an entry in the input format
#
# if fs_perms_entry.path is None:
# an error occured
# if fs_perms_entry.link, you can retrieve:
# fs_perms_entry.path = path
# fs_perms_entry.link = target of link
# if not fs_perms_entry.link, you can retrieve:
# fs_perms_entry.path = path
# fs_perms_entry.mode = expected dir mode or None
# fs_perms_entry.uid = expected uid or -1
# fs_perms_entry.gid = expected gid or -1
# fs_perms_entry.walk = 'true' or something else
# fs_perms_entry.fmode = expected file mode or None
# fs_perms_entry.fuid = expected file uid or -1
# fs_perms_entry_fgid = expected file gid or -1
class fs_perms_entry():
def __init__(self, line):
lsplit = line.split()
if len(lsplit) == 3 and lsplit[1].lower() == "link":
self._setlink(lsplit[0], lsplit[2])
elif len(lsplit) == 8:
self._setdir(lsplit[0], lsplit[1], lsplit[2], lsplit[3], lsplit[4], lsplit[5], lsplit[6], lsplit[7])
else:
msg = "Fixup Perms: invalid config line %s" % line
package_qa_handle_error("perm-config", msg, d)
self.path = None
self.link = None
def _setdir(self, path, mode, uid, gid, walk, fmode, fuid, fgid):
self.path = os.path.normpath(path)
self.link = None
self.mode = self._procmode(mode)
self.uid = self._procuid(uid)
self.gid = self._procgid(gid)
self.walk = walk.lower()
self.fmode = self._procmode(fmode)
self.fuid = self._procuid(fuid)
self.fgid = self._procgid(fgid)
def _setlink(self, path, link):
self.path = os.path.normpath(path)
self.link = link
def _procmode(self, mode):
if not mode or (mode and mode == "-"):
return None
else:
return int(mode,8)
# Note uid/gid -1 has special significance in os.lchown
def _procuid(self, uid):
if uid is None or uid == "-":
return -1
elif uid.isdigit():
return int(uid)
else:
return pwd.getpwnam(uid).pw_uid
def _procgid(self, gid):
if gid is None or gid == "-":
return -1
elif gid.isdigit():
return int(gid)
else:
return grp.getgrnam(gid).gr_gid
# Use for debugging the entries
def __str__(self):
if self.link:
return "%s link %s" % (self.path, self.link)
else:
mode = "-"
if self.mode:
mode = "0%o" % self.mode
fmode = "-"
if self.fmode:
fmode = "0%o" % self.fmode
uid = self._mapugid(self.uid)
gid = self._mapugid(self.gid)
fuid = self._mapugid(self.fuid)
fgid = self._mapugid(self.fgid)
return "%s %s %s %s %s %s %s %s" % (self.path, mode, uid, gid, self.walk, fmode, fuid, fgid)
def _mapugid(self, id):
if id is None or id == -1:
return "-"
else:
return "%d" % id
# Fix the permission, owner and group of path
def fix_perms(path, mode, uid, gid, dir):
if mode and not os.path.islink(path):
#bb.note("Fixup Perms: chmod 0%o %s" % (mode, dir))
os.chmod(path, mode)
# -1 is a special value that means don't change the uid/gid
# if they are BOTH -1, don't bother to lchown
if not (uid == -1 and gid == -1):
#bb.note("Fixup Perms: lchown %d:%d %s" % (uid, gid, dir))
os.lchown(path, uid, gid)
# Return a list of configuration files based on either the default
# files/fs-perms.txt or the contents of FILESYSTEM_PERMS_TABLES
# paths are resolved via BBPATH
def get_fs_perms_list(d):
str = ""
bbpath = d.getVar('BBPATH')
fs_perms_tables = d.getVar('FILESYSTEM_PERMS_TABLES')
if not fs_perms_tables:
fs_perms_tables = 'files/fs-perms.txt'
for conf_file in fs_perms_tables.split():
str += " %s" % bb.utils.which(bbpath, conf_file)
return str
dvar = d.getVar('PKGD')
fs_perms_table = {}
fs_link_table = {}
# By default all of the standard directories specified in
# bitbake.conf will get 0755 root:root.
target_path_vars = [ 'base_prefix',
'prefix',
'exec_prefix',
'base_bindir',
'base_sbindir',
'base_libdir',
'datadir',
'sysconfdir',
'servicedir',
'sharedstatedir',
'localstatedir',
'infodir',
'mandir',
'docdir',
'bindir',
'sbindir',
'libexecdir',
'libdir',
'includedir',
'oldincludedir' ]
for path in target_path_vars:
dir = d.getVar(path) or ""
if dir == "":
continue
fs_perms_table[dir] = fs_perms_entry(d.expand("%s 0755 root root false - - -" % (dir)))
# Now we actually load from the configuration files
for conf in get_fs_perms_list(d).split():
if os.path.exists(conf):
f = open(conf)
for line in f:
if line.startswith('#'):
continue
lsplit = line.split()
if len(lsplit) == 0:
continue
if len(lsplit) != 8 and not (len(lsplit) == 3 and lsplit[1].lower() == "link"):
msg = "Fixup perms: %s invalid line: %s" % (conf, line)
package_qa_handle_error("perm-line", msg, d)
continue
entry = fs_perms_entry(d.expand(line))
if entry and entry.path:
if entry.link:
fs_link_table[entry.path] = entry
if entry.path in fs_perms_table:
fs_perms_table.pop(entry.path)
else:
fs_perms_table[entry.path] = entry
if entry.path in fs_link_table:
fs_link_table.pop(entry.path)
f.close()
# Debug -- list out in-memory table
#for dir in fs_perms_table:
# bb.note("Fixup Perms: %s: %s" % (dir, str(fs_perms_table[dir])))
#for link in fs_link_table:
# bb.note("Fixup Perms: %s: %s" % (link, str(fs_link_table[link])))
# We process links first, so we can go back and fixup directory ownership
# for any newly created directories
# Process in sorted order so /run gets created before /run/lock, etc.
for entry in sorted(fs_link_table.values(), key=lambda x: x.link):
link = entry.link
dir = entry.path
origin = dvar + dir
if not (cpath.exists(origin) and cpath.isdir(origin) and not cpath.islink(origin)):
continue
if link[0] == "/":
target = dvar + link
ptarget = link
else:
target = os.path.join(os.path.dirname(origin), link)
ptarget = os.path.join(os.path.dirname(dir), link)
if os.path.exists(target):
msg = "Fixup Perms: Unable to correct directory link, target already exists: %s -> %s" % (dir, ptarget)
package_qa_handle_error("perm-link", msg, d)
continue
# Create path to move directory to, move it, and then setup the symlink
bb.utils.mkdirhier(os.path.dirname(target))
#bb.note("Fixup Perms: Rename %s -> %s" % (dir, ptarget))
os.rename(origin, target)
#bb.note("Fixup Perms: Link %s -> %s" % (dir, link))
os.symlink(link, origin)
for dir in fs_perms_table:
origin = dvar + dir
if not (cpath.exists(origin) and cpath.isdir(origin)):
continue
fix_perms(origin, fs_perms_table[dir].mode, fs_perms_table[dir].uid, fs_perms_table[dir].gid, dir)
if fs_perms_table[dir].walk == 'true':
for root, dirs, files in os.walk(origin):
for dr in dirs:
each_dir = os.path.join(root, dr)
fix_perms(each_dir, fs_perms_table[dir].mode, fs_perms_table[dir].uid, fs_perms_table[dir].gid, dir)
for f in files:
each_file = os.path.join(root, f)
fix_perms(each_file, fs_perms_table[dir].fmode, fs_perms_table[dir].fuid, fs_perms_table[dir].fgid, dir)
}
python gen_packagevar () {
def gen_packagevar(d):
ret = []
pkgs = (d.getVar("PACKAGES") or "").split()
vars = (d.getVar("PACKAGEVARS") or "").split()
for p in pkgs:
for v in vars:
ret.append(v + "_" + p)
# Ensure that changes to INCOMPATIBLE_LICENSE re-run do_package for
# affected recipes.
ret.append('LICENSE_EXCLUSION-%s' % p)
return " ".join(ret)
}
python generate_sstatefn () {
def generate_sstatefn(spec, hash, d):
if not hash:
hash = "INVALID"
return hash[:2] + "/" + spec + hash
}
python get_boot_dependencies () {
def get_boot_dependencies(d):
"""
Return the dependencies from boot tasks
"""
depends = []
boot_depends_string = ""
taskdepdata = d.getVar("BB_TASKDEPDATA", False)
# Only bootimg and bootdirectdisk include the depends flag
boot_tasks = ["do_bootimg", "do_bootdirectdisk",]
for task in boot_tasks:
boot_depends_string = "%s %s" % (boot_depends_string,
d.getVarFlag(task, "depends") or "")
boot_depends = [dep.split(":")[0] for dep
in boot_depends_string.split()
if not dep.split(":")[0].endswith("-native")]
for dep in boot_depends:
info_file = os.path.join(d.getVar("LICENSE_DIRECTORY"),
dep, "recipeinfo")
# If the recipe and dependency name is the same
if os.path.exists(info_file):
depends.append(dep)
# We need to search for the provider of the dependency
else:
for taskdep in taskdepdata.values():
# The fifth field contains what the task provides
if dep in taskdep[4]:
info_file = os.path.join(
d.getVar("LICENSE_DIRECTORY"),
taskdep[0], "recipeinfo")
if os.path.exists(info_file):
depends.append(taskdep[0])
break
return depends}
python get_conffiles () {
def get_conffiles(pkg, d):
pkgdest = d.getVar('PKGDEST')
root = os.path.join(pkgdest, pkg)
cwd = os.getcwd()
os.chdir(root)
conffiles = d.getVar('CONFFILES_%s' % pkg);
if conffiles == None:
conffiles = d.getVar('CONFFILES')
if conffiles == None:
conffiles = ""
conffiles = conffiles.split()
conf_orig_list = files_from_filevars(conffiles)[0]
# Remove links and directories from conf_orig_list to get conf_list which only contains normal files
conf_list = []
for f in conf_orig_list:
if os.path.isdir(f):
continue
if os.path.islink(f):
continue
if not os.path.exists(f):
continue
conf_list.append(f)
# Remove the leading './'
for i in range(0, len(conf_list)):
conf_list[i] = conf_list[i][1:]
os.chdir(cwd)
return conf_list
}
python get_current_buildtools () {
def get_current_buildtools(d):
"""Get the file name of the current buildtools installer"""
import glob
btfiles = glob.glob(os.path.join(d.getVar('SDK_DEPLOY'), '*-buildtools-nativesdk-standalone-*.sh'))
btfiles.sort(key=os.path.getctime)
return os.path.basename(btfiles[-1])
}
python get_deployed_dependencies () {
def get_deployed_dependencies(d):
"""
Get all the deployed dependencies of an image
"""
deploy = {}
# Get all the dependencies for the current task (rootfs).
# Also get EXTRA_IMAGEDEPENDS because the bootloader is
# usually in this var and not listed in rootfs.
# At last, get the dependencies from boot classes because
# it might contain the bootloader.
taskdata = d.getVar("BB_TASKDEPDATA", False)
depends = list(set([dep[0] for dep
in list(taskdata.values())
if not dep[0].endswith("-native")]))
extra_depends = d.getVar("EXTRA_IMAGEDEPENDS")
boot_depends = get_boot_dependencies(d)
depends.extend(extra_depends.split())
depends.extend(boot_depends)
depends = list(set(depends))
# To verify what was deployed it checks the rootfs dependencies against
# the SSTATE_MANIFESTS for "deploy" task.
# The manifest file name contains the arch. Because we are not running
# in the recipe context it is necessary to check every arch used.
sstate_manifest_dir = d.getVar("SSTATE_MANIFESTS")
sstate_archs = d.getVar("SSTATE_ARCHS")
extra_archs = d.getVar("PACKAGE_EXTRA_ARCHS")
archs = list(set(("%s %s" % (sstate_archs, extra_archs)).split()))
for dep in depends:
# Some recipes have an arch on their own, so we try that first.
special_arch = d.getVar("PACKAGE_ARCH_pn-%s" % dep)
if special_arch:
sstate_manifest_file = os.path.join(sstate_manifest_dir,
"manifest-%s-%s.deploy" % (special_arch, dep))
if os.path.exists(sstate_manifest_file):
deploy[dep] = sstate_manifest_file
continue
for arch in archs:
sstate_manifest_file = os.path.join(sstate_manifest_dir,
"manifest-%s-%s.deploy" % (arch, dep))
if os.path.exists(sstate_manifest_file):
deploy[dep] = sstate_manifest_file
break
return deploy}
python get_deployed_files () {
def get_deployed_files(man_file):
"""
Get the files deployed from the sstate manifest
"""
dep_files = []
excluded_files = []
with open(man_file, "r") as manifest:
all_files = manifest.read()
for f in all_files.splitlines():
if ((not (os.path.islink(f) or os.path.isdir(f))) and
not os.path.basename(f) in excluded_files):
dep_files.append(os.path.basename(f))
return dep_files
}
python get_distro_version () {
def get_distro_version(d):
import subprocess
os.chdir(d.get("TOPDIR"))
version = None
if os.path.exists(".git"):
cmd = ["git", "describe", "--dirty", "--always", "--tags"]
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
version,err = p.communicate()
if p.returncode != 0 or err:
version = None
if version is None and os.path.exists("VERSION"):
version = open("VERSION", "rb").readline()
if not version:
version = b"unknown"
return str(version.strip().decode())
}
python get_ext_sdk_depends () {
def get_ext_sdk_depends(d):
# Note: the deps varflag is a list not a string, so we need to specify expand=False
deps = d.getVarFlag('do_image_complete', 'deps', False)
pn = d.getVar('PN')
deplist = ['%s:%s' % (pn, dep) for dep in deps]
tasklist = bb.build.tasksbetween('do_image_complete', 'do_build', d)
tasklist.append('do_rootfs')
for task in tasklist:
deplist.extend((d.getVarFlag(task, 'depends') or '').split())
return ' '.join(deplist)
}
python get_filesystem_id () {
def get_filesystem_id(path):
status, result = oe.utils.getstatusoutput("stat -f -c '%s' %s" % ("%t", path))
if status == 0:
return result
else:
bb.warn("Can't get the filesystem id of: %s" % path)
return None
}
python get_layers_branch_rev () {
def get_layers_branch_rev(d):
layers = (d.getVar("BBLAYERS") or "").split()
layers_branch_rev = ["%-17s = \"%s:%s\"" % (os.path.basename(i), \
base_get_metadata_git_branch(i, None).strip(), \
base_get_metadata_git_revision(i, None)) \
for i in layers]
i = len(layers_branch_rev)-1
p1 = layers_branch_rev[i].find("=")
s1 = layers_branch_rev[i][p1:]
while i > 0:
p2 = layers_branch_rev[i-1].find("=")
s2= layers_branch_rev[i-1][p2:]
if s1 == s2:
layers_branch_rev[i-1] = layers_branch_rev[i-1][0:p2]
i -= 1
else:
i -= 1
p1 = layers_branch_rev[i].find("=")
s1= layers_branch_rev[i][p1:]
return layers_branch_rev
}
python get_libc_locales_dependencies () {
def get_libc_locales_dependencies(d):
if 'libc-locales' in (d.getVar('DISTRO_FEATURES') or '').split() :
return d.getVar('LIBC_LOCALE_DEPENDENCIES') or ''
else:
return ''}
python get_lic_checksum_file_list () {
def get_lic_checksum_file_list(d):
filelist = []
lic_files = d.getVar("LIC_FILES_CHKSUM") or ''
tmpdir = d.getVar("TMPDIR")
s = d.getVar("S")
b = d.getVar("B")
workdir = d.getVar("WORKDIR")
urls = lic_files.split()
for url in urls:
# We only care about items that are absolute paths since
# any others should be covered by SRC_URI.
try:
path = bb.fetch.decodeurl(url)[2]
if not path:
raise bb.fetch.MalformedUrl(url)
if path[0] == '/':
if path.startswith((tmpdir, s, b, workdir)):
continue
filelist.append(path + ":" + str(os.path.exists(path)))
except bb.fetch.MalformedUrl:
bb.fatal(d.getVar('PN') + ": LIC_FILES_CHKSUM contains an invalid URL: " + url)
return " ".join(filelist)
}
python get_multilib_datastore () {
def get_multilib_datastore(variant, d):
localdata = bb.data.createCopy(d)
overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + variant
localdata.setVar("OVERRIDES", overrides)
localdata.setVar("MLPREFIX", variant + "-")
return localdata
}
python get_package_additional_metadata () {
def get_package_additional_metadata (pkg_type, d):
base_key = "PACKAGE_ADD_METADATA"
for key in ("%s_%s" % (base_key, pkg_type.upper()), base_key):
if d.getVar(key, False) is None:
continue
d.setVarFlag(key, "type", "list")
if d.getVarFlag(key, "separator") is None:
d.setVarFlag(key, "separator", "\\n")
metadata_fields = [field.strip() for field in oe.data.typed_value(key, d)]
return "\n".join(metadata_fields).strip()
}
python get_package_mapping () {
def get_package_mapping (pkg, basepkg, d):
import oe.packagedata
data = oe.packagedata.read_subpkgdata(pkg, d)
key = "PKG_%s" % pkg
if key in data:
# Have to avoid undoing the write_extra_pkgs(global_variants...)
if bb.data.inherits_class('allarch', d) and data[key] == basepkg:
return pkg
return data[key]
return pkg
}
python get_recipe_info () {
def get_recipe_info(d):
info = {}
info["PV"] = d.getVar("PV")
info["PR"] = d.getVar("PR")
info["LICENSE"] = d.getVar("LICENSE")
return info
}
python get_rootfs_size () {
def get_rootfs_size(d):
import subprocess
rootfs_alignment = int(d.getVar('IMAGE_ROOTFS_ALIGNMENT'))
overhead_factor = float(d.getVar('IMAGE_OVERHEAD_FACTOR'))
rootfs_req_size = int(d.getVar('IMAGE_ROOTFS_SIZE'))
rootfs_extra_space = eval(d.getVar('IMAGE_ROOTFS_EXTRA_SPACE'))
rootfs_maxsize = d.getVar('IMAGE_ROOTFS_MAXSIZE')
image_fstypes = d.getVar('IMAGE_FSTYPES') or ''
initramfs_fstypes = d.getVar('INITRAMFS_FSTYPES') or ''
initramfs_maxsize = d.getVar('INITRAMFS_MAXSIZE')
output = subprocess.check_output(['du', '-ks',
d.getVar('IMAGE_ROOTFS')])
size_kb = int(output.split()[0])
base_size = size_kb * overhead_factor
base_size = max(base_size, rootfs_req_size) + rootfs_extra_space
if base_size != int(base_size):
base_size = int(base_size + 1)
else:
base_size = int(base_size)
base_size += rootfs_alignment - 1
base_size -= base_size % rootfs_alignment
# Do not check image size of the debugfs image. This is not supposed
# to be deployed, etc. so it doesn't make sense to limit the size
# of the debug.
if (d.getVar('IMAGE_BUILDING_DEBUGFS') or "") == "true":
return base_size
# Check the rootfs size against IMAGE_ROOTFS_MAXSIZE (if set)
if rootfs_maxsize:
rootfs_maxsize_int = int(rootfs_maxsize)
if base_size > rootfs_maxsize_int:
bb.fatal("The rootfs size %d(K) overrides IMAGE_ROOTFS_MAXSIZE: %d(K)" % \
(base_size, rootfs_maxsize_int))
# Check the initramfs size against INITRAMFS_MAXSIZE (if set)
if image_fstypes == initramfs_fstypes != '' and initramfs_maxsize:
initramfs_maxsize_int = int(initramfs_maxsize)
if base_size > initramfs_maxsize_int:
bb.error("The initramfs size %d(K) overrides INITRAMFS_MAXSIZE: %d(K)" % \
(base_size, initramfs_maxsize_int))
bb.error("You can set INITRAMFS_MAXSIZE a larger value. Usually, it should")
bb.fatal("be less than 1/2 of ram size, or you may fail to boot it.\n")
return base_size
}
python get_sdk_ext_rdepends () {
def get_sdk_ext_rdepends(d):
localdata = d.createCopy()
localdata.appendVar('OVERRIDES', ':task-populate-sdk-ext')
return localdata.getVarFlag('do_populate_sdk', 'rdepends')
}
python get_sdk_install_targets () {
def get_sdk_install_targets(d, images_only=False):
sdk_install_targets = ''
if images_only or d.getVar('SDK_EXT_TYPE') != 'minimal':
sdk_install_targets = d.getVar('SDK_TARGETS')
depd = d.getVar('BB_TASKDEPDATA', False)
tasklist = bb.build.tasksbetween('do_image_complete', 'do_build', d)
tasklist.remove('do_build')
for v in depd.values():
if v[1] in tasklist:
if v[0] not in sdk_install_targets:
sdk_install_targets += ' {}'.format(v[0])
if not images_only:
if d.getVar('SDK_INCLUDE_PKGDATA') == '1':
sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata'
if d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1':
sdk_install_targets += ' meta-extsdk-toolchain:do_populate_sysroot'
return sdk_install_targets
}
python get_sdk_required_utilities () {
def get_sdk_required_utilities(buildtools_fn, d):
"""Find required utilities that aren't provided by the buildtools"""
sanity_required_utilities = (d.getVar('SANITY_REQUIRED_UTILITIES') or '').split()
sanity_required_utilities.append(d.expand('${BUILD_PREFIX}gcc'))
sanity_required_utilities.append(d.expand('${BUILD_PREFIX}g++'))
buildtools_installer = os.path.join(d.getVar('SDK_DEPLOY'), buildtools_fn)
filelist, _ = bb.process.run('%s -l' % buildtools_installer)
localdata = bb.data.createCopy(d)
localdata.setVar('SDKPATH', '.')
sdkpathnative = localdata.getVar('SDKPATHNATIVE')
sdkbindirs = [localdata.getVar('bindir_nativesdk'),
localdata.getVar('sbindir_nativesdk'),
localdata.getVar('base_bindir_nativesdk'),
localdata.getVar('base_sbindir_nativesdk')]
for line in filelist.splitlines():
splitline = line.split()
if len(splitline) > 5:
fn = splitline[5]
if not fn.startswith('./'):
fn = './%s' % fn
if fn.startswith(sdkpathnative):
relpth = '/' + os.path.relpath(fn, sdkpathnative)
for bindir in sdkbindirs:
if relpth.startswith(bindir):
relpth = os.path.relpath(relpth, bindir)
if relpth in sanity_required_utilities:
sanity_required_utilities.remove(relpth)
break
return ' '.join(sanity_required_utilities)
}
python imagetypes_getdepends () {
def imagetypes_getdepends(d):
def adddep(depstr, deps):
for d in (depstr or "").split():
# Add task dependency if not already present
if ":" not in d:
d += ":do_populate_sysroot"
deps.add(d)
# Take a type in the form of foo.bar.car and split it into the items
# needed for the image deps "foo", and the conversion deps ["bar", "car"]
def split_types(typestring):
types = typestring.split(".")
return types[0], types[1:]
fstypes = set((d.getVar('IMAGE_FSTYPES') or "").split())
fstypes |= set((d.getVar('IMAGE_FSTYPES_DEBUGFS') or "").split())
deps = set()
for typestring in fstypes:
basetype, resttypes = split_types(typestring)
adddep(d.getVar('IMAGE_DEPENDS_%s' % basetype) , deps)
for typedepends in (d.getVar("IMAGE_TYPEDEP_%s" % basetype) or "").split():
base, rest = split_types(typedepends)
adddep(d.getVar('IMAGE_DEPENDS_%s' % base) , deps)
resttypes += rest
for ctype in resttypes:
adddep(d.getVar("CONVERSION_DEPENDS_%s" % ctype), deps)
adddep(d.getVar("COMPRESS_DEPENDS_%s" % ctype), deps)
# Sort the set so that ordering is consistant
return " ".join(sorted(deps))
}
python incompatible_license () {
def incompatible_license(d, dont_want_licenses, package=None):
"""
This function checks if a recipe has only incompatible licenses. It also
take into consideration 'or' operand. dont_want_licenses should be passed
as canonical (SPDX) names.
"""
import oe.license
license = d.getVar("LICENSE_%s" % package) if package else None
if not license:
license = d.getVar('LICENSE')
# Handles an "or" or two license sets provided by
# flattened_licenses(), pick one that works if possible.
def choose_lic_set(a, b):
return a if all(oe.license.license_ok(canonical_license(d, lic),
dont_want_licenses) for lic in a) else b
try:
licenses = oe.license.flattened_licenses(license, choose_lic_set)
except oe.license.LicenseError as exc:
bb.fatal('%s: %s' % (d.getVar('P'), exc))
return any(not oe.license.license_ok(canonical_license(d, l), \
dont_want_licenses) for l in licenses)
}
python incompatible_license_contains () {
def incompatible_license_contains(license, truevalue, falsevalue, d):
license = canonical_license(d, license)
bad_licenses = (d.getVar('INCOMPATIBLE_LICENSE') or "").split()
bad_licenses = expand_wildcard_licenses(d, bad_licenses)
return truevalue if license in bad_licenses else falsevalue
}
python is_machine_specific () {
def is_machine_specific(d):
"""Determine whether the current recipe is machine specific"""
machinepaths = set(machine_paths(d))
srcuri = d.getVar("SRC_URI").split()
for url in srcuri:
fetcher = bb.fetch2.Fetch([srcuri], d)
if url.startswith("file://"):
if any(fetcher.localpath(url).startswith(mp + "/") for mp in machinepaths):
return True
}
python legitimize_package_name () {
def legitimize_package_name(s):
"""
Make sure package names are legitimate strings
"""
import re
def fixutf(m):
cp = m.group(1)
if cp:
return ('\\u%s' % cp).encode('latin-1').decode('unicode_escape')
# Handle unicode codepoints encoded as <U0123>, as in glibc locale files.
s = re.sub('<U([0-9A-Fa-f]{1,4})>', fixutf, s)
# Remaining package name validity fixes
return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-')
}
python license_create_manifest () {
import oe.packagedata
from oe.rootfs import image_list_installed_packages
build_images_from_feeds = d.getVar('BUILD_IMAGES_FROM_FEEDS')
if build_images_from_feeds == "1":
return 0
pkg_dic = {}
for pkg in sorted(image_list_installed_packages(d)):
pkg_info = os.path.join(d.getVar('PKGDATA_DIR'),
'runtime-reverse', pkg)
pkg_name = os.path.basename(os.readlink(pkg_info))
pkg_dic[pkg_name] = oe.packagedata.read_pkgdatafile(pkg_info)
if not "LICENSE" in pkg_dic[pkg_name].keys():
pkg_lic_name = "LICENSE_" + pkg_name
pkg_dic[pkg_name]["LICENSE"] = pkg_dic[pkg_name][pkg_lic_name]
rootfs_license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY'),
d.getVar('IMAGE_NAME'), 'license.manifest')
write_license_files(d, rootfs_license_manifest, pkg_dic)
}
python license_deployed_manifest () {
def license_deployed_manifest(d):
"""
Write the license manifest for the deployed recipes.
The deployed recipes usually includes the bootloader
and extra files to boot the target.
"""
dep_dic = {}
man_dic = {}
lic_dir = d.getVar("LICENSE_DIRECTORY")
dep_dic = get_deployed_dependencies(d)
for dep in dep_dic.keys():
man_dic[dep] = {}
# It is necessary to mark this will be used for image manifest
man_dic[dep]["IMAGE_MANIFEST"] = True
man_dic[dep]["PN"] = dep
man_dic[dep]["FILES"] = \
" ".join(get_deployed_files(dep_dic[dep]))
with open(os.path.join(lic_dir, dep, "recipeinfo"), "r") as f:
for line in f.readlines():
key,val = line.split(": ", 1)
man_dic[dep][key] = val[:-1]
lic_manifest_dir = os.path.join(d.getVar('LICENSE_DIRECTORY'),
d.getVar('IMAGE_NAME'))
bb.utils.mkdirhier(lic_manifest_dir)
image_license_manifest = os.path.join(lic_manifest_dir, 'image_license.manifest')
write_license_files(d, image_license_manifest, man_dic)
}
python lsb_distro_identifier () {
def lsb_distro_identifier(d):
adjust = d.getVar('LSB_DISTRO_ADJUST')
adjust_func = None
if adjust:
try:
adjust_func = globals()[adjust]
except KeyError:
pass
return oe.lsb.distro_identifier(adjust_func)
}
python machine_paths () {
def machine_paths(d):
"""List any existing machine specific filespath directories"""
machine = d.getVar("MACHINE")
filespathpkg = d.getVar("FILESPATHPKG").split(":")
for basepath in d.getVar("FILESPATHBASE").split(":"):
for pkgpath in filespathpkg:
machinepath = os.path.join(basepath, pkgpath, machine)
if os.path.isdir(machinepath):
yield machinepath
}
python map_kernel_arch () {
def map_kernel_arch(a, d):
import re
valid_archs = d.getVar('valid_archs').split()
if re.match('(i.86|athlon|x86.64)$', a): return 'x86'
elif re.match('armeb$', a): return 'arm'
elif re.match('aarch64$', a): return 'arm64'
elif re.match('aarch64_be$', a): return 'arm64'
elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'mips'
elif re.match('p(pc|owerpc)(|64)', a): return 'powerpc'
elif re.match('sh(3|4)$', a): return 'sh'
elif re.match('bfin', a): return 'blackfin'
elif re.match('microblazee[bl]', a): return 'microblaze'
elif a in valid_archs: return a
else:
if not d.getVar("TARGET_OS").startswith("linux"):
return a
bb.error("cannot map '%s' to a linux kernel architecture" % a)
}
python map_uboot_arch () {
def map_uboot_arch(a, d):
import re
if re.match('p(pc|owerpc)(|64)', a): return 'ppc'
elif re.match('i.86$', a): return 'x86'
return a
}
python mapping_rename_hook () {
def mapping_rename_hook(d):
"""
Rewrite variables to account for package renaming in things
like debian.bbclass or manual PKG variable name changes
"""
pkg = d.getVar("PKG")
runtime_mapping_rename("RDEPENDS", pkg, d)
runtime_mapping_rename("RRECOMMENDS", pkg, d)
runtime_mapping_rename("RSUGGESTS", pkg, d)}
python multilib_pkg_extend () {
def multilib_pkg_extend(d, pkg):
variants = (d.getVar("MULTILIB_VARIANTS") or "").split()
if not variants:
return pkg
pkgs = pkg
for v in variants:
pkgs = pkgs + " " + v + "-" + pkg
return pkgs
}
python oe_filter () {
def oe_filter(f, str, d):
return oe.utils.str_filter(f, str, d)
}
python oe_filter_out () {
def oe_filter_out(f, str, d):
return oe.utils.str_filter_out(f, str, d)
}
python oe_import () {
def oe_import(d):
import sys
bbpath = d.getVar("BBPATH").split(":")
sys.path[0:0] = [os.path.join(dir, "lib") for dir in bbpath]
def inject(name, value):
"""Make a python object accessible from the metadata"""
if hasattr(bb.utils, "_context"):
bb.utils._context[name] = value
else:
__builtins__[name] = value
import oe.data
for toimport in oe.data.typed_value("OE_IMPORTS", d):
imported = __import__(toimport)
inject(toimport.split(".", 1)[0], imported)
return ""
}
python oe_terminal () {
def oe_terminal(command, title, d):
import oe.data
import oe.terminal
envdata = bb.data.init()
for v in os.environ:
envdata.setVar(v, os.environ[v])
envdata.setVarFlag(v, 'export', '1')
for export in oe.data.typed_value('OE_TERMINAL_EXPORTS', d):
value = d.getVar(export)
if value is not None:
os.environ[export] = str(value)
envdata.setVar(export, str(value))
envdata.setVarFlag(export, 'export', '1')
if export == "PSEUDO_DISABLED":
if "PSEUDO_UNLOAD" in os.environ:
del os.environ["PSEUDO_UNLOAD"]
envdata.delVar("PSEUDO_UNLOAD")
# Add in all variables from the user's original environment which
# haven't subsequntly been set/changed
origbbenv = d.getVar("BB_ORIGENV", False) or {}
for key in origbbenv:
if key in envdata:
continue
value = origbbenv.getVar(key)
if value is not None:
os.environ[key] = str(value)
envdata.setVar(key, str(value))
envdata.setVarFlag(key, 'export', '1')
# Use original PATH as a fallback
path = d.getVar('PATH') + ":" + origbbenv.getVar('PATH')
os.environ['PATH'] = path
envdata.setVar('PATH', path)
# A complex PS1 might need more escaping of chars.
# Lets not export PS1 instead.
envdata.delVar("PS1")
# Replace command with an executable wrapper script
command = emit_terminal_func(command, envdata, d)
terminal = oe.data.typed_value('OE_TERMINAL', d).lower()
if terminal == 'none':
bb.fatal('Devshell usage disabled with OE_TERMINAL')
elif terminal != 'auto':
try:
oe.terminal.spawn(terminal, command, title, None, d)
return
except oe.terminal.UnsupportedTerminal:
bb.warn('Unsupported terminal "%s", defaulting to "auto"' %
terminal)
except oe.terminal.ExecutionError as exc:
bb.fatal('Unable to spawn terminal %s: %s' % (terminal, exc))
try:
oe.terminal.spawn_preferred(command, title, None, d)
except oe.terminal.NoSupportedTerminals as nosup:
nosup.terms.remove("false")
cmds = '\n\t'.join(nosup.terms).replace("{command}",
"do_terminal").replace("{title}", title)
bb.fatal('No valid terminal found, unable to open devshell.\n' +
'Tried the following commands:\n\t%s' % cmds)
except oe.terminal.ExecutionError as exc:
bb.fatal('Unable to spawn terminal %s: %s' % (terminal, exc))
}
python oe_terminal_prioritized () {
def oe_terminal_prioritized():
import oe.terminal
return " ".join(o.name for o in oe.terminal.prioritized())
}
python oecore_update_bblayers () {
# bblayers.conf is out of date, so see if we can resolve that
current_lconf = int(d.getVar('LCONF_VERSION'))
lconf_version = int(d.getVar('LAYER_CONF_VERSION'))
failmsg = """Your version of bblayers.conf has the wrong LCONF_VERSION (has ${LCONF_VERSION}, expecting ${LAYER_CONF_VERSION}).
Please compare your file against bblayers.conf.sample and merge any changes before continuing.
"${SANITY_DIFF_TOOL} conf/bblayers.conf ${SANITY_BBLAYERCONF_SAMPLE}"
is a good way to visualise the changes."""
failmsg = d.expand(failmsg)
if not current_lconf:
raise NotImplementedError(failmsg)
lines = []
if current_lconf < 4:
raise NotImplementedError(failmsg)
bblayers_fn = bblayers_conf_file(d)
lines = sanity_conf_read(bblayers_fn)
if current_lconf == 4 and lconf_version > 4:
topdir_var = '$' + '{TOPDIR}'
index, bbpath_line = sanity_conf_find_line('BBPATH', lines)
if bbpath_line:
start = bbpath_line.find('"')
if start != -1 and (len(bbpath_line) != (start + 1)):
if bbpath_line[start + 1] == '"':
lines[index] = (bbpath_line[:start + 1] +
topdir_var + bbpath_line[start + 1:])
else:
if not topdir_var in bbpath_line:
lines[index] = (bbpath_line[:start + 1] +
topdir_var + ':' + bbpath_line[start + 1:])
else:
raise NotImplementedError(failmsg)
else:
index, bbfiles_line = sanity_conf_find_line('BBFILES', lines)
if bbfiles_line:
lines.insert(index, 'BBPATH = "' + topdir_var + '"\n')
else:
raise NotImplementedError(failmsg)
current_lconf += 1
sanity_conf_update(bblayers_fn, lines, 'LCONF_VERSION', current_lconf)
bb.note("Your conf/bblayers.conf has been automatically updated.")
return
elif current_lconf == 5 and lconf_version > 5:
# Null update, to avoid issues with people switching between poky and other distros
current_lconf = 6
sanity_conf_update(bblayers_fn, lines, 'LCONF_VERSION', current_lconf)
bb.note("Your conf/bblayers.conf has been automatically updated.")
return
status.addresult()
elif current_lconf == 6 and lconf_version > 6:
# Handle rename of meta-yocto -> meta-poky
# This marks the start of separate version numbers but code is needed in OE-Core
# for the migration, one last time.
layers = d.getVar('BBLAYERS').split()
layers = [ os.path.basename(path) for path in layers ]
if 'meta-yocto' in layers:
found = False
while True:
index, meta_yocto_line = sanity_conf_find_line(r'.*meta-yocto[\'"\s\n]', lines)
if meta_yocto_line:
lines[index] = meta_yocto_line.replace('meta-yocto', 'meta-poky')
found = True
else:
break
if not found:
raise NotImplementedError(failmsg)
index, meta_yocto_line = sanity_conf_find_line('LCONF_VERSION.*\n', lines)
if meta_yocto_line:
lines[index] = 'POKY_BBLAYERS_CONF_VERSION = "1"\n'
else:
raise NotImplementedError(failmsg)
with open(bblayers_fn, "w") as f:
f.write(''.join(lines))
bb.note("Your conf/bblayers.conf has been automatically updated.")
return
current_lconf += 1
sanity_conf_update(bblayers_fn, lines, 'LCONF_VERSION', current_lconf)
bb.note("Your conf/bblayers.conf has been automatically updated.")
return
raise NotImplementedError(failmsg)
}
python oecore_update_localconf () {
# Check we are using a valid local.conf
current_conf = d.getVar('CONF_VERSION')
conf_version = d.getVar('LOCALCONF_VERSION')
failmsg = """Your version of local.conf was generated from an older/newer version of
local.conf.sample and there have been updates made to this file. Please compare the two
files and merge any changes before continuing.
Matching the version numbers will remove this message.
\"${SANITY_DIFF_TOOL} conf/local.conf ${SANITY_LOCALCONF_SAMPLE}\"
is a good way to visualise the changes."""
failmsg = d.expand(failmsg)
raise NotImplementedError(failmsg)
}
python oecore_update_siteconf () {
# If we have a site.conf, check it's valid
current_sconf = d.getVar('SCONF_VERSION')
sconf_version = d.getVar('SITE_CONF_VERSION')
failmsg = """Your version of site.conf was generated from an older version of
site.conf.sample and there have been updates made to this file. Please compare the two
files and merge any changes before continuing.
Matching the version numbers will remove this message.
\"${SANITY_DIFF_TOOL} conf/site.conf ${SANITY_SITECONF_SAMPLE}\"
is a good way to visualise the changes."""
failmsg = d.expand(failmsg)
raise NotImplementedError(failmsg)
}
python package_depchains () {
"""
For a given set of prefix and postfix modifiers, make those packages
RRECOMMENDS on the corresponding packages for its RDEPENDS.
Example: If package A depends upon package B, and A's .bb emits an
A-dev package, this would make A-dev Recommends: B-dev.
If only one of a given suffix is specified, it will take the RRECOMMENDS
based on the RDEPENDS of *all* other packages. If more than one of a given
suffix is specified, its will only use the RDEPENDS of the single parent
package.
"""
packages = d.getVar('PACKAGES')
postfixes = (d.getVar('DEPCHAIN_POST') or '').split()
prefixes = (d.getVar('DEPCHAIN_PRE') or '').split()
def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d):
#bb.note('depends for %s is %s' % (base, depends))
rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS_' + pkg) or "")
for depend in depends:
if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
#bb.note("Skipping %s" % depend)
continue
if depend.endswith('-dev'):
depend = depend[:-4]
if depend.endswith('-dbg'):
depend = depend[:-4]
pkgname = getname(depend, suffix)
#bb.note("Adding %s for %s" % (pkgname, depend))
if pkgname not in rreclist and pkgname != pkg:
rreclist[pkgname] = []
#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
d.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False))
def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d):
#bb.note('rdepends for %s is %s' % (base, rdepends))
rreclist = bb.utils.explode_dep_versions2(d.getVar('RRECOMMENDS_' + pkg) or "")
for depend in rdepends:
if depend.find('virtual-locale-') != -1:
#bb.note("Skipping %s" % depend)
continue
if depend.endswith('-dev'):
depend = depend[:-4]
if depend.endswith('-dbg'):
depend = depend[:-4]
pkgname = getname(depend, suffix)
#bb.note("Adding %s for %s" % (pkgname, depend))
if pkgname not in rreclist and pkgname != pkg:
rreclist[pkgname] = []
#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
d.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False))
def add_dep(list, dep):
if dep not in list:
list.append(dep)
depends = []
for dep in bb.utils.explode_deps(d.getVar('DEPENDS') or ""):
add_dep(depends, dep)
rdepends = []
for pkg in packages.split():
for dep in bb.utils.explode_deps(d.getVar('RDEPENDS_' + pkg) or ""):
add_dep(rdepends, dep)
#bb.note('rdepends is %s' % rdepends)
def post_getname(name, suffix):
return '%s%s' % (name, suffix)
def pre_getname(name, suffix):
return '%s%s' % (suffix, name)
pkgs = {}
for pkg in packages.split():
for postfix in postfixes:
if pkg.endswith(postfix):
if not postfix in pkgs:
pkgs[postfix] = {}
pkgs[postfix][pkg] = (pkg[:-len(postfix)], post_getname)
for prefix in prefixes:
if pkg.startswith(prefix):
if not prefix in pkgs:
pkgs[prefix] = {}
pkgs[prefix][pkg] = (pkg[:-len(prefix)], pre_getname)
if "-dbg" in pkgs:
pkglibdeps = read_libdep_files(d)
pkglibdeplist = []
for pkg in pkglibdeps:
for k in pkglibdeps[pkg]:
add_dep(pkglibdeplist, k)
dbgdefaultdeps = ((d.getVar('DEPCHAIN_DBGDEFAULTDEPS') == '1') or (bb.data.inherits_class('packagegroup', d)))
for suffix in pkgs:
for pkg in pkgs[suffix]:
if d.getVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs'):
continue
(base, func) = pkgs[suffix][pkg]
if suffix == "-dev":
pkg_adddeprrecs(pkg, base, suffix, func, depends, d)
elif suffix == "-dbg":
if not dbgdefaultdeps:
pkg_addrrecs(pkg, base, suffix, func, pkglibdeplist, d)
continue
if len(pkgs[suffix]) == 1:
pkg_addrrecs(pkg, base, suffix, func, rdepends, d)
else:
rdeps = []
for dep in bb.utils.explode_deps(d.getVar('RDEPENDS_' + base) or ""):
add_dep(rdeps, dep)
pkg_addrrecs(pkg, base, suffix, func, rdeps, d)
}
python package_do_filedeps () {
if d.getVar('SKIP_FILEDEPS') == '1':
return
pkgdest = d.getVar('PKGDEST')
packages = d.getVar('PACKAGES')
rpmdeps = d.getVar('RPMDEPS')
def chunks(files, n):
return [files[i:i+n] for i in range(0, len(files), n)]
pkglist = []
for pkg in packages.split():
if d.getVar('SKIP_FILEDEPS_' + pkg) == '1':
continue
if pkg.endswith('-dbg') or pkg.endswith('-doc') or pkg.find('-locale-') != -1 or pkg.find('-localedata-') != -1 or pkg.find('-gconv-') != -1 or pkg.find('-charmap-') != -1 or pkg.startswith('kernel-module-'):
continue
for files in chunks(pkgfiles[pkg], 100):
pkglist.append((pkg, files, rpmdeps, pkgdest))
processed = oe.utils.multiprocess_exec( pkglist, oe.package.filedeprunner)
provides_files = {}
requires_files = {}
for result in processed:
(pkg, provides, requires) = result
if pkg not in provides_files:
provides_files[pkg] = []
if pkg not in requires_files:
requires_files[pkg] = []
for file in provides:
provides_files[pkg].append(file)
key = "FILERPROVIDES_" + file + "_" + pkg
d.setVar(key, " ".join(provides[file]))
for file in requires:
requires_files[pkg].append(file)
key = "FILERDEPENDS_" + file + "_" + pkg
d.setVar(key, " ".join(requires[file]))
for pkg in requires_files:
d.setVar("FILERDEPENDSFLIST_" + pkg, " ".join(requires_files[pkg]))
for pkg in provides_files:
d.setVar("FILERPROVIDESFLIST_" + pkg, " ".join(provides_files[pkg]))
}
python package_do_pkgconfig () {
import re
packages = d.getVar('PACKAGES')
workdir = d.getVar('WORKDIR')
pkgdest = d.getVar('PKGDEST')
shlibs_dirs = d.getVar('SHLIBSDIRS').split()
shlibswork_dir = d.getVar('SHLIBSWORKDIR')
pc_re = re.compile('(.*)\.pc$')
var_re = re.compile('(.*)=(.*)')
field_re = re.compile('(.*): (.*)')
pkgconfig_provided = {}
pkgconfig_needed = {}
for pkg in packages.split():
pkgconfig_provided[pkg] = []
pkgconfig_needed[pkg] = []
for file in pkgfiles[pkg]:
m = pc_re.match(file)
if m:
pd = bb.data.init()
name = m.group(1)
pkgconfig_provided[pkg].append(name)
if not os.access(file, os.R_OK):
continue
f = open(file, 'r')
lines = f.readlines()
f.close()
for l in lines:
m = var_re.match(l)
if m:
name = m.group(1)
val = m.group(2)
pd.setVar(name, pd.expand(val))
continue
m = field_re.match(l)
if m:
hdr = m.group(1)
exp = pd.expand(m.group(2))
if hdr == 'Requires':
pkgconfig_needed[pkg] += exp.replace(',', ' ').split()
# Take shared lock since we're only reading, not writing
lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"))
for pkg in packages.split():
pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist")
if pkgconfig_provided[pkg] != []:
f = open(pkgs_file, 'w')
for p in pkgconfig_provided[pkg]:
f.write('%s\n' % p)
f.close()
# Go from least to most specific since the last one found wins
for dir in reversed(shlibs_dirs):
if not os.path.exists(dir):
continue
for file in os.listdir(dir):
m = re.match('^(.*)\.pclist$', file)
if m:
pkg = m.group(1)
fd = open(os.path.join(dir, file))
lines = fd.readlines()
fd.close()
pkgconfig_provided[pkg] = []
for l in lines:
pkgconfig_provided[pkg].append(l.rstrip())
for pkg in packages.split():
deps = []
for n in pkgconfig_needed[pkg]:
found = False
for k in pkgconfig_provided.keys():
if n in pkgconfig_provided[k]:
if k != pkg and not (k in deps):
deps.append(k)
found = True
if found == False:
bb.note("couldn't find pkgconfig module '%s' in any package" % n)
deps_file = os.path.join(pkgdest, pkg + ".pcdeps")
if len(deps):
fd = open(deps_file, 'w')
for dep in deps:
fd.write(dep + '\n')
fd.close()
bb.utils.unlockfile(lf)
}
python package_do_shlibs () {
import re, pipes
import subprocess as sub
exclude_shlibs = d.getVar('EXCLUDE_FROM_SHLIBS', False)
if exclude_shlibs:
bb.note("not generating shlibs")
return
lib_re = re.compile("^.*\.so")
libdir_re = re.compile(".*/%s$" % d.getVar('baselib'))
packages = d.getVar('PACKAGES')
targetos = d.getVar('TARGET_OS')
workdir = d.getVar('WORKDIR')
ver = d.getVar('PKGV')
if not ver:
msg = "PKGV not defined"
package_qa_handle_error("pkgv-undefined", msg, d)
return
pkgdest = d.getVar('PKGDEST')
shlibswork_dir = d.getVar('SHLIBSWORKDIR')
# Take shared lock since we're only reading, not writing
lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"))
def linux_so(file, needed, sonames, renames, pkgver):
needs_ldconfig = False
ldir = os.path.dirname(file).replace(pkgdest + "/" + pkg, '')
cmd = d.getVar('OBJDUMP') + " -p " + pipes.quote(file) + " 2>/dev/null"
fd = os.popen(cmd)
lines = fd.readlines()
fd.close()
rpath = []
for l in lines:
m = re.match("\s+RPATH\s+([^\s]*)", l)
if m:
rpaths = m.group(1).replace("$ORIGIN", ldir).split(":")
rpath = list(map(os.path.normpath, rpaths))
for l in lines:
m = re.match("\s+NEEDED\s+([^\s]*)", l)
if m:
dep = m.group(1)
if dep not in needed[pkg]:
needed[pkg].append((dep, file, rpath))
m = re.match("\s+SONAME\s+([^\s]*)", l)
if m:
this_soname = m.group(1)
prov = (this_soname, ldir, pkgver)
if not prov in sonames:
# if library is private (only used by package) then do not build shlib for it
if not private_libs or this_soname not in private_libs:
sonames.append(prov)
if libdir_re.match(os.path.dirname(file)):
needs_ldconfig = True
if snap_symlinks and (os.path.basename(file) != this_soname):
renames.append((file, os.path.join(os.path.dirname(file), this_soname)))
return needs_ldconfig
def darwin_so(file, needed, sonames, renames, pkgver):
if not os.path.exists(file):
return
ldir = os.path.dirname(file).replace(pkgdest + "/" + pkg, '')
def get_combinations(base):
#
# Given a base library name, find all combinations of this split by "." and "-"
#
combos = []
options = base.split(".")
for i in range(1, len(options) + 1):
combos.append(".".join(options[0:i]))
options = base.split("-")
for i in range(1, len(options) + 1):
combos.append("-".join(options[0:i]))
return combos
if (file.endswith('.dylib') or file.endswith('.so')) and not pkg.endswith('-dev') and not pkg.endswith('-dbg'):
# Drop suffix
name = os.path.basename(file).rsplit(".",1)[0]
# Find all combinations
combos = get_combinations(name)
for combo in combos:
if not combo in sonames:
prov = (combo, ldir, pkgver)
sonames.append(prov)
if file.endswith('.dylib') or file.endswith('.so'):
rpath = []
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-l', file],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
# If returned successfully, process stdout for results
if p.returncode == 0:
for l in out.split("\n"):
l = l.strip()
if l.startswith('path '):
rpath.append(l.split()[1])
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
# If returned successfully, process stdout for results
if p.returncode == 0:
for l in out.split("\n"):
l = l.strip()
if not l or l.endswith(":"):
continue
if "is not an object file" in l:
continue
name = os.path.basename(l.split()[0]).rsplit(".", 1)[0]
if name and name not in needed[pkg]:
needed[pkg].append((name, file, []))
def mingw_dll(file, needed, sonames, renames, pkgver):
if not os.path.exists(file):
return
if file.endswith(".dll"):
# assume all dlls are shared objects provided by the package
sonames.append((os.path.basename(file), os.path.dirname(file).replace(pkgdest + "/" + pkg, ''), pkgver))
if (file.endswith(".dll") or file.endswith(".exe")):
# use objdump to search for "DLL Name: .*\.dll"
p = sub.Popen([d.expand("${HOST_PREFIX}objdump"), "-p", file], stdout = sub.PIPE, stderr= sub.PIPE)
out, err = p.communicate()
# process the output, grabbing all .dll names
if p.returncode == 0:
for m in re.finditer("DLL Name: (.*?\.dll)$", out.decode(), re.MULTILINE | re.IGNORECASE):
dllname = m.group(1)
if dllname:
needed[pkg].append((dllname, file, []))
if d.getVar('PACKAGE_SNAP_LIB_SYMLINKS') == "1":
snap_symlinks = True
else:
snap_symlinks = False
use_ldconfig = bb.utils.contains('DISTRO_FEATURES', 'ldconfig', True, False, d)
needed = {}
shlib_provider = oe.package.read_shlib_providers(d)
for pkg in packages.split():
private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or d.getVar('PRIVATE_LIBS') or ""
private_libs = private_libs.split()
needs_ldconfig = False
bb.debug(2, "calculating shlib provides for %s" % pkg)
pkgver = d.getVar('PKGV_' + pkg)
if not pkgver:
pkgver = d.getVar('PV_' + pkg)
if not pkgver:
pkgver = ver
needed[pkg] = []
sonames = list()
renames = list()
for file in pkgfiles[pkg]:
soname = None
if cpath.islink(file):
continue
if targetos == "darwin" or targetos == "darwin8":
darwin_so(file, needed, sonames, renames, pkgver)
elif targetos.startswith("mingw"):
mingw_dll(file, needed, sonames, renames, pkgver)
elif os.access(file, os.X_OK) or lib_re.match(file):
ldconfig = linux_so(file, needed, sonames, renames, pkgver)
needs_ldconfig = needs_ldconfig or ldconfig
for (old, new) in renames:
bb.note("Renaming %s to %s" % (old, new))
os.rename(old, new)
pkgfiles[pkg].remove(old)
shlibs_file = os.path.join(shlibswork_dir, pkg + ".list")
if len(sonames):
fd = open(shlibs_file, 'w')
for s in sonames:
if s[0] in shlib_provider and s[1] in shlib_provider[s[0]]:
(old_pkg, old_pkgver) = shlib_provider[s[0]][s[1]]
if old_pkg != pkg:
bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s[0], pkg, pkgver))
bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s[0]))
fd.write(s[0] + ':' + s[1] + ':' + s[2] + '\n')
if s[0] not in shlib_provider:
shlib_provider[s[0]] = {}
shlib_provider[s[0]][s[1]] = (pkg, pkgver)
fd.close()
if needs_ldconfig and use_ldconfig:
bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg)
postinst = d.getVar('pkg_postinst_%s' % pkg)
if not postinst:
postinst = '#!/bin/sh\n'
postinst += d.getVar('ldconfig_postinst_fragment')
d.setVar('pkg_postinst_%s' % pkg, postinst)
bb.debug(1, 'LIBNAMES: pkg %s sonames %s' % (pkg, sonames))
bb.utils.unlockfile(lf)
assumed_libs = d.getVar('ASSUME_SHLIBS')
if assumed_libs:
libdir = d.getVar("libdir")
for e in assumed_libs.split():
l, dep_pkg = e.split(":")
lib_ver = None
dep_pkg = dep_pkg.rsplit("_", 1)
if len(dep_pkg) == 2:
lib_ver = dep_pkg[1]
dep_pkg = dep_pkg[0]
if l not in shlib_provider:
shlib_provider[l] = {}
shlib_provider[l][libdir] = (dep_pkg, lib_ver)
libsearchpath = [d.getVar('libdir'), d.getVar('base_libdir')]
for pkg in packages.split():
bb.debug(2, "calculating shlib requirements for %s" % pkg)
deps = list()
for n in needed[pkg]:
# if n is in private libraries, don't try to search provider for it
# this could cause problem in case some abc.bb provides private
# /opt/abc/lib/libfoo.so.1 and contains /usr/bin/abc depending on system library libfoo.so.1
# but skipping it is still better alternative than providing own
# version and then adding runtime dependency for the same system library
if private_libs and n[0] in private_libs:
bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % (pkg, n[0]))
continue
if n[0] in shlib_provider.keys():
shlib_provider_path = []
for k in shlib_provider[n[0]].keys():
shlib_provider_path.append(k)
match = None
for p in n[2] + shlib_provider_path + libsearchpath:
if p in shlib_provider[n[0]]:
match = p
break
if match:
(dep_pkg, ver_needed) = shlib_provider[n[0]][match]
bb.debug(2, '%s: Dependency %s requires package %s (used by files: %s)' % (pkg, n[0], dep_pkg, n[1]))
if dep_pkg == pkg:
continue
if ver_needed:
dep = "%s (>= %s)" % (dep_pkg, ver_needed)
else:
dep = dep_pkg
if not dep in deps:
deps.append(dep)
continue
bb.note("Couldn't find shared library provider for %s, used by files: %s" % (n[0], n[1]))
deps_file = os.path.join(pkgdest, pkg + ".shlibdeps")
if os.path.exists(deps_file):
os.remove(deps_file)
if len(deps):
fd = open(deps_file, 'w')
for dep in deps:
fd.write(dep + '\n')
fd.close()
}
python package_do_split_locales () {
if (d.getVar('PACKAGE_NO_LOCALE') == '1'):
bb.debug(1, "package requested not splitting locales")
return
packages = (d.getVar('PACKAGES') or "").split()
datadir = d.getVar('datadir')
if not datadir:
bb.note("datadir not defined")
return
dvar = d.getVar('PKGD')
pn = d.getVar('LOCALEBASEPN')
if pn + '-locale' in packages:
packages.remove(pn + '-locale')
localedir = os.path.join(dvar + datadir, 'locale')
if not cpath.isdir(localedir):
bb.debug(1, "No locale files in this package")
return
locales = os.listdir(localedir)
summary = d.getVar('SUMMARY') or pn
description = d.getVar('DESCRIPTION') or ""
locale_section = d.getVar('LOCALE_SECTION')
mlprefix = d.getVar('MLPREFIX') or ""
for l in sorted(locales):
ln = legitimize_package_name(l)
pkg = pn + '-locale-' + ln
packages.append(pkg)
d.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l))
d.setVar('RRECOMMENDS_' + pkg, '%svirtual-locale-%s' % (mlprefix, ln))
d.setVar('RPROVIDES_' + pkg, '%s-locale %s%s-translation' % (pn, mlprefix, ln))
d.setVar('SUMMARY_' + pkg, '%s - %s translations' % (summary, l))
d.setVar('DESCRIPTION_' + pkg, '%s This package contains language translation files for the %s locale.' % (description, l))
if locale_section:
d.setVar('SECTION_' + pkg, locale_section)
d.setVar('PACKAGES', ' '.join(packages))
# Disabled by RP 18/06/07
# Wildcards aren't supported in debian
# They break with ipkg since glibc-locale* will mean that
# glibc-localedata-translit* won't install as a dependency
# for some other package which breaks meta-toolchain
# Probably breaks since virtual-locale- isn't provided anywhere
#rdep = (d.getVar('RDEPENDS_%s' % pn) or "").split()
#rdep.append('%s-locale*' % pn)
#d.setVar('RDEPENDS_%s' % pn, ' '.join(rdep))
}
python package_fixsymlinks () {
import errno
pkgdest = d.getVar('PKGDEST')
packages = d.getVar("PACKAGES", False).split()
dangling_links = {}
pkg_files = {}
for pkg in packages:
dangling_links[pkg] = []
pkg_files[pkg] = []
inst_root = os.path.join(pkgdest, pkg)
for path in pkgfiles[pkg]:
rpath = path[len(inst_root):]
pkg_files[pkg].append(rpath)
rtarget = cpath.realpath(path, inst_root, True, assume_dir = True)
if not cpath.lexists(rtarget):
dangling_links[pkg].append(os.path.normpath(rtarget[len(inst_root):]))
newrdepends = {}
for pkg in dangling_links:
for l in dangling_links[pkg]:
found = False
bb.debug(1, "%s contains dangling link %s" % (pkg, l))
for p in packages:
if l in pkg_files[p]:
found = True
bb.debug(1, "target found in %s" % p)
if p == pkg:
break
if pkg not in newrdepends:
newrdepends[pkg] = []
newrdepends[pkg].append(p)
break
if found == False:
bb.note("%s contains dangling symlink to %s" % (pkg, l))
for pkg in newrdepends:
rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg) or "")
for p in newrdepends[pkg]:
if p not in rdepends:
rdepends[p] = []
d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False))
}
python package_get_auto_pr () {
import oe.prservice
import re
# Support per recipe PRSERV_HOST
pn = d.getVar('PN')
host = d.getVar("PRSERV_HOST_" + pn)
if not (host is None):
d.setVar("PRSERV_HOST", host)
pkgv = d.getVar("PKGV")
# PR Server not active, handle AUTOINC
if not d.getVar('PRSERV_HOST'):
if 'AUTOINC' in pkgv:
d.setVar("PKGV", pkgv.replace("AUTOINC", "0"))
return
auto_pr = None
pv = d.getVar("PV")
version = d.getVar("PRAUTOINX")
pkgarch = d.getVar("PACKAGE_ARCH")
checksum = d.getVar("BB_TASKHASH")
if d.getVar('PRSERV_LOCKDOWN'):
auto_pr = d.getVar('PRAUTO_' + version + '_' + pkgarch) or d.getVar('PRAUTO_' + version) or None
if auto_pr is None:
bb.fatal("Can NOT get PRAUTO from lockdown exported file")
d.setVar('PRAUTO',str(auto_pr))
return
try:
conn = d.getVar("__PRSERV_CONN")
if conn is None:
conn = oe.prservice.prserv_make_conn(d)
if conn is not None:
if "AUTOINC" in pkgv:
srcpv = bb.fetch2.get_srcrev(d)
base_ver = "AUTOINC-%s" % version[:version.find(srcpv)]
value = conn.getPR(base_ver, pkgarch, srcpv)
d.setVar("PKGV", pkgv.replace("AUTOINC", str(value)))
auto_pr = conn.getPR(version, pkgarch, checksum)
except Exception as e:
bb.fatal("Can NOT get PRAUTO, exception %s" % str(e))
if auto_pr is None:
bb.fatal("Can NOT get PRAUTO from remote PR service")
d.setVar('PRAUTO',str(auto_pr))
}
python package_name_hook () {
bb.build.exec_func('debian_package_name_hook', d)
}
python package_package_name_hook () {
"""
A package_name_hook function can be used to rewrite the package names by
changing PKG. For an example, see debian.bbclass.
"""
pass
}
python package_qa_add_message () {
def package_qa_add_message(messages, section, new_msg):
if section not in messages:
messages[section] = new_msg
else:
messages[section] = messages[section] + "\n" + new_msg
}
python package_qa_check_arch () {
def package_qa_check_arch(path,name,d, elf, messages):
"""
Check if archs are compatible
"""
import re
if not elf:
return
target_os = d.getVar('TARGET_OS')
target_arch = d.getVar('TARGET_ARCH')
provides = d.getVar('PROVIDES')
bpn = d.getVar('BPN')
if target_arch == "allarch":
pn = d.getVar('PN')
package_qa_add_message(messages, "arch", pn + ": Recipe inherits the allarch class, but has packaged architecture-specific binaries")
return
# FIXME: Cross package confuse this check, so just skip them
for s in ['cross', 'nativesdk', 'cross-canadian']:
if bb.data.inherits_class(s, d):
return
# avoid following links to /usr/bin (e.g. on udev builds)
# we will check the files pointed to anyway...
if os.path.islink(path):
return
#if this will throw an exception, then fix the dict above
(machine, osabi, abiversion, littleendian, bits) \
= package_qa_get_machine_dict(d)[target_os][target_arch]
# Check the architecture and endiannes of the binary
is_32 = (("virtual/kernel" in provides) or bb.data.inherits_class("module", d)) and \
(target_os == "linux-gnux32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE')))
if not ((machine == elf.machine()) or is_32):
package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) on %s" % \
(oe.qa.elf_machine_to_string(elf.machine()), oe.qa.elf_machine_to_string(machine), package_qa_clean_path(path,d)))
elif not ((bits == elf.abiSize()) or is_32):
package_qa_add_message(messages, "arch", "Bit size did not match (%d to %d) %s on %s" % \
(bits, elf.abiSize(), bpn, package_qa_clean_path(path,d)))
elif not littleendian == elf.isLittleEndian():
package_qa_add_message(messages, "arch", "Endiannes did not match (%d to %d) on %s" % \
(littleendian, elf.isLittleEndian(), package_qa_clean_path(path,d)))
}
python package_qa_check_buildpaths () {
def package_qa_check_buildpaths(path, name, d, elf, messages):
"""
Check for build paths inside target files and error if not found in the whitelist
"""
# Ignore .debug files, not interesting
if path.find(".debug") != -1:
return
# Ignore symlinks
if os.path.islink(path):
return
# Ignore ipk and deb's CONTROL dir
if path.find(name + "/CONTROL/") != -1 or path.find(name + "/DEBIAN/") != -1:
return
tmpdir = d.getVar('TMPDIR')
with open(path, 'rb') as f:
file_content = f.read().decode('utf-8', errors='ignore')
if tmpdir in file_content:
package_qa_add_message(messages, "buildpaths", "File %s in package contained reference to tmpdir" % package_qa_clean_path(path,d))
}
python package_qa_check_dbg () {
def package_qa_check_dbg(path, name, d, elf, messages):
"""
Check for ".debug" files or directories outside of the dbg package
"""
if not "-dbg" in name and not "-ptest" in name:
if '.debug' in path.split(os.path.sep):
package_qa_add_message(messages, "debug-files", "non debug package contains .debug directory: %s path %s" % \
(name, package_qa_clean_path(path,d)))
}
python package_qa_check_deps () {
def package_qa_check_deps(pkg, pkgdest, skip, d):
localdata = bb.data.createCopy(d)
localdata.setVar('OVERRIDES', pkg)
def check_valid_deps(var):
try:
rvar = bb.utils.explode_dep_versions2(localdata.getVar(var) or "")
except ValueError as e:
bb.fatal("%s_%s: %s" % (var, pkg, e))
for dep in rvar:
for v in rvar[dep]:
if v and not v.startswith(('< ', '= ', '> ', '<= ', '>=')):
error_msg = "%s_%s is invalid: %s (%s) only comparisons <, =, >, <=, and >= are allowed" % (var, pkg, dep, v)
package_qa_handle_error("dep-cmp", error_msg, d)
check_valid_deps('RDEPENDS')
check_valid_deps('RRECOMMENDS')
check_valid_deps('RSUGGESTS')
check_valid_deps('RPROVIDES')
check_valid_deps('RREPLACES')
check_valid_deps('RCONFLICTS')
}
python package_qa_check_desktop () {
def package_qa_check_desktop(path, name, d, elf, messages):
"""
Run all desktop files through desktop-file-validate.
"""
if path.endswith(".desktop"):
desktop_file_validate = os.path.join(d.getVar('STAGING_BINDIR_NATIVE'),'desktop-file-validate')
output = os.popen("%s %s" % (desktop_file_validate, path))
# This only produces output on errors
for l in output:
package_qa_add_message(messages, "desktop", "Desktop file issue: " + l.strip())
}
python package_qa_check_dev () {
def package_qa_check_dev(path, name, d, elf, messages):
"""
Check for ".so" library symlinks in non-dev packages
"""
if not name.endswith("-dev") and not name.endswith("-dbg") and not name.endswith("-ptest") and not name.startswith("nativesdk-") and path.endswith(".so") and os.path.islink(path):
package_qa_add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package contains symlink .so: %s path '%s'" % \
(name, package_qa_clean_path(path,d)))
}
python package_qa_check_dev_elf () {
def package_qa_check_dev_elf(path, name, d, elf, messages):
"""
Check that -dev doesn't contain real shared libraries. The test has to
check that the file is not a link and is an ELF object as some recipes
install link-time .so files that are linker scripts.
"""
if name.endswith("-dev") and path.endswith(".so") and not os.path.islink(path) and elf:
package_qa_add_message(messages, "dev-elf", "-dev package contains non-symlink .so: %s path '%s'" % \
(name, package_qa_clean_path(path,d)))
}
python package_qa_check_encoding () {
def package_qa_check_encoding(keys, encode, d):
def check_encoding(key, enc):
sane = True
value = d.getVar(key)
if value:
try:
s = value.encode(enc)
except UnicodeDecodeError as e:
error_msg = "%s has non %s characters" % (key,enc)
sane = False
package_qa_handle_error("invalid-chars", error_msg, d)
return sane
for key in keys:
sane = check_encoding(key, encode)
if not sane:
break
}
python package_qa_check_expanded_d () {
def package_qa_check_expanded_d(package, d, messages):
"""
Check for the expanded D (${D}) value in pkg_* and FILES
variables, warn the user to use it correctly.
"""
sane = True
expanded_d = d.getVar('D')
for var in 'FILES','pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm':
bbvar = d.getVar(var + "_" + package) or ""
if expanded_d in bbvar:
if var == 'FILES':
package_qa_add_message(messages, "expanded-d", "FILES in %s recipe should not contain the ${D} variable as it references the local build directory not the target filesystem, best solution is to remove the ${D} reference" % package)
sane = False
else:
package_qa_add_message(messages, "expanded-d", "%s in %s recipe contains ${D}, it should be replaced by $D instead" % (var, package))
sane = False
return sane
}
python package_qa_check_host_user () {
def package_qa_check_host_user(path, name, d, elf, messages):
"""Check for paths outside of /home which are owned by the user running bitbake."""
if not os.path.lexists(path):
return
dest = d.getVar('PKGDEST')
pn = d.getVar('PN')
home = os.path.join(dest, 'home')
if path == home or path.startswith(home + os.sep):
return
try:
stat = os.lstat(path)
except OSError as exc:
import errno
if exc.errno != errno.ENOENT:
raise
else:
rootfs_path = path[len(dest):]
check_uid = int(d.getVar('HOST_USER_UID'))
if stat.st_uid == check_uid:
package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by uid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, rootfs_path, check_uid))
return False
check_gid = int(d.getVar('HOST_USER_GID'))
if stat.st_gid == check_gid:
package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by gid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, rootfs_path, check_gid))
return False
return True
}
python package_qa_check_infodir () {
def package_qa_check_infodir(path, name, d, elf, messages):
"""
Check that /usr/share/info/dir isn't shipped in a particular package
"""
infodir = d.expand("${infodir}/dir")
if infodir in path:
package_qa_add_message(messages, "infodir", "The /usr/share/info/dir file is not meant to be shipped in a particular package.")
}
python package_qa_check_libdir () {
def package_qa_check_libdir(d):
"""
Check for wrong library installation paths. For instance, catch
recipes installing /lib/bar.so when ${base_libdir}="lib32" or
installing in /usr/lib64 when ${libdir}="/usr/lib"
"""
import re
pkgdest = d.getVar('PKGDEST')
base_libdir = d.getVar("base_libdir") + os.sep
libdir = d.getVar("libdir") + os.sep
libexecdir = d.getVar("libexecdir") + os.sep
exec_prefix = d.getVar("exec_prefix") + os.sep
messages = []
# The re's are purposely fuzzy, as some there are some .so.x.y.z files
# that don't follow the standard naming convention. It checks later
# that they are actual ELF files
lib_re = re.compile("^/lib.+\.so(\..+)?$")
exec_re = re.compile("^%s.*/lib.+\.so(\..+)?$" % exec_prefix)
for root, dirs, files in os.walk(pkgdest):
if root == pkgdest:
# Skip subdirectories for any packages with libdir in INSANE_SKIP
skippackages = []
for package in dirs:
if 'libdir' in (d.getVar('INSANE_SKIP_' + package) or "").split():
bb.note("Package %s skipping libdir QA test" % (package))
skippackages.append(package)
elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-file-directory' and package.endswith("-dbg"):
bb.note("Package %s skipping libdir QA test for PACKAGE_DEBUG_SPLIT_STYLE equals debug-file-directory" % (package))
skippackages.append(package)
for package in skippackages:
dirs.remove(package)
for file in files:
full_path = os.path.join(root, file)
rel_path = os.path.relpath(full_path, pkgdest)
if os.sep in rel_path:
package, rel_path = rel_path.split(os.sep, 1)
rel_path = os.sep + rel_path
if lib_re.match(rel_path):
if base_libdir not in rel_path:
# make sure it's an actual ELF file
elf = oe.qa.ELFFile(full_path)
try:
elf.open()
messages.append("%s: found library in wrong location: %s" % (package, rel_path))
except (oe.qa.NotELFFileError):
pass
if exec_re.match(rel_path):
if libdir not in rel_path and libexecdir not in rel_path:
# make sure it's an actual ELF file
elf = oe.qa.ELFFile(full_path)
try:
elf.open()
messages.append("%s: found library in wrong location: %s" % (package, rel_path))
except (oe.qa.NotELFFileError):
pass
if messages:
package_qa_handle_error("libdir", "\n".join(messages), d)
}
python package_qa_check_libexec () {
def package_qa_check_libexec(path,name, d, elf, messages):
# Skip the case where the default is explicitly /usr/libexec
libexec = d.getVar('libexecdir')
if libexec == "/usr/libexec":
return True
if 'libexec' in path.split(os.path.sep):
package_qa_add_message(messages, "libexec", "%s: %s is using libexec please relocate to %s" % (name, package_qa_clean_path(path, d), libexec))
return False
return True
}
python package_qa_check_perm () {
def package_qa_check_perm(path,name,d, elf, messages):
"""
Check the permission of files
"""
return
}
python package_qa_check_rdepends () {
def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
# Don't do this check for kernel/module recipes, there aren't too many debug/development
# packages and you can get false positives e.g. on kernel-module-lirc-dev
if bb.data.inherits_class("kernel", d) or bb.data.inherits_class("module-base", d):
return
if not "-dbg" in pkg and not "packagegroup-" in pkg and not "-image" in pkg:
localdata = bb.data.createCopy(d)
localdata.setVar('OVERRIDES', localdata.getVar('OVERRIDES') + ':' + pkg)
# Now check the RDEPENDS
rdepends = bb.utils.explode_deps(localdata.getVar('RDEPENDS') or "")
# Now do the sanity check!!!
if "build-deps" not in skip:
for rdepend in rdepends:
if "-dbg" in rdepend and "debug-deps" not in skip:
error_msg = "%s rdepends on %s" % (pkg,rdepend)
package_qa_handle_error("debug-deps", error_msg, d)
if (not "-dev" in pkg and not "-staticdev" in pkg) and rdepend.endswith("-dev") and "dev-deps" not in skip:
error_msg = "%s rdepends on %s" % (pkg, rdepend)
package_qa_handle_error("dev-deps", error_msg, d)
if rdepend not in packages:
rdep_data = oe.packagedata.read_subpkgdata(rdepend, d)
if rdep_data and 'PN' in rdep_data and rdep_data['PN'] in taskdeps:
continue
if not rdep_data or not 'PN' in rdep_data:
pkgdata_dir = d.getVar("PKGDATA_DIR")
try:
possibles = os.listdir("%s/runtime-rprovides/%s/" % (pkgdata_dir, rdepend))
except OSError:
possibles = []
for p in possibles:
rdep_data = oe.packagedata.read_subpkgdata(p, d)
if rdep_data and 'PN' in rdep_data and rdep_data['PN'] in taskdeps:
break
if rdep_data and 'PN' in rdep_data and rdep_data['PN'] in taskdeps:
continue
if rdep_data and 'PN' in rdep_data:
error_msg = "%s rdepends on %s, but it isn't a build dependency, missing %s in DEPENDS or PACKAGECONFIG?" % (pkg, rdepend, rdep_data['PN'])
else:
error_msg = "%s rdepends on %s, but it isn't a build dependency?" % (pkg, rdepend)
package_qa_handle_error("build-deps", error_msg, d)
if "file-rdeps" not in skip:
ignored_file_rdeps = set(['/bin/sh', '/usr/bin/env', 'rtld(GNU_HASH)'])
if bb.data.inherits_class('nativesdk', d):
ignored_file_rdeps |= set(['/bin/bash', '/usr/bin/perl', 'perl'])
# For Saving the FILERDEPENDS
filerdepends = {}
rdep_data = oe.packagedata.read_subpkgdata(pkg, d)
for key in rdep_data:
if key.startswith("FILERDEPENDS_"):
for subkey in bb.utils.explode_deps(rdep_data[key]):
if subkey not in ignored_file_rdeps and \
not subkey.startswith('perl('):
# We already know it starts with FILERDEPENDS_
filerdepends[subkey] = key[13:]
if filerdepends:
next = rdepends
done = rdepends[:]
# Find all the rdepends on the dependency chain
while next:
new = []
for rdep in next:
rdep_data = oe.packagedata.read_subpkgdata(rdep, d)
sub_rdeps = rdep_data.get("RDEPENDS_" + rdep)
if not sub_rdeps:
continue
for sub_rdep in bb.utils.explode_deps(sub_rdeps):
if sub_rdep in done:
continue
if oe.packagedata.has_subpkgdata(sub_rdep, d):
# It's a new rdep
done.append(sub_rdep)
new.append(sub_rdep)
next = new
# Add the rprovides of itself
if pkg not in done:
done.insert(0, pkg)
# The python is not a package, but python-core provides it, so
# skip checking /usr/bin/python if python is in the rdeps, in
# case there is a RDEPENDS_pkg = "python" in the recipe.
for py in [ d.getVar('MLPREFIX') + "python", "python" ]:
if py in done:
filerdepends.pop("/usr/bin/python",None)
done.remove(py)
for rdep in done:
# The file dependencies may contain package names, e.g.,
# perl
filerdepends.pop(rdep,None)
# For Saving the FILERPROVIDES, RPROVIDES and FILES_INFO
rdep_data = oe.packagedata.read_subpkgdata(rdep, d)
for key in rdep_data:
if key.startswith("FILERPROVIDES_") or key.startswith("RPROVIDES_"):
for subkey in bb.utils.explode_deps(rdep_data[key]):
filerdepends.pop(subkey,None)
# Add the files list to the rprovides
if key == "FILES_INFO":
# Use eval() to make it as a dict
for subkey in eval(rdep_data[key]):
filerdepends.pop(subkey,None)
if not filerdepends:
# Break if all the file rdepends are met
break
if filerdepends:
for key in filerdepends:
error_msg = "%s contained in package %s requires %s, but no providers found in RDEPENDS_%s?" % \
(filerdepends[key].replace("_%s" % pkg, "").replace("@underscore@", "_"), pkg, key, pkg)
package_qa_handle_error("file-rdeps", error_msg, d)
}
python package_qa_check_rpath () {
def package_qa_check_rpath(file,name, d, elf, messages):
"""
Check for dangerous RPATHs
"""
if not elf:
return
if os.path.islink(file):
return
bad_dirs = [d.getVar('BASE_WORKDIR'), d.getVar('STAGING_DIR_TARGET')]
phdrs = elf.run_objdump("-p", d)
import re
rpath_re = re.compile("\s+RPATH\s+(.*)")
for line in phdrs.split("\n"):
m = rpath_re.match(line)
if m:
rpath = m.group(1)
for dir in bad_dirs:
if dir in rpath:
package_qa_add_message(messages, "rpaths", "package %s contains bad RPATH %s in file %s" % (name, rpath, file))
}
python package_qa_check_staged () {
def package_qa_check_staged(path,d):
"""
Check staged la and pc files for common problems like references to the work
directory.
As this is run after every stage we should be able to find the one
responsible for the errors easily even if we look at every .pc and .la file.
"""
sane = True
tmpdir = d.getVar('TMPDIR')
workdir = os.path.join(tmpdir, "work")
recipesysroot = d.getVar("RECIPE_SYSROOT")
if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d):
pkgconfigcheck = workdir
else:
pkgconfigcheck = tmpdir
# find all .la and .pc files
# read the content
# and check for stuff that looks wrong
for root, dirs, files in os.walk(path):
for file in files:
path = os.path.join(root,file)
if file.endswith(".la"):
with open(path) as f:
file_content = f.read()
file_content = file_content.replace(recipesysroot, "")
if workdir in file_content:
error_msg = "%s failed sanity test (workdir) in path %s" % (file,root)
sane = package_qa_handle_error("la", error_msg, d)
elif file.endswith(".pc"):
with open(path) as f:
file_content = f.read()
file_content = file_content.replace(recipesysroot, "")
if pkgconfigcheck in file_content:
error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root)
sane = package_qa_handle_error("pkgconfig", error_msg, d)
return sane
}
python package_qa_check_staticdev () {
def package_qa_check_staticdev(path, name, d, elf, messages):
"""
Check for ".a" library in non-staticdev packages
There are a number of exceptions to this rule, -pic packages can contain
static libraries, the _nonshared.a belong with their -dev packages and
libgcc.a, libgcov.a will be skipped in their packages
"""
if not name.endswith("-pic") and not name.endswith("-staticdev") and not name.endswith("-ptest") and path.endswith(".a") and not path.endswith("_nonshared.a"):
package_qa_add_message(messages, "staticdev", "non -staticdev package contains static .a library: %s path '%s'" % \
(name, package_qa_clean_path(path,d)))
}
python package_qa_check_symlink_to_sysroot () {
def package_qa_check_symlink_to_sysroot(path, name, d, elf, messages):
"""
Check that the package doesn't contain any absolute symlinks to the sysroot.
"""
if os.path.islink(path):
target = os.readlink(path)
if os.path.isabs(target):
tmpdir = d.getVar('TMPDIR')
if target.startswith(tmpdir):
trimmed = path.replace(os.path.join (d.getVar("PKGDEST"), name), "")
package_qa_add_message(messages, "symlink-to-sysroot", "Symlink %s in %s points to TMPDIR" % (trimmed, name))
}
python package_qa_check_unsafe_references_in_scripts () {
def package_qa_check_unsafe_references_in_scripts(path, name, d, elf, messages):
"""
Warn if scripts in base_[bindir|sbindir|libdir] reference files under exec_prefix
"""
if unsafe_references_skippable(path, name, d):
return
if not elf:
import stat
import subprocess
pn = d.getVar('PN')
# Ensure we're checking an executable script
statinfo = os.stat(path)
if bool(statinfo.st_mode & stat.S_IXUSR):
# grep shell scripts for possible references to /exec_prefix/
exec_prefix = d.getVar('exec_prefix')
statement = "grep -e '%s/[^ :]\{1,\}/[^ :]\{1,\}' %s > /dev/null" % (exec_prefix, path)
if subprocess.call(statement, shell=True) == 0:
error_msg = pn + ": Found a reference to %s/ in %s" % (exec_prefix, path)
package_qa_handle_error("unsafe-references-in-scripts", error_msg, d)
error_msg = "Shell scripts in base_bindir and base_sbindir should not reference anything in exec_prefix"
package_qa_handle_error("unsafe-references-in-scripts", error_msg, d)
}
python package_qa_check_useless_rpaths () {
def package_qa_check_useless_rpaths(file, name, d, elf, messages):
"""
Check for RPATHs that are useless but not dangerous
"""
def rpath_eq(a, b):
return os.path.normpath(a) == os.path.normpath(b)
if not elf:
return
if os.path.islink(file):
return
libdir = d.getVar("libdir")
base_libdir = d.getVar("base_libdir")
phdrs = elf.run_objdump("-p", d)
import re
rpath_re = re.compile("\s+RPATH\s+(.*)")
for line in phdrs.split("\n"):
m = rpath_re.match(line)
if m:
rpath = m.group(1)
if rpath_eq(rpath, libdir) or rpath_eq(rpath, base_libdir):
# The dynamic linker searches both these places anyway. There is no point in
# looking there again.
package_qa_add_message(messages, "useless-rpaths", "%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d), rpath))
}
python package_qa_check_xorg_driver_abi () {
def package_qa_check_xorg_driver_abi(path, name, d, elf, messages):
"""
Check that all packages containing Xorg drivers have ABI dependencies
"""
# Skip dev, dbg or nativesdk packages
if name.endswith("-dev") or name.endswith("-dbg") or name.startswith("nativesdk-"):
return
driverdir = d.expand("${libdir}/xorg/modules/drivers/")
if driverdir in path and path.endswith(".so"):
mlprefix = d.getVar('MLPREFIX') or ''
for rdep in bb.utils.explode_deps(d.getVar('RDEPENDS_' + name) or ""):
if rdep.startswith("%sxorg-abi-" % mlprefix):
return
package_qa_add_message(messages, "xorg-driver-abi", "Package %s contains Xorg driver (%s) but no xorg-abi- dependencies" % (name, os.path.basename(path)))
}
python package_qa_clean_path () {
def package_qa_clean_path(path, d, pkg=None):
"""
Remove redundant paths from the path for display. If pkg isn't set then
TMPDIR is stripped, otherwise PKGDEST/pkg is stripped.
"""
if pkg:
path = path.replace(os.path.join(d.getVar("PKGDEST"), pkg), "/")
return path.replace(d.getVar("TMPDIR"), "/").replace("//", "/")
}
python package_qa_get_machine_dict () {
def package_qa_get_machine_dict(d):
machdata = {
"darwin9" : {
"arm" : (40, 0, 0, True, 32),
},
"eabi" : {
"arm" : (40, 0, 0, True, 32),
},
"elf" : {
"aarch64" : (183, 0, 0, True, 64),
"aarch64_be" :(183, 0, 0, False, 64),
"i586" : (3, 0, 0, True, 32),
"x86_64": (62, 0, 0, True, 64),
"epiphany": (4643, 0, 0, True, 32),
"mips": ( 8, 0, 0, False, 32),
"mipsel": ( 8, 0, 0, True, 32),
},
"linux" : {
"aarch64" : (183, 0, 0, True, 64),
"aarch64_be" :(183, 0, 0, False, 64),
"arm" : (40, 97, 0, True, 32),
"armeb": (40, 97, 0, False, 32),
"powerpc": (20, 0, 0, False, 32),
"powerpc64": (21, 0, 0, False, 64),
"i386": ( 3, 0, 0, True, 32),
"i486": ( 3, 0, 0, True, 32),
"i586": ( 3, 0, 0, True, 32),
"i686": ( 3, 0, 0, True, 32),
"x86_64": (62, 0, 0, True, 64),
"ia64": (50, 0, 0, True, 64),
"alpha": (36902, 0, 0, True, 64),
"hppa": (15, 3, 0, False, 32),
"m68k": ( 4, 0, 0, False, 32),
"mips": ( 8, 0, 0, False, 32),
"mipsel": ( 8, 0, 0, True, 32),
"mips64": ( 8, 0, 0, False, 64),
"mips64el": ( 8, 0, 0, True, 64),
"mipsisa32r6": ( 8, 0, 0, False, 32),
"mipsisa32r6el": ( 8, 0, 0, True, 32),
"mipsisa64r6": ( 8, 0, 0, False, 64),
"mipsisa64r6el": ( 8, 0, 0, True, 64),
"nios2": (113, 0, 0, True, 32),
"s390": (22, 0, 0, False, 32),
"sh4": (42, 0, 0, True, 32),
"sparc": ( 2, 0, 0, False, 32),
"microblaze": (189, 0, 0, False, 32),
"microblazeeb":(189, 0, 0, False, 32),
"microblazeel":(189, 0, 0, True, 32),
},
"linux-uclibc" : {
"arm" : ( 40, 97, 0, True, 32),
"armeb": ( 40, 97, 0, False, 32),
"powerpc": ( 20, 0, 0, False, 32),
"i386": ( 3, 0, 0, True, 32),
"i486": ( 3, 0, 0, True, 32),
"i586": ( 3, 0, 0, True, 32),
"i686": ( 3, 0, 0, True, 32),
"x86_64": ( 62, 0, 0, True, 64),
"mips": ( 8, 0, 0, False, 32),
"mipsel": ( 8, 0, 0, True, 32),
"mips64": ( 8, 0, 0, False, 64),
"mips64el": ( 8, 0, 0, True, 64),
"avr32": (6317, 0, 0, False, 32),
"sh4": (42, 0, 0, True, 32),
},
"linux-musl" : {
"aarch64" : (183, 0, 0, True, 64),
"aarch64_be" :(183, 0, 0, False, 64),
"arm" : ( 40, 97, 0, True, 32),
"armeb": ( 40, 97, 0, False, 32),
"powerpc": ( 20, 0, 0, False, 32),
"i386": ( 3, 0, 0, True, 32),
"i486": ( 3, 0, 0, True, 32),
"i586": ( 3, 0, 0, True, 32),
"i686": ( 3, 0, 0, True, 32),
"x86_64": ( 62, 0, 0, True, 64),
"mips": ( 8, 0, 0, False, 32),
"mipsel": ( 8, 0, 0, True, 32),
"mips64": ( 8, 0, 0, False, 64),
"mips64el": ( 8, 0, 0, True, 64),
"microblaze": (189, 0, 0, False, 32),
"microblazeeb":(189, 0, 0, False, 32),
"microblazeel":(189, 0, 0, True, 32),
"sh4": ( 42, 0, 0, True, 32),
},
"uclinux-uclibc" : {
"bfin": ( 106, 0, 0, True, 32),
},
"linux-gnueabi" : {
"arm" : (40, 0, 0, True, 32),
"armeb" : (40, 0, 0, False, 32),
},
"linux-musleabi" : {
"arm" : (40, 0, 0, True, 32),
"armeb" : (40, 0, 0, False, 32),
},
"linux-uclibceabi" : {
"arm" : (40, 0, 0, True, 32),
"armeb" : (40, 0, 0, False, 32),
},
"linux-gnuspe" : {
"powerpc": (20, 0, 0, False, 32),
},
"linux-muslspe" : {
"powerpc": (20, 0, 0, False, 32),
},
"linux-uclibcspe" : {
"powerpc": (20, 0, 0, False, 32),
},
"linux-gnu" : {
"powerpc": (20, 0, 0, False, 32),
"sh4": (42, 0, 0, True, 32),
},
"linux-gnux32" : {
"x86_64": (62, 0, 0, True, 32),
},
"linux-gnun32" : {
"mips64": ( 8, 0, 0, False, 32),
"mips64el": ( 8, 0, 0, True, 32),
"mipsisa64r6": ( 8, 0, 0, False, 32),
"mipsisa64r6el":( 8, 0, 0, True, 32),
},
}
# Add in any extra user supplied data which may come from a BSP layer, removing the
# need to always change this class directly
extra_machdata = (d.getVar("PACKAGEQA_EXTRA_MACHDEFFUNCS") or "").split()
for m in extra_machdata:
call = m + "(machdata, d)"
locs = { "machdata" : machdata, "d" : d}
machdata = bb.utils.better_eval(call, locs)
return machdata
}
python package_qa_handle_error () {
def package_qa_handle_error(error_class, error_msg, d):
package_qa_write_error(error_class, error_msg, d)
if error_class in (d.getVar("ERROR_QA") or "").split():
bb.error("QA Issue: %s [%s]" % (error_msg, error_class))
d.setVar("QA_SANE", False)
return False
elif error_class in (d.getVar("WARN_QA") or "").split():
bb.warn("QA Issue: %s [%s]" % (error_msg, error_class))
else:
bb.note("QA Issue: %s [%s]" % (error_msg, error_class))
return True
}
python package_qa_hash_style () {
def package_qa_hash_style(path, name, d, elf, messages):
"""
Check if the binary has the right hash style...
"""
if not elf:
return
if os.path.islink(path):
return
gnu_hash = "--hash-style=gnu" in d.getVar('LDFLAGS')
if not gnu_hash:
gnu_hash = "--hash-style=both" in d.getVar('LDFLAGS')
if not gnu_hash:
return
sane = False
has_syms = False
phdrs = elf.run_objdump("-p", d)
# If this binary has symbols, we expect it to have GNU_HASH too.
for line in phdrs.split("\n"):
if "SYMTAB" in line:
has_syms = True
if "GNU_HASH" in line:
sane = True
if "[mips32]" in line or "[mips64]" in line:
sane = True
if has_syms and not sane:
package_qa_add_message(messages, "ldflags", "No GNU_HASH in the elf binary: '%s'" % path)
}
python package_qa_package () {
def package_qa_package(warnfuncs, errorfuncs, skip, package, d):
warnings = {}
errors = {}
for func in warnfuncs:
func(package, d, warnings)
for func in errorfuncs:
func(package, d, errors)
for w in warnings:
package_qa_handle_error(w, warnings[w], d)
for e in errors:
package_qa_handle_error(e, errors[e], d)
return len(errors) == 0
}
python package_qa_textrel () {
def package_qa_textrel(path, name, d, elf, messages):
"""
Check if the binary contains relocations in .text
"""
if not elf:
return
if os.path.islink(path):
return
phdrs = elf.run_objdump("-p", d)
sane = True
import re
textrel_re = re.compile("\s+TEXTREL\s+")
for line in phdrs.split("\n"):
if textrel_re.match(line):
sane = False
if not sane:
package_qa_add_message(messages, "textrel", "ELF binary '%s' has relocations in .text" % path)
}
python package_qa_walk () {
def package_qa_walk(warnfuncs, errorfuncs, skip, package, d):
import oe.qa
#if this will throw an exception, then fix the dict above
target_os = d.getVar('TARGET_OS')
target_arch = d.getVar('TARGET_ARCH')
warnings = {}
errors = {}
for path in pkgfiles[package]:
elf = oe.qa.ELFFile(path)
try:
elf.open()
except (IOError, oe.qa.NotELFFileError):
# IOError can happen if the packaging control files disappear,
elf = None
for func in warnfuncs:
func(path, package, d, elf, warnings)
for func in errorfuncs:
func(path, package, d, elf, errors)
for w in warnings:
package_qa_handle_error(w, warnings[w], d)
for e in errors:
package_qa_handle_error(e, errors[e], d)
}
python package_qa_write_error () {
def package_qa_write_error(type, error, d):
logfile = d.getVar('QA_LOGFILE')
if logfile:
p = d.getVar('P')
with open(logfile, "a+") as f:
f.write("%s: %s [%s]\n" % (p, error, type))
}
python patch_do_patch () {
import oe.patch
patchsetmap = {
"patch": oe.patch.PatchTree,
"quilt": oe.patch.QuiltTree,
"git": oe.patch.GitApplyTree,
}
cls = patchsetmap[d.getVar('PATCHTOOL') or 'quilt']
resolvermap = {
"noop": oe.patch.NOOPResolver,
"user": oe.patch.UserResolver,
}
rcls = resolvermap[d.getVar('PATCHRESOLVE') or 'user']
classes = {}
s = d.getVar('S')
os.putenv('PATH', d.getVar('PATH'))
# We must use one TMPDIR per process so that the "patch" processes
# don't generate the same temp file name.
import tempfile
process_tmpdir = tempfile.mkdtemp()
os.environ['TMPDIR'] = process_tmpdir
for patch in src_patches(d):
_, _, local, _, _, parm = bb.fetch.decodeurl(patch)
if "patchdir" in parm:
patchdir = parm["patchdir"]
if not os.path.isabs(patchdir):
patchdir = os.path.join(s, patchdir)
else:
patchdir = s
if not patchdir in classes:
patchset = cls(patchdir, d)
resolver = rcls(patchset, oe_terminal)
classes[patchdir] = (patchset, resolver)
patchset.Clean()
else:
patchset, resolver = classes[patchdir]
bb.note("Applying patch '%s' (%s)" % (parm['patchname'], oe.path.format_display(local, d)))
try:
patchset.Import({"file":local, "strippath": parm['striplevel']}, True)
except Exception as exc:
bb.utils.remove(process_tmpdir, True)
bb.fatal(str(exc))
try:
resolver.Resolve()
except bb.BBHandledException as e:
bb.utils.remove(process_tmpdir, True)
bb.fatal(str(e))
bb.utils.remove(process_tmpdir, True)
del os.environ['TMPDIR']
}
python patch_task_patch_prefunc () {
# Prefunc for do_patch
func = d.getVar('BB_RUNTASK')
srcsubdir = d.getVar('S')
patchdir = os.path.join(srcsubdir, 'patches')
if os.path.exists(patchdir):
if os.listdir(patchdir):
d.setVar('PATCH_HAS_PATCHES_DIR', '1')
else:
os.rmdir(patchdir)
}
python patch_task_postfunc () {
# Prefunc for task functions between do_unpack and do_patch
import oe.patch
import shutil
func = d.getVar('BB_RUNTASK')
srcsubdir = d.getVar('S')
if os.path.exists(srcsubdir):
if func == 'do_patch':
haspatches = (d.getVar('PATCH_HAS_PATCHES_DIR') == '1')
patchdir = os.path.join(srcsubdir, 'patches')
if os.path.exists(patchdir):
shutil.rmtree(patchdir)
if haspatches:
stdout, _ = bb.process.run('git status --porcelain patches', cwd=srcsubdir)
if stdout:
bb.process.run('git checkout patches', cwd=srcsubdir)
stdout, _ = bb.process.run('git status --porcelain .', cwd=srcsubdir)
if stdout:
useroptions = []
oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=d)
bb.process.run('git add .; git %s commit -a -m "Committing changes from %s\n\n%s"' % (' '.join(useroptions), func, oe.patch.GitApplyTree.ignore_commit_prefix + ' - from %s' % func), cwd=srcsubdir)
}
python perform_packagecopy () {
enabled = oe.data.typed_value('LICENSE_CREATE_PACKAGE', d)
if d.getVar('CLASSOVERRIDE') == 'class-target' and enabled:
lic_files_paths = find_license_files(d)
# LICENSE_FILES_DIRECTORY starts with '/' so os.path.join cannot be used to join D and LICENSE_FILES_DIRECTORY
destdir = d.getVar('D') + os.path.join(d.getVar('LICENSE_FILES_DIRECTORY'), d.getVar('PN'))
copy_license_files(lic_files_paths, destdir)
add_package_and_files(d)
dest = d.getVar('D')
dvar = d.getVar('PKGD')
# Start by package population by taking a copy of the installed
# files to operate on
# Preserve sparse files and hard links
cmd = 'tar -cf - -C %s -p . | tar -xf - -C %s' % (dest, dvar)
(retval, output) = oe.utils.getstatusoutput(cmd)
if retval:
bb.fatal("file copy failed with exit code %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else ""))
# replace RPATHs for the nativesdk binaries, to make them relocatable
if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross-canadian', d):
rpath_replace (dvar, d)
}
python perform_packagecopy_prepend () {
None}
python pkgarch_mapping () {
def pkgarch_mapping(d):
# Compatibility mappings of TUNE_PKGARCH (opt in)
if d.getVar("PKGARCHCOMPAT_ARMV7A"):
if d.getVar("TUNE_PKGARCH") == "armv7a-vfp-neon":
d.setVar("TUNE_PKGARCH", "armv7a")
}
python populate_lic_qa_checksum () {
"""
Check for changes in the license files.
"""
import tempfile
sane = True
lic_files = d.getVar('LIC_FILES_CHKSUM') or ''
lic = d.getVar('LICENSE')
pn = d.getVar('PN')
if lic == "CLOSED":
return
if not lic_files and d.getVar('SRC_URI'):
sane = package_qa_handle_error("license-checksum", pn + ": Recipe file fetches files and does not have license file information (LIC_FILES_CHKSUM)", d)
srcdir = d.getVar('S')
for url in lic_files.split():
try:
(type, host, path, user, pswd, parm) = bb.fetch.decodeurl(url)
except bb.fetch.MalformedUrl:
sane = package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM contains an invalid URL: " + url, d)
continue
srclicfile = os.path.join(srcdir, path)
if not os.path.isfile(srclicfile):
package_qa_handle_error("license-checksum", pn + ": LIC_FILES_CHKSUM points to an invalid file: " + srclicfile, d)
continue
recipemd5 = parm.get('md5', '')
beginline, endline = 0, 0
if 'beginline' in parm:
beginline = int(parm['beginline'])
if 'endline' in parm:
endline = int(parm['endline'])
if (not beginline) and (not endline):
md5chksum = bb.utils.md5_file(srclicfile)
with open(srclicfile, 'rb') as f:
license = f.read()
else:
fi = open(srclicfile, 'rb')
fo = tempfile.NamedTemporaryFile(mode='wb', prefix='poky.', suffix='.tmp', delete=False)
tmplicfile = fo.name;
lineno = 0
linesout = 0
license = []
for line in fi:
lineno += 1
if (lineno >= beginline):
if ((lineno <= endline) or not endline):
fo.write(line)
license.append(line)
linesout += 1
else:
break
fo.flush()
fo.close()
fi.close()
md5chksum = bb.utils.md5_file(tmplicfile)
license = b''.join(license)
os.unlink(tmplicfile)
if recipemd5 == md5chksum:
bb.note (pn + ": md5 checksum matched for ", url)
else:
if recipemd5:
msg = pn + ": The LIC_FILES_CHKSUM does not match for " + url
msg = msg + "\n" + pn + ": The new md5 checksum is " + md5chksum
try:
license_lines = license.decode('utf-8').split('\n')
except:
# License text might not be valid UTF-8, in which
# case we don't know how to include it in our output
# and have to skip it.
pass
else:
max_lines = int(d.getVar('QA_MAX_LICENSE_LINES') or 20)
if not license_lines or license_lines[-1] != '':
# Ensure that our license text ends with a line break
# (will be added with join() below).
license_lines.append('')
remove = len(license_lines) - max_lines
if remove > 0:
start = max_lines // 2
end = start + remove - 1
del license_lines[start:end]
license_lines.insert(start, '...')
msg = msg + "\n" + pn + ": Here is the selected license text:" + \
"\n" + \
"{:v^70}".format(" beginline=%d " % beginline if beginline else "") + \
"\n" + "\n".join(license_lines) + \
"{:^^70}".format(" endline=%d " % endline if endline else "")
if beginline:
if endline:
srcfiledesc = "%s (lines %d through to %d)" % (srclicfile, beginline, endline)
else:
srcfiledesc = "%s (beginning on line %d)" % (srclicfile, beginline)
elif endline:
srcfiledesc = "%s (ending on line %d)" % (srclicfile, endline)
else:
srcfiledesc = srclicfile
msg = msg + "\n" + pn + ": Check if the license information has changed in %s to verify that the LICENSE value \"%s\" remains valid" % (srcfiledesc, lic)
else:
msg = pn + ": LIC_FILES_CHKSUM is not specified for " + url
msg = msg + "\n" + pn + ": The md5 checksum is " + md5chksum
sane = package_qa_handle_error("license-checksum", msg, d)
if not sane:
bb.fatal("Fatal QA errors found, failing task.")
}
python populate_packages () {
import glob, re
workdir = d.getVar('WORKDIR')
outdir = d.getVar('DEPLOY_DIR')
dvar = d.getVar('PKGD')
packages = d.getVar('PACKAGES')
pn = d.getVar('PN')
bb.utils.mkdirhier(outdir)
os.chdir(dvar)
autodebug = not (d.getVar("NOAUTOPACKAGEDEBUG") or False)
# Sanity check PACKAGES for duplicates
# Sanity should be moved to sanity.bbclass once we have the infrastucture
package_list = []
for pkg in packages.split():
if pkg in package_list:
msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg
package_qa_handle_error("packages-list", msg, d)
elif autodebug and pkg.endswith("-dbg"):
package_list.insert(0, pkg)
else:
package_list.append(pkg)
d.setVar('PACKAGES', ' '.join(package_list))
pkgdest = d.getVar('PKGDEST')
seen = []
# os.mkdir masks the permissions with umask so we have to unset it first
oldumask = os.umask(0)
debug = []
for root, dirs, files in cpath.walk(dvar):
dir = root[len(dvar):]
if not dir:
dir = os.sep
for f in (files + dirs):
path = "." + os.path.join(dir, f)
if "/.debug/" in path or path.endswith("/.debug"):
debug.append(path)
for pkg in package_list:
root = os.path.join(pkgdest, pkg)
bb.utils.mkdirhier(root)
filesvar = d.getVar('FILES_%s' % pkg) or ""
if "//" in filesvar:
msg = "FILES variable for package %s contains '//' which is invalid. Attempting to fix this but you should correct the metadata.\n" % pkg
package_qa_handle_error("files-invalid", msg, d)
filesvar.replace("//", "/")
origfiles = filesvar.split()
files, symlink_paths = files_from_filevars(origfiles)
if autodebug and pkg.endswith("-dbg"):
files.extend(debug)
for file in files:
if (not cpath.islink(file)) and (not cpath.exists(file)):
continue
if file in seen:
continue
seen.append(file)
def mkdir(src, dest, p):
src = os.path.join(src, p)
dest = os.path.join(dest, p)
fstat = cpath.stat(src)
os.mkdir(dest, fstat.st_mode)
os.chown(dest, fstat.st_uid, fstat.st_gid)
if p not in seen:
seen.append(p)
cpath.updatecache(dest)
def mkdir_recurse(src, dest, paths):
if cpath.exists(dest + '/' + paths):
return
while paths.startswith("./"):
paths = paths[2:]
p = "."
for c in paths.split("/"):
p = os.path.join(p, c)
if not cpath.exists(os.path.join(dest, p)):
mkdir(src, dest, p)
if cpath.isdir(file) and not cpath.islink(file):
mkdir_recurse(dvar, root, file)
continue
mkdir_recurse(dvar, root, os.path.dirname(file))
fpath = os.path.join(root,file)
if not cpath.islink(file):
os.link(file, fpath)
continue
ret = bb.utils.copyfile(file, fpath)
if ret is False or ret == 0:
bb.fatal("File population failed")
# Check if symlink paths exist
for file in symlink_paths:
if not os.path.exists(os.path.join(root,file)):
bb.fatal("File '%s' cannot be packaged into '%s' because its "
"parent directory structure does not exist. One of "
"its parent directories is a symlink whose target "
"directory is not included in the package." %
(file, pkg))
os.umask(oldumask)
os.chdir(workdir)
# Handle LICENSE_EXCLUSION
package_list = []
for pkg in packages.split():
if d.getVar('LICENSE_EXCLUSION-' + pkg):
msg = "%s has an incompatible license. Excluding from packaging." % pkg
package_qa_handle_error("incompatible-license", msg, d)
else:
package_list.append(pkg)
d.setVar('PACKAGES', ' '.join(package_list))
unshipped = []
for root, dirs, files in cpath.walk(dvar):
dir = root[len(dvar):]
if not dir:
dir = os.sep
for f in (files + dirs):
path = os.path.join(dir, f)
if ('.' + path) not in seen:
unshipped.append(path)
if unshipped != []:
msg = pn + ": Files/directories were installed but not shipped in any package:"
if "installed-vs-shipped" in (d.getVar('INSANE_SKIP_' + pn) or "").split():
bb.note("Package %s skipping QA tests: installed-vs-shipped" % pn)
else:
for f in unshipped:
msg = msg + "\n " + f
msg = msg + "\nPlease set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.\n"
msg = msg + "%s: %d installed and not shipped files." % (pn, len(unshipped))
package_qa_handle_error("installed-vs-shipped", msg, d)
}
python populate_sdk_common () {
def populate_sdk_common(d):
from oe.sdk import populate_sdk
from oe.manifest import create_manifest, Manifest
pn = d.getVar('PN')
runtime_mapping_rename("TOOLCHAIN_TARGET_TASK", pn, d)
runtime_mapping_rename("TOOLCHAIN_TARGET_TASK_ATTEMPTONLY", pn, d)
ld = bb.data.createCopy(d)
ld.setVar("PKGDATA_DIR", "${STAGING_DIR}/${SDK_ARCH}-${SDKPKGSUFFIX}${SDK_VENDOR}-${SDK_OS}/pkgdata")
runtime_mapping_rename("TOOLCHAIN_HOST_TASK", pn, ld)
runtime_mapping_rename("TOOLCHAIN_HOST_TASK_ATTEMPTONLY", pn, ld)
d.setVar("TOOLCHAIN_HOST_TASK", ld.getVar("TOOLCHAIN_HOST_TASK"))
d.setVar("TOOLCHAIN_HOST_TASK_ATTEMPTONLY", ld.getVar("TOOLCHAIN_HOST_TASK_ATTEMPTONLY"))
# create target/host SDK manifests
create_manifest(d, manifest_dir=d.getVar('SDK_DIR'),
manifest_type=Manifest.MANIFEST_TYPE_SDK_HOST)
create_manifest(d, manifest_dir=d.getVar('SDK_DIR'),
manifest_type=Manifest.MANIFEST_TYPE_SDK_TARGET)
populate_sdk(d)
}
python process_dir () {
def process_dir (rootdir, directory, d):
import stat
rootdir = os.path.normpath(rootdir)
cmd = d.expand('${CHRPATH_BIN}')
tmpdir = os.path.normpath(d.getVar('TMPDIR', False))
baseprefix = os.path.normpath(d.expand('${base_prefix}'))
hostos = d.getVar("HOST_OS")
#bb.debug("Checking %s for binaries to process" % directory)
if not os.path.exists(directory):
return
if "linux" in hostos:
process_file = process_file_linux
elif "darwin" in hostos:
process_file = process_file_darwin
else:
# Relocations not supported
return
dirs = os.listdir(directory)
for file in dirs:
fpath = directory + "/" + file
fpath = os.path.normpath(fpath)
if os.path.islink(fpath):
# Skip symlinks
continue
if os.path.isdir(fpath):
process_dir(rootdir, fpath, d)
else:
#bb.note("Testing %s for relocatability" % fpath)
# We need read and write permissions for chrpath, if we don't have
# them then set them temporarily. Take a copy of the files
# permissions so that we can restore them afterwards.
perms = os.stat(fpath)[stat.ST_MODE]
if os.access(fpath, os.W_OK|os.R_OK):
perms = None
else:
# Temporarily make the file writeable so we can chrpath it
os.chmod(fpath, perms|stat.S_IRWXU)
process_file(cmd, fpath, rootdir, baseprefix, tmpdir, d)
if perms:
os.chmod(fpath, perms)
}
python process_file_darwin () {
def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d):
import subprocess as sub
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
# If returned successfully, process stdout for results
if p.returncode != 0:
return
for l in out.split("\n"):
if "(compatibility" not in l:
continue
rpath = l.partition("(compatibility")[0].strip()
if baseprefix not in rpath:
continue
newpath = "@loader_path/" + os.path.relpath(rpath, os.path.dirname(fpath.replace(rootdir, "/")))
p = sub.Popen([d.expand("${HOST_PREFIX}install_name_tool"), '-change', rpath, newpath, fpath],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
}
python process_file_linux () {
def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d):
import subprocess as sub
p = sub.Popen([cmd, '-l', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
# If returned successfully, process stdout for results
if p.returncode != 0:
return
out = out.decode('utf-8')
# Handle RUNPATH as well as RPATH
out = out.replace("RUNPATH=","RPATH=")
# Throw away everything other than the rpath list
curr_rpath = out.partition("RPATH=")[2]
#bb.note("Current rpath for %s is %s" % (fpath, curr_rpath.strip()))
rpaths = curr_rpath.strip().split(":")
new_rpaths = []
modified = False
for rpath in rpaths:
# If rpath is already dynamic copy it to new_rpath and continue
if rpath.find("$ORIGIN") != -1:
new_rpaths.append(rpath)
continue
rpath = os.path.normpath(rpath)
if baseprefix not in rpath and tmpdir not in rpath:
# Skip standard search paths
if rpath in ['/lib', '/usr/lib', '/lib64/', '/usr/lib64']:
bb.warn("Skipping RPATH %s as is a standard search path for %s" % (rpath, fpath))
modified = True
continue
new_rpaths.append(rpath)
continue
new_rpaths.append("$ORIGIN/" + os.path.relpath(rpath, os.path.dirname(fpath.replace(rootdir, "/"))))
modified = True
# if we have modified some rpaths call chrpath to update the binary
if modified:
args = ":".join(new_rpaths)
#bb.note("Setting rpath for %s to %s" %(fpath, args))
p = sub.Popen([cmd, '-r', args, fpath],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
if p.returncode != 0:
bb.fatal("%s: chrpath command failed with exit code %d:\n%s%s" % (d.getVar('PN'), p.returncode, out, err))
}
python pstaging_fetch () {
def pstaging_fetch(sstatefetch, sstatepkg, d):
import bb.fetch2
# Only try and fetch if the user has configured a mirror
mirrors = d.getVar('SSTATE_MIRRORS')
if not mirrors:
return
# Copy the data object and override DL_DIR and SRC_URI
localdata = bb.data.createCopy(d)
dldir = localdata.expand("${SSTATE_DIR}")
bb.utils.mkdirhier(dldir)
localdata.delVar('MIRRORS')
localdata.setVar('FILESPATH', dldir)
localdata.setVar('DL_DIR', dldir)
localdata.setVar('PREMIRRORS', mirrors)
# if BB_NO_NETWORK is set but we also have SSTATE_MIRROR_ALLOW_NETWORK,
# we'll want to allow network access for the current set of fetches.
if localdata.getVar('BB_NO_NETWORK') == "1" and localdata.getVar('SSTATE_MIRROR_ALLOW_NETWORK') == "1":
localdata.delVar('BB_NO_NETWORK')
# Try a fetch from the sstate mirror, if it fails just return and
# we will build the package
uris = ['file://{0};downloadfilename={0}'.format(sstatefetch),
'file://{0}.siginfo;downloadfilename={0}.siginfo'.format(sstatefetch)]
if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False):
uris += ['file://{0}.sig;downloadfilename={0}.sig'.format(sstatefetch)]
for srcuri in uris:
localdata.setVar('SRC_URI', srcuri)
try:
fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False)
fetcher.download()
except bb.fetch2.BBFetchException:
break
}
python raise_sanity_error () {
def raise_sanity_error(msg, d, network_error=False):
if d.getVar("SANITY_USE_EVENTS") == "1":
try:
bb.event.fire(bb.event.SanityCheckFailed(msg, network_error), d)
except TypeError:
bb.event.fire(bb.event.SanityCheckFailed(msg), d)
return
bb.fatal(""" OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:
%s""" % msg)
}
python read_libdep_files () {
def read_libdep_files(d):
pkglibdeps = {}
packages = d.getVar('PACKAGES').split()
for pkg in packages:
pkglibdeps[pkg] = {}
for extension in ".shlibdeps", ".pcdeps", ".clilibdeps":
depsfile = d.expand("${PKGDEST}/" + pkg + extension)
if os.access(depsfile, os.R_OK):
fd = open(depsfile)
lines = fd.readlines()
fd.close()
for l in lines:
l.rstrip()
deps = bb.utils.explode_dep_versions2(l)
for dep in deps:
if not dep in pkglibdeps[pkg]:
pkglibdeps[pkg][dep] = deps[dep]
return pkglibdeps
}
python read_shlibdeps () {
pkglibdeps = read_libdep_files(d)
packages = d.getVar('PACKAGES').split()
for pkg in packages:
rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg) or "")
for dep in pkglibdeps[pkg]:
# Add the dep if it's not already there, or if no comparison is set
if dep not in rdepends:
rdepends[dep] = []
for v in pkglibdeps[pkg][dep]:
if v not in rdepends[dep]:
rdepends[dep].append(v)
d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False))
}
python read_subpackage_metadata () {
import oe.packagedata
vars = {
"PN" : d.getVar('PN'),
"PE" : d.getVar('PE'),
"PV" : d.getVar('PV'),
"PR" : d.getVar('PR'),
}
data = oe.packagedata.read_pkgdata(vars["PN"], d)
for key in data.keys():
d.setVar(key, data[key])
for pkg in d.getVar('PACKAGES').split():
sdata = oe.packagedata.read_subpkgdata(pkg, d)
for key in sdata.keys():
if key in vars:
if sdata[key] != vars[key]:
if key == "PN":
bb.fatal("Recipe %s is trying to create package %s which was already written by recipe %s. This will cause corruption, please resolve this and only provide the package from one recipe or the other or only build one of the recipes." % (vars[key], pkg, sdata[key]))
bb.fatal("Recipe %s is trying to change %s from '%s' to '%s'. This will cause do_package_write_* failures since the incorrect data will be used and they will be unable to find the right workdir." % (vars["PN"], key, vars[key], sdata[key]))
continue
#
# If we set unsuffixed variables here there is a chance they could clobber override versions
# of that variable, e.g. DESCRIPTION could clobber DESCRIPTION_<pkgname>
# We therefore don't clobber for the unsuffixed variable versions
#
if key.endswith("_" + pkg):
d.setVar(key, sdata[key])
else:
d.setVar(key, sdata[key], parsing=True)
}
python return_spdx () {
def return_spdx(d, license):
"""
This function returns the spdx mapping of a license if it exists.
"""
return d.getVarFlag('SPDXLICENSEMAP', license)
}
python rootfs_command_variables () {
def rootfs_command_variables(d):
return ['ROOTFS_POSTPROCESS_COMMAND','ROOTFS_PREPROCESS_COMMAND','ROOTFS_POSTINSTALL_COMMAND','ROOTFS_POSTUNINSTALL_COMMAND','OPKG_PREPROCESS_COMMANDS','OPKG_POSTPROCESS_COMMANDS','IMAGE_POSTPROCESS_COMMAND',
'IMAGE_PREPROCESS_COMMAND','RPM_PREPROCESS_COMMANDS','RPM_POSTPROCESS_COMMANDS','DEB_PREPROCESS_COMMANDS','DEB_POSTPROCESS_COMMANDS']
}
python rootfs_variables () {
def rootfs_variables(d):
from oe.rootfs import variable_depends
variables = ['IMAGE_DEVICE_TABLE','IMAGE_DEVICE_TABLES','BUILD_IMAGES_FROM_FEEDS','IMAGE_TYPES_MASKED','IMAGE_ROOTFS_ALIGNMENT','IMAGE_OVERHEAD_FACTOR','IMAGE_ROOTFS_SIZE','IMAGE_ROOTFS_EXTRA_SPACE',
'IMAGE_ROOTFS_MAXSIZE','IMAGE_NAME','IMAGE_LINK_NAME','IMAGE_MANIFEST','DEPLOY_DIR_IMAGE','IMAGE_FSTYPES','IMAGE_INSTALL_COMPLEMENTARY','IMAGE_LINGUAS',
'MULTILIBRE_ALLOW_REP','MULTILIB_TEMP_ROOTFS','MULTILIB_VARIANTS','MULTILIBS','ALL_MULTILIB_PACKAGE_ARCHS','MULTILIB_GLOBAL_VARIANTS','BAD_RECOMMENDATIONS','NO_RECOMMENDATIONS',
'PACKAGE_ARCHS','PACKAGE_CLASSES','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','OVERRIDES','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI','INTERCEPT_DIR','USE_DEVFS',
'CONVERSIONTYPES', 'IMAGE_GEN_DEBUGFS', 'ROOTFS_RO_UNNEEDED', 'IMGDEPLOYDIR', 'PACKAGE_EXCLUDE_COMPLEMENTARY']
variables.extend(rootfs_command_variables(d))
variables.extend(variable_depends(d))
return " ".join(variables)
}
python rpath_replace () {
def rpath_replace (path, d):
bindirs = d.expand("${bindir} ${sbindir} ${base_sbindir} ${base_bindir} ${libdir} ${base_libdir} ${libexecdir} ${PREPROCESS_RELOCATE_DIRS}").split()
for bindir in bindirs:
#bb.note ("Processing directory " + bindir)
directory = path + "/" + bindir
process_dir (path, directory, d)
}
python runtime_mapping_rename () {
def runtime_mapping_rename (varname, pkg, d):
#bb.note("%s before: %s" % (varname, d.getVar(varname)))
new_depends = {}
deps = bb.utils.explode_dep_versions2(d.getVar(varname) or "")
for depend in deps:
new_depend = get_package_mapping(depend, pkg, d)
new_depends[new_depend] = deps[depend]
d.setVar(varname, bb.utils.join_deps(new_depends, commasep=False))
#bb.note("%s after: %s" % (varname, d.getVar(varname)))
}
python sanity_check_conffiles () {
def sanity_check_conffiles(d):
funcs = d.getVar('BBLAYERS_CONF_UPDATE_FUNCS').split()
for func in funcs:
conffile, current_version, required_version, func = func.split(":")
if check_conf_exists(conffile, d) and d.getVar(current_version) is not None and \
d.getVar(current_version) != d.getVar(required_version):
try:
bb.build.exec_func(func, d, pythonexception=True)
except NotImplementedError as e:
bb.fatal(str(e))
d.setVar("BB_INVALIDCONF", True)
}
python sanity_check_locale () {
def sanity_check_locale(d):
"""
Currently bitbake switches locale to en_US.UTF-8 so check that this locale actually exists.
"""
import locale
try:
locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
except locale.Error:
raise_sanity_error("You system needs to support the en_US.UTF-8 locale.", d)
}
python sanity_conf_find_line () {
def sanity_conf_find_line(pattern, lines):
import re
return next(((index, line)
for index, line in enumerate(lines)
if re.search(pattern, line)), (None, None))
}
python sanity_conf_read () {
def sanity_conf_read(fn):
with open(fn, 'r') as f:
lines = f.readlines()
return lines
}
python sanity_conf_update () {
def sanity_conf_update(fn, lines, version_var_name, new_version):
index, line = sanity_conf_find_line(r"^%s" % version_var_name, lines)
lines[index] = '%s = "%d"\n' % (version_var_name, new_version)
with open(fn, "w") as f:
f.write(''.join(lines))
}
python sanity_handle_abichanges () {
def sanity_handle_abichanges(status, d):
#
# Check the 'ABI' of TMPDIR
#
import subprocess
current_abi = d.getVar('OELAYOUT_ABI')
abifile = d.getVar('SANITY_ABIFILE')
if os.path.exists(abifile):
with open(abifile, "r") as f:
abi = f.read().strip()
if not abi.isdigit():
with open(abifile, "w") as f:
f.write(current_abi)
elif int(abi) <= 11 and current_abi == "12":
status.addresult("The layout of TMPDIR changed for Recipe Specific Sysroots.\nConversion doesn't make sense and this change will rebuild everything so please delete TMPDIR (%s).\n" % d.getVar("TMPDIR"))
elif (abi != current_abi):
# Code to convert from one ABI to another could go here if possible.
status.addresult("Error, TMPDIR has changed its layout version number (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi))
else:
with open(abifile, "w") as f:
f.write(current_abi)
}
python sdk_command_variables () {
def sdk_command_variables(d):
return ['OPKG_PREPROCESS_COMMANDS','OPKG_POSTPROCESS_COMMANDS','POPULATE_SDK_POST_HOST_COMMAND','POPULATE_SDK_POST_TARGET_COMMAND','SDK_POSTPROCESS_COMMAND','RPM_PREPROCESS_COMMANDS',
'RPM_POSTPROCESS_COMMANDS']
}
python sdk_variables () {
def sdk_variables(d):
variables = ['BUILD_IMAGES_FROM_FEEDS','SDK_OS','SDK_OUTPUT','SDKPATHNATIVE','SDKTARGETSYSROOT','SDK_DIR','SDK_VENDOR','SDKIMAGE_INSTALL_COMPLEMENTARY','SDK_PACKAGE_ARCHS','SDK_OUTPUT',
'SDKTARGETSYSROOT','MULTILIB_VARIANTS','MULTILIBS','ALL_MULTILIB_PACKAGE_ARCHS','MULTILIB_GLOBAL_VARIANTS','BAD_RECOMMENDATIONS','NO_RECOMMENDATIONS','PACKAGE_ARCHS',
'PACKAGE_CLASSES','TARGET_VENDOR','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI', 'PACKAGE_EXCLUDE_COMPLEMENTARY']
variables.extend(sdk_command_variables(d))
return " ".join(variables)
}
python set_image_size () {
rootfs_size = get_rootfs_size(d)
d.setVar('ROOTFS_SIZE', str(rootfs_size))
d.setVarFlag('ROOTFS_SIZE', 'export', '1')
}
python set_packagetriplet () {
def set_packagetriplet(d):
archs = []
tos = []
tvs = []
archs.append(d.getVar("PACKAGE_ARCHS").split())
tos.append(d.getVar("TARGET_OS"))
tvs.append(d.getVar("TARGET_VENDOR"))
def settriplet(d, varname, archs, tos, tvs):
triplets = []
for i in range(len(archs)):
for arch in archs[i]:
triplets.append(arch + tvs[i] + "-" + tos[i])
triplets.reverse()
d.setVar(varname, " ".join(triplets))
settriplet(d, "PKGTRIPLETS", archs, tos, tvs)
variants = d.getVar("MULTILIB_VARIANTS") or ""
for item in variants.split():
localdata = bb.data.createCopy(d)
overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
localdata.setVar("OVERRIDES", overrides)
archs.append(localdata.getVar("PACKAGE_ARCHS").split())
tos.append(localdata.getVar("TARGET_OS"))
tvs.append(localdata.getVar("TARGET_VENDOR"))
settriplet(d, "PKGMLTRIPLETS", archs, tos, tvs)
}
python setscene_depvalid () {
def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
# taskdependees is a dict of tasks which depend on task, each being a 3 item list of [PN, TASKNAME, FILENAME]
# task is included in taskdependees too
# Return - False - We need this dependency
# - True - We can skip this dependency
def logit(msg, log):
if log is not None:
log.append(msg)
else:
bb.debug(2, msg)
logit("Considering setscene task: %s" % (str(taskdependees[task])), log)
def isNativeCross(x):
return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x or x.endswith("-cross")
# We only need to trigger populate_lic through direct dependencies
if taskdependees[task][1] == "do_populate_lic":
return True
# stash_locale and gcc_stash_builddir are never needed as a dependency for built objects
if taskdependees[task][1] == "do_stash_locale" or taskdependees[task][1] == "do_gcc_stash_builddir":
return True
# We only need to trigger packagedata through direct dependencies
# but need to preserve packagedata on packagedata links
if taskdependees[task][1] == "do_packagedata":
for dep in taskdependees:
if taskdependees[dep][1] == "do_packagedata":
return False
return True
for dep in taskdependees:
logit(" considering dependency: %s" % (str(taskdependees[dep])), log)
if task == dep:
continue
if dep in notneeded:
continue
# do_package_write_* and do_package doesn't need do_package
if taskdependees[task][1] == "do_package" and taskdependees[dep][1] in ['do_package', 'do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata', 'do_package_qa']:
continue
# do_package_write_* need do_populate_sysroot as they're mainly postinstall dependencies
if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm']:
return False
# do_package/packagedata/package_qa don't need do_populate_sysroot
if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_packagedata', 'do_package_qa']:
continue
# Native/Cross packages don't exist and are noexec anyway
if isNativeCross(taskdependees[dep][0]) and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata', 'do_package', 'do_package_qa']:
continue
# This is due to the [depends] in useradd.bbclass complicating matters
# The logic *is* reversed here due to the way hard setscene dependencies are injected
if (taskdependees[task][1] == 'do_package' or taskdependees[task][1] == 'do_populate_sysroot') and taskdependees[dep][0].endswith(('shadow-native', 'shadow-sysroot', 'base-passwd', 'pseudo-native')) and taskdependees[dep][1] == 'do_populate_sysroot':
continue
# Consider sysroot depending on sysroot tasks
if taskdependees[task][1] == 'do_populate_sysroot' and taskdependees[dep][1] == 'do_populate_sysroot':
# base-passwd/shadow-sysroot don't need their dependencies
if taskdependees[dep][0].endswith(("base-passwd", "shadow-sysroot")):
continue
# Nothing need depend on libc-initial/gcc-cross-initial
if "-initial" in taskdependees[task][0]:
continue
# For meta-extsdk-toolchain we want all sysroot dependencies
if taskdependees[dep][0] == 'meta-extsdk-toolchain':
return False
# Native/Cross populate_sysroot need their dependencies
if isNativeCross(taskdependees[task][0]) and isNativeCross(taskdependees[dep][0]):
return False
# Target populate_sysroot depended on by cross tools need to be installed
if isNativeCross(taskdependees[dep][0]):
return False
# Native/cross tools depended upon by target sysroot are not needed
if isNativeCross(taskdependees[task][0]):
continue
# Target populate_sysroot need their dependencies
return False
if taskdependees[task][1] == 'do_shared_workdir':
continue
if taskdependees[dep][1] == "do_populate_lic":
continue
# Safe fallthrough default
logit(" Default setscene dependency fall through due to dependency: %s" % (str(taskdependees[dep])), log)
return False
return True
}
python setup_debugfs () {
setup_debugfs_variables(d)
}
python setup_debugfs_variables () {
def setup_debugfs_variables(d):
d.appendVar('IMAGE_ROOTFS', '-dbg')
d.appendVar('IMAGE_LINK_NAME', '-dbg')
d.appendVar('IMAGE_NAME','-dbg')
d.setVar('IMAGE_BUILDING_DEBUGFS', 'true')
debugfs_image_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS')
if debugfs_image_fstypes:
d.setVar('IMAGE_FSTYPES', debugfs_image_fstypes)
}
python setup_hosttools_dir () {
def setup_hosttools_dir(dest, toolsvar, d, fatal=True):
tools = d.getVar(toolsvar).split()
origbbenv = d.getVar("BB_ORIGENV", False)
path = origbbenv.getVar("PATH")
bb.utils.mkdirhier(dest)
notfound = []
for tool in tools:
desttool = os.path.join(dest, tool)
if not os.path.exists(desttool):
srctool = bb.utils.which(path, tool, executable=True)
if "ccache" in srctool:
srctool = bb.utils.which(path, tool, executable=True, direction=1)
if srctool:
os.symlink(srctool, desttool)
else:
notfound.append(tool)
if notfound and fatal:
bb.fatal("The following required tools (as specified by HOSTTOOLS) appear to be unavailable in PATH, please install them in order to proceed:\n %s" % " ".join(notfound))
}
python should_apply () {
def should_apply(parm, d):
"""Determine if we should apply the given patch"""
import oe.patch
return oe.patch.should_apply(parm, d)
}
python siteinfo_data () {
def siteinfo_data(d):
archinfo = {
"allarch": "endian-little bit-32", # bogus, but better than special-casing the checks below for allarch
"aarch64": "endian-little bit-64 arm-common arm-64",
"aarch64_be": "endian-big bit-64 arm-common arm-64",
"arm": "endian-little bit-32 arm-common arm-32",
"armeb": "endian-big bit-32 arm-common arm-32",
"avr32": "endian-big bit-32 avr32-common",
"bfin": "endian-little bit-32 bfin-common",
"epiphany": "endian-little bit-32",
"i386": "endian-little bit-32 ix86-common",
"i486": "endian-little bit-32 ix86-common",
"i586": "endian-little bit-32 ix86-common",
"i686": "endian-little bit-32 ix86-common",
"ia64": "endian-little bit-64",
"microblaze": "endian-big bit-32 microblaze-common",
"microblazeeb": "endian-big bit-32 microblaze-common",
"microblazeel": "endian-little bit-32 microblaze-common",
"mips": "endian-big bit-32 mips-common",
"mips64": "endian-big bit-64 mips-common",
"mips64el": "endian-little bit-64 mips-common",
"mipsisa64r6": "endian-big bit-64 mips-common",
"mipsisa64r6el": "endian-little bit-64 mips-common",
"mipsel": "endian-little bit-32 mips-common",
"mipsisa32r6": "endian-big bit-32 mips-common",
"mipsisa32r6el": "endian-little bit-32 mips-common",
"powerpc": "endian-big bit-32 powerpc-common",
"nios2": "endian-little bit-32 nios2-common",
"powerpc64": "endian-big bit-64 powerpc-common",
"ppc": "endian-big bit-32 powerpc-common",
"ppc64": "endian-big bit-64 powerpc-common",
"ppc64le" : "endian-little bit-64 powerpc-common",
"sh3": "endian-little bit-32 sh-common",
"sh4": "endian-little bit-32 sh-common",
"sparc": "endian-big bit-32",
"viac3": "endian-little bit-32 ix86-common",
"x86_64": "endian-little", # bitinfo specified in targetinfo
}
osinfo = {
"darwin": "common-darwin",
"darwin9": "common-darwin",
"linux": "common-linux common-glibc",
"linux-gnu": "common-linux common-glibc",
"linux-gnux32": "common-linux common-glibc",
"linux-gnun32": "common-linux common-glibc",
"linux-gnueabi": "common-linux common-glibc",
"linux-gnuspe": "common-linux common-glibc",
"linux-uclibc": "common-linux common-uclibc",
"linux-uclibceabi": "common-linux common-uclibc",
"linux-uclibcspe": "common-linux common-uclibc",
"linux-musl": "common-linux common-musl",
"linux-musleabi": "common-linux common-musl",
"linux-muslspe": "common-linux common-musl",
"uclinux-uclibc": "common-uclibc",
"cygwin": "common-cygwin",
"mingw32": "common-mingw",
}
targetinfo = {
"aarch64-linux-gnu": "aarch64-linux",
"aarch64_be-linux-gnu": "aarch64_be-linux",
"aarch64-linux-musl": "aarch64-linux",
"aarch64_be-linux-musl": "aarch64_be-linux",
"arm-linux-gnueabi": "arm-linux",
"arm-linux-musleabi": "arm-linux",
"arm-linux-uclibceabi": "arm-linux-uclibc",
"armeb-linux-gnueabi": "armeb-linux",
"armeb-linux-uclibceabi": "armeb-linux-uclibc",
"armeb-linux-musleabi": "armeb-linux",
"mips-linux-musl": "mips-linux",
"mipsel-linux-musl": "mipsel-linux",
"mips64-linux-musl": "mips64-linux",
"mips64el-linux-musl": "mips64el-linux",
"mips64-linux-gnun32": "mips-linux bit-32",
"mips64el-linux-gnun32": "mipsel-linux bit-32",
"mipsisa64r6-linux-gnun32": "mipsisa32r6-linux bit-32",
"mipsisa64r6el-linux-gnun32": "mipsisa32r6el-linux bit-32",
"powerpc-linux": "powerpc32-linux",
"powerpc-linux-musl": "powerpc-linux powerpc32-linux",
"powerpc-linux-uclibc": "powerpc-linux powerpc32-linux",
"powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux",
"powerpc-linux-muslspe": "powerpc-linux powerpc32-linux",
"powerpc-linux-uclibcspe": "powerpc-linux powerpc32-linux powerpc-linux-uclibc",
"powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux",
"powerpc64-linux-muslspe": "powerpc-linux powerpc64-linux",
"powerpc64-linux": "powerpc-linux",
"powerpc64-linux-musl": "powerpc-linux",
"x86_64-cygwin": "bit-64",
"x86_64-darwin": "bit-64",
"x86_64-darwin9": "bit-64",
"x86_64-linux": "bit-64",
"x86_64-linux-musl": "x86_64-linux bit-64",
"x86_64-linux-uclibc": "bit-64",
"x86_64-elf": "bit-64",
"x86_64-linux-gnu": "bit-64 x86_64-linux",
"x86_64-linux-gnux32": "bit-32 ix86-common x32-linux",
"x86_64-mingw32": "bit-64",
}
# Add in any extra user supplied data which may come from a BSP layer, removing the
# need to always change this class directly
extra_siteinfo = (d.getVar("SITEINFO_EXTRA_DATAFUNCS") or "").split()
for m in extra_siteinfo:
call = m + "(archinfo, osinfo, targetinfo, d)"
locs = { "archinfo" : archinfo, "osinfo" : osinfo, "targetinfo" : targetinfo, "d" : d}
archinfo, osinfo, targetinfo = bb.utils.better_eval(call, locs)
hostarch = d.getVar("HOST_ARCH")
hostos = d.getVar("HOST_OS")
target = "%s-%s" % (hostarch, hostos)
sitedata = []
if hostarch in archinfo:
sitedata.extend(archinfo[hostarch].split())
if hostos in osinfo:
sitedata.extend(osinfo[hostos].split())
if target in targetinfo:
sitedata.extend(targetinfo[target].split())
sitedata.append(target)
sitedata.append("common")
bb.debug(1, "SITE files %s" % sitedata);
return sitedata
}
python siteinfo_get_files () {
def siteinfo_get_files(d, aclocalcache = False):
sitedata = siteinfo_data(d)
sitefiles = ""
for path in d.getVar("BBPATH").split(":"):
for element in sitedata:
filename = os.path.join(path, "site", element)
if os.path.exists(filename):
sitefiles += filename + " "
if not aclocalcache:
return sitefiles
# Now check for siteconfig cache files in the directory setup by autotools.bbclass to
# avoid races.
#
# ACLOCALDIR may or may not exist so cache should only be set to True from autotools.bbclass
# after files have been copied into this location. To do otherwise risks parsing/signature
# issues and the directory being created/removed whilst this code executes. This can happen
# when a multilib recipe is parsed along with its base variant which may be running at the time
# causing rare but nasty failures
path_siteconfig = d.getVar('ACLOCALDIR')
if path_siteconfig and os.path.isdir(path_siteconfig):
for i in os.listdir(path_siteconfig):
if not i.endswith("_config"):
continue
filename = os.path.join(path_siteconfig, i)
sitefiles += filename + " "
return sitefiles
}
python sort_passwd () {
import rootfspostcommands
rootfspostcommands.sort_passwd(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
}
python split_and_strip_files () {
import stat, errno
dvar = d.getVar('PKGD')
pn = d.getVar('PN')
oldcwd = os.getcwd()
os.chdir(dvar)
# We default to '.debug' style
if d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-file-directory':
# Single debug-file-directory style debug info
debugappend = ".debug"
debugdir = ""
debuglibdir = "/usr/lib/debug"
debugsrcdir = "/usr/src/debug"
elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-without-src':
# Original OE-core, a.k.a. ".debug", style debug info, but without sources in /usr/src/debug
debugappend = ""
debugdir = "/.debug"
debuglibdir = ""
debugsrcdir = ""
else:
# Original OE-core, a.k.a. ".debug", style debug info
debugappend = ""
debugdir = "/.debug"
debuglibdir = ""
debugsrcdir = "/usr/src/debug"
sourcefile = d.expand("${WORKDIR}/debugsources.list")
bb.utils.remove(sourcefile)
# Return type (bits):
# 0 - not elf
# 1 - ELF
# 2 - stripped
# 4 - executable
# 8 - shared library
# 16 - kernel module
def isELF(path):
type = 0
ret, result = oe.utils.getstatusoutput("file \"%s\"" % path.replace("\"", "\\\""))
if ret:
msg = "split_and_strip_files: 'file %s' failed" % path
package_qa_handle_error("split-strip", msg, d)
return type
# Not stripped
if "ELF" in result:
type |= 1
if "not stripped" not in result:
type |= 2
if "executable" in result:
type |= 4
if "shared" in result:
type |= 8
return type
#
# First lets figure out all of the files we may have to process ... do this only once!
#
elffiles = {}
symlinks = {}
kernmods = []
inodes = {}
libdir = os.path.abspath(dvar + os.sep + d.getVar("libdir"))
baselibdir = os.path.abspath(dvar + os.sep + d.getVar("base_libdir"))
if (d.getVar('INHIBIT_PACKAGE_STRIP') != '1' or \
d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT') != '1'):
for root, dirs, files in cpath.walk(dvar):
for f in files:
file = os.path.join(root, f)
if file.endswith(".ko") and file.find("/lib/modules/") != -1:
kernmods.append(file)
continue
# Skip debug files
if debugappend and file.endswith(debugappend):
continue
if debugdir and debugdir in os.path.dirname(file[len(dvar):]):
continue
try:
ltarget = cpath.realpath(file, dvar, False)
s = cpath.lstat(ltarget)
except OSError as e:
(err, strerror) = e.args
if err != errno.ENOENT:
raise
# Skip broken symlinks
continue
if not s:
continue
# Check its an excutable
if (s[stat.ST_MODE] & stat.S_IXUSR) or (s[stat.ST_MODE] & stat.S_IXGRP) or (s[stat.ST_MODE] & stat.S_IXOTH) \
or ((file.startswith(libdir) or file.startswith(baselibdir)) and (".so" in f or ".node" in f)):
# If it's a symlink, and points to an ELF file, we capture the readlink target
if cpath.islink(file):
target = os.readlink(file)
if isELF(ltarget):
#bb.note("Sym: %s (%d)" % (ltarget, isELF(ltarget)))
symlinks[file] = target
continue
# It's a file (or hardlink), not a link
# ...but is it ELF, and is it already stripped?
elf_file = isELF(file)
if elf_file & 1:
if elf_file & 2:
if 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn) or "").split():
bb.note("Skipping file %s from %s for already-stripped QA test" % (file[len(dvar):], pn))
else:
msg = "File '%s' from %s was already stripped, this will prevent future debugging!" % (file[len(dvar):], pn)
package_qa_handle_error("already-stripped", msg, d)
continue
# At this point we have an unstripped elf file. We need to:
# a) Make sure any file we strip is not hardlinked to anything else outside this tree
# b) Only strip any hardlinked file once (no races)
# c) Track any hardlinks between files so that we can reconstruct matching debug file hardlinks
# Use a reference of device ID and inode number to indentify files
file_reference = "%d_%d" % (s.st_dev, s.st_ino)
if file_reference in inodes:
os.unlink(file)
os.link(inodes[file_reference][0], file)
inodes[file_reference].append(file)
else:
inodes[file_reference] = [file]
# break hardlink
bb.utils.copyfile(file, file)
elffiles[file] = elf_file
# Modified the file so clear the cache
cpath.updatecache(file)
#
# First lets process debug splitting
#
if (d.getVar('INHIBIT_PACKAGE_DEBUG_SPLIT') != '1'):
for file in elffiles:
src = file[len(dvar):]
dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend
fpath = dvar + dest
# Split the file...
bb.utils.mkdirhier(os.path.dirname(fpath))
#bb.note("Split %s -> %s" % (file, fpath))
# Only store off the hard link reference if we successfully split!
splitdebuginfo(file, fpath, debugsrcdir, sourcefile, d)
# Hardlink our debug symbols to the other hardlink copies
for ref in inodes:
if len(inodes[ref]) == 1:
continue
for file in inodes[ref][1:]:
src = file[len(dvar):]
dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend
fpath = dvar + dest
target = inodes[ref][0][len(dvar):]
ftarget = dvar + debuglibdir + os.path.dirname(target) + debugdir + "/" + os.path.basename(target) + debugappend
bb.utils.mkdirhier(os.path.dirname(fpath))
#bb.note("Link %s -> %s" % (fpath, ftarget))
os.link(ftarget, fpath)
# Create symlinks for all cases we were able to split symbols
for file in symlinks:
src = file[len(dvar):]
dest = debuglibdir + os.path.dirname(src) + debugdir + "/" + os.path.basename(src) + debugappend
fpath = dvar + dest
# Skip it if the target doesn't exist
try:
s = os.stat(fpath)
except OSError as e:
(err, strerror) = e.args
if err != errno.ENOENT:
raise
continue
ltarget = symlinks[file]
lpath = os.path.dirname(ltarget)
lbase = os.path.basename(ltarget)
ftarget = ""
if lpath and lpath != ".":
ftarget += lpath + debugdir + "/"
ftarget += lbase + debugappend
if lpath.startswith(".."):
ftarget = os.path.join("..", ftarget)
bb.utils.mkdirhier(os.path.dirname(fpath))
#bb.note("Symlink %s -> %s" % (fpath, ftarget))
os.symlink(ftarget, fpath)
# Process the debugsrcdir if requested...
# This copies and places the referenced sources for later debugging...
copydebugsources(debugsrcdir, d)
#
# End of debug splitting
#
#
# Now lets go back over things and strip them
#
if (d.getVar('INHIBIT_PACKAGE_STRIP') != '1'):
strip = d.getVar("STRIP")
sfiles = []
for file in elffiles:
elf_file = int(elffiles[file])
#bb.note("Strip %s" % file)
sfiles.append((file, elf_file, strip))
for f in kernmods:
sfiles.append((f, 16, strip))
oe.utils.multiprocess_exec(sfiles, oe.package.runstrip)
#
# End of strip
#
os.chdir(oldcwd)
}
python splitdebuginfo () {
def splitdebuginfo(file, debugfile, debugsrcdir, sourcefile, d):
# Function to split a single file into two components, one is the stripped
# target system binary, the other contains any debugging information. The
# two files are linked to reference each other.
#
# sourcefile is also generated containing a list of debugsources
import stat
dvar = d.getVar('PKGD')
objcopy = d.getVar("OBJCOPY")
debugedit = d.expand("${STAGING_LIBDIR_NATIVE}/rpm/debugedit")
# We ignore kernel modules, we don't generate debug info files.
if file.find("/lib/modules/") != -1 and file.endswith(".ko"):
return 1
newmode = None
if not os.access(file, os.W_OK) or os.access(file, os.R_OK):
origmode = os.stat(file)[stat.ST_MODE]
newmode = origmode | stat.S_IWRITE | stat.S_IREAD
os.chmod(file, newmode)
# We need to extract the debug src information here...
if debugsrcdir:
cmd = "'%s' -i -l '%s' '%s'" % (debugedit, sourcefile, file)
(retval, output) = oe.utils.getstatusoutput(cmd)
if retval:
bb.fatal("debugedit failed with exit code %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else ""))
bb.utils.mkdirhier(os.path.dirname(debugfile))
cmd = "'%s' --only-keep-debug '%s' '%s'" % (objcopy, file, debugfile)
(retval, output) = oe.utils.getstatusoutput(cmd)
if retval:
bb.fatal("objcopy failed with exit code %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else ""))
# Set the debuglink to have the view of the file path on the target
cmd = "'%s' --add-gnu-debuglink='%s' '%s'" % (objcopy, debugfile, file)
(retval, output) = oe.utils.getstatusoutput(cmd)
if retval:
bb.fatal("objcopy failed with exit code %s (cmd was %s)%s" % (retval, cmd, ":\n%s" % output if output else ""))
if newmode:
os.chmod(file, origmode)
return 0
}
python src_patches () {
def src_patches(d, all=False, expand=True):
import oe.patch
return oe.patch.src_patches(d, all, expand)
}
python sstate_add () {
def sstate_add(ss, source, dest, d):
if not source.endswith("/"):
source = source + "/"
if not dest.endswith("/"):
dest = dest + "/"
source = os.path.normpath(source)
dest = os.path.normpath(dest)
srcbase = os.path.basename(source)
ss['dirs'].append([srcbase, source, dest])
return ss
}
python sstate_checkhashes () {
def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False):
ret = []
missed = []
extension = ".tgz"
if siginfo:
extension = extension + ".siginfo"
def getpathcomponents(task, d):
# Magic data from BB_HASHFILENAME
splithashfn = sq_hashfn[task].split(" ")
spec = splithashfn[1]
if splithashfn[0] == "True":
extrapath = d.getVar("NATIVELSBSTRING") + "/"
else:
extrapath = ""
tname = sq_task[task][3:]
if tname in ["fetch", "unpack", "patch", "populate_lic", "preconfigure"] and splithashfn[2]:
spec = splithashfn[2]
extrapath = ""
return spec, extrapath, tname
for task in range(len(sq_fn)):
spec, extrapath, tname = getpathcomponents(task, d)
sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + extension)
if os.path.exists(sstatefile):
bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
ret.append(task)
continue
else:
missed.append(task)
bb.debug(2, "SState: Looked for but didn't find file %s" % sstatefile)
mirrors = d.getVar("SSTATE_MIRRORS")
if mirrors:
# Copy the data object and override DL_DIR and SRC_URI
localdata = bb.data.createCopy(d)
dldir = localdata.expand("${SSTATE_DIR}")
localdata.delVar('MIRRORS')
localdata.setVar('FILESPATH', dldir)
localdata.setVar('DL_DIR', dldir)
localdata.setVar('PREMIRRORS', mirrors)
bb.debug(2, "SState using premirror of: %s" % mirrors)
# if BB_NO_NETWORK is set but we also have SSTATE_MIRROR_ALLOW_NETWORK,
# we'll want to allow network access for the current set of fetches.
if localdata.getVar('BB_NO_NETWORK') == "1" and localdata.getVar('SSTATE_MIRROR_ALLOW_NETWORK') == "1":
localdata.delVar('BB_NO_NETWORK')
from bb.fetch2 import FetchConnectionCache
def checkstatus_init(thread_worker):
thread_worker.connection_cache = FetchConnectionCache()
def checkstatus_end(thread_worker):
thread_worker.connection_cache.close_connections()
def checkstatus(thread_worker, arg):
(task, sstatefile) = arg
localdata2 = bb.data.createCopy(localdata)
srcuri = "file://" + sstatefile
localdata.setVar('SRC_URI', srcuri)
bb.debug(2, "SState: Attempting to fetch %s" % srcuri)
try:
fetcher = bb.fetch2.Fetch(srcuri.split(), localdata2,
connection_cache=thread_worker.connection_cache)
fetcher.checkstatus()
bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
ret.append(task)
if task in missed:
missed.remove(task)
except:
missed.append(task)
bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
pass
bb.event.fire(bb.event.ProcessProgress("Checking sstate mirror object availability", len(tasklist) - thread_worker.tasks.qsize()), d)
tasklist = []
for task in range(len(sq_fn)):
if task in ret:
continue
spec, extrapath, tname = getpathcomponents(task, d)
sstatefile = d.expand(extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + extension)
tasklist.append((task, sstatefile))
if tasklist:
bb.event.fire(bb.event.ProcessStarted("Checking sstate mirror object availability", len(tasklist)), d)
import multiprocessing
nproc = min(multiprocessing.cpu_count(), len(tasklist))
bb.event.enable_threadlock()
pool = oe.utils.ThreadedPool(nproc, len(tasklist),
worker_init=checkstatus_init, worker_end=checkstatus_end)
for t in tasklist:
pool.add_task(checkstatus, t)
pool.start()
pool.wait_completion()
bb.event.disable_threadlock()
bb.event.fire(bb.event.ProcessFinished("Checking sstate mirror object availability"), d)
inheritlist = d.getVar("INHERIT")
if "toaster" in inheritlist:
evdata = {'missed': [], 'found': []};
for task in missed:
spec, extrapath, tname = getpathcomponents(task, d)
sstatefile = d.expand(extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + ".tgz")
evdata['missed'].append( (sq_fn[task], sq_task[task], sq_hash[task], sstatefile ) )
for task in ret:
spec, extrapath, tname = getpathcomponents(task, d)
sstatefile = d.expand(extrapath + generate_sstatefn(spec, sq_hash[task], d) + "_" + tname + ".tgz")
evdata['found'].append( (sq_fn[task], sq_task[task], sq_hash[task], sstatefile ) )
bb.event.fire(bb.event.MetadataEvent("MissedSstate", evdata), d)
if hasattr(bb.parse.siggen, "checkhashes"):
bb.parse.siggen.checkhashes(missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d)
return ret
}
python sstate_clean () {
def sstate_clean(ss, d):
import oe.path
import glob
d2 = d.createCopy()
stamp_clean = d.getVar("STAMPCLEAN")
extrainf = d.getVarFlag("do_" + ss['task'], 'stamp-extra-info')
if extrainf:
d2.setVar("SSTATE_MANMACH", extrainf)
wildcard_stfile = "%s.do_%s*.%s" % (stamp_clean, ss['task'], extrainf)
else:
wildcard_stfile = "%s.do_%s*" % (stamp_clean, ss['task'])
manifest = d2.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['task'])
if os.path.exists(manifest):
locks = []
for lock in ss['lockfiles-shared']:
locks.append(bb.utils.lockfile(lock))
for lock in ss['lockfiles']:
locks.append(bb.utils.lockfile(lock))
sstate_clean_manifest(manifest, d)
for lock in locks:
bb.utils.unlockfile(lock)
# Remove the current and previous stamps, but keep the sigdata.
#
# The glob() matches do_task* which may match multiple tasks, for
# example: do_package and do_package_write_ipk, so we need to
# exactly match *.do_task.* and *.do_task_setscene.*
rm_stamp = '.do_%s.' % ss['task']
rm_setscene = '.do_%s_setscene.' % ss['task']
# For BB_SIGNATURE_HANDLER = "noop"
rm_nohash = ".do_%s" % ss['task']
for stfile in glob.glob(wildcard_stfile):
# Keep the sigdata
if ".sigdata." in stfile or ".sigbasedata." in stfile:
continue
# Preserve taint files in the stamps directory
if stfile.endswith('.taint'):
continue
if rm_stamp in stfile or rm_setscene in stfile or \
stfile.endswith(rm_nohash):
oe.path.remove(stfile)
# Removes the users/groups created by the package
for cleanfunc in (d.getVar('SSTATECLEANFUNCS') or '').split():
bb.build.exec_func(cleanfunc, d)
}
python sstate_clean_cachefile () {
def sstate_clean_cachefile(ss, d):
import oe.path
sstatepkgfile = d.getVar('SSTATE_PATHSPEC') + "*_" + ss['task'] + ".tgz*"
bb.note("Removing %s" % sstatepkgfile)
oe.path.remove(sstatepkgfile)
}
python sstate_clean_cachefiles () {
def sstate_clean_cachefiles(d):
for task in (d.getVar('SSTATETASKS') or "").split():
ld = d.createCopy()
ss = sstate_state_fromvars(ld, task)
sstate_clean_cachefile(ss, ld)
}
python sstate_clean_manifest () {
def sstate_clean_manifest(manifest, d, prefix=None):
import oe.path
mfile = open(manifest)
entries = mfile.readlines()
mfile.close()
for entry in entries:
entry = entry.strip()
if prefix and not entry.startswith("/"):
entry = prefix + "/" + entry
bb.debug(2, "Removing manifest: %s" % entry)
# We can race against another package populating directories as we're removing them
# so we ignore errors here.
try:
if entry.endswith("/"):
if os.path.islink(entry[:-1]):
os.remove(entry[:-1])
elif os.path.exists(entry) and len(os.listdir(entry)) == 0:
os.rmdir(entry[:-1])
else:
os.remove(entry)
except OSError:
pass
postrm = manifest + ".postrm"
if os.path.exists(manifest + ".postrm"):
import subprocess
os.chmod(postrm, 0o755)
subprocess.call(postrm, shell=True)
oe.path.remove(postrm)
oe.path.remove(manifest)
}
python sstate_cleanall () {
bb.note("Removing shared state for package %s" % d.getVar('PN'))
manifest_dir = d.getVar('SSTATE_MANIFESTS')
if not os.path.exists(manifest_dir):
return
tasks = d.getVar('SSTATETASKS').split()
for name in tasks:
ld = d.createCopy()
shared_state = sstate_state_fromvars(ld, name)
sstate_clean(shared_state, ld)
}
python sstate_eventhandler () {
d = e.data
# When we write an sstate package we rewrite the SSTATE_PKG
spkg = d.getVar('SSTATE_PKG')
if not spkg.endswith(".tgz"):
taskname = d.getVar("BB_RUNTASK")[3:]
spec = d.getVar('SSTATE_PKGSPEC')
swspec = d.getVar('SSTATE_SWSPEC')
if taskname in ["fetch", "unpack", "patch", "populate_lic", "preconfigure"] and swspec:
d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}")
d.setVar("SSTATE_EXTRAPATH", "")
sstatepkg = d.getVar('SSTATE_PKG')
bb.siggen.dump_this_task(sstatepkg + '_' + taskname + ".tgz" ".siginfo", d)
}
python sstate_eventhandler2 () {
import glob
d = e.data
stamps = e.stamps.values()
removeworkdir = (d.getVar("SSTATE_PRUNE_OBSOLETEWORKDIR", False) == "1")
seen = []
for a in d.getVar("SSTATE_ARCHS").split():
toremove = []
i = d.expand("${SSTATE_MANIFESTS}/index-" + a)
if not os.path.exists(i):
continue
with open(i, "r") as f:
lines = f.readlines()
for l in lines:
(stamp, manifest, workdir) = l.split()
if stamp not in stamps:
toremove.append(l)
if stamp not in seen:
bb.debug(2, "Stamp %s is not reachable, removing related manifests" % stamp)
seen.append(stamp)
if toremove:
bb.note("There are %d recipes to be removed from sysroot %s, removing..." % (len(toremove), a))
for r in toremove:
(stamp, manifest, workdir) = r.split()
for m in glob.glob(manifest + ".*"):
if m.endswith(".postrm"):
continue
sstate_clean_manifest(m, d)
bb.utils.remove(stamp + "*")
if removeworkdir:
bb.utils.remove(workdir, recurse = True)
lines.remove(r)
with open(i, "w") as f:
for l in lines:
f.write(l)
}
python sstate_hardcode_path () {
import subprocess, platform
# Need to remove hardcoded paths and fix these when we install the
# staging packages.
#
# Note: the logic in this function needs to match the reverse logic
# in sstate_installpkg(ss, d)
staging_target = d.getVar('RECIPE_SYSROOT')
staging_host = d.getVar('RECIPE_SYSROOT_NATIVE')
sstate_builddir = d.getVar('SSTATE_BUILDDIR')
if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross-canadian', d):
sstate_grep_cmd = "grep -l -e '%s'" % (staging_host)
sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % (staging_host)
elif bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d):
sstate_grep_cmd = "grep -l -e '%s' -e '%s'" % (staging_target, staging_host)
sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRTARGET:g; s:%s:FIXMESTAGINGDIRHOST:g'" % (staging_target, staging_host)
else:
sstate_grep_cmd = "grep -l -e '%s'" % (staging_target)
sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRTARGET:g'" % (staging_target)
extra_staging_fixmes = d.getVar('EXTRA_STAGING_FIXMES') or ''
for fixmevar in extra_staging_fixmes.split():
fixme_path = d.getVar(fixmevar)
sstate_sed_cmd += " -e 's:%s:FIXME_%s:g'" % (fixme_path, fixmevar)
sstate_grep_cmd += " -e '%s'" % (fixme_path)
fixmefn = sstate_builddir + "fixmepath"
sstate_scan_cmd = d.getVar('SSTATE_SCAN_CMD')
sstate_filelist_cmd = "tee %s" % (fixmefn)
# fixmepath file needs relative paths, drop sstate_builddir prefix
sstate_filelist_relative_cmd = "sed -i -e 's:^%s::g' %s" % (sstate_builddir, fixmefn)
xargs_no_empty_run_cmd = '--no-run-if-empty'
if platform.system() == 'Darwin':
xargs_no_empty_run_cmd = ''
# Limit the fixpaths and sed operations based on the initial grep search
# This has the side effect of making sure the vfs cache is hot
sstate_hardcode_cmd = "%s | xargs %s | %s | xargs %s %s" % (sstate_scan_cmd, sstate_grep_cmd, sstate_filelist_cmd, xargs_no_empty_run_cmd, sstate_sed_cmd)
bb.note("Removing hardcoded paths from sstate package: '%s'" % (sstate_hardcode_cmd))
subprocess.check_output(sstate_hardcode_cmd, shell=True, cwd=sstate_builddir)
# If the fixmefn is empty, remove it..
if os.stat(fixmefn).st_size == 0:
os.remove(fixmefn)
else:
bb.note("Replacing absolute paths in fixmepath file: '%s'" % (sstate_filelist_relative_cmd))
subprocess.check_output(sstate_filelist_relative_cmd, shell=True)
}
python sstate_hardcode_path_unpack () {
# Fixup hardcoded paths
#
# Note: The logic below must match the reverse logic in
# sstate_hardcode_path(d)
import subprocess
sstateinst = d.getVar('SSTATE_INSTDIR')
sstatefixmedir = d.getVar('SSTATE_FIXMEDIR')
fixmefn = sstateinst + "fixmepath"
if os.path.isfile(fixmefn):
staging_target = d.getVar('RECIPE_SYSROOT')
staging_host = d.getVar('RECIPE_SYSROOT_NATIVE')
if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross-canadian', d):
sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRHOST:%s:g'" % (staging_host)
elif bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d):
sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (staging_target, staging_host)
else:
sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g'" % (staging_target)
extra_staging_fixmes = d.getVar('EXTRA_STAGING_FIXMES') or ''
for fixmevar in extra_staging_fixmes.split():
fixme_path = d.getVar(fixmevar)
sstate_sed_cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path)
# Add sstateinst to each filename in fixmepath, use xargs to efficiently call sed
sstate_hardcode_cmd = "sed -e 's:^:%s:g' %s | xargs %s" % (sstateinst, fixmefn, sstate_sed_cmd)
# Defer do_populate_sysroot relocation command
if sstatefixmedir:
bb.utils.mkdirhier(sstatefixmedir)
with open(sstatefixmedir + "/fixmepath.cmd", "w") as f:
sstate_hardcode_cmd = sstate_hardcode_cmd.replace(fixmefn, sstatefixmedir + "/fixmepath")
sstate_hardcode_cmd = sstate_hardcode_cmd.replace(sstateinst, "FIXMEFINALSSTATEINST")
sstate_hardcode_cmd = sstate_hardcode_cmd.replace(staging_host, "FIXMEFINALSSTATEHOST")
sstate_hardcode_cmd = sstate_hardcode_cmd.replace(staging_target, "FIXMEFINALSSTATETARGET")
f.write(sstate_hardcode_cmd)
bb.utils.copyfile(fixmefn, sstatefixmedir + "/fixmepath")
return
bb.note("Replacing fixme paths in sstate package: %s" % (sstate_hardcode_cmd))
subprocess.call(sstate_hardcode_cmd, shell=True)
# Need to remove this or we'd copy it into the target directory and may
# conflict with another writer
os.remove(fixmefn)
}
python sstate_init () {
def sstate_init(task, d):
ss = {}
ss['task'] = task
ss['dirs'] = []
ss['plaindirs'] = []
ss['lockfiles'] = []
ss['lockfiles-shared'] = []
return ss
}
python sstate_install () {
def sstate_install(ss, d):
import oe.path
import oe.sstatesig
import subprocess
sharedfiles = []
shareddirs = []
bb.utils.mkdirhier(d.expand("${SSTATE_MANIFESTS}"))
sstateinst = d.expand("${WORKDIR}/sstate-install-%s/" % ss['task'])
manifest, d2 = oe.sstatesig.sstate_get_manifest_filename(ss['task'], d)
if os.access(manifest, os.R_OK):
bb.fatal("Package already staged (%s)?!" % manifest)
d.setVar("SSTATE_INST_POSTRM", manifest + ".postrm")
locks = []
for lock in ss['lockfiles-shared']:
locks.append(bb.utils.lockfile(lock, True))
for lock in ss['lockfiles']:
locks.append(bb.utils.lockfile(lock))
for state in ss['dirs']:
bb.debug(2, "Staging files from %s to %s" % (state[1], state[2]))
for walkroot, dirs, files in os.walk(state[1]):
for file in files:
srcpath = os.path.join(walkroot, file)
dstpath = srcpath.replace(state[1], state[2])
#bb.debug(2, "Staging %s to %s" % (srcpath, dstpath))
sharedfiles.append(dstpath)
for dir in dirs:
srcdir = os.path.join(walkroot, dir)
dstdir = srcdir.replace(state[1], state[2])
#bb.debug(2, "Staging %s to %s" % (srcdir, dstdir))
if os.path.islink(srcdir):
sharedfiles.append(dstdir)
continue
if not dstdir.endswith("/"):
dstdir = dstdir + "/"
shareddirs.append(dstdir)
# Check the file list for conflicts against files which already exist
whitelist = (d.getVar("SSTATE_DUPWHITELIST") or "").split()
match = []
for f in sharedfiles:
if os.path.exists(f) and not os.path.islink(f):
f = os.path.normpath(f)
realmatch = True
for w in whitelist:
w = os.path.normpath(w)
if f.startswith(w):
realmatch = False
break
if realmatch:
match.append(f)
sstate_search_cmd = "grep -rlF '%s' %s --exclude=master.list | sed -e 's:^.*/::'" % (f, d.expand("${SSTATE_MANIFESTS}"))
search_output = subprocess.Popen(sstate_search_cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
if search_output:
match.append(" (matched in %s)" % search_output.decode('utf-8').rstrip())
else:
match.append(" (not matched to any task)")
if match:
bb.error("The recipe %s is trying to install files into a shared " \
"area when those files already exist. Those files and their manifest " \
"location are:\n %s\nPlease verify which recipe should provide the " \
"above files.\n\nThe build has stopped, as continuing in this scenario WILL " \
"break things - if not now, possibly in the future (we've seen builds fail " \
"several months later). If the system knew how to recover from this " \
"automatically it would, however there are several different scenarios " \
"which can result in this and we don't know which one this is. It may be " \
"you have switched providers of something like virtual/kernel (e.g. from " \
"linux-yocto to linux-yocto-dev), in that case you need to execute the " \
"clean task for both recipes and it will resolve this error. It may be " \
"you changed DISTRO_FEATURES from systemd to udev or vice versa. Cleaning " \
"those recipes should again resolve this error, however switching " \
"DISTRO_FEATURES on an existing build directory is not supported - you " \
"should really clean out tmp and rebuild (reusing sstate should be safe). " \
"It could be the overlapping files detected are harmless in which case " \
"adding them to SSTATE_DUPWHITELIST may be the correct solution. It could " \
"also be your build is including two different conflicting versions of " \
"things (e.g. bluez 4 and bluez 5 and the correct solution for that would " \
"be to resolve the conflict. If in doubt, please ask on the mailing list, " \
"sharing the error and filelist above." % \
(d.getVar('PN'), "\n ".join(match)))
bb.fatal("If the above message is too much, the simpler version is you're advised to wipe out tmp and rebuild (reusing sstate is fine). That will likely fix things in most (but not all) cases.")
if ss['fixmedir'] and os.path.exists(ss['fixmedir'] + "/fixmepath.cmd"):
sharedfiles.append(ss['fixmedir'] + "/fixmepath.cmd")
sharedfiles.append(ss['fixmedir'] + "/fixmepath")
# Write out the manifest
f = open(manifest, "w")
for file in sharedfiles:
f.write(file + "\n")
# We want to ensure that directories appear at the end of the manifest
# so that when we test to see if they should be deleted any contents
# added by the task will have been removed first.
dirs = sorted(shareddirs, key=len)
# Must remove children first, which will have a longer path than the parent
for di in reversed(dirs):
f.write(di + "\n")
f.close()
# Append to the list of manifests for this PACKAGE_ARCH
i = d2.expand("${SSTATE_MANIFESTS}/index-${SSTATE_MANMACH}")
l = bb.utils.lockfile(i + ".lock")
filedata = d.getVar("STAMP") + " " + d2.getVar("SSTATE_MANFILEPREFIX") + " " + d.getVar("WORKDIR") + "\n"
manifests = []
if os.path.exists(i):
with open(i, "r") as f:
manifests = f.readlines()
if filedata not in manifests:
with open(i, "a+") as f:
f.write(filedata)
bb.utils.unlockfile(l)
# Run the actual file install
for state in ss['dirs']:
if os.path.exists(state[1]):
oe.path.copyhardlinktree(state[1], state[2])
for postinst in (d.getVar('SSTATEPOSTINSTFUNCS') or '').split():
# All hooks should run in the SSTATE_INSTDIR
bb.build.exec_func(postinst, d, (sstateinst,))
for lock in locks:
bb.utils.unlockfile(lock)
}
python sstate_installpkg () {
def sstate_installpkg(ss, d):
from oe.gpg_sign import get_signer
sstateinst = d.expand("${WORKDIR}/sstate-install-%s/" % ss['task'])
sstatefetch = d.getVar('SSTATE_PKGNAME') + '_' + ss['task'] + ".tgz"
sstatepkg = d.getVar('SSTATE_PKG') + '_' + ss['task'] + ".tgz"
if not os.path.exists(sstatepkg):
pstaging_fetch(sstatefetch, sstatepkg, d)
if not os.path.isfile(sstatepkg):
bb.note("Staging package %s does not exist" % sstatepkg)
return False
sstate_clean(ss, d)
d.setVar('SSTATE_INSTDIR', sstateinst)
d.setVar('SSTATE_PKG', sstatepkg)
if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False):
signer = get_signer(d, 'local')
if not signer.verify(sstatepkg + '.sig'):
bb.warn("Cannot verify signature on sstate package %s" % sstatepkg)
# Empty sstateinst directory, ensure its clean
if os.path.exists(sstateinst):
oe.path.remove(sstateinst)
bb.utils.mkdirhier(sstateinst)
sstateinst = d.getVar("SSTATE_INSTDIR")
d.setVar('SSTATE_FIXMEDIR', ss['fixmedir'])
for f in (d.getVar('SSTATEPREINSTFUNCS') or '').split() + ['sstate_unpack_package']:
# All hooks should run in the SSTATE_INSTDIR
bb.build.exec_func(f, d, (sstateinst,))
return sstate_installpkgdir(ss, d)
}
python sstate_installpkgdir () {
def sstate_installpkgdir(ss, d):
import oe.path
import subprocess
sstateinst = d.getVar("SSTATE_INSTDIR")
d.setVar('SSTATE_FIXMEDIR', ss['fixmedir'])
for f in (d.getVar('SSTATEPOSTUNPACKFUNCS') or '').split():
# All hooks should run in the SSTATE_INSTDIR
bb.build.exec_func(f, d, (sstateinst,))
def prepdir(dir):
# remove dir if it exists, ensure any parent directories do exist
if os.path.exists(dir):
oe.path.remove(dir)
bb.utils.mkdirhier(dir)
oe.path.remove(dir)
for state in ss['dirs']:
if d.getVar('SSTATE_SKIP_CREATION') == '1':
continue
prepdir(state[1])
os.rename(sstateinst + state[0], state[1])
sstate_install(ss, d)
for plain in ss['plaindirs']:
workdir = d.getVar('WORKDIR')
src = sstateinst + "/" + plain.replace(workdir, '')
dest = plain
bb.utils.mkdirhier(src)
prepdir(dest)
os.rename(src, dest)
return True
}
python sstate_package () {
def sstate_package(ss, d):
import oe.path
tmpdir = d.getVar('TMPDIR')
sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task'])
sstatepkg = d.getVar('SSTATE_PKG') + '_'+ ss['task'] + ".tgz"
bb.utils.remove(sstatebuild, recurse=True)
bb.utils.mkdirhier(sstatebuild)
bb.utils.mkdirhier(os.path.dirname(sstatepkg))
for state in ss['dirs']:
if not os.path.exists(state[1]):
continue
if d.getVar('SSTATE_SKIP_CREATION') == '1':
continue
srcbase = state[0].rstrip("/").rsplit('/', 1)[0]
# Find and error for absolute symlinks. We could attempt to relocate but its not
# clear where the symlink is relative to in this context. We could add that markup
# to sstate tasks but there aren't many of these so better just avoid them entirely.
for walkroot, dirs, files in os.walk(state[1]):
for file in files + dirs:
srcpath = os.path.join(walkroot, file)
if not os.path.islink(srcpath):
continue
link = os.readlink(srcpath)
if not os.path.isabs(link):
continue
if not link.startswith(tmpdir):
continue
bb.error("sstate found an absolute path symlink %s pointing at %s. Please replace this with a relative link." % (srcpath, link))
bb.debug(2, "Preparing tree %s for packaging at %s" % (state[1], sstatebuild + state[0]))
os.rename(state[1], sstatebuild + state[0])
workdir = d.getVar('WORKDIR')
for plain in ss['plaindirs']:
pdir = plain.replace(workdir, sstatebuild)
bb.utils.mkdirhier(plain)
bb.utils.mkdirhier(pdir)
os.rename(plain, pdir)
d.setVar('SSTATE_BUILDDIR', sstatebuild)
d.setVar('SSTATE_PKG', sstatepkg)
for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \
['sstate_create_package', 'sstate_sign_package'] + \
(d.getVar('SSTATEPOSTCREATEFUNCS') or '').split():
# All hooks should run in SSTATE_BUILDDIR.
bb.build.exec_func(f, d, (sstatebuild,))
bb.siggen.dump_this_task(sstatepkg + ".siginfo", d)
d.setVar('SSTATE_INSTDIR', sstatebuild)
return
}
python sstate_setscene () {
def sstate_setscene(d):
shared_state = sstate_state_fromvars(d)
accelerate = sstate_installpkg(shared_state, d)
if not accelerate:
bb.fatal("No suitable staging package found")
}
python sstate_sign_package () {
from oe.gpg_sign import get_signer
if d.getVar('SSTATE_SIG_KEY'):
signer = get_signer(d, 'local')
sstate_pkg = d.getVar('SSTATE_PKG')
if os.path.exists(sstate_pkg + '.sig'):
os.unlink(sstate_pkg + '.sig')
signer.detach_sign(sstate_pkg, d.getVar('SSTATE_SIG_KEY', False), None,
d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False)
}
python sstate_state_fromvars () {
def sstate_state_fromvars(d, task = None):
if task is None:
task = d.getVar('BB_CURRENTTASK')
if not task:
bb.fatal("sstate code running without task context?!")
task = task.replace("_setscene", "")
if task.startswith("do_"):
task = task[3:]
inputs = (d.getVarFlag("do_" + task, 'sstate-inputdirs') or "").split()
outputs = (d.getVarFlag("do_" + task, 'sstate-outputdirs') or "").split()
plaindirs = (d.getVarFlag("do_" + task, 'sstate-plaindirs') or "").split()
lockfiles = (d.getVarFlag("do_" + task, 'sstate-lockfile') or "").split()
lockfilesshared = (d.getVarFlag("do_" + task, 'sstate-lockfile-shared') or "").split()
interceptfuncs = (d.getVarFlag("do_" + task, 'sstate-interceptfuncs') or "").split()
fixmedir = d.getVarFlag("do_" + task, 'sstate-fixmedir') or ""
if not task or len(inputs) != len(outputs):
bb.fatal("sstate variables not setup correctly?!")
if task == "populate_lic":
d.setVar("SSTATE_PKGSPEC", "${SSTATE_SWSPEC}")
d.setVar("SSTATE_EXTRAPATH", "")
d.setVar('SSTATE_EXTRAPATHWILDCARD', "")
ss = sstate_init(task, d)
for i in range(len(inputs)):
sstate_add(ss, inputs[i], outputs[i], d)
ss['lockfiles'] = lockfiles
ss['lockfiles-shared'] = lockfilesshared
ss['plaindirs'] = plaindirs
ss['interceptfuncs'] = interceptfuncs
ss['fixmedir'] = fixmedir
return ss
}
python sstate_task_postfunc () {
shared_state = sstate_state_fromvars(d)
for intercept in shared_state['interceptfuncs']:
bb.build.exec_func(intercept, d, (d.getVar("WORKDIR"),))
omask = os.umask(0o002)
if omask != 0o002:
bb.note("Using umask 0o002 (not %0o) for sstate packaging" % omask)
sstate_package(shared_state, d)
os.umask(omask)
sstateinst = d.getVar("SSTATE_INSTDIR")
d.setVar('SSTATE_FIXMEDIR', shared_state['fixmedir'])
sstate_installpkgdir(shared_state, d)
bb.utils.remove(d.getVar("SSTATE_BUILDDIR"), recurse=True)
}
python sstate_task_prefunc () {
shared_state = sstate_state_fromvars(d)
sstate_clean(shared_state, d)
}
python staging_copydir () {
def staging_copydir(c, target, dest, seendirs):
if dest not in seendirs:
bb.utils.mkdirhier(dest)
seendirs.add(dest)
}
python staging_copyfile () {
def staging_copyfile(c, target, dest, postinsts, seendirs):
import errno
destdir = os.path.dirname(dest)
if destdir not in seendirs:
bb.utils.mkdirhier(destdir)
seendirs.add(destdir)
if "/usr/bin/postinst-" in c:
postinsts.append(dest)
if os.path.islink(c):
linkto = os.readlink(c)
if os.path.lexists(dest):
if not os.path.islink(dest):
raise OSError(errno.EEXIST, "Link %s already exists as a file" % dest, dest)
if os.readlink(dest) == linkto:
return dest
raise OSError(errno.EEXIST, "Link %s already exists to a different location? (%s vs %s)" % (dest, os.readlink(dest), linkto), dest)
os.symlink(linkto, dest)
#bb.warn(c)
else:
try:
os.link(c, dest)
except OSError as err:
if err.errno == errno.EXDEV:
bb.utils.copyfile(c, dest)
else:
raise
return dest
}
python staging_populate_sysroot_dir () {
def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
import glob
import subprocess
fixme = []
postinsts = []
seendirs = set()
stagingdir = d.getVar("STAGING_DIR")
if native:
pkgarchs = ['${BUILD_ARCH}', '${BUILD_ARCH}_*']
targetdir = nativesysroot
else:
pkgarchs = ['${MACHINE_ARCH}']
pkgarchs = pkgarchs + list(reversed(d.getVar("PACKAGE_EXTRA_ARCHS").split()))
pkgarchs.append('allarch')
targetdir = targetsysroot
bb.utils.mkdirhier(targetdir)
for pkgarch in pkgarchs:
for manifest in glob.glob(d.expand("${SSTATE_MANIFESTS}/manifest-%s-*.populate_sysroot" % pkgarch)):
if manifest.endswith("-initial.populate_sysroot"):
# skip glibc-initial and libgcc-initial due to file overlap
continue
tmanifest = targetdir + "/" + os.path.basename(manifest)
if os.path.exists(tmanifest):
continue
try:
os.link(manifest, tmanifest)
except OSError as err:
if err.errno == errno.EXDEV:
bb.utils.copyfile(manifest, tmanifest)
else:
raise
with open(manifest, "r") as f:
for l in f:
l = l.strip()
if l.endswith("/fixmepath"):
fixme.append(l)
continue
if l.endswith("/fixmepath.cmd"):
continue
dest = l.replace(stagingdir, "")
dest = targetdir + "/" + "/".join(dest.split("/")[3:])
if l.endswith("/"):
staging_copydir(l, targetdir, dest, seendirs)
continue
try:
staging_copyfile(l, targetdir, dest, postinsts, seendirs)
except FileExistsError:
continue
staging_processfixme(fixme, targetdir, targetsysroot, nativesysroot, d)
for p in postinsts:
subprocess.check_output(p, shell=True)
}
python staging_processfixme () {
def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d):
import subprocess
if not fixme:
return
cmd = "sed -e 's:^[^/]*/:%s/:g' %s | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (target, " ".join(fixme), recipesysroot, recipesysrootnative)
for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR']:
fixme_path = d.getVar(fixmevar)
cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path)
bb.debug(2, cmd)
subprocess.check_output(cmd, shell=True)
}
python staging_taskhandler () {
bbtasks = e.tasklist
for task in bbtasks:
deps = d.getVarFlag(task, "depends")
if deps and "populate_sysroot" in deps:
d.appendVarFlag(task, "prefuncs", " extend_recipe_sysroot")
}
python sysroot_strip () {
import stat, errno
dvar = d.getVar('SYSROOT_DESTDIR')
pn = d.getVar('PN')
os.chdir(dvar)
# Return type (bits):
# 0 - not elf
# 1 - ELF
# 2 - stripped
# 4 - executable
# 8 - shared library
# 16 - kernel module
def isELF(path):
type = 0
ret, result = oe.utils.getstatusoutput("file \"%s\"" % path.replace("\"", "\\\""))
if ret:
bb.error("split_and_strip_files: 'file %s' failed" % path)
return type
# Not stripped
if "ELF" in result:
type |= 1
if "not stripped" not in result:
type |= 2
if "executable" in result:
type |= 4
if "shared" in result:
type |= 8
return type
elffiles = {}
inodes = {}
libdir = os.path.abspath(dvar + os.sep + d.getVar("libdir"))
baselibdir = os.path.abspath(dvar + os.sep + d.getVar("base_libdir"))
if (d.getVar('INHIBIT_SYSROOT_STRIP') != '1'):
#
# First lets figure out all of the files we may have to process
#
for root, dirs, files in os.walk(dvar):
for f in files:
file = os.path.join(root, f)
try:
ltarget = oe.path.realpath(file, dvar, False)
s = os.lstat(ltarget)
except OSError as e:
(err, strerror) = e.args
if err != errno.ENOENT:
raise
# Skip broken symlinks
continue
if not s:
continue
# Check its an excutable
if (s[stat.ST_MODE] & stat.S_IXUSR) or (s[stat.ST_MODE] & stat.S_IXGRP) or (s[stat.ST_MODE] & stat.S_IXOTH) \
or ((file.startswith(libdir) or file.startswith(baselibdir)) and ".so" in f):
# If it's a symlink, and points to an ELF file, we capture the readlink target
if os.path.islink(file):
continue
# It's a file (or hardlink), not a link
# ...but is it ELF, and is it already stripped?
elf_file = isELF(file)
if elf_file & 1:
if elf_file & 2:
if 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn) or "").split():
bb.note("Skipping file %s from %s for already-stripped QA test" % (file[len(dvar):], pn))
else:
bb.warn("File '%s' from %s was already stripped, this will prevent future debugging!" % (file[len(dvar):], pn))
continue
if s.st_ino in inodes:
os.unlink(file)
os.link(inodes[s.st_ino], file)
else:
inodes[s.st_ino] = file
# break hardlink
bb.utils.copyfile(file, file)
elffiles[file] = elf_file
#
# Now strip them (in parallel)
#
strip = d.getVar("STRIP")
sfiles = []
for file in elffiles:
elf_file = int(elffiles[file])
#bb.note("Strip %s" % file)
sfiles.append((file, elf_file, strip))
oe.utils.multiprocess_exec(sfiles, oe.package.runstrip)
}
python unsafe_references_skippable () {
def unsafe_references_skippable(path, name, d):
if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d):
return True
if "-dbg" in name or "-dev" in name:
return True
# Other package names to skip:
if name.startswith("kernel-module-"):
return True
# Skip symlinks
if os.path.islink(path):
return True
# Skip unusual rootfs layouts which make these tests irrelevant
exec_prefix = d.getVar('exec_prefix')
if exec_prefix == "":
return True
pkgdest = d.getVar('PKGDEST')
pkgdest = pkgdest + "/" + name
pkgdest = os.path.abspath(pkgdest)
base_bindir = pkgdest + d.getVar('base_bindir')
base_sbindir = pkgdest + d.getVar('base_sbindir')
base_libdir = pkgdest + d.getVar('base_libdir')
bindir = pkgdest + d.getVar('bindir')
sbindir = pkgdest + d.getVar('sbindir')
libdir = pkgdest + d.getVar('libdir')
if base_bindir == bindir and base_sbindir == sbindir and base_libdir == libdir:
return True
# Skip files not in base_[bindir|sbindir|libdir]
path = os.path.abspath(path)
if not (base_bindir in path or base_sbindir in path or base_libdir in path):
return True
return False
}
python wks_search () {
def wks_search(files, search_path):
for f in files:
if os.path.isabs(f):
if os.path.exists(f):
return f
else:
searched = bb.utils.which(search_path, f)
if searched:
return searched
}
python write_deploy_manifest () {
license_deployed_manifest(d)
}
python write_host_sdk_manifest () {
from oe.sdk import sdk_list_installed_packages
from oe.utils import format_pkg_list
sdkmanifestdir = os.path.dirname(d.getVar("SDK_HOST_MANIFEST"))
pkgs = sdk_list_installed_packages(d, False)
if not os.path.exists(sdkmanifestdir):
bb.utils.mkdirhier(sdkmanifestdir)
with open(d.getVar('SDK_HOST_MANIFEST'), 'w') as output:
output.write(format_pkg_list(pkgs, 'ver'))
}
python write_image_manifest () {
from oe.rootfs import image_list_installed_packages
from oe.utils import format_pkg_list
deploy_dir = d.getVar('IMGDEPLOYDIR')
link_name = d.getVar('IMAGE_LINK_NAME')
manifest_name = d.getVar('IMAGE_MANIFEST')
if not manifest_name:
return
pkgs = image_list_installed_packages(d)
with open(manifest_name, 'w+') as image_manifest:
image_manifest.write(format_pkg_list(pkgs, "ver"))
image_manifest.write("\n")
if os.path.exists(manifest_name):
manifest_link = deploy_dir + "/" + link_name + ".manifest"
if os.path.lexists(manifest_link):
os.remove(manifest_link)
os.symlink(os.path.basename(manifest_name), manifest_link)
}
python write_image_test_data () {
from oe.data import export2json
testdata = "%s/%s.testdata.json" % (d.getVar('DEPLOY_DIR_IMAGE'), d.getVar('IMAGE_NAME'))
testdata_link = "%s/%s.testdata.json" % (d.getVar('DEPLOY_DIR_IMAGE'), d.getVar('IMAGE_LINK_NAME'))
bb.utils.mkdirhier(os.path.dirname(testdata))
searchString = "%s/"%(d.getVar("TOPDIR")).replace("//","/")
export2json(d, testdata,searchString=searchString,replaceString="")
if testdata_link != testdata:
if os.path.lexists(testdata_link):
os.remove(testdata_link)
os.symlink(os.path.basename(testdata), testdata_link)
}
python write_license_files () {
def write_license_files(d, license_manifest, pkg_dic):
import re
bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split()
bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
bad_licenses = expand_wildcard_licenses(d, bad_licenses)
with open(license_manifest, "w") as license_file:
for pkg in sorted(pkg_dic):
if bad_licenses:
try:
(pkg_dic[pkg]["LICENSE"], pkg_dic[pkg]["LICENSES"]) = \
oe.license.manifest_licenses(pkg_dic[pkg]["LICENSE"],
bad_licenses, canonical_license, d)
except oe.license.LicenseError as exc:
bb.fatal('%s: %s' % (d.getVar('P'), exc))
else:
pkg_dic[pkg]["LICENSES"] = re.sub('[|&()*]', ' ', pkg_dic[pkg]["LICENSE"])
pkg_dic[pkg]["LICENSES"] = re.sub(' *', ' ', pkg_dic[pkg]["LICENSES"])
pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split()
if not "IMAGE_MANIFEST" in pkg_dic[pkg]:
# Rootfs manifest
license_file.write("PACKAGE NAME: %s\n" % pkg)
license_file.write("PACKAGE VERSION: %s\n" % pkg_dic[pkg]["PV"])
license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"])
license_file.write("LICENSE: %s\n\n" % pkg_dic[pkg]["LICENSE"])
# If the package doesn't contain any file, that is, its size is 0, the license
# isn't relevant as far as the final image is concerned. So doing license check
# doesn't make much sense, skip it.
if pkg_dic[pkg]["PKGSIZE_%s" % pkg] == "0":
continue
else:
# Image manifest
license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"])
license_file.write("VERSION: %s\n" % pkg_dic[pkg]["PV"])
license_file.write("LICENSE: %s\n" % pkg_dic[pkg]["LICENSE"])
license_file.write("FILES: %s\n\n" % pkg_dic[pkg]["FILES"])
for lic in pkg_dic[pkg]["LICENSES"]:
lic_file = os.path.join(d.getVar('LICENSE_DIRECTORY'),
pkg_dic[pkg]["PN"], "generic_%s" %
re.sub('\+', '', lic))
# add explicity avoid of CLOSED license because isn't generic
if lic == "CLOSED":
continue
if not os.path.exists(lic_file):
bb.warn("The license listed %s was not in the "\
"licenses collected for recipe %s"
% (lic, pkg_dic[pkg]["PN"]))
# Two options here:
# - Just copy the manifest
# - Copy the manifest and the license directories
# With both options set we see a .5 M increase in core-image-minimal
copy_lic_manifest = d.getVar('COPY_LIC_MANIFEST')
copy_lic_dirs = d.getVar('COPY_LIC_DIRS')
if copy_lic_manifest == "1":
rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS'),
'usr', 'share', 'common-licenses')
bb.utils.mkdirhier(rootfs_license_dir)
rootfs_license_manifest = os.path.join(rootfs_license_dir,
os.path.split(license_manifest)[1])
if not os.path.exists(rootfs_license_manifest):
os.link(license_manifest, rootfs_license_manifest)
if copy_lic_dirs == "1":
for pkg in sorted(pkg_dic):
pkg_rootfs_license_dir = os.path.join(rootfs_license_dir, pkg)
bb.utils.mkdirhier(pkg_rootfs_license_dir)
pkg_license_dir = os.path.join(d.getVar('LICENSE_DIRECTORY'),
pkg_dic[pkg]["PN"])
pkg_manifest_licenses = [canonical_license(d, lic) \
for lic in pkg_dic[pkg]["LICENSES"]]
licenses = os.listdir(pkg_license_dir)
for lic in licenses:
rootfs_license = os.path.join(rootfs_license_dir, lic)
pkg_license = os.path.join(pkg_license_dir, lic)
pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic)
if re.match("^generic_.*$", lic):
generic_lic = canonical_license(d,
re.search("^generic_(.*)$", lic).group(1))
# Do not copy generic license into package if isn't
# declared into LICENSES of the package.
if not re.sub('\+$', '', generic_lic) in \
[re.sub('\+', '', lic) for lic in \
pkg_manifest_licenses]:
continue
if oe.license.license_ok(generic_lic,
bad_licenses) == False:
continue
if not os.path.exists(rootfs_license):
os.link(pkg_license, rootfs_license)
if not os.path.exists(pkg_rootfs_license):
os.symlink(os.path.join('..', lic), pkg_rootfs_license)
else:
if (oe.license.license_ok(canonical_license(d,
lic), bad_licenses) == False or
os.path.exists(pkg_rootfs_license)):
continue
os.link(pkg_license, pkg_rootfs_license)
}
python write_package_manifest () {
# Get list of installed packages
license_image_dir = d.expand('${LICENSE_DIRECTORY}/${IMAGE_NAME}')
bb.utils.mkdirhier(license_image_dir)
from oe.rootfs import image_list_installed_packages
from oe.utils import format_pkg_list
pkgs = image_list_installed_packages(d)
output = format_pkg_list(pkgs)
open(os.path.join(license_image_dir, 'package.manifest'),
'w+').write(output)
}
python write_sdk_test_data () {
from oe.data import export2json
testdata = "%s/%s.testdata.json" % (d.getVar('SDKDEPLOYDIR'), d.getVar('TOOLCHAIN_OUTPUTNAME'))
bb.utils.mkdirhier(os.path.dirname(testdata))
export2json(d, testdata)
}
python write_target_sdk_manifest () {
from oe.sdk import sdk_list_installed_packages
from oe.utils import format_pkg_list
sdkmanifestdir = os.path.dirname(d.getVar("SDK_TARGET_MANIFEST"))
pkgs = sdk_list_installed_packages(d, True)
if not os.path.exists(sdkmanifestdir):
bb.utils.mkdirhier(sdkmanifestdir)
with open(d.getVar('SDK_TARGET_MANIFEST'), 'w') as output:
output.write(format_pkg_list(pkgs, 'ver'))
}
-------------- next part --------------
DEBUG: Executing python function set_image_size
DEBUG: Python function set_image_size finished
DEBUG: Executing shell function do_image_cpio
48624 blocks
Image Name: rescue-rootfs-rpi2-2017091507384
Created: Fri Sep 15 07:39:06 2017
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 11071477 Bytes = 10811.99 kB = 10.56 MB
Load Address: 00000000
Entry Point: 00000000
Image Name: rescue-rootfs-rpi2-2017091507384
Created: Fri Sep 15 07:39:06 2017
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 11071477 Bytes = 10811.99 kB = 10.56 MB
Load Address: 00000000
Entry Point: 00000000
DEBUG: Shell function do_image_cpio finished
DEBUG: Executing python function create_symlinks
NOTE: Creating symlink: /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2.cpio.gz -> rescue-rootfs-rpi2-20170915073841.rootfs.cpio.gz
NOTE: Creating symlink: /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2.cpio.gz.u-boot -> rescue-rootfs-rpi2-20170915073841.rootfs.cpio.gz.u-boot
DEBUG: Python function create_symlinks finished
-------------- next part --------------
#!/bin/sh
# Emit a useful diagnostic if something fails:
bb_exit_handler() {
ret=$?
case $ret in
0) ;;
*) case $BASH_VERSION in
"") echo "WARNING: exit code $ret from a shell command.";;
*) echo "WARNING: ${BASH_SOURCE[0]}:${BASH_LINENO[0]} exit $ret from '$BASH_COMMAND'";;
esac
exit $ret
esac
}
trap 'bb_exit_handler' 0
set -e
export AR="arm-oe-linux-gnueabi-ar"
export ARCH="arm"
export AS="arm-oe-linux-gnueabi-as "
export BUILD_AR="ar"
export BUILD_AS="as "
export BUILD_CC="gcc "
export BUILD_CCLD="gcc "
export BUILD_CFLAGS="-isystem/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/include -O2 -pipe"
export BUILD_CPP="gcc -E"
export BUILD_CPPFLAGS="-isystem/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/include"
export BUILD_CXX="g++ "
export BUILD_CXXFLAGS="-isystem/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/include -O2 -pipe -D_GLIBCXX_USE_CXX11_ABI=0"
export BUILD_FC="gfortran "
export BUILD_LD="ld "
export BUILD_LDFLAGS="-L/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib -L/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/lib -Wl,-O1"
export BUILD_NM="nm"
export BUILD_RANLIB="ranlib"
export BUILD_STRIP="strip"
export CC="arm-oe-linux-gnueabi-gcc -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
export CCACHE_DIR="/home/mnhu/.ccache"
export CCACHE_DISABLE="1"
export CCLD="arm-oe-linux-gnueabi-gcc -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
export CPP="arm-oe-linux-gnueabi-gcc -E --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7"
export CPPFLAGS=""
export CXX="arm-oe-linux-gnueabi-g++ -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= -fvisibility-inlines-hidden"
unset DISTRO
export FC="arm-oe-linux-gnueabi-gfortran -march=armv7ve -marm -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
export HOME="/home/mnhu"
export LC_ALL="en_US.UTF-8"
export LD="arm-oe-linux-gnueabi-ld --sysroot=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot "
export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
export LOGNAME="mnhu"
unset MACHINE
export MAKE="make"
export NM="arm-oe-linux-gnueabi-nm"
export OBJCOPY="arm-oe-linux-gnueabi-objcopy"
export OBJDUMP="arm-oe-linux-gnueabi-objdump"
export PACKAGE_INSTALL=" packagegroup-core-boot packagegroup-core-ssh-openssh e2fsprogs e2fsprogs-tune2fs dosfstools mtd-utils mtd-utils-jffs2 mtd-utils-misc u-boot-fw-utils busybox-syslog busybox-watchdog busybox-ifplugd dhcp-client openssh-sftp-server openssh-sftp rauc dbus system-init rescue-init run-postinsts base-passwd shadow"
export PATH="/home/mnhu/projects/pil/yocto/meta-poky/scripts:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/sbin:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/usr/bin:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/sbin:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native/bin:/home/mnhu/projects/pil/yocto/meta-poky/bitbake/bin:/home/mnhu/projects/pil/yocto/tmp-glibc/hosttools"
export PKG_CONFIG_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/pkgconfig"
export PKG_CONFIG_DISABLE_UNINSTALLED="yes"
export PKG_CONFIG_LIBDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/pkgconfig"
export PKG_CONFIG_PATH="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/lib/pkgconfig:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot/usr/share/pkgconfig"
export PKG_CONFIG_SYSROOT_DIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot"
export PKG_CONFIG_SYSTEM_INCLUDE_PATH="/usr/include"
export PKG_CONFIG_SYSTEM_LIBRARY_PATH="/lib:/usr/lib"
export PSEUDO_DISABLED="0"
export PSEUDO_LOCALSTATEDIR="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/pseudo/"
export PSEUDO_NOSYMLINKEXP="1"
export PSEUDO_PASSWD="/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs:/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native"
export PSEUDO_PREFIX="/home/mnhu/projects/pil/yocto/tmp-glibc/sysroots-components/x86_64/pseudo-native/usr"
export RANLIB="arm-oe-linux-gnueabi-ranlib"
export READELF="arm-oe-linux-gnueabi-readelf"
export ROOTFS_SIZE="65536"
unset SHELL
export STRINGS="arm-oe-linux-gnueabi-strings"
export STRIP="arm-oe-linux-gnueabi-strip"
unset TARGET_ARCH
export TARGET_CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
export TARGET_CPPFLAGS=""
export TARGET_CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0=/usr/src/debug/rescue-rootfs/1.0-r0 -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/recipe-sysroot= "
export TARGET_LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
export TERM="screen"
export UBOOT_ARCH="arm"
export base_bindir="/bin"
export base_libdir="/lib"
export base_prefix=""
export base_sbindir="/sbin"
export bindir="/usr/bin"
export datadir="/usr/share"
export docdir="/usr/share/doc"
export exec_prefix="/usr"
export includedir="/usr/include"
export infodir="/usr/share/info"
export libdir="/usr/lib"
export libexecdir="/usr/libexec"
export localstatedir="/var"
export mandir="/usr/share/man"
export nonarch_base_libdir="/lib"
export nonarch_libdir="/usr/lib"
export oldincludedir="/usr/include"
export prefix="/usr"
export sbindir="/usr/sbin"
export servicedir="/srv"
export sharedstatedir="/com"
export sysconfdir="/etc"
export systemd_system_unitdir="/lib/systemd/system"
export systemd_unitdir="/lib/systemd"
export systemd_user_unitdir="/usr/lib/systemd/user"
do_image_cpio() {
(cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs && find . | cpio -o -H newc >/home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073841.rootfs.cpio)
# We only need the /init symlink if we're building the real
# image. The -dbg image doesn't need it! By being clever
# about this we also avoid 'touch' below failing, as it
# might be trying to touch /sbin/init on the host since both
# the normal and the -dbg image share the same WORKDIR
if [ "${IMAGE_BUILDING_DEBUGFS}" != "true" ]; then
if [ ! -L /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/init ] && [ ! -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/init ]; then
if [ -L /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init ] || [ -e /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/rootfs/sbin/init ]; then
ln -sf /sbin/init /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append/init
else
touch /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append/init
fi
(cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/cpio_append && echo ./init | cpio -oA -H newc -F /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/rescue-rootfs-rpi2-20170915073841.rootfs.cpio)
fi
fi
cd /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete
gzip -f -9 -c rescue-rootfs-rpi2-20170915073841.rootfs.cpio > rescue-rootfs-rpi2-20170915073841.rootfs.cpio.gz
gzip -f -9 -c rescue-rootfs-rpi2-20170915073841.rootfs.cpio > rescue-rootfs-rpi2-20170915073841.rootfs.cpio.gz; oe_mkimage rescue-rootfs-rpi2-20170915073841.rootfs.cpio.gz gzip
oe_mkimage rescue-rootfs-rpi2-20170915073841.rootfs.cpio.gz none
rm rescue-rootfs-rpi2-20170915073841.rootfs.cpio
}
oe_mkimage() {
mkimage -A arm -O linux -T ramdisk -C $2 -n rescue-rootfs-rpi2-20170915073841 \
-d /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/$1 /home/mnhu/projects/pil/yocto/tmp-glibc/work/rpi2-oe-linux-gnueabi/rescue-rootfs/1.0-r0/deploy-rescue-rootfs-image-complete/$1.u-boot
}
do_image_cpio
# cleanup
ret=$?
trap '' 0
exit $ret
-------------- next part --------------
A non-text attachment was scrubbed...
Name: console-latest.log
Type: text/x-log
Size: 1736754 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170915/252db08e/attachment-0002.bin>
-------------- next part --------------
SUMMARY = "PIL rescue-rootfs"
LICENSE = "MIT"
inherit deploy
include rootfs.inc
IMAGE_LINGUAS = ""
IMAGE_FSTYPES = "tar cpio.gz cpio.gz.u-boot"
IMAGE_INSTALL += " \
rescue-init \
"
-------------- next part --------------
inherit extrausers image
PIL_ROOT_PASSWD ?= "root"
EXTRA_USERS_PARAMS += "usermod -P ${PIL_ROOT_PASSWD} root;"
IMAGE_INSTALL_HWCLOCK = "${@bb.utils.contains('MACHINE_FEATURES', 'rtc', 'busybox-hwclock', '', d)}"
IMAGE_INSTALL = " \
packagegroup-core-boot \
packagegroup-core-ssh-openssh \
e2fsprogs \
e2fsprogs-tune2fs \
dosfstools \
mtd-utils mtd-utils-jffs2 mtd-utils-misc \
u-boot-fw-utils \
${IMAGE_INSTALL_HWCLOCK} \
busybox-syslog \
busybox-watchdog \
busybox-ifplugd \
dhcp-client \
openssh-sftp-server \
openssh-sftp \
rauc \
dbus \
system-init \
"
# Exclude recommended packages
BAD_RECOMMENDATIONS = "busybox-udhcpc udev-cache kernel-vmlinux"
More information about the Openembedded-core
mailing list