[oe-commits] org.oe.dev base.bbclass: Improve pkgdata handling functions so all PACKAGE_ARCHS are searched (in order) when locating package data. This fixes handling of packages with split package archs like sysvinit. (from poky)
rpurdie commit
openembedded-commits at lists.openembedded.org
Sat Dec 1 23:29:50 UTC 2007
base.bbclass: Improve pkgdata handling functions so all PACKAGE_ARCHS are searched (in order) when locating package data. This fixes handling of packages with split package archs like sysvinit. (from poky)
Author: rpurdie at openembedded.org
Branch: org.openembedded.dev
Revision: 92870b2ecef7d6617ce86a736657608641dc36bf
ViewMTN: http://monotone.openembedded.org/revision/info/92870b2ecef7d6617ce86a736657608641dc36bf
Files:
1
classes/base.bbclass
Diffs:
#
# mt diff -r88d009270c72acbc32bc213b78f145f301dd4e17 -r92870b2ecef7d6617ce86a736657608641dc36bf
#
#
#
# patch "classes/base.bbclass"
# from [d94e4a54d0b01a3d7a66b2c418f28f37616379ab]
# to [a42a0cea14f8090cf64528a459fa8b5795e36327]
#
============================================================
--- classes/base.bbclass d94e4a54d0b01a3d7a66b2c418f28f37616379ab
+++ classes/base.bbclass a42a0cea14f8090cf64528a459fa8b5795e36327
@@ -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
@@ -702,7 +704,7 @@ python do_populate_staging () {
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
@@ -744,7 +746,7 @@ def packaged(pkg, d):
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 = {}
@@ -768,17 +770,24 @@ 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
fn = bb.data.expand('${PKGDATA_DIR}/%s' % pn, d)
More information about the Openembedded-commits
mailing list