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
package_update_index_ipk () {
set -x
- ipkgarchs="${PACKAGE_ARCHS}"
+ ipkgarchs="${PACKAGE_ARCHS} ${SDK_PACKAGE_ARCHS}"
if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
return
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}"
#
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}"
}
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
echo "arch $arch $priority" >> ${IPKGCONF_TARGET}
priority=$(expr $priority + 5)
done
-
-
}
python do_package_ipk () {
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
}
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
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}
#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}
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
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('-', '_')}"