This fixed FS#9403.  With this you can use "makepkg -sr", install the
dependencies, Ctrl+c during the makedepends installation and have
makepkg remove the installed packages on the exit.  Previously makepkg
tried to also remove the makedepends which were not installed.

The deplist="" line in remove_deps is due to an obscure bug where local
varaibles from the handle_deps function seem stay in scope because we
never formally exited it.

Signed-off-by: Allan McRae <[EMAIL PROTECTED]>
---
 scripts/makepkg.sh.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ae19983..379e9d8 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -362,11 +362,10 @@ resolve_deps() {
        local deplist="$(check_deps $*)"
        if [ "$deplist" = "" ]; then
                return $R_DEPS_SATISFIED
-       else
-               pkgdeps="$pkgdeps $deplist"
        fi
 
        if handledeps $deplist; then
+               pkgdeps="$pkgdeps $deplist"
                # check deps again to make sure they were resolved
                deplist="$(check_deps $*)"
                [ "$deplist" = "" ] && return $R_DEPS_SATISFIED
@@ -390,6 +389,7 @@ remove_deps() {
        [ "$pkgdeps" = "" ] && return
 
        local dep depstrip deplist
+       deplist=""
        for dep in $pkgdeps; do
                depstrip=$(echo $dep | sed -e 's|=.*$||' -e 's|>.*$||' -e 
's|<.*$||')
                deplist="$deplist $depstrip"
-- 
1.5.6.4


_______________________________________________
pacman-dev mailing list
[email protected]
http://archlinux.org/mailman/listinfo/pacman-dev

Reply via email to