#!/bin/bash
# Rdiff-backup installation script for OS X 10.5.1
#
# Version 0.1
#
# Changelog:
# 2008/05/14 - Initial version - Aaron Ten Clay <aaron@madebyai.com>
#

# Define which versions of the software packages we want.
# Note that librsync version 0.9.7 requires a patch for 4GB+ file sizes.
RDIFF_VERSION="1.1.12"
XATTR_VERSION="0.4"
LIBRSYNC_VERSION="0.9.7"


# Define installation prefix for librsync. Python packages are installed with prefix=/
PREFIX="/usr/local"

# Exit on errors
set -o errexit
# Exit if using unset variable
set -o nounset

# Download URIs
RDIFF_URI="http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-${RDIFF_VERSION}.tar.gz"
XATTR_URI="http://pypi.python.org/packages/source/x/xattr/xattr-0.4.tar.gz"
LIBRSYNC_URI="http://downloads.sourceforge.net/librsync/librsync-${LIBRSYNC_VERSION}.tar.gz"
LIBRSYNC_PATCH_URI="https://sourceforge.net/tracker/download.php?group_id=56125&atid=479441&file_id=169866&aid=1439412"


# Download the necessary sources
curl -L -O "${RDIFF_URI}"
curl -L -O "${XATTR_URI}"
curl -L -O "${LIBRSYNC_URI}"
[[ "$LIBRSYNC_VERSION" == "0.9.7" ]] && curl --insecure -L -o librsync-4gbpatch.patch "${LIBRSYNC_PATCH_URI}"


# librsync
tar -zxvf librsync-${LIBRSYNC_VERSION}.tar.gz
cd librsync-${LIBRSYNC_VERSION}
[[ "$LIBRSYNC_VERSION" == "0.9.7" ]] && patch -i ../librsync-4gbpatch.patch
./configure --prefix="${PREFIX}"
make
sudo make install
cd ..


# xattr
tar -zxvf xattr-${XATTR_VERSION}.tar.gz
cd xattr-${XATTR_VERSION}
python setup.py build
sudo python setup.py install
cd ..


# Rdiff-backup
tar -zxvf rdiff-backup-${RDIFF_VERSION}.tar.gz
cd rdiff-backup-${RDIFF_VERSION}
python setup.py build
sudo python setup.py install
cd ..


echo -e "\n\nInstallation complete!"
echo "I've left all the temporary files in this directory in case you want to uninstsall the software later."
echo "Happy rdiff-backuping!"
