[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