From b774bf44ef004276da12a83ebd69715c00b596ac Mon Sep 17 00:00:00 2001 From: Lianhao Lu Date: Tue, 16 Aug 2011 16:26:49 +0800 Subject: package(_ipk).bbclass: opkg using ALL_MULTILIB_PACKAGE_ARCHS [YOCTO #1345] The new variable ALL_MULTILIB_PACKAGE_ARCHS contains all the values of PACKAGE_ARCHS for each multilib variants. The opkg backend now uses this new value insteald of the PACKAGE_ARCHS to update the opkg indexes and to generate the opkg configuration files. This allows the normal packages and multilib packages may be installed into the same rootfs. Signed-off-by: Lianhao Lu --- meta/classes/package_ipk.bbclass | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) (limited to 'meta/classes/package_ipk.bbclass') diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index 8ecf5111a8..e83aff8fe9 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass @@ -64,14 +64,13 @@ python package_ipk_install () { package_tryout_install_multilib_ipk() { #try install multilib multilib_tryout_dirs="" - for arch in ${MULTILIB_ARCHS}; do - local target_rootfs="${MULTILIB_TEMP_ROOTFS}/${arch}" + for item in ${MULTILIB_VARIANTS}; do + local target_rootfs="${MULTILIB_TEMP_ROOTFS}/${item}" local ipkg_args="-f ${INSTALL_CONF_IPK} -o ${target_rootfs} --force_overwrite" local selected_pkg="" - #strip the "ml" from package_arch - local pkgarch_prefix="${arch:2}-" - for pkg in "${INSTALL_PACKAGES_MULTILIB_IPK}"; do - if [ ${pkg:0:${#pkgarch_prefix}} == ${pkgarch_prefix} ]; then + local pkgname_prefix="${item}-" + for pkg in ${INSTALL_PACKAGES_MULTILIB_IPK}; do + if [ ${pkg:0:${#pkgname_prefix}} == ${pkgname_prefix} ]; then selected_pkg="${selected_pkg} ${pkg}" fi done @@ -163,7 +162,7 @@ ipk_log_check() { package_update_index_ipk () { set -x - ipkgarchs="${PACKAGE_ARCHS} ${SDK_PACKAGE_ARCHS}" + ipkgarchs="${ALL_MULTILIB_PACKAGE_ARCHS} ${SDK_PACKAGE_ARCHS}" if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then return @@ -203,19 +202,12 @@ package_generate_ipkg_conf () { done echo "src oe file:${DEPLOY_DIR_IPK}" >> ${IPKGCONF_TARGET} - ipkgarchs="${PACKAGE_ARCHS}" + ipkgarchs="${ALL_MULTILIB_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 done - - multilib_archs="${MULTILIB_ARCHS}" - for arch in $multilib_archs; do - if [ -e ${DEPLOY_DIR_IPK}/$arch/Packages ] ; then - echo "src oe-$arch file:${DEPLOY_DIR_IPK}/$arch" >> ${IPKGCONF_TARGET} - fi - done } package_generate_archlist () { @@ -226,18 +218,12 @@ package_generate_archlist () { priority=$(expr $priority + 5) done - ipkgarchs="${PACKAGE_ARCHS}" + ipkgarchs="${ALL_MULTILIB_PACKAGE_ARCHS}" priority=1 for arch in $ipkgarchs; do echo "arch $arch $priority" >> ${IPKGCONF_TARGET} priority=$(expr $priority + 5) done - - multilib_archs="${MULTILIB_ARCHS}" - for arch in $multilib_archs; do - echo "arch $arch $priority" >> ${IPKGCONF_TARGET} - priority=$(expr $priority + 5) - done } python do_package_ipk () { -- cgit 1.2.3-korg