diff --git a/abuild.conf.in b/abuild.conf.in index 5db5a6ca5d52bf69d67e21b40889b3666b81c973..11a83e72f6448418828889a00d44606b51810910 100644 --- a/abuild.conf.in +++ b/abuild.conf.in @@ -27,3 +27,7 @@ # uncomment to prevent using global cache directories for Go and Cargo #MOVE_CACHES=1 + +# uncomment to create .orig files when patches don't align. May change +# build output +#patch_args_cfg="--backup-if-mismatch" diff --git a/abuild.in b/abuild.in index aeb4d8de901735305edcab51d6943f36a1b2e69a..2b6c7e5c175c6e5628627b49c96acab4a9c369ad 100644 --- a/abuild.in +++ b/abuild.in @@ -733,19 +733,20 @@ default_prepare() { return 0 fi [ -d "$builddir" ] || { error "Is \$builddir set correctly?"; return 1; } + local args="$patch_args_cfg ${patch_args:--p1}" for i in $source; do case ${i%::*} in *.patch) msg "${i%::*}" - POSIXLY_CORRECT=1 patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i" + POSIXLY_CORRECT=1 patch $args -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i" ;; *.patch.gz) msg "${i%::*}" - gunzip -c "$srcdir/$(filename_from_uri $i)" | POSIXLY_CORRECT=1 patch ${patch_args:--p1} || failed="$failed $i" + gunzip -c "$srcdir/$(filename_from_uri $i)" | POSIXLY_CORRECT=1 patch $args || failed="$failed $i" ;; *.patch.xz) msg "${i%::*}" - unxz -c "$srcdir/$(filename_from_uri $i)" | POSIXLY_CORRECT=1 patch ${patch_args:--p1} || failed="$failed $i" + unxz -c "$srcdir/$(filename_from_uri $i)" | POSIXLY_CORRECT=1 patch $args || failed="$failed $i" ;; esac done