Files
poky/meta/conf/layer.conf
Richard Purdie dc4db0af9a layer.conf: Add libarchive-native e2fsprogs-native exclusion from sysroot
Currently, libarchive-native pulls e2fsprogs and all it's dependencies into
the sysroot. Since only headers are needed at buildtime and there is no
runtime dependency, we can avoid this and shrink the native sysroots.

(From OE-Core rev: 66a6b2080e4a65632c5dc02c8ef0cbe01d5b5082)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-05 10:45:13 +00:00

124 lines
3.6 KiB
Plaintext

# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
BBFILE_COLLECTIONS += "core"
BBFILE_PATTERN_core = "^${LAYERDIR}/"
BBFILE_PRIORITY_core = "5"
LAYERSERIES_CORENAMES = "kirkstone"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_core = "14"
LAYERSERIES_COMPAT_core = "kirkstone"
BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core"
# Set a variable to get to the top of the metadata location
COREBASE = '${@os.path.normpath("${LAYERDIR}/../")}'
# opkg-utils is for update-alternatives :(
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
sysvinit-inittab \
busybox-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 \
ca-certificates \
shared-mime-info \
desktop-file-utils \
"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
*->patch-native \
*->quilt-native \
*->subversion-native \
*->git-native \
*->icecc-create-env-native \
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->eudev \
initramfs-framework->systemd \
initramfs-module-install-efi->dosfstools \
initramfs-module-install-efi->e2fsprogs \
initramfs-module-install-efi->parted \
initramfs-module-install-efi->util-linux \
initramfs-module-install->e2fsprogs \
initramfs-module-install->grub \
initramfs-module-install->parted \
initramfs-module-install->util-linux \
grub-efi->grub-bootconf \
liberation-fonts->fontconfig \
cantarell-fonts->fontconfig \
ttf-bitstream-vera->fontconfig \
gnome-icon-theme->librsvg \
font-alias->font-util \
systemd-boot->systemd-bootconf \
systemd->systemd-conf \
weston->weston-init \
weston-init->weston \
weston-init->kbd \
connman->xl2tpd \
lttng-tools->lttng-modules \
adwaita-icon-theme->gdk-pixbuf \
adwaita-icon-theme->gtk+3 \
"
# Avoid adding bison-native to the sysroot without a specific
# dependency in the recipe. This means indirect dependencies
# (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the
# dependency incidentally. This improves determinism and avoids build
# failures when people switch to external toolchains.
# libarchive only needs e2fsprogs headers at buildtime
SSTATE_EXCLUDEDEPS_SYSROOT += "\
.*->autoconf-native \
.*->automake-native \
.*->bison-native \
.*->meson-native \
.*->ninja-native \
.*->patch-native \
.*->pkgconfig-native \
.*->quilt-native \
^(?!gtk-doc-native).*->xmlto-native \
.*->gperf-native \
.*->gtk-doc-native \
.*->texinfo-native \
libarchive-native->e2fsprogs-native \
"
# Nothing needs to depend on libc-initial
# base-passwd/shadow-sysroot don't need their dependencies
SSTATE_EXCLUDEDEPS_SYSROOT += "\
.*->.*-initial.* \
.*(base-passwd|shadow-sysroot)->.* \
"
# Avoid adding autoconf-archive-native to sysroot without a specific
# dependency in the recipe.
SSTATE_EXCLUDEDEPS_SYSROOT += ".*->autoconf-archive-native"
# We need to keep bitbake tools in PATH
# Avoid empty path entries
BITBAKEPATH := "${@os.path.dirname(bb.utils.which(d.getVar('PATH'),'bitbake'))}"
PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR}"