#! /bin/sh -
### ====================================================================
### Make a new TeX Live daily snapshot (but do nothing if it already
### exists), rsync'ing differences from a base snapshot to save time.
###
### Usage:
###	./make-texlive-snapshot-2017.sh
###
### [04-Feb-2017] -- adapt from make-texlive-snapshot-2016.sh for 2017 builds
### [04-Mar-2016] -- adapt from make-texlive-snapshot-2015.sh for 2016 builds
### [28-Mar-2015] -- Update for 2015
### [19-Apr-2012]
### ====================================================================

IFS='
 	'

PATH=/usr/local/bin:/bin:/usr/bin
export PATH

YMD=`date +%Y%m%d`
BASESHOT=${BASESHOT:=texlive-20170204}
SNAPSHOT=texlive-$YMD
YEAR=`date +%Y`
test -d $YEAR || mkdir $YEAR

## Create a corresponding log directory if one does not yet exist
test -d logs/$YEAR/$SNAPSHOT || mkdir -p logs/$YEAR/$SNAPSHOT

test -d $YEAR/$SNAPSHOT && echo $YEAR/$SNAPSHOT already exists && exit 1

cd $YEAR
mkdir $SNAPSHOT || exit 1
cd $SNAPSHOT
(cd ../$BASESHOT; tar cf - . ) | tar xf -
cd ..

## Suppress useless display of directories by final grep stage
/usr/local/bin/rsync -av --delete --exclude=.svn tug.org::tldevsrc/Build/source $SNAPSHOT 2>&1 | grep -v '/$'

env GZIP=-9 tar cfz ../$SNAPSHOT.tar.gz $SNAPSHOT

test -r $BASESHOT -a -r $SNAPSHOT && diff -r $BASESHOT $SNAPSHOT > foo.dif.$YMD 2>&1

cd ..

ls -l $SNAPSHOT.tar.gz
