From 64fd48256092ca52b48924c4b5cd873fd66dc985 Mon Sep 17 00:00:00 2001
From: Sertonix <sertonix@posteo.net>
Date: Tue, 18 Mar 2025 12:44:04 +0100
Subject: [PATCH] abuild: add patch_args_cfg to allow custom patch defaults
 from abuild.conf

---
 abuild.conf.in | 4 ++++
 abuild.in      | 7 ++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/abuild.conf.in b/abuild.conf.in
index 5db5a6ca..11a83e72 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 aeb4d8de..2b6c7e5c 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
-- 
GitLab