diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/packaged-staging.bbclass | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/classes/packaged-staging.bbclass b/classes/packaged-staging.bbclass index 9f369485b5..ff03cc3ee4 100644 --- a/classes/packaged-staging.bbclass +++ b/classes/packaged-staging.bbclass @@ -34,7 +34,7 @@ python __anonymous() { bb.data.setVar('PSTAGE_PKGARCH', "${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d) } -python () { +def pstage_check_allowed (d): pstage_allowed = True # These classes encode staging paths into the binary data so can only be @@ -74,7 +74,6 @@ python () { bb.data.setVar("PSTAGING_ACTIVE", "1", d) else: bb.data.setVar("PSTAGING_ACTIVE", "0", d) -} PSTAGE_MACHCONFIG = "${PSTAGE_WORKDIR}/opkg.conf" @@ -193,6 +192,8 @@ SCENEFUNCS += "packagestage_scenefunc" python packagestage_scenefunc () { import glob + + pstage_check_allowed(d) if bb.data.getVar("PSTAGING_ACTIVE", d, 1) == "0": return @@ -318,26 +319,27 @@ populate_sysroot_postamble () { if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then exit $exitcode fi - if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then - exit $exitcode - fi set -e fi } -packagedstaging_fastpath () { - if [ "$PSTAGING_ACTIVE" = "1" ]; then - mkdir -p ${PSTAGE_TMPDIR_STAGE}/sysroots/ - cp -fpPR ${SYSROOT_DESTDIR}/${STAGING_DIR}/* ${PSTAGE_TMPDIR_STAGE}/sysroots/ || /bin/true - fi +python packagedstaging_fastpath () { + pstage_check_allowed(d) + if bb.data.getVar("PSTAGING_ACTIVE", d, 1) == "0": + path = bb.data.getVar("PATH", d, 1) + bb.mkdirhier(bb.data.expand("${PSTAGE_TMPDIR_STAGE}/sysroots", d)) + cmd = bb.data.expand("cp -fpPR ${SYSROOT_DESTDIR}/${STAGING_DIR}/* ${PSTAGE_TMPDIR_STAGE}/sysroots/", d) + os.system("PATH=\"%s\" %s" % (path, cmd)) } do_populate_sysroot[dirs] =+ "${PSTAGE_DIR}" python populate_sysroot_prehook() { + pstage_check_allowed(d) bb.build.exec_func("populate_sysroot_preamble", d) } python populate_sysroot_posthook() { + pstage_check_allowed(d) bb.build.exec_func("populate_sysroot_postamble", d) } @@ -411,7 +413,8 @@ python staging_package_libtoolhack () { } python do_package_stage () { - if bb.data.getVar("PSTAGING_ACTIVE", d, 1) != "1": + pstage_check_allowed(d) + if bb.data.getVar("PSTAGING_ACTIVE", d, 1) == "0": return # |