]> git.pld-linux.org Git - packages/chromium-browser.git/blob - make-diff-patch.sh
add missing unpack() method
[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 ext=.tar.xz
6
7 unpack() {
8         case "$1" in
9                 *.tgz|*.tar.[Zz]|*.tar.gz) tar zx${verbose:+v}f "$1" ;;
10                 *.tar) tar x${verbose:+v}f "$1" ;;
11                 *.tbz2|*.tbz|*.tar.bz2) tar jx${verbose:+v}f "$1" ;;
12                 *.tar.xz) xz -dc "$1" | tar x${verbose:+v} ;;
13                 *.tar) tar x${verbose:+v}f "$1" ;;
14                 *)
15                          echo >&2 "Don't know how to unpack $1"
16                          return 1
17                 ;;
18         esac
19 }
20
21 # unpack all sources in commandline
22 for a in "$@"; do
23         unpack "$a"
24 done
25
26 set -e
27
28 srcdir=$(basename $src $ext)
29 dstdir=$(basename $dst $ext)
30 patch=$dstdir.patch
31
32 test -d $srcdir || unpack $src
33 test -d $dstdir || unpack $dst
34 if diff -Nur $srcdir $dstdir > $patch; then
35         echo "No diffs!"
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 fi
42
43 rm -rf $dstdir $srcdir
This page took 0.427834 seconds and 4 git commands to generate.