poky/meta/conf/layer.conf
Zoltán Böszörményi 22905572d7 meta/conf/layer.conf: Omit most build deps of rpm-sequoia-native
Omit most of the build dependencies of rpm-sequoia-native as it
needs only OpenSSL, and implicitly, libgcc and the C runtime
to run.

The list of build dependencies were determined by

  $ bitbake -e rpm-sequoia-native 2>&1 | grep ^DEPENDS=
  DEPENDS="pkgconfig-native cargo-native openssl-native python3-native rust-native rust-native"

Omitting these (except openssl-native) can save significant
amount of disk space and it also speeds up packaging into
signed rpms a little.

Omitting rust-native (and implicitly, llvm-native) also avoids
conflicts with different LLVM/CLANG versions, like those found
in meta-clang-revival.

(From OE-Core rev: 805227759dbd8303124f25c46f928848cf045cc6)

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-11-06 15:09:32 +00:00

145 lines
4.4 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 = "whinlatter"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_core = "15"
LAYERSERIES_COMPAT_core = "whinlatter"
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 \
os-release \
"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
*->patch-native \
*->quilt-native \
*->subversion-native \
*->git-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 \
initramfs-module-setup-live->udev-extraconf \
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 \
sato-icon-theme->gdk-pixbuf \
sato-icon-theme->gtk+3 \
adwaita-icon-theme->gdk-pixbuf \
adwaita-icon-theme->gtk+3 \
run-postinsts->util-linux \
cantarell-fonts->qemuwrapper-cross \
liberation-fonts->qemuwrapper-cross \
ttf-bitstream-vera->qemuwrapper-cross \
"
# 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 \
.*->help2man-native \
.*->gtk-doc-native \
.*->texinfo-native \
.*->perlcross-native \
libarchive-native->e2fsprogs-native \
"
# rpm-sequoia-native does not need most of its build dependencies to run,
# so omit them. The necessary ones are openssl-native, and implicitly,
# libgcc-native and the C runtime. Omitting these build dependencies can save
# significant disk space and speeds up packaging into signed rpms a little.
SSTATE_EXCLUDEDEPS_SYSROOT += "\
rpm-sequoia-native->(pkgconfig-native|cargo-native|python3-native|rust-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}"
# Only OE-Core should set/change this
BB_GLOBAL_PYMODULES = "os sys time"
addpylib ${LAYERDIR}/lib oe