aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/package_ipk.bbclass
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2014-01-13 10:16:43 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-11 11:50:26 +0000
commitd950ef40a3eae4b54cc62828e66d84a62d78c447 (patch)
tree3c3d9ae302690799bf1197740d2bdf0243b76ed6 /meta/classes/package_ipk.bbclass
parent0650e1f2354cdb6f925040d9d07e2c785274a592 (diff)
downloadopenembedded-core-contrib-d950ef40a3eae4b54cc62828e66d84a62d78c447.tar.gz
Cleanup image,rootfs_ipk,package_ipk bbclass files
This commit cleans up the functions that were ported to python. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Diffstat (limited to 'meta/classes/package_ipk.bbclass')
-rw-r--r--meta/classes/package_ipk.bbclass197
1 files changed, 1 insertions, 196 deletions
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 73446d6c59..68c8580761 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -10,207 +10,12 @@ PKGWRITEDIRIPK = "${WORKDIR}/deploy-ipks"
# Program to be used to build opkg packages
OPKGBUILDCMD ??= "opkg-build"
-OPKG_ARGS = "-f $INSTALL_CONF_IPK -o $INSTALL_ROOTFS_IPK --force_postinstall --prefer-arch-to-version"
+OPKG_ARGS = "--force_postinstall --prefer-arch-to-version"
OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS", True) == "1"]}"
OPKG_ARGS += "${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKAGE_EXCLUDE', True) or "").split())][(d.getVar("PACKAGE_EXCLUDE", True) or "") != ""]}"
OPKGLIBDIR = "${localstatedir}/lib"
-package_tryout_install_multilib_ipk() {
- #try install multilib
- multilib_tryout_dirs=""
- for item in ${MULTILIB_VARIANTS}; do
- local target_rootfs="${MULTILIB_TEMP_ROOTFS}/${item}"
- local ipkg_args="${OPKG_ARGS}"
- local selected_pkg=""
- local pkgname_prefix="${item}-"
- local pkgname_len=${#pkgname_prefix}
- for pkg in ${INSTALL_PACKAGES_MULTILIB_IPK}; do
- local pkgname=$(echo $pkg | awk -v var=$pkgname_len '{ pkgname=substr($1, 1, var); print pkgname; }' )
- if [ ${pkgname} = ${pkgname_prefix} ]; then
- selected_pkg="${selected_pkg} ${pkg}"
- fi
- done
- if [ ! -z "${selected_pkg}" ]; then
- rm -f ${target_rootfs}
- mkdir -p ${target_rootfs}/${opkglibdir}
- opkg-cl ${ipkg_args} update
- opkg-cl ${ipkg_args} install ${selected_pkg}
- multilib_tryout_dirs="${multilib_tryout_dirs} ${target_rootfs}"
- fi
- done
-}
-
-split_multilib_packages() {
- INSTALL_PACKAGES_NORMAL_IPK=""
- INSTALL_PACKAGES_MULTILIB_IPK=""
- for pkg in ${INSTALL_PACKAGES_IPK}; do
- is_multilib=0
- for item in ${MULTILIB_VARIANTS}; do
- local pkgname_prefix="${item}-"
- local pkgname_len=${#pkgname_prefix}
- local pkgname=$(echo $pkg | awk -v var=$pkgname_len '{ pkgname=substr($1, 1, var); print pkgname; }' )
- if [ ${pkgname} = ${pkgname_prefix} ]; then
- is_multilib=1
- break
- fi
- done
-
- if [ ${is_multilib} = 0 ]; then
- INSTALL_PACKAGES_NORMAL_IPK="${INSTALL_PACKAGES_NORMAL_IPK} ${pkg}"
- else
- INSTALL_PACKAGES_MULTILIB_IPK="${INSTALL_PACKAGES_MULTILIB_IPK} ${pkg}"
- fi
- done
-}
-
-#
-# install a bunch of packages using opkg
-# the following shell variables needs to be set before calling this func:
-# INSTALL_ROOTFS_IPK - install root dir
-# INSTALL_CONF_IPK - configuration file
-# INSTALL_PACKAGES_IPK - packages to be installed
-# INSTALL_PACKAGES_ATTEMPTONLY_IPK - packages attemped to be installed only
-# INSTALL_PACKAGES_LINGUAS_IPK - additional packages for uclibc
-# INSTALL_TASK_IPK - task name
-
-package_install_internal_ipk() {
-
- local target_rootfs="${INSTALL_ROOTFS_IPK}"
- local package_attemptonly="${INSTALL_PACKAGES_ATTEMPTONLY_IPK}"
- local package_linguas="${INSTALL_PACKAGES_LINGUAS_IPK}"
- local task="${INSTALL_TASK_IPK}"
-
- split_multilib_packages
-
- local package_to_install="${INSTALL_PACKAGES_NORMAL_IPK}"
- local package_multilib="${INSTALL_PACKAGES_MULTILIB_IPK}"
-
- mkdir -p ${target_rootfs}${OPKGLIBDIR}/opkg
- touch ${target_rootfs}${OPKGLIBDIR}/opkg/status
-
- local ipkg_args="${OPKG_ARGS}"
-
- opkg-cl ${ipkg_args} update
-
- for i in ${package_linguas}; do
- opkg-cl ${ipkg_args} install $i
- done
-
- if [ ! -z "${package_to_install}" ]; then
- opkg-cl ${ipkg_args} install ${package_to_install}
- fi
-
- if [ ! -z "${package_attemptonly}" ]; then
- opkg-cl ${ipkg_args} install ${package_attemptonly} > "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" || true
- fi
-
- package_tryout_install_multilib_ipk
- if [ ! -z "${MULTILIB_CHECK_FILE}" ]; then
- #sanity check
- multilib_sanity_check ${target_rootfs} ${multilib_tryout_dirs} || exit 1
- fi
-
- if [ ! -z "${package_multilib}" ]; then
- opkg-cl ${ipkg_args} install ${package_multilib}
- fi
-}
-
-ipk_log_check() {
- target="$1"
- lf_path="$2"
-
- lf_txt="`cat $lf_path`"
- for keyword_die in "exit 1" "Collected errors" ERR Fail
- do
- if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
- then
- echo "log_check: There were error messages in the logfile"
- printf "log_check: Matched keyword: [$keyword_die]\n\n"
- echo "$lf_txt" | grep -v log_check | grep -C 5 "$keyword_die"
- echo ""
- do_exit=1
- fi
- done
- test "$do_exit" = 1 && exit 1
- true
-}
-
-#
-# Update the Packages index files in ${DEPLOY_DIR_IPK}
-#
-package_update_index_ipk () {
- #set -x
-
- ipkgarchs="${ALL_MULTILIB_PACKAGE_ARCHS} ${SDK_PACKAGE_ARCHS}"
-
- if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
- return
- fi
-
- packagedirs="${DEPLOY_DIR_IPK}"
- for arch in $ipkgarchs; do
- packagedirs="$packagedirs ${DEPLOY_DIR_IPK}/$arch"
- done
-
- multilib_archs="${MULTILIB_ARCHS}"
- for arch in $multilib_archs; do
- packagedirs="$packagedirs ${DEPLOY_DIR_IPK}/$arch"
- done
-
- found=0
- for pkgdir in $packagedirs; do
- if [ -e $pkgdir/ ]; then
- found=1
- touch $pkgdir/Packages
- flock $pkgdir/Packages.flock -c "opkg-make-index -r $pkgdir/Packages -p $pkgdir/Packages -m $pkgdir/"
- fi
- done
- if [ "$found" != "1" ]; then
- bbfatal "There are no packages in ${DEPLOY_DIR_IPK}!"
- fi
-}
-
-#
-# Generate an ipkg conf file ${IPKGCONF_TARGET} suitable for use against
-# the target system and an ipkg conf file ${IPKGCONF_SDK} suitable for
-# use against the host system in sdk builds
-#
-package_generate_ipkg_conf () {
- package_generate_archlist
- 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="${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
-}
-
-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="${ALL_MULTILIB_PACKAGE_ARCHS}"
- priority=1
- for arch in $ipkgarchs; do
- echo "arch $arch $priority" >> ${IPKGCONF_TARGET}
- priority=$(expr $priority + 5)
- done
-}
-
python do_package_ipk () {
import re, copy
import textwrap