* makepkg: Fix behavior of -Ssr: deps were not being correctly removed before.
This commit is contained in:
parent
62d0a00511
commit
b882f463df
1 changed files with 26 additions and 12 deletions
|
@ -177,9 +177,6 @@ in_array() {
|
||||||
}
|
}
|
||||||
|
|
||||||
checkdeps() {
|
checkdeps() {
|
||||||
local missdep=""
|
|
||||||
local deplist=""
|
|
||||||
|
|
||||||
[ $# -gt 0 ] || return
|
[ $# -gt 0 ] || return
|
||||||
|
|
||||||
pmout=$(pacman $PACMAN_OPTS -T $*)
|
pmout=$(pacman $PACMAN_OPTS -T $*)
|
||||||
|
@ -196,6 +193,8 @@ checkdeps() {
|
||||||
handledeps() {
|
handledeps() {
|
||||||
local missingdeps=0
|
local missingdeps=0
|
||||||
local deplist="$*"
|
local deplist="$*"
|
||||||
|
local depstrip=""
|
||||||
|
local striplist=""
|
||||||
local haveperm=0
|
local haveperm=0
|
||||||
if [ \( "$EUID" = "0" -a "$INFAKEROOT" != "1" \) -o "$SUDO" = 1 ]; then
|
if [ \( "$EUID" = "0" -a "$INFAKEROOT" != "1" \) -o "$SUDO" = 1 ]; then
|
||||||
haveperm=1
|
haveperm=1
|
||||||
|
@ -296,16 +295,16 @@ resolvedeps() {
|
||||||
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
|
||||||
deplist=$(checkdeps ${depends[@]})
|
newdeplist=$(checkdeps ${depends[@]})
|
||||||
if [ -n "${deplist}" ]; then
|
if [ -n "${newdeplist}" ]; then
|
||||||
error "Failed to install missing dependencies."
|
error "Failed to install missing dependencies."
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${deplist}" ]; then
|
if [ -n "${newdeplist}" ]; then
|
||||||
msg "Missing Dependencies:"
|
msg "Missing Dependencies:"
|
||||||
for dep in ${deplist}; do
|
for dep in ${newdeplist}; do
|
||||||
msg2 "${dep}"
|
msg2 "${dep}"
|
||||||
done
|
done
|
||||||
return 1
|
return 1
|
||||||
|
@ -316,20 +315,30 @@ resolvedeps() {
|
||||||
|
|
||||||
# fix flyspray bug #5923
|
# fix flyspray bug #5923
|
||||||
removedeps() {
|
removedeps() {
|
||||||
if [ "$RMDEPS" = "1" -a "$SUDO" = "1" -a \( ! -z "$deplist" -o ! -z "$makedeplist" \) ]; then
|
# runtimedeps and makedeps are set when resolving deps
|
||||||
|
local deplist="$runtimedeps $makedeps"
|
||||||
|
local depstrip=""
|
||||||
|
local striplist=""
|
||||||
|
|
||||||
|
for dep in $deplist; do
|
||||||
|
depstrip=$(echo $dep | sed 's|=.*$||' | sed 's|>.*$||' | sed 's|<.*$||')
|
||||||
|
striplist="$striplist $depstrip"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$RMDEPS" = "1" -a "$SUDO" = "1" -a -n "$deplist" ]; then
|
||||||
msg "Removing installed dependencies..."
|
msg "Removing installed dependencies..."
|
||||||
if [ "$INFAKEROOT" = "1" ]; then
|
if [ "$INFAKEROOT" = "1" ]; then
|
||||||
export FAKEROOTKEY2=$FAKEROOTKEY
|
export FAKEROOTKEY2=$FAKEROOTKEY
|
||||||
unset FAKEROOTKEY
|
unset FAKEROOTKEY
|
||||||
fi
|
fi
|
||||||
sudo pacman $PACMAN_OPTS -Rs $makedeplist $deplist
|
sudo pacman $PACMAN_OPTS -Rs $striplist
|
||||||
if [ "$INFAKEROOT" = "1" ]; then
|
if [ "$INFAKEROOT" = "1" ]; then
|
||||||
export FAKEROOTKEY=$FAKEROOTKEY2
|
export FAKEROOTKEY=$FAKEROOTKEY2
|
||||||
unset FAKEROOTKEY2
|
unset FAKEROOTKEY2
|
||||||
fi
|
fi
|
||||||
elif [ "$RMDEPS" = "1" -a "$EUID" = "0" -a "$INFAKEROOT" != "1" -a \( ! -z "$deplist" -o ! -z "$makedeplist" \) ]; then
|
elif [ "$RMDEPS" = "1" -a "$EUID" = "0" -a "$INFAKEROOT" != "1" -a -n "$deplist" ]; then
|
||||||
msg "Removing installed dependencies..."
|
msg "Removing installed dependencies..."
|
||||||
pacman $PACMAN_OPTS -Rs $makedeplist $deplist
|
pacman $PACMAN_OPTS -Rs $striplist
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -605,7 +614,6 @@ fi
|
||||||
|
|
||||||
msg "Making package: $pkgname $pkgver-$pkgrel ($(date))"
|
msg "Making package: $pkgname $pkgver-$pkgrel ($(date))"
|
||||||
|
|
||||||
unset deplist makedeplist
|
|
||||||
# fix flyspray bug #5973
|
# fix flyspray bug #5973
|
||||||
if [ "$NODEPS" = "1" -o "$GENINTEG" = "1" -o "$NOBUILD" = "1" -o "$REPKG" = "1" ]; then
|
if [ "$NODEPS" = "1" -o "$GENINTEG" = "1" -o "$NOBUILD" = "1" -o "$REPKG" = "1" ]; then
|
||||||
if [ "$NODEPS" = "1" ]; then
|
if [ "$NODEPS" = "1" ]; then
|
||||||
|
@ -614,15 +622,21 @@ if [ "$NODEPS" = "1" -o "$GENINTEG" = "1" -o "$NOBUILD" = "1" -o "$REPKG" = "1"
|
||||||
# skip printing a warning message for the others: geninteg, nobuild, repkg
|
# skip printing a warning message for the others: geninteg, nobuild, repkg
|
||||||
elif [ $(type -p pacman) ]; then
|
elif [ $(type -p pacman) ]; then
|
||||||
deperr=0
|
deperr=0
|
||||||
|
# these two variables are needed later by removedeps
|
||||||
|
unset runtimedeps makedeps
|
||||||
|
|
||||||
msg "Checking Runtime Dependencies..."
|
msg "Checking Runtime Dependencies..."
|
||||||
resolvedeps ${depends[@]}
|
resolvedeps ${depends[@]}
|
||||||
|
# deplist is a global variable set by resolvedeps
|
||||||
|
runtimedeps="$deplist"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
deperr=1
|
deperr=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg "Checking Buildtime Dependencies..."
|
msg "Checking Buildtime Dependencies..."
|
||||||
resolvedeps ${makedepends[@]}
|
resolvedeps ${makedepends[@]}
|
||||||
|
# deplist is a global variable set by resolvedeps
|
||||||
|
makedeps="$deplist"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
deperr=1
|
deperr=1
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Reference in a new issue