#!/bin/bash export LANG=en_US.UTF-8 WEBROOT=${WEBROOT:-$HOME/www} function timestamp { date "+%Y%m%d %H:%M %z" } function unix_timestamp { date "+%s" } function melpa { timestamp timestamp > $WEBROOT/status.txt echo "building..." >> $WEBROOT/status.txt MELPADIR=${MELPADIR:-$HOME/melpa} MELPABRANCH=${MELPABRANCH:-master} PATH=$HOME/.cabal/bin:$HOME/usr/bin:$HOME/bin:$PATH [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" ENVLOG=$HOME/log/melpaenv.log env > ${ENVLOG} STDOUT=`mktemp` STDERR=`mktemp` ## git pull cd ${MELPADIR} git pull origin ${MELPABRANCH} &>> ${STDOUT} echo >> ${STDOUT} MELPASTDOUT=`mktemp` ## run the script cd ${MELPADIR} make 1>> ${MELPASTDOUT} 2>> ${STDERR} ## sync to the web directory rsync -avz --delete ${MELPADIR}/packages ${MELPADIR}/html/* ${WEBROOT}/ 1>> ${STDOUT} 2>> ${STDERR} chmod -R go+r ${WEBROOT}/packages/* chmod -R go-x ${WEBROOT}/packages/* /usr/sbin/logrotate -s $HOME/log/logrotate.state $HOME/log/melpa.logrotate 1>> ${STDOUT} 2>> ${STDERR} EMAIL=`mktemp` echo "Subject: Melpa status `timestamp`" > ${EMAIL} cat ${MELPASTDOUT} ${STDOUT} ${ENVLOG} ${STDERR} >> ${EMAIL} /usr/sbin/sendmail dcurtis@milkbox.net < ${EMAIL} cat ${ENVLOG} ${STDERR} ${STDOUT} | tee $WEBROOT/lastrun.txt timestamp > $WEBROOT/status.txt echo "completed" >> $WEBROOT/status.txt echo '{"completed":' `unix_timestamp` '}' > $WEBROOT/build-status.json } if [[ `cat $WEBROOT/updatemelpa.txt` == 1 ]] ; then echo "Running MELPA" echo "2" > $WEBROOT/updatemelpa.txt melpa echo "0" > $WEBROOT/updatemelpa.txt fi