summaryrefslogtreecommitdiffstats
path: root/scripts/makepkg.sh.in
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-11-30 22:34:25 -0600
committerDan McGee <dan@archlinux.org>2011-11-30 22:34:25 -0600
commit1d98c6347c9622d4334f80fc59623da524b4f37b (patch)
treeca1284032ee13c73a625f6261ac2bde2bfbc708e /scripts/makepkg.sh.in
parent86b5b7aa4215b7408ccf1ec8368988af327703fb (diff)
parent5490cd6eb22752d2eac5410152d239c50224dbc1 (diff)
downloadpacman-1d98c6347c9622d4334f80fc59623da524b4f37b.tar.xz
Merge branch 'maint'
Diffstat (limited to 'scripts/makepkg.sh.in')
-rw-r--r--scripts/makepkg.sh.in16
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