Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=5af7b65a749ffee68a5e1d563568a77f1b1ac023
commit 5af7b65a749ffee68a5e1d563568a77f1b1ac023
Author: crazy <[EMAIL PROTECTED]>
Date: Mon Feb 11 14:29:53 2008 +0100
makepkg: chroot_clean() add missing checks
* add missing check for chroot_clean() to see whatever the chroot dir exists
* before the patch : - sudo makepkg -t foo,bar -C - touch: cannot touch
`/data/chroot/chroot.crazy/foo,bar/var/tmp/fst/lock': No such file or directory
- ==> Removing unnecessary packages. - /usr/sbin/chroot: cannot change root
directory to /data/chroot/chroot.crazy/foo,bar: No such file or directory -
/usr/sbin/chroot: cannot change root directory to
/data/chroot/chroot.crazy/foo,bar: No such file or directory - ==> Cleaning
chroot.
* after : - sudo ./makepkg -t foo,bar -C - ==> ERROR:
/data/chroot/chroot.crazy/foo,bar does not exist, can't clean a non-existing
chroot.
diff --git a/scripts/makepkg b/scripts/makepkg
index 523fba4..cfecd1a 100755
--- a/scripts/makepkg
+++ b/scripts/makepkg
@@ -398,27 +398,32 @@ chroot_clean()
{
if [ "$CHROOT" = "1" ]; then
$ECHO $CHROOTDIR |grep -q $TREE$ || CHROOTDIR="$CHROOTDIR/$TREE"
- chroot_lock
- msg "Removing unnecessary packages."
- for i in "$COREPKGS"
- do
- corelist="$corelist `/usr/sbin/chroot $CHROOTDIR
pacman-g2 -Sg $i |grep -v '^\w'`"
- done
- for i in `/usr/sbin/chroot $CHROOTDIR pacman-g2 -Q|sed 's/\([^
]*\) .*/\1/'`
- do
- if ! $ECHO $corelist |grep -q $i; then
- removelist="$removelist $i"
- fi
- done
- if [ ! -z "$removelist" ]; then
- /usr/sbin/chroot $CHROOTDIR pacman-g2 -Rcn $removelist
--noconfirm
- if [ "$?" != "0" ]; then
- error "Failed to remove packages."
- exit 1
+ if [ -d "$CHROOTDIR" ]; then
+ chroot_lock
+ msg "Removing unnecessary packages."
+ for i in "$COREPKGS"
+ do
+ corelist="$corelist `/usr/sbin/chroot
$CHROOTDIR pacman-g2 -Sg $i |grep -v '^\w'`"
+ done
+ for i in `/usr/sbin/chroot $CHROOTDIR pacman-g2 -Q|sed
's/\([^ ]*\) .*/\1/'`
+ do
+ if ! $ECHO $corelist |grep -q $i; then
+ removelist="$removelist $i"
+ fi
+ done
+ if [ ! -z "$removelist" ]; then
+ /usr/sbin/chroot $CHROOTDIR pacman-g2 -Rcn
$removelist --noconfirm
+ if [ "$?" != "0" ]; then
+ error "Failed to remove packages."
+ exit 1
+ fi
fi
+ msg "Cleaning chroot."
+ rm -rf $CHROOTDIR/var/tmp/fst/*
+ else
+ error "$CHROOTDIR does not exist, can't clean a
non-existing chroot."
+ exit 1
fi
- msg "Cleaning chroot."
- rm -rf $CHROOTDIR/var/tmp/fst/*
fi
}
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git