]> git.pld-linux.org Git - packages/chromium-browser.git/blob - make-diff-patch.sh
sync clean source script
[packages/chromium-browser.git] / make-diff-patch.sh
1 #!/bin/sh
2 # Create .patch based on $1 for $2
3 src=$1
4 dst=$2
5
6 unpack() {
7         case "$1" in
8                 *.tgz|*.tar.[Zz]|*.tar.gz) tar zx${verbose:+v}f "$1" ;;
9                 *.tar) tar x${verbose:+v}f "$1" ;;
10                 *.tbz2|*.tbz|*.tar.bz2) tar jx${verbose:+v}f "$1" ;;
11                 *.tar.xz) xz -dc "$1" | tar x${verbose:+v} ;;
12                 *.tar) tar x${verbose:+v}f "$1" ;;
13                 *)
14                          echo >&2 "Don't know how to unpack $1"
15                          return 1
16                 ;;
17         esac
18 }
19
20 # unpack all sources in commandline
21 for a in "$@"; do
22         unpack "$a"
23 done
24
25 set -e
26
27 srcdir=$(basename ${src%.tar.*})
28 dstdir=$(basename ${dst%.tar.*})
29 patch=$dstdir.patch
30
31 test -d $srcdir || unpack $src
32 test -d $dstdir || unpack $dst
33 if diff -Nur $srcdir $dstdir > $patch; then
34         echo "No diffs!"
35         rm $patch
36 else
37         echo "Patch created"
38         ls -lh $patch
39         diffstat $patch | tee $patch.diff
40         cat $patch.diff $patch | xz -9 > $patch.xz
41         rm $patch.diff $patch
42 fi
43
44 rm -rf $dstdir $srcdir
This page took 0.026943 seconds and 3 git commands to generate.