mirror of
https://git.yoctoproject.org/poky
synced 2026-02-06 08:48:45 +01:00
shlibs is largely useless for allarch, the particular usecase where it
fails is when DISTRO_FEATURE is changing due to libc being different e.g.
Variable package_do_shlibs value changed:
-DISTRO_FEATURES{ldconfig} = Set
+DISTRO_FEATURES{ldconfig} = Unset
musl -> glibc or other way around 'ldconfig' gets added or deleted to
DISTRO_FEATURE set, neither this distro feature nor the shlibs processing
during packaging is of interest to allarch packages which are largely
arch independent scripts
(From OE-Core rev: 06602d56d1d311562144eafe459fcea36931a34c)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
53 lines
2.2 KiB
Plaintext
53 lines
2.2 KiB
Plaintext
#
|
|
# This class is used for architecture independent recipes/data files (usually scripts)
|
|
#
|
|
|
|
PACKAGE_ARCH = "all"
|
|
|
|
python () {
|
|
# Allow this class to be included but overridden - only set
|
|
# the values if we're still "all" package arch.
|
|
if d.getVar("PACKAGE_ARCH") == "all":
|
|
# No need for virtual/libc or a cross compiler
|
|
d.setVar("INHIBIT_DEFAULT_DEPS","1")
|
|
|
|
# Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory
|
|
# naming anyway
|
|
d.setVar("baselib", "lib")
|
|
d.setVar("TARGET_ARCH", "allarch")
|
|
d.setVar("TARGET_OS", "linux")
|
|
d.setVar("TARGET_CC_ARCH", "none")
|
|
d.setVar("TARGET_LD_ARCH", "none")
|
|
d.setVar("TARGET_AS_ARCH", "none")
|
|
d.setVar("TARGET_FPU", "")
|
|
d.setVar("TARGET_PREFIX", "")
|
|
# Expand PACKAGE_EXTRA_ARCHS since the staging code needs this
|
|
# (this removes any dependencies from the hash perspective)
|
|
d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS"))
|
|
d.setVar("SDK_ARCH", "none")
|
|
d.setVar("SDK_CC_ARCH", "none")
|
|
d.setVar("TARGET_CPPFLAGS", "none")
|
|
d.setVar("TARGET_CFLAGS", "none")
|
|
d.setVar("TARGET_CXXFLAGS", "none")
|
|
d.setVar("TARGET_LDFLAGS", "none")
|
|
d.setVar("POPULATESYSROOTDEPS", "")
|
|
|
|
# Avoid this being unnecessarily different due to nuances of
|
|
# the target machine that aren't important for "all" arch
|
|
# packages.
|
|
d.setVar("LDFLAGS", "")
|
|
|
|
# No need to do shared library processing or debug symbol handling
|
|
d.setVar("EXCLUDE_FROM_SHLIBS", "1")
|
|
d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1")
|
|
d.setVar("INHIBIT_PACKAGE_STRIP", "1")
|
|
|
|
# These multilib values shouldn't change allarch packages so exclude them
|
|
d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS")
|
|
d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS")
|
|
d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs")
|
|
elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d):
|
|
bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE"))
|
|
}
|
|
|