diff options
Diffstat (limited to 'poky/meta/classes')
-rw-r--r-- | poky/meta/classes/autotools.bbclass | 2 | ||||
-rw-r--r-- | poky/meta/classes/buildhistory.bbclass | 3 | ||||
-rw-r--r-- | poky/meta/classes/externalsrc.bbclass | 2 | ||||
-rw-r--r-- | poky/meta/classes/populate_sdk_base.bbclass | 2 | ||||
-rw-r--r-- | poky/meta/classes/siteinfo.bbclass | 5 | ||||
-rw-r--r-- | poky/meta/classes/waf.bbclass | 14 |
6 files changed, 21 insertions, 7 deletions
diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass index 1f3c771c6..70804b82b 100644 --- a/poky/meta/classes/autotools.bbclass +++ b/poky/meta/classes/autotools.bbclass @@ -90,7 +90,7 @@ oe_runconf () { cfgscript=`python3 -c "import os; print(os.path.relpath(os.path.dirname('${CONFIGURE_SCRIPT}'), '.'))"`/$cfgscript_name if [ -x "$cfgscript" ] ; then bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@" - if ! ${CACHED_CONFIGUREVARS} CONFIG_SHELL=/bin/bash $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then + if ! CONFIG_SHELL=/bin/bash ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then bbnote "The following config.log files may provide further information." bbnote `find ${B} -ignore_readdir_race -type f -name config.log` bbfatal_log "configure failed" diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 0f26c3c07..7d5e3eb8f 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -116,6 +116,7 @@ python buildhistory_emit_pkghistory() { self.srcrev = "" self.layer = "" self.config = "" + self.src_uri = "" class PackageInfo: @@ -258,6 +259,7 @@ python buildhistory_emit_pkghistory() { rcpinfo.packages = packages rcpinfo.layer = layer rcpinfo.config = sortlist(oe.utils.squashspaces(d.getVar('PACKAGECONFIG') or "")) + rcpinfo.src_uri = oe.utils.squashspaces(d.getVar('SRC_URI') or "") write_recipehistory(rcpinfo, d) bb.build.exec_func("read_subpackage_metadata", d) @@ -368,6 +370,7 @@ def write_recipehistory(rcpinfo, d): f.write(u"PACKAGES = %s\n" % rcpinfo.packages) f.write(u"LAYER = %s\n" % rcpinfo.layer) f.write(u"CONFIG = %s\n" % rcpinfo.config) + f.write(u"SRC_URI = %s\n" % rcpinfo.src_uri) write_latest_srcrev(d, pkghistdir) diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass index d20012998..dd0939578 100644 --- a/poky/meta/classes/externalsrc.bbclass +++ b/poky/meta/classes/externalsrc.bbclass @@ -85,7 +85,7 @@ python () { if task.endswith("_setscene"): # sstate is never going to work for external source trees, disable it bb.build.deltask(task, d) - else: + elif os.path.realpath(d.getVar('S')) == os.path.realpath(d.getVar('B')): # Since configure will likely touch ${S}, ensure only we lock so one task has access at a time d.appendVarFlag(task, "lockfiles", " ${S}/singletask.lock") diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass index 61b31d5e5..49b183326 100644 --- a/poky/meta/classes/populate_sdk_base.bbclass +++ b/poky/meta/classes/populate_sdk_base.bbclass @@ -1,4 +1,4 @@ -inherit meta image-postinst-intercepts +inherit meta image-postinst-intercepts image-artifact-names # Wildcards specifying complementary packages to install for every package that has been explicitly # installed into the rootfs diff --git a/poky/meta/classes/siteinfo.bbclass b/poky/meta/classes/siteinfo.bbclass index 1a048c053..0bd1f3680 100644 --- a/poky/meta/classes/siteinfo.bbclass +++ b/poky/meta/classes/siteinfo.bbclass @@ -45,6 +45,7 @@ def siteinfo_data_for_machine(arch, os, d): "mipsisa32r6": "endian-big bit-32 mips-common", "mipsisa32r6el": "endian-little bit-32 mips-common", "powerpc": "endian-big bit-32 powerpc-common", + "powerpcle": "endian-little bit-32 powerpc-common", "nios2": "endian-little bit-32 nios2-common", "powerpc64": "endian-big bit-64 powerpc-common", "powerpc64le": "endian-little bit-64 powerpc-common", @@ -54,7 +55,9 @@ def siteinfo_data_for_machine(arch, os, d): "riscv32": "endian-little bit-32 riscv-common", "riscv64": "endian-little bit-64 riscv-common", "sh3": "endian-little bit-32 sh-common", + "sh3eb": "endian-big bit-32 sh-common", "sh4": "endian-little bit-32 sh-common", + "sh4eb": "endian-big bit-32 sh-common", "sparc": "endian-big bit-32", "viac3": "endian-little bit-32 ix86-common", "x86_64": "endian-little", # bitinfo specified in targetinfo @@ -100,6 +103,8 @@ def siteinfo_data_for_machine(arch, os, d): "mipsisa64r6el-linux-gnun32": "mipsisa32r6el-linux bit-32", "powerpc-linux": "powerpc32-linux", "powerpc-linux-musl": "powerpc-linux powerpc32-linux", + "powerpcle-linux": "powerpc32-linux", + "powerpcle-linux-musl": "powerpc-linux powerpc32-linux", "powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux", "powerpc-linux-muslspe": "powerpc-linux powerpc32-linux", "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux", diff --git a/poky/meta/classes/waf.bbclass b/poky/meta/classes/waf.bbclass index 309f625a4..188119f35 100644 --- a/poky/meta/classes/waf.bbclass +++ b/poky/meta/classes/waf.bbclass @@ -1,7 +1,12 @@ # avoids build breaks when using no-static-libs.inc DISABLE_STATIC = "" +# What Python interpretter to use. Defaults to Python 3 but can be +# overridden if required. +WAF_PYTHON ?= "python3" + B = "${WORKDIR}/build" +do_configure[cleandirs] += "${B}" EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}" @@ -40,9 +45,10 @@ python waf_preconfigure() { import subprocess from distutils.version import StrictVersion subsrcdir = d.getVar('S') + python = d.getVar('WAF_PYTHON') wafbin = os.path.join(subsrcdir, 'waf') try: - result = subprocess.check_output([wafbin, '--version'], cwd=subsrcdir, stderr=subprocess.STDOUT) + result = subprocess.check_output([python, wafbin, '--version'], cwd=subsrcdir, stderr=subprocess.STDOUT) version = result.decode('utf-8').split()[1] if StrictVersion(version) >= StrictVersion("1.8.7"): d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir} --libdir=${libdir}") @@ -55,16 +61,16 @@ python waf_preconfigure() { do_configure[prefuncs] += "waf_preconfigure" waf_do_configure() { - (cd ${S} && ./waf configure -o ${B} --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF}) + (cd ${S} && ${WAF_PYTHON} ./waf configure -o ${B} --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF}) } do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+" waf_do_compile() { - (cd ${S} && ./waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)} ${EXTRA_OEWAF_BUILD}) + (cd ${S} && ${WAF_PYTHON} ./waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)} ${EXTRA_OEWAF_BUILD}) } waf_do_install() { - (cd ${S} && ./waf install --destdir=${D} ${EXTRA_OEWAF_INSTALL}) + (cd ${S} && ${WAF_PYTHON} ./waf install --destdir=${D} ${EXTRA_OEWAF_INSTALL}) } EXPORT_FUNCTIONS do_configure do_compile do_install |