1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-22 15:58:50 -05:00

makepkg: add packages to pkgdeps list only after successful install

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 <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Allan McRae 2008-07-23 23:01:35 +10:00 committed by Dan McGee
parent 5e4882dfe8
commit 67f388c3fc

View File

@ -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"