Initial Linux ZFS GIT Repo
[zfs.git] / scripts / update-zfs.sh
1 #!/bin/bash
2
3 PROG=update-zfs.sh
4 ZFS_SRC=http://dlc.sun.com/osol/on/downloads/b89/on-src.tar.bz2
5
6 die() {
7         rm -Rf $SRC
8         echo "${PROG}: $1" >&2
9         exit 1
10 }
11
12 DEST=`pwd`
13 if [ `basename $DEST` != "scripts" ]; then
14         die "Must be run from scripts directory"
15 fi
16
17 SRC=`mktemp -d /tmp/zfs.XXXXXXXXXX`
18 DEST=`dirname $DEST`
19 DATE=`date +%Y%m%d%H%M%S`
20
21 wget $ZFS_SRC
22
23 echo "--- Updating ZFS source ---"
24 echo
25 echo "ZFS_REPO       = $ZFS_REPO"
26 echo "ZFS_PATCH_REPO = $ZFS_PATCH_REPO"
27 echo "SRC            = $SRC"
28 echo "DEST           = $DEST"
29
30 echo
31 echo "--- Cloning $ZFS_REPO ---"
32 cd $SRC || die "Failed to 'cd $SRC'"
33 hg clone $ZFS_REPO || die "Failed to clone $ZFS_REPO"
34
35 echo
36 echo "--- Cloning $ZFS_PATCH_REPO ---"
37 hg clone $ZFS_PATCH_REPO patches || die "Failed to clone $ZFS_PATCH_REPO"
38
39 echo
40 echo "--- Backing up existing files ---"
41 echo "$DEST/zfs -> $DEST/zfs.$DATE"
42 cp -Rf $DEST/zfs $DEST/zfs.$DATE || die "Failed to backup"
43 echo "$DEST/zfs_patches -> $DEST/zfs_patches.$DATE"
44 cp -Rf $DEST/zfs_patches $DEST/zfs_patches.$DATE || die "Failed to backup"
45
46 echo
47 echo "--- Overwriting $DEST/zfs and $DEST/zfs_patches ---"
48 find $SRC/trunk/src/ -name SConstruct -type f -print | xargs /bin/rm -f
49 find $SRC/trunk/src/ -name SConscript -type f -print | xargs /bin/rm -f
50 find $SRC/trunk/src/ -name *.orig -type f -print | xargs /bin/rm -f
51 rm -f $SRC/trunk/src/myconfig.py
52 cp -Rf $SRC/trunk/src/* $DEST/zfs || die "Failed to overwrite"
53 cp -Rf $SRC/patches/*.patch $DEST/zfs_patches/patches/ || die "Failed to overwrite"
54 cp -f $SRC/patches/series $DEST/zfs_patches/series/zfs-lustre
55
56 echo
57 echo "--- Removing $SRC ---"
58 rm -Rf $SRC
59