From: Denys Dmytriyenko Date: Wed, 3 Feb 2010 22:20:56 +0000 (-0500) Subject: meta-toolchain: introduce TOOLCHAIN_TARGET_EXCLUDE to uninstall unneeded deps X-Git-Tag: Release-2010-05/1~591 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3817a99cb61d7ae32c58b59b56e2eb68de30d6b3;p=openembedded.git meta-toolchain: introduce TOOLCHAIN_TARGET_EXCLUDE to uninstall unneeded deps TOOLCHAIN_TARGET_EXCLUDE is a list of packages to uninstall from the target portion of meta-toolchain/SDK, which were brought as dependencies, but not needed in the SDK. Useful to have only relevant libPKG and PKG-dev packages with libs and headers installed, while keeping the main PKG package with binaries out. Signed-off-by: Denys Dmytriyenko --- diff --git a/recipes/meta/meta-toolchain.bb b/recipes/meta/meta-toolchain.bb index e09778f82c..a8c27ecfda 100644 --- a/recipes/meta/meta-toolchain.bb +++ b/recipes/meta/meta-toolchain.bb @@ -14,6 +14,7 @@ IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDKPATH}/${TARGE TOOLCHAIN_HOST_TASK ?= "task-sdk-host" TOOLCHAIN_TARGET_TASK ?= "task-sdk-bare" +TOOLCHAIN_TARGET_EXCLUDE ?= "" FEED_ARCH ?= "${TARGET_ARCH}" SDK_SUFFIX = "toolchain" TOOLCHAIN_OUTPUTNAME ?= "${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}-${SDK_SUFFIX}" @@ -56,10 +57,18 @@ do_populate_sdk() { ${IPKG_TARGET} update ${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK} + # Remove packages in the exclude list which were installed by dependencies + if [ ! -z "${TOOLCHAIN_TARGET_EXCLUDE}" ]; then + ${IPKG_TARGET} remove -force-depends ${TOOLCHAIN_TARGET_EXCLUDE} + fi + install -d ${SDK_OUTPUT}/${SDKPATH}/usr/lib/opkg mv ${SDK_OUTPUT}/usr/lib/opkg/* ${SDK_OUTPUT}/${SDKPATH}/usr/lib/opkg/ rm -Rf ${SDK_OUTPUT}/usr/lib + # Clean up empty directories from excluded packages + find ${SDK_OUTPUT} -depth -type d -empty -print0 | xargs -0 /bin/rmdir + install -d ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir} install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}/