* makepkg: a few more changes to get dependencies working correctly. If a

user does not install all required dependencies, makepkg will now bail.
This commit is contained in:
Dan McGee 2007-03-20 02:13:44 +00:00
parent b882f463df
commit 0fa7d47a4d

View file

@ -217,7 +217,7 @@ handledeps() {
fi fi
sudo pacman $PACMAN_OPTS -S $striplist sudo pacman $PACMAN_OPTS -S $striplist
if [ $? -eq 1 ]; then if [ $? -eq 1 ]; then
error "Failed to install missing dependencies." error "Pacman failed to install missing dependencies."
exit 1 exit 1
fi fi
if [ "$INFAKEROOT" = "1" ]; then if [ "$INFAKEROOT" = "1" ]; then
@ -229,7 +229,7 @@ handledeps() {
msg "Installing missing dependencies..." msg "Installing missing dependencies..."
pacman $PACMAN_OPTS -S $striplist pacman $PACMAN_OPTS -S $striplist
if [ $? -eq 1 ]; then if [ $? -eq 1 ]; then
error "Failed to install missing dependencies." error "Pacman failed to install missing dependencies."
exit 1 exit 1
fi fi
elif [ "$DEP_SRC" = "1" ]; then elif [ "$DEP_SRC" = "1" ]; then
@ -290,18 +290,24 @@ handledeps() {
} }
resolvedeps() { resolvedeps() {
deplist=""
newdeplist=""
deplist=$(checkdeps $*) deplist=$(checkdeps $*)
if [ -n "${deplist}" ]; then if [ -n "${deplist}" ]; then
handledeps $deplist handledeps $deplist
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
# check deps again to make sure they were resolved # check deps again to make sure they were resolved
newdeplist=$(checkdeps ${depends[@]}) newdeplist=$(checkdeps $*)
if [ -n "${newdeplist}" ]; then if [ -n "${newdeplist}" ]; then
error "Failed to install missing dependencies." error "Failed to install all missing dependencies."
fi fi
else
newdeplist="$deplist"
fi fi
fi fi
# if new dep list is not empty, print the list
if [ -n "${newdeplist}" ]; then if [ -n "${newdeplist}" ]; then
msg "Missing Dependencies:" msg "Missing Dependencies:"
for dep in ${newdeplist}; do for dep in ${newdeplist}; do
@ -315,8 +321,8 @@ resolvedeps() {
# fix flyspray bug #5923 # fix flyspray bug #5923
removedeps() { removedeps() {
# runtimedeps and makedeps are set when resolving deps # runtimedeps and buildtimedeps are set when resolving deps
local deplist="$runtimedeps $makedeps" local deplist="$runtimedeps $buildtimedeps"
local depstrip="" local depstrip=""
local striplist="" local striplist=""
@ -623,21 +629,23 @@ if [ "$NODEPS" = "1" -o "$GENINTEG" = "1" -o "$NOBUILD" = "1" -o "$REPKG" = "1"
elif [ $(type -p pacman) ]; then elif [ $(type -p pacman) ]; then
deperr=0 deperr=0
# these two variables are needed later by removedeps # these two variables are needed later by removedeps
unset runtimedeps makedeps unset runtimedeps buildtimedeps
msg "Checking Runtime Dependencies..." msg "Checking Runtime Dependencies..."
resolvedeps ${depends[@]} resolvedeps ${depends[@]}
ret=$?
# deplist is a global variable set by resolvedeps # deplist is a global variable set by resolvedeps
runtimedeps="$deplist" runtimedeps="$deplist"
if [ $? -ne 0 ]; then if [ "$ret" != "0" ]; then
deperr=1 deperr=1
fi fi
msg "Checking Buildtime Dependencies..." msg "Checking Buildtime Dependencies..."
resolvedeps ${makedepends[@]} resolvedeps ${makedepends[@]}
ret=$?
# deplist is a global variable set by resolvedeps # deplist is a global variable set by resolvedeps
makedeps="$deplist" buildtimedeps="$deplist"
if [ $? -ne 0 ]; then if [ "$ret" != "0" ]; then
deperr=1 deperr=1
fi fi