79d73c646e76b4cca30845eb5d1b4e0116749f3b scripts/makepkg.in | 80 ++++++++++++++++++++++----------------------------- 1 files changed, 35 insertions(+), 45 deletions(-) diff --git a/scripts/makepkg.in b/scripts/makepkg.in index 6ae4d8b..9a212e9 100644 --- a/scripts/makepkg.in +++ b/scripts/makepkg.in @@ -231,10 +231,9 @@ handledeps() { [ $# -eq 0 ] && return $R_DEPS_SATISFIED local deplist="$*" - local striplist dep depstrip + local dep striplist for dep in $deplist; do - depstrip="$(echo $dep | sed -e 's|=.*$||' -e 's|>.&$||' -e 's|<.*$||')" - striplist="$striplist $depstrip" + striplist="$striplist $(echo $dep | sed -e 's|=.*$||' -e 's|>.*$||' -e 's|<.*$||')" done You just don't want to let me win this one, do you? :P I figured I'd keep it two lines for clarity. if [ "$DEP_SRC" = "0" -a "$DEP_BIN" = "0" ]; then @@ -303,11 +302,16 @@ handledeps() { } resolvedeps() { + # $pkgdeps is a GLOBAL variable, used by removedeps() local R_DEPS_SATISFIED=0 - local R_DEPS_MISSING=0 + local R_DEPS_MISSING=1 - deplist="$(checkdeps $*)" - [ "$deplist" = "" ] && return $R_DEPS_SATISFIED + local deplist="$(checkdeps $*)" + if [ "$deplist" = "" ]; then + return $R_DEPS_SATISFIED + else + pkgdeps="$pkgdeps $deplist" + fi if handledeps $deplist; then # check deps again to make sure they were resolved @@ -328,24 +332,20 @@ resolvedeps() { # fix flyspray bug #5923 removedeps() { + # $pkgdeps is a GLOBAL variable, set by resolvedeps() [ "$RMDEPS" = "0" ] && return + [ "$pkgdeps" = "" ] && return - # runtimedeps and buildtimedeps are set when resolving deps - local deplist="$runtimedeps $buildtimedeps" - - [ "$deplist" = "" ] && return - - local striplist dep depstrip - for dep in $deplist; do - depstrip="$(echo $dep | sed -e 's|=.*$||' -e 's|>.&$||' -e 's|<.*$||')" - striplist="$striplist $depstrip" + local dep striplist + for dep in $pkgdeps; do + deplist="$deplist $(echo $dep | sed -e 's|=.*$||' -e 's|>.*$||' -e 's|<.*$||')" done Same as above. msg "Removing installed dependencies..." if [ "$ASROOT" = "0" ]; then - sudo pacman $PACMAN_OPTS -Rs $striplist + sudo pacman $PACMAN_OPTS -Rs $deplist else - pacman $PACMAN_OPTS -Rs $striplist + pacman $PACMAN_OPTS -Rs $deplist fi } @@ -508,18 +508,21 @@ extract_sources() { cmd="gunzip -d -f $file" ;; *application/x-bzip*) cmd="bunzip2 -f $file" ;; + *) + # Don't know what to use to extract this file, + # skip to the next file + continue;; esac - if [ "$cmd" != "" ]; then - msg2 "$cmd" - $cmd - if [ $? -ne 0 ]; then - # unzip will return a 1 as a warning, it is not an error - if [ "$unziphack" != "1" -o $? -ne 1 ]; then - error "$(gettext "Failed to extract %s")" "$file" - msg "$(gettext "Aborting...")" - exit 1 - fi + local ret=0 + msg2 "$cmd" + $cmd || ret=$? + if [ $ret -ne 0 ]; then + # unzip will return a 1 as a warning, it is not an error + if [ $unziphack -ne 1 -o $ret -ne 1 ]; then + error "$(gettext "Failed to extract %s")" "$file" + msg "$(gettext "Aborting...")" + exit 1 fi fi done @@ -746,8 +749,6 @@ create_package() { error "$(gettext "Failed to create package file.")" exit 1 # TODO: error code fi - - create_xdelta "$pkg_file" } create_xdelta() { @@ -1177,27 +1178,14 @@ if [ "$NODEPS" = "1" -o "$GENINTEG" = "1" -o "$NOBUILD" = "1" -o "$REPKG" = "1" fi # skip printing a warning message for the others: geninteg, nobuild, repkg elif [ $(type -p pacman) ]; then + unset pkgdeps # Set by resolvedeps() and used by removedeps() deperr=0 - # these two variables are needed later by removedeps - unset runtimedeps buildtimedeps msg "$(gettext "Checking Runtime Dependencies...")" - resolvedeps ${depends[@]} - ret=$? - # deplist is a global variable set by resolvedeps - runtimedeps="$deplist" - if [ "$ret" != "0" ]; then - deperr=1 - fi + resolvedeps ${depends[@]} || deperr=1 msg "$(gettext "Checking Buildtime Dependencies...")" - resolvedeps ${makedepends[@]} - ret=$? - # deplist is a global variable set by resolvedeps - buildtimedeps="$deplist" - if [ "$ret" != "0" ]; then - deperr=1 - fi + resolvedeps ${makedepends[@]} || deperr=1 if [ $deperr -eq 1 ]; then error "$(gettext "could not resolve all dependencies.")" @@ -1258,6 +1246,8 @@ else [ $ret -ne 0 ] && exit $ret unset ret fi + + create_xdelta "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" fi cd "$startdir" The rest looks good. -Dan