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:
parent
5e4882dfe8
commit
67f388c3fc
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user