summaryrefslogtreecommitdiff
path: root/classes/base.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'classes/base.bbclass')
-rw-r--r--classes/base.bbclass38
1 files changed, 30 insertions, 8 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 06a49814d2..2b508a8e84 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -315,7 +315,9 @@ oe_libinstall() {
# stop libtool using the final directory name for libraries
# in staging:
__runcmd rm -f $destpath/$libname.la
- __runcmd sed -e 's/^installed=yes$/installed=no/' -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' $dotlai >$destpath/$libname.la
+ __runcmd sed -e 's/^installed=yes$/installed=no/' \
+ -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' \
+ $dotlai >$destpath/$libname.la
else
__runcmd install -m 0644 $dotlai $destpath/$libname.la
fi
@@ -508,6 +510,13 @@ base_do_fetchall() {
:
}
+addtask buildall after do_build
+do_buildall[recrdeptask] = "do_build"
+base_do_buildall() {
+ :
+}
+
+
def oe_unpack_file(file, data, url = None):
import bb, os
if not url:
@@ -695,7 +704,7 @@ do_populate_staging[dirs] = "${STAGING_DIR_TARGET}/${layout_bindir} ${STAGING_DI
addtask populate_staging after do_install
python do_populate_staging () {
- bb.build.exec_func('do_stage', d)
+ bb.build.exec_func('do_stage', d)
}
addtask install after do_compile
@@ -737,7 +746,7 @@ def explode_deps(s):
def packaged(pkg, d):
import os, bb
- return os.access(bb.data.expand('${PKGDATA_DIR}/runtime/%s.packaged' % pkg, d), os.R_OK)
+ return os.access(get_subpkgedata_fn(pkg, d) + '.packaged', os.R_OK)
def read_pkgdatafile(fn):
pkgdata = {}
@@ -761,16 +770,23 @@ def read_pkgdatafile(fn):
return pkgdata
+def get_subpkgedata_fn(pkg, d):
+ import bb, os
+ archs = bb.data.expand("${PACKAGE_ARCHS}", d).split(" ")
+ archs.reverse()
+ for arch in archs:
+ fn = bb.data.expand('${STAGING_DIR}/pkgdata/' + arch + '${TARGET_VENDOR}-${TARGET_OS}/runtime/%s' % pkg, d)
+ if os.path.exists(fn):
+ return fn
+ return bb.data.expand('${PKGDATA_DIR}/runtime/%s' % pkg, d)
+
def has_subpkgdata(pkg, d):
import bb, os
- fn = bb.data.expand('${PKGDATA_DIR}/runtime/%s' % pkg, d)
- return os.access(fn, os.R_OK)
+ return os.access(get_subpkgedata_fn(pkg, d), os.R_OK)
def read_subpkgdata(pkg, d):
import bb, os
- fn = bb.data.expand('${PKGDATA_DIR}/runtime/%s' % pkg, d)
- return read_pkgdatafile(fn)
-
+ return read_pkgdatafile(get_subpkgedata_fn(pkg, d))
def has_pkgdata(pn, d):
import bb, os
@@ -832,6 +848,12 @@ def base_after_parse(d):
bb.data.delVarFlag('MACHINE', 'export', d)
bb.data.setVarFlag('MACHINE', 'unexport', 1, d)
+ # Make sure TARGET_ARCH isn't exported
+ # (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this
+ # in them, undocumented)
+ bb.data.delVarFlag('TARGET_ARCH', 'export', d)
+ bb.data.setVarFlag('TARGET_ARCH', 'unexport', 1, d)
+
# Make sure DISTRO isn't exported
# (breaks sysvinit at least)
bb.data.delVarFlag('DISTRO', 'export', d)