]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake.conf: Add SDK_PACKAGE_ARCHS
authorMark Hatle <mark.hatle@windriver.com>
Mon, 1 Aug 2011 17:11:22 +0000 (12:11 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 2 Aug 2011 13:31:44 +0000 (14:31 +0100)
Add SDK_PACKAGE_ARCHS to avoid the sed operations we were previously doing
inside of the variouns populate_sdk functions and related items.

Also add documentation to populate_sdk to explain when the various functions
are expected to be doing.

Finally fix a bug in populate_sdk_rpm where the wrong value was being set,
noticed while working on this change.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
meta/classes/package_deb.bbclass
meta/classes/package_ipk.bbclass
meta/classes/package_rpm.bbclass
meta/classes/populate_sdk.bbclass
meta/classes/populate_sdk_deb.bbclass
meta/classes/populate_sdk_rpm.bbclass
meta/conf/bitbake.conf

index 8e363f8d63f5a052523990d522a0e9a153aca3d8..48aa2327360ebfa5905298ce6aa2205ed39862cc 100644 (file)
@@ -78,14 +78,10 @@ package_update_index_deb () {
                return
        fi
 
-       for arch in ${PACKAGE_ARCHS}; do
-               sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
+       for arch in ${PACKAGE_ARCHS} ${SDK_PACKAGE_ARCHS}; do
                if [ -e ${DEPLOY_DIR_DEB}/$arch ]; then
                        debarchs="$debarchs $arch"
                fi
-               if [ -e ${DEPLOY_DIR_DEB}/$sdkarch-nativesdk ]; then
-                       debarchs="$debarchs $sdkarch-nativesdk"
-               fi
        done
 
        for arch in $debarchs; do
index 16574e98b40560a67435caaf5b1c09460891608b..3768889e1a18a0fa0a16e42b88aca7b4b6ba0777 100644 (file)
@@ -161,7 +161,7 @@ ipk_log_check() {
 package_update_index_ipk () {
        set -x
 
-       ipkgarchs="${PACKAGE_ARCHS}"
+       ipkgarchs="${PACKAGE_ARCHS} ${SDK_PACKAGE_ARCHS}"
 
        if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
                return
@@ -169,8 +169,7 @@ package_update_index_ipk () {
 
        packagedirs="${DEPLOY_DIR_IPK}"
        for arch in $ipkgarchs; do
-               sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
-               packagedirs="$packagedirs ${DEPLOY_DIR_IPK}/$arch ${DEPLOY_DIR_IPK}/$sdkarch-nativesdk"
+               packagedirs="$packagedirs ${DEPLOY_DIR_IPK}/$arch"
        done
 
        multilib_archs="${MULTILIB_ARCHS}"
@@ -193,21 +192,20 @@ package_update_index_ipk () {
 #
 package_generate_ipkg_conf () {
        package_generate_archlist
-       echo "src oe file:${DEPLOY_DIR_IPK}" >> ${IPKGCONF_TARGET}
        echo "src oe file:${DEPLOY_DIR_IPK}" >> ${IPKGCONF_SDK}
+       ipkgarchs="${SDK_PACKAGE_ARCHS}"
+       for arch in $ipkgarchs; do
+               if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
+                       echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_SDK}
+               fi
+       done
+
+       echo "src oe file:${DEPLOY_DIR_IPK}" >> ${IPKGCONF_TARGET}
        ipkgarchs="${PACKAGE_ARCHS}"
        for arch in $ipkgarchs; do
                if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then
                        echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_TARGET}
                fi
-               sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
-               extension=-nativesdk
-               if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
-                   extension=""
-               fi
-               if [ -e ${DEPLOY_DIR_IPK}/$sdkarch$extension/Packages ] ; then
-                       echo "src oe-$sdkarch$extension file:${DEPLOY_DIR_IPK}/$sdkarch$extension" >> ${IPKGCONF_SDK}
-               fi
        done
 
        multilib_archs="${MULTILIB_ARCHS}"
@@ -219,16 +217,17 @@ package_generate_ipkg_conf () {
 }
 
 package_generate_archlist () {
+       ipkgarchs="${SDK_PACKAGE_ARCHS}"
+       priority=1
+       for arch in $ipkgarchs; do
+               echo "arch $arch $priority" >> ${IPKGCONF_SDK}
+               priority=$(expr $priority + 5)
+       done
+
        ipkgarchs="${PACKAGE_ARCHS}"
        priority=1
        for arch in $ipkgarchs; do
-               sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
                echo "arch $arch $priority" >> ${IPKGCONF_TARGET}
-               extension=-nativesdk
-               if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
-                   extension=""
-               fi
-               echo "arch $sdkarch$extension $priority" >> ${IPKGCONF_SDK}
                priority=$(expr $priority + 5)
        done
 
@@ -237,8 +236,6 @@ package_generate_archlist () {
                echo "arch $arch $priority" >> ${IPKGCONF_TARGET}
                priority=$(expr $priority + 5)
        done
-
-
 }
 
 python do_package_ipk () {
index 0f16613ba7f7d8250abfc83eef5bad27f7d14fc6..abedc680059c9b1d2cfd8ba9c97b2cf723a543cf 100644 (file)
@@ -31,15 +31,7 @@ package_update_index_rpm () {
        package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs
 
        # Update SDK packages
-       base_archs=""
-       for arch in ${PACKAGE_ARCHS}; do
-               sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
-               extension="-nativesdk"
-               if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
-                   extension=""
-               fi
-               base_archs="$base_archs $sdkarch$extension"
-       done
+       base_archs="${SDK_PACKAGE_ARCHS}"
        package_update_index_rpm_common "${RPMCONF_HOST_BASE}" base_archs
 }
 
index 089ed9ab35b9b9572562817caa2e10a85c2f7aa6..0f3591b9d5cc5254107a0c08b59886e278005c34 100644 (file)
@@ -22,6 +22,15 @@ fakeroot do_populate_sdk() {
        rm -rf ${SDK_OUTPUT}
        mkdir -p ${SDK_OUTPUT}
 
+       # populate_sdk_<image> is required to construct two images:
+       #  SDK_ARCH-nativesdk - contains the cross compiler and associated tooling
+       #  target - contains a target rootfs configured for the SDK usage
+       #
+       # the output of populate_sdk_<image> should end up in ${SDK_OUTPUT} it is made
+       # up of:
+       #  ${SDK_OUTPUT}/<sdk_arch-nativesdk pkgs>
+       #  ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/<target pkgs>
+
        populate_sdk_${IMAGE_PKGTYPE}
 
        # Don't ship any libGL in the SDK
index a5b6384f7e14934ba6cea459c01b7672b1f1b183..25d90c7edaea0545c49f066a58375689de815533 100644 (file)
@@ -34,18 +34,7 @@ fakeroot populate_sdk_deb () {
        export INSTALL_ROOTFS_DEB="${SDK_OUTPUT}"
        export INSTALL_BASEARCH_DEB="${SDK_ARCH}"
        export INSTALL_PACKAGES_NORMAL_DEB="${TOOLCHAIN_HOST_TASK}"
-       INSTALL_ARCHS_DEB=""
-       for arch in ${PACKAGE_ARCHS}; do
-               sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
-               extension="-nativesdk"
-               if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
-                   extension=""
-               fi
-               if [ -e ${DEPLOY_DIR_DEB}/$sdkarch$extension ]; then
-                       INSTALL_ARCHS_DEB="$INSTALL_ARCHS_DEB $sdkarch$extension"
-               fi
-       done
-       export INSTALL_ARCHS_DEB
+       export INSTALL_ARCHS_DEB="${SDK_PACKAGE_ARCHS}"
 
        package_install_internal_deb
        populate_sdk_post_deb ${SDK_OUTPUT}/${SDKPATHNATIVE}
index da308c12cd67d6a7f0e9d0c741742cc545a805e9..560e40c6853eed071e3734d9420bed7950e3588d 100644 (file)
@@ -34,16 +34,16 @@ fakeroot populate_sdk_rpm () {
 
        #install target
        export INSTALL_ROOTFS_RPM="${SDK_OUTPUT}/${SDKTARGETSYSROOT}"
-       export INSTALL_PLATFORM_RPM="${TARGET_ARCHS}"
+       export INSTALL_PLATFORM_RPM="${TARGET_ARCH}"
        export INSTALL_CONFBASE_RPM="${RPMCONF_TARGET_BASE}"
        export INSTALL_PACKAGES_NORMAL_RPM="${TOOLCHAIN_TARGET_TASK}"
 
        # List must be prefered to least preferred order
-       INSTALL_PLATFORM_RPM=""
+       INSTALL_PLATFORM_EXTRA_RPM=""
        for each_arch in ${PACKAGE_ARCHS} ; do
-               INSTALL_PLATFORM_RPM="$each_arch $INSTALL_PLATFORM_RPM"
+               INSTALL_PLATFORM_EXTRA_RPM="$each_arch $INSTALL_PLATFORM_EXTRA_RPM"
        done
-       export INSTALL_PLATFORM_RPM
+       export INSTALL_PLATFORM_EXTRA_RPM
 
        package_install_internal_rpm
        populate_sdk_post_rpm ${INSTALL_ROOTFS_RPM}
@@ -53,16 +53,11 @@ fakeroot populate_sdk_rpm () {
        export INSTALL_PLATFORM_RPM="${SDK_ARCH}"
        export INSTALL_CONFBASE_RPM="${RPMCONF_HOST_BASE}"
        export INSTALL_PACKAGES_NORMAL_RPM="${TOOLCHAIN_HOST_TASK}"
-       export INSTALL_PLATFORM_EXTRA_RPM=""
-       for arch in ${PACKAGE_ARCHS}; do
-               sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
-               extension="-nativesdk"
-               if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
-                   extension=""
-               fi
-               if [ -e ${DEPLOY_DIR_RPM}/$sdkarch$extension ]; then
-                       INSTALL_PLATFORM_EXTRA_RPM="$sdkarch $INSTALL_PLATFORM_EXTRA_RPM"
-               fi
+
+       # List must be prefered to least preferred order
+       INSTALL_PLATFORM_EXTRA_RPM=""
+       for each_arch in ${SDK_PACKAGE_ARCHS} ; do
+               INSTALL_PLATFORM_EXTRA_RPM="$each_arch $INSTALL_PLATFORM_EXTRA_RPM"
        done
        export INSTALL_PLATFORM_EXTRA_RPM
 
index 9c80f11085bd03cac00a6ea0f456223758b350c1..ac5d1f39336cf396d84c21808fa33b71e1c4d722 100644 (file)
@@ -100,6 +100,7 @@ SDK_VENDOR = "-oesdk"
 SDK_SYS = "${SDK_ARCH}${SDK_VENDOR}${@['-' + bb.data.getVar('SDK_OS', d, 1), ''][bb.data.getVar('SDK_OS', d, 1) == ('' or 'custom')]}"
 SDK_PREFIX = "${SDK_SYS}-"
 SDK_CC_ARCH = "${BUILD_CC_ARCH}"
+SDK_PACKAGE_ARCHS = "all any noarch ${SDK_ARCH}-nativesdk"
 
 PACKAGE_ARCH = "${TUNE_PKGARCH}"
 MACHINE_ARCH = "${@[bb.data.getVar('TUNE_PKGARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))].replace('-', '_')}"