summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-08-01 12:11:22 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-02 14:32:11 +0100
commitf9da3c269fd7c8260e3457f7f77b22ef659d3752 (patch)
tree53288a5bbee92d57af64b000b4009d80f77840c0
parent0d5dfb29c359eb778182660e852a6aca273f8179 (diff)
downloadpoky-f9da3c269fd7c8260e3457f7f77b22ef659d3752.tar.gz
poky-f9da3c269fd7c8260e3457f7f77b22ef659d3752.tar.bz2
poky-f9da3c269fd7c8260e3457f7f77b22ef659d3752.zip
bitbake.conf: Add SDK_PACKAGE_ARCHS
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. (From OE-Core rev: 587c1d5bac71fa6faa65ee3a271391cbf931e8f7) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package_deb.bbclass6
-rw-r--r--meta/classes/package_ipk.bbclass37
-rw-r--r--meta/classes/package_rpm.bbclass10
-rw-r--r--meta/classes/populate_sdk.bbclass9
-rw-r--r--meta/classes/populate_sdk_deb.bbclass13
-rw-r--r--meta/classes/populate_sdk_rpm.bbclass23
-rw-r--r--meta/conf/bitbake.conf1
7 files changed, 39 insertions, 60 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 8e363f8d63..48aa232736 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -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
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 16574e98b4..3768889e1a 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -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 () {
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 0f16613ba7..abedc68005 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -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
}
diff --git a/meta/classes/populate_sdk.bbclass b/meta/classes/populate_sdk.bbclass
index 089ed9ab35..0f3591b9d5 100644
--- a/meta/classes/populate_sdk.bbclass
+++ b/meta/classes/populate_sdk.bbclass
@@ -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
diff --git a/meta/classes/populate_sdk_deb.bbclass b/meta/classes/populate_sdk_deb.bbclass
index a5b6384f7e..25d90c7eda 100644
--- a/meta/classes/populate_sdk_deb.bbclass
+++ b/meta/classes/populate_sdk_deb.bbclass
@@ -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}
diff --git a/meta/classes/populate_sdk_rpm.bbclass b/meta/classes/populate_sdk_rpm.bbclass
index da308c12cd..560e40c685 100644
--- a/meta/classes/populate_sdk_rpm.bbclass
+++ b/meta/classes/populate_sdk_rpm.bbclass
@@ -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
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 9c80f11085..ac5d1f3933 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -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('-', '_')}"