diff options
author | Werner Koch <wk@gnupg.org> | 1998-01-27 21:48:42 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 1998-01-27 21:48:42 +0100 |
commit | 129dbca300d3e417734b8366e2ddb90ac3e23afd (patch) | |
tree | b5a8e4447e94d3964addbee9d8bc8e4ab280ea07 | |
parent | Rewritten (diff) | |
download | gnupg2-129dbca300d3e417734b8366e2ddb90ac3e23afd.tar.xz gnupg2-129dbca300d3e417734b8366e2ddb90ac3e23afd.zip |
Utility to make a pacth file
-rwxr-xr-x | scripts/mkdiff | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/scripts/mkdiff b/scripts/mkdiff new file mode 100755 index 000000000..9db701916 --- /dev/null +++ b/scripts/mkdiff @@ -0,0 +1,74 @@ +#!/bin/sh + +set -e + +curr_ver=$(ls g10-*.tar.gz | sort -r -t '.' -n +0.4 -1 +1 -2 +2 \ + | head -1 | sed -e 's/g10-\(.*\).tar.gz/\1/' ) +prev_ver=$(ls g10-*.tar.gz | sort -r -t '.' -n +0.4 -1 +1 -2 +2 \ + | head -2 | tail -1 | sed -e 's/g10-\(.*\).tar.gz/\1/' ) + +echo "Current is: $curr_ver" +echo "Previous is: $prev_ver" + +echo "Removing old directories" +[ -d "g10-$curr_ver" ] && rm -rf "g10-$curr_ver" +[ -d "g10-$prev_ver" ] && rm -rf "g10-$prev_ver" + +echo "Unpacking previous and current tar" +tar xzf "g10-$curr_ver.tar.gz" +tar xzf "g10-$prev_ver.tar.gz" + +echo "Diffing" +tmp_name="g10-$curr_ver.diff.tmp" +diff_name="g10-$curr_ver.diff" + +diff -urN "g10-$prev_ver/" "g10-$curr_ver/" > $tmp_name || true + +echo "Making patch file" + +cat <<EOF > $diff_name + +This is a patch file against $prev_ver. + +Change to directory g10-$prev_ver (or however you renamed it) +and give this command: + + zcat somepath/g10-$curr_ver.diff.gz | patch -p1 + +It is a good idea to rename your current directory to g10-$curr_ver now. + + + +Prereq: $prev_ver + +EOF + +sed -ne '/^diff.*VERSION/,/^+[0-9][0-9]*/ p' $tmp_name >> $diff_name +sed -e '/^diff.*VERSION/,/^+[0-9][0-9]*/ d' $tmp_name >> $diff_name + +rm $tmp_name + +echo "Compressing patch file" +gzip -9 $diff_name + +echo "Checking patch file" +cd g10-$prev_ver +zcat ../$diff_name.gz | patch -s -p1 +rm $(find . -name "*.orig") +cd .. + +if ! diff -urN "g10-$prev_ver/" "g10-$curr_ver/" >/dev/null ; then + echo "compare failed" + exit 1 +fi + + +echo "cleaning up" + +rm -rf "g10-$curr_ver" +rm -rf "g10-$prev_ver" + +echo "Patch file $diff_name.gz is good." + + + |