aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-05-30 00:33:52 -0400
committerMike Frysinger <vapier@gentoo.org>2015-05-30 00:37:38 -0400
commitad3b55a6ebe3af2eb795cdbd9b80ce2bb424ea6c (patch)
treee0619e5b02b6071d905c6662bfa72a43cd3ea135 /crossdev
parentconfig.site: fix site accumulation yet some more (diff)
downloadcrossdev-ad3b55a6ebe3af2eb795cdbd9b80ce2bb424ea6c.tar.gz
crossdev-ad3b55a6ebe3af2eb795cdbd9b80ce2bb424ea6c.tar.bz2
crossdev-ad3b55a6ebe3af2eb795cdbd9b80ce2bb424ea6c.zip
crossdev: use qmerge for unmerging packages
The latest version of qmerge should be reliable when it comes to unmerge, so start using that when uninstalling targets. It's significantly faster than emerge. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'crossdev')
-rwxr-xr-xcrossdev11
1 files changed, 2 insertions, 9 deletions
diff --git a/crossdev b/crossdev
index 677b5ae..b5f9245 100755
--- a/crossdev
+++ b/crossdev
@@ -416,15 +416,8 @@ uninstall() {
rm -f /etc/revdep-rebuild/05cross-${CTARGET}
rmdir /etc/revdep-rebuild 2>/dev/null
- 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
- local pkgs=( cross-${CTARGET}/* )
- emerge -qC ${pkgs[@]/#/=} || exit 1
- else
- ewarn "${CTARGET}: no packages installed; will clean out known files"
- fi
+ # Unmerge all toolchain packages for this target.
+ qmerge -Uqy $(qlist -IC "cross-${CTARGET}/")
# clean out known toolchain files (binutils/gcc)
for f in \