diff options
author | Dan McGee <dan@archlinux.org> | 2011-12-01 05:34:25 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-12-01 05:34:25 +0100 |
commit | 1d98c6347c9622d4334f80fc59623da524b4f37b (patch) | |
tree | ca1284032ee13c73a625f6261ac2bde2bfbc708e /scripts/makepkg.sh.in | |
parent | 86b5b7aa4215b7408ccf1ec8368988af327703fb (diff) | |
parent | 5490cd6eb22752d2eac5410152d239c50224dbc1 (diff) | |
download | pacman-1d98c6347c9622d4334f80fc59623da524b4f37b.tar.gz pacman-1d98c6347c9622d4334f80fc59623da524b4f37b.tar.xz |
Merge branch 'maint'
Diffstat (limited to 'scripts/makepkg.sh.in')
-rw-r--r-- | scripts/makepkg.sh.in | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 26a27899..0fa05dcb 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -506,15 +506,17 @@ remove_deps() { # check for packages removed during dependency install (e.g. due to conflicts) # removing all installed packages is risky in this case - if [[ -n $(comm -23 <(printf "%s\n" "${original_pkglist[@]}") \ - <(printf "%s\n" "${current_pkglist[@]}")) ]]; then - warning "$(gettext "Failed to remove installed dependencies.")" - return 0 + if [[ -n $(grep -xvFf <(printf '%s\n' "${current_packagelist[@]}") \ + <(printf '%s\n' "${original_packagelist[@]}") ) ]]; then + warning "$(gettext "Failed to remove installed dependencies.")" + return 0 fi - local deplist=($(comm -13 <(printf "%s\n" "${original_pkglist[@]}") \ - <(printf "%s\n" "${current_pkglist[@]}"))) - (( ${#deplist[@]} == 0 )) && return + local deplist + if ! deplist=($(grep -xvFf <(printf "%s\n" "${original_pkglist[@]}") \ + <(printf "%s\n" "${current_pkglist[@]}"))); then + return + fi msg "Removing installed dependencies..." # exit cleanly on failure to remove deps as package has been built successfully |