From ac7080cf69a94904c97374e3d660ffd58c5a800a Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Wed, 9 Dec 2009 16:06:06 -0500 Subject: crossdev: improve cleaning of toolchains Handle random states of the portage db and clean up more binutils links. Signed-off-by: Mike Frysinger --- crossdev | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'crossdev') diff --git a/crossdev b/crossdev index 12f31bd..80ed509 100755 --- a/crossdev +++ b/crossdev @@ -254,17 +254,21 @@ uninstall() { fi done - if [[ ! -d /var/db/pkg/cross-${CTARGET} ]] ; then - eerror "${CTARGET} is not installed." - exit 1 + rmdir /var/db/pkg/cross-${CTARGET} 2>/dev/null + if [[ -d /var/db/pkg/cross-${CTARGET} ]] ; then + export CLEAN_DELAY=0 + cd /var/db/pkg + for p in cross-${CTARGET}/* ; do + emerge -qC =${p} || exit 1 + done + else + ewarn "${CTARGET}: no packages installed" fi - - export CLEAN_DELAY=0 - cd /var/db/pkg - for p in cross-${CTARGET}/* ; do - emerge -C =${p} || exit 1 - done - for b in addr2line ar as c++filt ld nm objcopy objdump ranlib readelf size strings strip ; do + for b in \ + addr2line ar as c++filt dlltool dllwrap embedspu \ + gprof ld nm objcopy objdump ranlib readelf \ + size strings strip windmc windres + do rm -f /usr/bin/${CTARGET}-${b} /usr/${CTARGET}/bin/${b} done rm -f /usr/${CTARGET}/{sys-include,usr} @@ -280,7 +284,7 @@ uninstall() { fi done rm -f /etc/env.d/{binutils,gcc}/config-${CTARGET} - rmdir /var/db/pkg/cross-${CTARGET} + [[ -e /var/db/pkg/cross-${CTARGET} ]] && rmdir /var/db/pkg/cross-${CTARGET} exit 0 } -- cgit v1.2.3-65-gdbad