[oe-commits] Denys Dmytriyenko : meta-toolchain: introduce TOOLCHAIN_TARGET_EXCLUDE to uninstall unneeded deps

git version control git at git.openembedded.org
Thu Feb 4 09:34:31 UTC 2010


Module: openembedded.git
Branch: shr/unstable
Commit: 3817a99cb61d7ae32c58b59b56e2eb68de30d6b3
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=3817a99cb61d7ae32c58b59b56e2eb68de30d6b3

Author: Denys Dmytriyenko <denis at denix.org>
Date:   Wed Feb  3 17:20:56 2010 -0500

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 <denis at denix.org>

---

 recipes/meta/meta-toolchain.bb |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/recipes/meta/meta-toolchain.bb b/recipes/meta/meta-toolchain.bb
index e09778f..a8c27ec 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}/
 





More information about the Openembedded-commits mailing list