]> code.ossystems Code Review - openembedded-core.git/commitdiff
Cleanup image,rootfs_ipk,package_ipk bbclass files
authorLaurentiu Palcu <laurentiu.palcu@intel.com>
Mon, 13 Jan 2014 08:16:43 +0000 (10:16 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 11 Feb 2014 11:50:26 +0000 (11:50 +0000)
This commit cleans up the functions that were ported to python.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
meta/classes/image.bbclass
meta/classes/package_ipk.bbclass
meta/classes/rootfs_ipk.bbclass

index 0b35c719fda1adcdcc73c663b27ecbb679f3fded..ffe05c90402a00160b6ff89ff7a1823da668a978 100644 (file)
@@ -287,44 +287,6 @@ MULTILIBRE_ALLOW_REP =. "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${l
 MULTILIB_CHECK_FILE = "${WORKDIR}/multilib_check.py"
 MULTILIB_TEMP_ROOTFS = "${WORKDIR}/multilib"
 
-multilib_generate_python_file() {
-  cat >${MULTILIB_CHECK_FILE} <<EOF
-import sys, os, os.path
-import re,filecmp
-
-allow_rep=re.compile(re.sub("\|$","","${MULTILIBRE_ALLOW_REP}"))
-error_prompt="Multilib check error:"
-
-files={}
-dirs=raw_input()
-for dir in dirs.split():
-  for root, subfolders, subfiles in os.walk(dir):
-    for file in subfiles:
-      item=os.path.join(root,file)
-      key=str(os.path.join("/",os.path.relpath(item,dir)))
-
-      valid=True;
-      if key in files:
-        #check whether the file is allow to replace
-        if allow_rep.match(key):
-          valid=True
-        else:
-          if not filecmp.cmp(files[key],item):
-             valid=False
-             print("%s duplicate files %s %s is not the same\n" % (error_prompt, item, files[key]))
-             sys.exit(1)
-
-      #pass the check, add to list
-      if valid:
-        files[key]=item
-EOF
-}
-
-multilib_sanity_check() {
-  multilib_generate_python_file
-  echo $@ | python ${MULTILIB_CHECK_FILE}
-}
-
 # This function is intended to disallow empty root password if 'debug-tweaks' is not in IMAGE_FEATURES.
 zap_empty_root_password () {
        if [ -e ${IMAGE_ROOTFS}/etc/shadow ]; then
index 73446d6c59d1201d788110b87b5a1313f86c5aff..68c8580761eb874b34b11a774eeaad2881de1cfc 100644 (file)
@@ -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
index f97f0278047acca9352cef3f691f840e478a98a7..9d63450dd1ecfb7313e0d4ae2edc3705e56462f9 100644 (file)
@@ -15,117 +15,14 @@ rootfs_ipk_do_rootfs[vardepsexclude] += "BUILDNAME"
 
 do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock"
 
-OPKG_PREPROCESS_COMMANDS = "package_update_index_ipk; package_generate_ipkg_conf"
+OPKG_PREPROCESS_COMMANDS = ""
 
-OPKG_POSTPROCESS_COMMANDS = "ipk_insert_feed_uris; "
+OPKG_POSTPROCESS_COMMANDS = ""
 
 OPKGLIBDIR = "${localstatedir}/lib"
 
 MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg"
 
-fakeroot rootfs_ipk_do_rootfs () {
-       #set -x
-
-       rm -f ${IPKGCONF_TARGET}
-       touch ${IPKGCONF_TARGET}
-
-       ${OPKG_PREPROCESS_COMMANDS}
-
-       mkdir -p ${T}/
-       export INSTALL_CONF_IPK="${IPKGCONF_TARGET}"
-       export INSTALL_ROOTFS_IPK="${IMAGE_ROOTFS}"
-       STATUS=${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg/status
-       mkdir -p ${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg
-
-       opkg-cl ${OPKG_ARGS} update
-
-       # prime the status file with bits that we don't want
-       for i in ${BAD_RECOMMENDATIONS}; do
-               pkginfo="`opkg-cl ${OPKG_ARGS} info $i`"
-               if [ ! -z "$pkginfo" ]; then
-                       echo "$pkginfo" | awk "/^Status:/ { print \"Status: deinstall hold not-installed\n\" }" - >> $STATUS
-               else
-                       echo "Requested ignored recommendation $i is not a package"
-               fi
-       done
-
-       #install
-       export INSTALL_PACKAGES_ATTEMPTONLY_IPK="${PACKAGE_INSTALL_ATTEMPTONLY}"
-       export INSTALL_PACKAGES_LINGUAS_IPK="${LINGUAS_INSTALL}"
-       export INSTALL_TASK_IPK="rootfs"
-
-       
-       export INSTALL_PACKAGES_IPK="${PACKAGE_INSTALL}"
-
-       #post install
-       export D=${IMAGE_ROOTFS}
-       export OFFLINE_ROOT=${IMAGE_ROOTFS}
-       export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
-       export OPKG_OFFLINE_ROOT=${IPKG_OFFLINE_ROOT}
-       export INTERCEPT_DIR=${WORKDIR}/intercept_scripts
-       export NATIVE_ROOT=${STAGING_DIR_NATIVE}
-
-       package_install_internal_ipk
-
-       # Distro specific packages should create this
-       #mkdir -p ${IMAGE_ROOTFS}/etc/opkg/
-       #grep "^arch" ${IPKGCONF_TARGET} >${IMAGE_ROOTFS}/etc/opkg/arch.conf
-
-       rootfs_install_complementary
-
-       ${OPKG_POSTPROCESS_COMMANDS}
-       ${ROOTFS_POSTINSTALL_COMMAND}
-
-       install -d ${IMAGE_ROOTFS}/${sysconfdir}
-       echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
-
-       ${ROOTFS_POSTPROCESS_COMMAND}
-
-       if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then
-               delayed_postinsts="$(delayed_postinsts)"
-               if [ -n "$delayed_postinsts" ]; then
-                       bberror "The following packages could not be configured offline and rootfs is read-only: $delayed_postinsts"
-                       exit 1
-               fi
-       fi
-
-       rm -f ${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg/lists/*
-       log_check rootfs
-}
-
-rootfs_ipk_do_rootfs[vardeps] += "delayed_postinsts"
-
-delayed_postinsts () {
-       cat ${STATUS}|grep -e "^Package:" -e "^Status:"|sed -ne 'N;s/Package: \(.*\)\nStatus:.*unpacked/\1/p'
-}
-
-save_postinsts () {
-       # Scripts need to be ordered when executed, this ensures numeric order
-       # If we ever run into needing more the 899 scripts, we'll have to
-       # change num to start with 1000.
-       num=100
-       for p in $(delayed_postinsts); do
-               install -d ${IMAGE_ROOTFS}${sysconfdir}/ipk-postinsts
-               cp ${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg/info/$p.postinst ${IMAGE_ROOTFS}${sysconfdir}/ipk-postinsts/$num-$p
-               num=`echo \$((num+1))`
-       done
-}
-
-remove_packaging_data_files() {
-       rm -rf ${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg
-       # We need the directory for the package manager lock
-       mkdir ${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg
-}
-
-rootfs_install_packages() {
-       opkg-cl ${OPKG_ARGS} install `cat $1`
-}
-
-rootfs_uninstall_packages() {
-       opkg-cl ${OPKG_ARGS} --force-depends remove $@
-}
-
 ipk_insert_feed_uris () {
 
        echo "Building from feeds activated!"
@@ -163,7 +60,7 @@ python () {
         flags = flags.replace("do_deploy", "")
         flags = flags.replace("do_populate_sysroot", "")
         d.setVarFlag('do_rootfs', 'recrdeptask', flags)
-        d.setVar('OPKG_PREPROCESS_COMMANDS', "package_generate_archlist\nipk_insert_feed_uris")
+        d.setVar('OPKG_PREPROCESS_COMMANDS', "ipk_insert_feed_uris")
         d.setVar('OPKG_POSTPROCESS_COMMANDS', '')
 }