From d5236b612903840e41337e81577ae4a16c8aeabf Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sat, 1 Nov 2003 18:59:40 +0000 Subject: New script savelocaltweaks. --- savelocaltweaks | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 savelocaltweaks (limited to 'savelocaltweaks') diff --git a/savelocaltweaks b/savelocaltweaks new file mode 100755 index 0000000..601838c --- /dev/null +++ b/savelocaltweaks @@ -0,0 +1,36 @@ +#!/bin/sh + +targetdir=/tmp/localtweaks + +origfiles="`cd /etc && find . -name '*.orig'`" +oldfiles="`cd /etc && find . -name '*.old'`" + +# merge all to only process once when both .orig and .old exist +files="`echo $origfiles $oldfiles | tsort`" + +for file in $files; do + olddir="/etc/`dirname $file`" + newdir="$targetdir/`dirname $file`" + oldname="`basename $file`" + newname="`basename $file .orig`" + if [ ! -e $olddir/$newname.orig ]; then + newname="`basename $file .old`" + fi + if [ "$oldname" = "$newname" ]; then + echo "FATAL: file is neither .orig nor .old: \"$file\"!" + exit 1 + fi + if [ ! -e $olddir/$oldname ]; then + echo "FATAL: file found disappeared again: \"$file\"!" + exit 1 + fi + mkdir -p $newdir + cp -af $olddir/$newname $newdir + + # Only diff against non-empty files. + if [ -s $olddir/$oldname ]; then + diff -ruN $olddir/$oldname $olddir/$newname > $newdir/$newname.diff + chmod --reference=$olddir/$newname $newdir/$newname.diff + chown --reference=$olddir/$newname $newdir/$newname.diff + fi +done -- cgit v1.2.3