Add ability to find the directory of parent package if the child package
authorJohn Lee <john_lee@openmoko.org>
Thu, 20 Dec 2007 20:03:01 +0000 (20:03 +0000)
committerOpenmoko anonymizer key <devel@lists.openmoko.org>
Thu, 20 Dec 2007 20:03:01 +0000 (20:03 +0000)
is of different arch.

packages/meta/meta-toolchain.bb

index 91467e5..4a8edb9 100644 (file)
@@ -1,6 +1,7 @@
 DESCRIPTION = "Meta package for building a installable toolchain"
 LICENSE = "MIT"
 DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native"
+PR = "r1"
 
 inherit sdk meta
 
@@ -59,8 +60,8 @@ do_populate_sdk() {
        echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libc.so
 
        # remove unwanted housekeeping files
-       mv ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
-       rm -Rf ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/ipkg
+       mv ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status
+       rm -Rf ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/ipkg
        mv ${SDK_OUTPUT}/usr/lib/ipkg/status ${SDK_OUTPUT}/${prefix}/package-status-host
        rm -Rf ${SDK_OUTPUT}/usr/lib
 
@@ -73,10 +74,17 @@ do_populate_sdk() {
                for arch in $revipkgarchs; do
                        pkgnames=${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk
                        if [ -e $pkgnames ]; then
-                               echo "Found $pkgnames"
+                               oenote "Found $pkgnames"
                                cp $pkgnames ${SDK_OUTPUT}/${prefix}/ipk/
                                orig_pkg=`ipkg-list-fields $pkgnames | grep OE: | cut -d ' ' -f2`
-                               pkg_subdir=$arch${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
+                               pkg_subdir_postfix=${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
+                               for aarch in $revipkgarchs; do
+                                       if [ -e "${STAGING_DIR}/pkgdata/${aarch}${pkg_subdir_postfix}/${orig_pkg}" ]; then
+                                               pkg_subdir="${aarch}${pkg_subdir_postfix}"
+                                               break
+                                       fi
+                               done
+                               oenote "Original package in ${pkg_subdir}"
                                mkdir -p ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime
                                cp ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/
                                subpkgs=`cat ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`