summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel M. Capella <polyzen@archlinux.org>2022-06-04 21:32:51 +0000
committerDaniel M. Capella <polyzen@archlinux.org>2022-06-04 21:32:51 +0000
commit262b4db195d5b65c71b24ba48780c133580c4f2f (patch)
tree7c806cece5b47aa871eda943179c36693f8bb6de
parentf4e91e231cf158e4389f8dfc7e76a31f1bd613e4 (diff)
parentbb26f1418d37d15c9758186e12bc0508250303e6 (diff)
Merge branch 'pacdiff-merge-fixes' into 'master'
Small but important fixes for pacdiff's merge action See merge request pacman/pacman-contrib!15
-rw-r--r--src/pacdiff.sh.in9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/pacdiff.sh.in b/src/pacdiff.sh.in
index 43b5e5b..79caefc 100644
--- a/src/pacdiff.sh.in
+++ b/src/pacdiff.sh.in
@@ -99,7 +99,8 @@ base_cache_tar() {
# unlikely that this will fail, but better make sure
pushd "$cachedir" &>/dev/null || die "failed to chdir to '%s'" "$cachedir"
- find "$PWD" -name "$package-[0-9]*.pkg.tar*" | pacsort --files | sed -ne '2p'
+ find "$PWD" -name "$package-[0-9]*.pkg.tar*" ! -name '*.sig' |
+ pacsort --files --reverse | sed -ne '2p'
popd &>/dev/null
}
@@ -121,7 +122,11 @@ merge_file() {
base="$(mktemp "$tempdir"/"$basename.base.XXX")"
merged="$(mktemp "$tempdir"/"$basename.merged.XXX")"
- tar -xOf "$base_tar" "${file#/}" >"$base"
+ if ! bsdtar -xqOf "$base_tar" "${file#/}" >"$base"; then
+ msg2 "Unable to extract the previous version of this file."
+ return 1
+ fi
+
if $mergeprog "$file" "$base" "$pacfile" >"$merged"; then
msg2 "Merged without conflicts."
fi