mirror of
https://git.yoctoproject.org/poky
synced 2026-02-07 01:06:37 +01:00
When run-postinsts is installed, a service is added for system which can run while the package is still being installed. This calls "opkg configure" and if package management is still running, it can deadlock and error. To work around this, call fcntl-lock on the opkg lock file and if the lock was held, it would wait to obtain it. This wait gives the package management time to finish the install before the configure can then take the lock and run. Note the dependency in SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS otherwise we'd see sstate selftest failures. Also ensure that if the configure fails, the scripts returns an error. This applies to opkg and dpkg. (From OE-Core rev: 96d37df074dc1fe1578c1406235dff7e328b62b7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
135 lines
3.9 KiB
Plaintext
135 lines
3.9 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 = "scarthgap"
|
|
|
|
# This should only be incremented on significant changes that will
|
|
# cause compatibility issues with other layers
|
|
LAYERVERSION_core = "15"
|
|
LAYERSERIES_COMPAT_core = "scarthgap"
|
|
|
|
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 \
|
|
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 \
|
|
"
|
|
|
|
# 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 \
|
|
"
|
|
# 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
|