summaryrefslogtreecommitdiffstats
path: root/make.conf-repatch.sh
diff options
context:
space:
mode:
Diffstat (limited to 'make.conf-repatch.sh')
-rw-r--r--make.conf-repatch.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/make.conf-repatch.sh b/make.conf-repatch.sh
new file mode 100644
index 000000000..6589e6b62
--- /dev/null
+++ b/make.conf-repatch.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+die() {
+ echo "ERROR: $*" > /dev/stderr
+ patch -p0 make.conf < make.conf.diff
+ exit 1
+}
+
+if [ ! -f "make.conf" -o ! -f "make.conf.x86.diff" -o ! -d ".svn" ]; then
+ echo "ERROR: current directory is invalid" > /dev/stderr
+ exit 1
+fi
+
+svn diff make.conf > make.conf.diff
+svn revert make.conf
+
+for x in make.conf.*.diff; do
+ archs="$archs $(basename ${x:10} .diff)"
+done
+
+
+for arch in $archs; do
+ echo "* Patching $arch"
+ cp make.conf make.conf.$arch || die "copy failed"
+ patch -p0 make.conf.$arch < make.conf.${arch}.diff > /dev/null || die "arch-patch failed"
+ patch -p0 make.conf.$arch < make.conf.diff > /dev/null || die "patch failed"
+done
+
+echo "* Re-patching make.conf"
+patch -p0 make.conf < make.conf.diff > /dev/null || die "repatch failed"
+
+for arch in $archs; do
+ echo "* Creating diff for $arch"
+ diff -u make.conf make.conf.$arch > make.conf.${arch}.diff
+ [ -z "${KEEP_ARCH_MAKE_CONF}" ] && rm -f make.conf.$arch make.conf.${arch}.orig
+done
+
+rm make.conf.diff
+
+echo "Done" \ No newline at end of file