From d950ef40a3eae4b54cc62828e66d84a62d78c447 Mon Sep 17 00:00:00 2001 From: Laurentiu Palcu Date: Mon, 13 Jan 2014 10:16:43 +0200 Subject: Cleanup image,rootfs_ipk,package_ipk bbclass files This commit cleans up the functions that were ported to python. Signed-off-by: Laurentiu Palcu --- meta/classes/image.bbclass | 38 -------- meta/classes/package_ipk.bbclass | 197 +-------------------------------------- meta/classes/rootfs_ipk.bbclass | 109 +--------------------- 3 files changed, 4 insertions(+), 340 deletions(-) (limited to 'meta') diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 0b35c719fd..ffe05c9040 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -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} < "`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 diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index f97f027804..9d63450dd1 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass @@ -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', '') } -- cgit 1.2.3-korg