mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-05 05:04:44 +02:00
classes/recipes: Switch to use inherit_defer
Now that bitbake supports the use of inherit_defer, switch all conditional (variable based) inherits to use this instead. This leads to more a more deterministic user experience since there is no longer an immediate expansion and later changes to the variables in question (e.g. a bbappend) are accounted for. This patch tries to ensure the behaviour before/after remains as unchanged as it reasonably can, e.g. by always inherting populate_sdk_base. native and nativesdk continue to need to be inherited last, hence being used with inherit_defer in a handful of very specific cases. (From OE-Core rev: 451363438d38bd4552d5bcec4a92332f5819a5d4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
bc883e4991
commit
c917323a39
|
@ -5,7 +5,7 @@ LICENSE = "MIT"
|
|||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
||||
inherit ${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs", "", d)}
|
||||
inherit_defer ${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs", "", d)}
|
||||
include test_recipe.inc
|
||||
|
||||
OVERLAYFS_WRITABLE_PATHS[mnt-overlay] += "/usr/share/my-application"
|
||||
|
|
|
@ -110,7 +110,7 @@ CFLAGS:append:qemuriscv64 = " -mcmodel=medany"
|
|||
# Handle inherits of any of the image classes we need
|
||||
IMAGE_CLASSES ??= ""
|
||||
IMGCLASSES = " ${IMAGE_CLASSES}"
|
||||
inherit ${IMGCLASSES}
|
||||
inherit_defer ${IMGCLASSES}
|
||||
# Set defaults to satisfy IMAGE_FEATURES check
|
||||
IMAGE_FEATURES ?= ""
|
||||
IMAGE_FEATURES[type] = "list"
|
||||
|
|
|
@ -28,7 +28,8 @@ FILES:${PN} += "${datadir}/application-registry \
|
|||
FILES:${PN}-doc += "${datadir}/devhelp"
|
||||
|
||||
GNOMEBASEBUILDCLASS ??= "meson"
|
||||
inherit ${GNOMEBASEBUILDCLASS} pkgconfig
|
||||
inherit pkgconfig
|
||||
inherit_defer ${GNOMEBASEBUILDCLASS}
|
||||
|
||||
do_install:append() {
|
||||
rm -rf ${D}${localstatedir}/lib/scrollkeeper/*
|
||||
|
|
|
@ -14,14 +14,15 @@ ROOTFS_BOOTSTRAP_INSTALL = "run-postinsts"
|
|||
IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
|
||||
# Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk_base
|
||||
# in the non-Linux SDK_OS case, such as mingw32
|
||||
IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
|
||||
inherit populate_sdk_base
|
||||
IMGCLASSES += "${@['', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
|
||||
IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
|
||||
IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
|
||||
IMGCLASSES += "image_types_wic"
|
||||
IMGCLASSES += "rootfs-postcommands"
|
||||
IMGCLASSES += "image-postinst-intercepts"
|
||||
IMGCLASSES += "overlayfs-etc"
|
||||
inherit ${IMGCLASSES}
|
||||
inherit_defer ${IMGCLASSES}
|
||||
|
||||
TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
|
||||
TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"
|
||||
|
|
|
@ -38,7 +38,7 @@ WICVARS ?= "\
|
|||
TARGET_SYS \
|
||||
"
|
||||
|
||||
inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
|
||||
inherit_defer ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
|
||||
|
||||
WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks"
|
||||
WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
|
||||
|
|
|
@ -171,7 +171,7 @@ set -e
|
|||
# image types.
|
||||
|
||||
KERNEL_CLASSES ?= " kernel-uimage "
|
||||
inherit ${KERNEL_CLASSES}
|
||||
inherit_defer ${KERNEL_CLASSES}
|
||||
|
||||
# Old style kernels may set ${S} = ${WORKDIR}/git for example
|
||||
# We need to move these over to STAGING_KERNEL_DIR. We can't just
|
||||
|
|
|
@ -68,8 +68,8 @@ efi_hddimg_populate() {
|
|||
efi_populate $1
|
||||
}
|
||||
|
||||
inherit ${EFI_CLASS}
|
||||
inherit ${PCBIOS_CLASS}
|
||||
inherit_defer ${EFI_CLASS}
|
||||
inherit_defer ${PCBIOS_CLASS}
|
||||
|
||||
populate_kernel() {
|
||||
dest=$1
|
||||
|
|
|
@ -22,7 +22,7 @@ PACKAGE_ARCH_EXPANDED := "${PACKAGE_ARCH}"
|
|||
|
||||
LICENSE ?= "MIT"
|
||||
|
||||
inherit ${@oe.utils.ifelse(d.getVar('PACKAGE_ARCH_EXPANDED') == 'all', 'allarch', '')}
|
||||
inherit_defer ${@oe.utils.ifelse(d.getVar('PACKAGE_ARCH_EXPANDED') == 'all', 'allarch', '')}
|
||||
|
||||
# This automatically adds -dbg and -dev flavours of all PACKAGES
|
||||
# to the list. Their dependencies (RRECOMMENDS) are handled as usual
|
||||
|
|
|
@ -37,7 +37,7 @@ SDK_PACKAGE_ARCHS += "sdk-provides-dummy-${SDKPKGSUFFIX}"
|
|||
# List of locales to install, or "all" for all of them, or unset for none.
|
||||
SDKIMAGE_LINGUAS ?= "all"
|
||||
|
||||
inherit rootfs_${IMAGE_PKGTYPE}
|
||||
inherit_defer rootfs_${IMAGE_PKGTYPE}
|
||||
|
||||
SDK_DIR = "${WORKDIR}/sdk"
|
||||
SDK_OUTPUT = "${SDK_DIR}/image"
|
||||
|
|
|
@ -268,4 +268,4 @@ fakeroot python populate_packages:prepend () {
|
|||
# Use the following to extend the useradd with custom functions
|
||||
USERADDEXTENSION ?= ""
|
||||
|
||||
inherit ${USERADDEXTENSION}
|
||||
inherit_defer ${USERADDEXTENSION}
|
||||
|
|
|
@ -35,7 +35,7 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
|
|||
|
||||
inherit autotools pkgconfig binconfig-disabled ptest
|
||||
|
||||
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
|
||||
inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
|
||||
|
||||
LDFLAGS:append:riscv64 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld ptest', ' -fuse-ld=bfd', '', d)}"
|
||||
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
|
||||
SUMMARY = "Host packages for the standalone SDK or external toolchain"
|
||||
|
||||
inherit packagegroup nativesdk
|
||||
inherit packagegroup
|
||||
inherit_defer nativesdk
|
||||
|
||||
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium"
|
|||
PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi"
|
||||
|
||||
inherit autotools-brokensep pkgconfig manpages
|
||||
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)}
|
||||
inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)}
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
|
||||
|
|
|
@ -13,8 +13,9 @@ SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}${XORG_DRIVER_COMPRESSOR
|
|||
|
||||
FILES:${PN} += " ${libdir}/xorg/modules/drivers/*.so"
|
||||
|
||||
inherit pkgconfig features_check
|
||||
XORGBUILDCLASS ??= "autotools"
|
||||
inherit ${XORGBUILDCLASS} pkgconfig features_check
|
||||
inherit_defer ${XORGBUILDCLASS}
|
||||
|
||||
# depends on virtual/xserver
|
||||
REQUIRED_DISTRO_FEATURES = "x11"
|
||||
|
|
|
@ -54,7 +54,7 @@ PROVIDES = "virtual/perf"
|
|||
inherit linux-kernel-base kernel-arch manpages
|
||||
|
||||
# needed for building the tools/perf Python bindings
|
||||
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
|
||||
inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
|
||||
inherit python3-dir
|
||||
export PYTHON_SITEPACKAGES_DIR
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
require systemtap_git.bb
|
||||
|
||||
inherit native
|
||||
inherit_defer native
|
||||
|
||||
addtask addto_recipe_sysroot after do_populate_sysroot before do_build
|
||||
|
|
|
@ -33,7 +33,7 @@ PACKAGECONFIG[python3-probes] = "--with-python3-probes,--without-python3-probes,
|
|||
PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod"
|
||||
|
||||
inherit autotools gettext pkgconfig systemd
|
||||
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'setuptools3-base', '', d)}
|
||||
inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'setuptools3-base', '', d)}
|
||||
|
||||
# | ../git/elaborate.cxx:2601:21: error: storing the address of local variable 'sym' in '*s.systemtap_session::symbol_resolver' [-Werror=dangling-pointer=]
|
||||
CXXFLAGS += "-Wno-dangling-pointer"
|
||||
|
|
|
@ -54,7 +54,8 @@ EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \
|
|||
--disable-g13-test \
|
||||
'
|
||||
|
||||
inherit autotools texinfo binconfig-disabled pkgconfig ${PYTHON_INHERIT} python3native multilib_header
|
||||
inherit autotools texinfo binconfig-disabled pkgconfig multilib_header
|
||||
inherit_defer ${PYTHON_INHERIT} python3native
|
||||
|
||||
export PKG_CONFIG='pkg-config'
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user