Skip to content

Commit

Permalink
packaged-staging: Fix libtool-cross staging
Browse files Browse the repository at this point in the history
libtool-cross must not inherit cross, so wasn't getting the right
mangling and saving done.  In addition, we want a slightly broader grep
to be used in these cases.

Signed-off-by: Tom Rini <tom_rini@mentor.com>
  • Loading branch information
Tom Rini committed Sep 13, 2010
1 parent 259e2ea commit f87759a
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions classes/packaged-staging.bbclass
Expand Up @@ -30,16 +30,8 @@ BB_STAMP_WHITELIST = "${PSTAGE_NATIVEDEPENDS}"

python __anonymous() {
pstage_allowed = True

# We need PSTAGE_PKGARCH to contain information about the target.
if bb.data.inherits_class('cross', d):
bb.data.setVar('PSTAGE_PKGARCH', "${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d)

# These classes encode staging paths data files so we must mangle them
# for reuse.
if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('sdk', d):
scan_cmd = "grep -Irl ${STAGING_DIR} ${PSTAGE_TMPDIR_STAGE}"
bb.data.setVar('PSTAGE_SCAN_CMD', scan_cmd, d)
pstage_host_mangle = False
pstage_is_cross = False

# PSTAGE_NATIVEDEPENDS lists the packages we need before we can use
# packaged staging. There will always be some packages we depend on.
Expand All @@ -59,6 +51,27 @@ python __anonymous() {
if localdata.getVar('PSTAGING_DISABLED', True) == "1":
pstage_allowed = False

# libtool-cross does not inherit cross.
if localdata.getVar('PN', True).startswith("libtool-cross"):
pstage_host_mangle = True
pstage_is_cross = True

# We need PSTAGE_PKGARCH to contain information about the target.
if bb.data.inherits_class('cross', d):
pstage_host_mangle = True

if pstage_host_mangle:
bb.data.setVar('PSTAGE_PKGARCH', "${HOST_SYS}-${PACKAGE_ARCH}-${TARGET_OS}", d)

# These classes encode staging paths data files so we must mangle them
# for reuse.
if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('sdk', d):
pstage_is_cross = True

if pstage_is_cross:
scan_cmd = "grep -Irl ${TMPDIR} ${PSTAGE_TMPDIR_STAGE}"
bb.data.setVar('PSTAGE_SCAN_CMD', scan_cmd, d)

# Add task dependencies if we're active, otherwise mark packaged staging
# as inactive.
if pstage_allowed:
Expand Down

0 comments on commit f87759a

Please sign in to comment.