mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
Packagegroups have "special" sstate signature behaviour in that they don't rebuild when their dependencies do. This causes problems for SPDX task signatures. Since packagegroups don't actually have any code in them, we don't need the standard dependencies anyway so cancel out and allow the sstate signatures to function correctly. (From OE-Core rev: 5c4ed243c144e261eae5f2ccf5626371d87a8a43) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
#
|
|
# Copyright OpenEmbedded Contributors
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
# Class for packagegroup (package group) recipes
|
|
|
|
# By default, only the packagegroup package itself is in PACKAGES.
|
|
# -dbg and -dev flavours are handled by the anonfunc below.
|
|
# This means that packagegroup recipes used to build multiple packagegroup
|
|
# packages have to modify PACKAGES after inheriting packagegroup.bbclass.
|
|
PACKAGES = "${PN}"
|
|
|
|
# By default, packagegroup packages do not depend on a certain architecture.
|
|
# Only if dependencies are modified by MACHINE_FEATURES, packages
|
|
# need to be set to MACHINE_ARCH before inheriting packagegroup.bbclass
|
|
PACKAGE_ARCH ?= "all"
|
|
|
|
# Fully expanded - so it applies the overrides as well
|
|
PACKAGE_ARCH_EXPANDED := "${PACKAGE_ARCH}"
|
|
|
|
LICENSE ?= "MIT"
|
|
|
|
inherit ${@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
|
|
# by package_depchains in a following step.
|
|
# Also mark all packages as ALLOW_EMPTY
|
|
python () {
|
|
packages = d.getVar('PACKAGES').split()
|
|
if d.getVar('PACKAGEGROUP_DISABLE_COMPLEMENTARY') != '1':
|
|
types = ['', '-dbg', '-dev']
|
|
if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d):
|
|
types.append('-ptest')
|
|
packages = [pkg + suffix for pkg in packages
|
|
for suffix in types]
|
|
d.setVar('PACKAGES', ' '.join(packages))
|
|
for pkg in packages:
|
|
d.setVar('ALLOW_EMPTY:%s' % pkg, '1')
|
|
}
|
|
|
|
# We don't want to look at shared library dependencies for the
|
|
# dbg packages
|
|
DEPCHAIN_DBGDEFAULTDEPS = "1"
|
|
|
|
# We only need the packaging tasks - disable the rest
|
|
deltask do_fetch
|
|
deltask do_unpack
|
|
deltask do_patch
|
|
deltask do_configure
|
|
deltask do_compile
|
|
deltask do_install
|
|
deltask do_populate_sysroot
|
|
|
|
do_create_runtime_spdx[deptask] = "do_create_spdx"
|
|
do_create_runtime_spdx[rdeptask] = ""
|
|
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
|
|
python () {
|
|
if bb.data.inherits_class('nativesdk', d):
|
|
return
|
|
initman = d.getVar("VIRTUAL-RUNTIME_init_manager")
|
|
if initman and initman in ['sysvinit', 'systemd'] and not bb.utils.contains('DISTRO_FEATURES', initman, True, False, d):
|
|
bb.fatal("Please ensure that your setting of VIRTUAL-RUNTIME_init_manager (%s) matches the entries enabled in DISTRO_FEATURES" % initman)
|
|
}
|
|
|
|
CVE_PRODUCT = ""
|