abuild: provide a list of patches that failed
Try all patches and return of list of patches that failed rather than exit on first failed patch.
This commit is contained in:
parent
14a81655e4
commit
ff11a9a0a8
16
abuild.in
16
abuild.in
|
@ -687,7 +687,7 @@ have_patches() {
|
|||
}
|
||||
|
||||
default_prepare() {
|
||||
local i
|
||||
local i failed=
|
||||
[ -n "$builddir" -a -d "$builddir" ] && cd "$builddir"
|
||||
if ! have_patches; then
|
||||
return 0
|
||||
|
@ -697,18 +697,26 @@ default_prepare() {
|
|||
case ${i%::*} in
|
||||
*.patch)
|
||||
msg "${i%::*}"
|
||||
patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || return 1
|
||||
patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
|
||||
;;
|
||||
*.patch.gz)
|
||||
msg "${i%::*}"
|
||||
gunzip -c "$srcdir/$(filename_from_uri $i)" | patch ${patch_args:--p1} || return 1
|
||||
gunzip -c "$srcdir/$(filename_from_uri $i)" | patch ${patch_args:--p1} || failed="$failed $i"
|
||||
;;
|
||||
*.patch.xz)
|
||||
msg "${i%::*}"
|
||||
unxz -c "$srcdir/$(filename_from_uri $i)" | patch ${patch_args:--p1} || return 1
|
||||
unxz -c "$srcdir/$(filename_from_uri $i)" | patch ${patch_args:--p1} || failed="$failed $i"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if [ -z "$failed" ]; then
|
||||
return 0
|
||||
fi
|
||||
error "The following patches failed to apply:"
|
||||
for i in $failed; do
|
||||
printf " %s\n" "$i"
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
prepare() {
|
||||
|
|
Loading…
Reference in New Issue