diff options
Diffstat (limited to 'meta/classes/rootfs_deb.bbclass')
| -rw-r--r-- | meta/classes/rootfs_deb.bbclass | 92 |
1 files changed, 23 insertions, 69 deletions
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index e03e80bdb0..10af4b5ff0 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass @@ -2,82 +2,36 @@ # Copyright 2006-2007 Openedhand Ltd. # -ROOTFS_PKGMANAGE = "run-postinsts dpkg apt" -ROOTFS_PKGMANAGE_BOOTSTRAP = "run-postinsts" +ROOTFS_PKGMANAGE = "dpkg apt" do_rootfs[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot" +do_populate_sdk[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot bzip2-native:do_populate_sysroot" do_rootfs[recrdeptask] += "do_package_write_deb" +do_rootfs[vardeps] += "PACKAGE_FEED_URIS" -opkglibdir = "${localstatedir}/lib/opkg" - -fakeroot rootfs_deb_do_rootfs () { - set +e - - mkdir -p ${IMAGE_ROOTFS}/var/dpkg/alternatives - - # update index - package_update_index_deb - - #install packages - export INSTALL_ROOTFS_DEB="${IMAGE_ROOTFS}" - export INSTALL_BASEARCH_DEB="${DPKG_ARCH}" - export INSTALL_ARCHS_DEB="${PACKAGE_ARCHS}" - export INSTALL_PACKAGES_NORMAL_DEB="${PACKAGE_INSTALL}" - export INSTALL_PACKAGES_ATTEMPTONLY_DEB="${PACKAGE_INSTALL_ATTEMPTONLY}" - export INSTALL_PACKAGES_LINGUAS_DEB="${LINGUAS_INSTALL}" - export INSTALL_TASK_DEB="rootfs" - - package_install_internal_deb - - - export D=${IMAGE_ROOTFS} - export OFFLINE_ROOT=${IMAGE_ROOTFS} - export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} - export OPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} +do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" +do_populate_sdk[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock" - _flag () { - sed -i -e "/^Package: $2\$/{n; s/Status: install ok .*/Status: install ok $1/;}" ${IMAGE_ROOTFS}/var/dpkg/status - } - _getflag () { - cat ${IMAGE_ROOTFS}/var/dpkg/status | sed -n -e "/^Package: $2\$/{n; s/Status: install ok .*/$1/; p}" - } - - # Attempt to run preinsts - # Mark packages with preinst failures as unpacked - for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.preinst; do - if [ -f $i ] && ! sh $i; then - _flag unpacked `basename $i .preinst` - fi - done - - # Attempt to run postinsts - # Mark packages with postinst failures as unpacked - for i in ${IMAGE_ROOTFS}/var/dpkg/info/*.postinst; do - if [ -f $i ] && ! sh $i configure; then - _flag unpacked `basename $i .postinst` - fi - done - - set -e - - install -d ${IMAGE_ROOTFS}/${sysconfdir} - echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version +python rootfs_deb_bad_recommendations() { + if d.getVar("BAD_RECOMMENDATIONS"): + bb.warn("Debian package install does not support BAD_RECOMMENDATIONS") +} +do_rootfs[prefuncs] += "rootfs_deb_bad_recommendations" - # Hacks to allow opkg's update-alternatives and opkg to coexist for now - mkdir -p ${IMAGE_ROOTFS}${opkglibdir} - if [ -e ${IMAGE_ROOTFS}/var/dpkg/alternatives ]; then - rmdir ${IMAGE_ROOTFS}/var/dpkg/alternatives - fi - ln -s ${opkglibdir}/alternatives ${IMAGE_ROOTFS}/var/dpkg/alternatives - ln -s /var/dpkg/info ${IMAGE_ROOTFS}${opkglibdir}/info - ln -s /var/dpkg/status ${IMAGE_ROOTFS}${opkglibdir}/status +DEB_POSTPROCESS_COMMANDS = "" - ${ROOTFS_POSTPROCESS_COMMAND} +opkglibdir = "${localstatedir}/lib/opkg" - log_check rootfs +python () { + # Map TARGET_ARCH to Debian's ideas about architectures + darch = d.getVar('SDK_ARCH') + if darch in ["x86", "i486", "i586", "i686", "pentium"]: + d.setVar('DEB_SDK_ARCH', 'i386') + elif darch == "x86_64": + d.setVar('DEB_SDK_ARCH', 'amd64') + elif darch == "arm": + d.setVar('DEB_SDK_ARCH', 'armel') } -remove_packaging_data_files() { - rm -rf ${IMAGE_ROOTFS}${opkglibdir} - rm -rf ${IMAGE_ROOTFS}/usr/dpkg/ -} +# This will of course only work after rootfs_deb_do_rootfs or populate_sdk_deb has been called +DPKG_QUERY_COMMAND = "${STAGING_BINDIR_NATIVE}/dpkg-query --admindir=$INSTALL_ROOTFS_DEB/var/lib/dpkg" |
