#!/bin/sh # By "Julian Stacey" from # ~jhs/public_html/src/bsd/jhs/bin/local/mail/ctm-freebsd-svn-incoming # For all comment see ctm-freebsd-cvs-incoming. notify=freebsd-ctm-svn-notify type=svn-cur base=/pub/FreeBSD/development/FreeBSD-SVN prog=$0 PATH=/bin:/sbin:/usr/sbin:/usr/bin ; export PATH umask 022 # ; UMASK=022 ; export UMASK TMPDIR=/tmp ; export TMPDIR id="`id` Failed to" test="`id` test" prog_pid="$prog pid=$$" prog_failed_error="$prog_pid Error: Failed" prog_failed_warning="$prog_pid Warning: Failed" # (echo "$prog_pid start" | mail -s "$prog_pid start" $notify ) logdir=/pub/FreeBSD/development/CTM log=$logdir/$type.log pieces=/pub/FreeBSD/development/CTM/$type deltas=/pub/FreeBSD/development/CTM/$type HOME=$logdir ; export HOME for object in $log $pieces/.dummy $deltas/.dummy do # (echo "$prog_pid $test $object" | \ # mail -s "$prog_pid $test $object" $notify ) touch $object || \ ( echo "$id touch $object" | \ mail -s "$prog_failed_error" $notify ; \ exit 1 ) done nice ctm_rmail -u -l $log -p $pieces -d $deltas -b $base # | mail -s "$prog_pid result" $notify 2>&1 cd $deltas xx=`ls -t | grep .xz | head -1` chmod 444 $xx nice md5 $xx >> $logdir/$type.md5 private="" # private="$private /usr/svn" # /usr/svn -> /pri/FreeBSD/development/FreeBSD-SVN private="$private /pri/FreeBSD/development/FreeBSD-SVN" private="$private /pub/FreeBSD/development/FreeBSD-SVN" # no equiv in ctm-freebsd-cvs-incoming: # private="$private /pub/FreeBSD/development/FreeBSD-SVN" echo "" >> /tmp/ctm-freebsd-svn-incoming.log date >> /tmp/ctm-freebsd-svn-incoming.log for another_base in ${private}; do echo xxb Loop Start another_base ${another_base} >> \ /tmp/ctm-freebsd-svn-incoming.log if [ -d ${another_base} ]; then cd ${another_base} # /usr/svn -> /pri/FreeBSD/development/FreeBSD-SVN # it makes it to next echo echo "xxc pwd:`pwd` /bin/pwd:`/bin/pwd`" \ >> /tmp/ctm-freebsd-svn-incoming.log echo "xxd $deltas/$xx" \ >> /tmp/ctm-freebsd-svn-incoming.log echo "xxe .ctm_status: `cat .ctm_status`" >> \ /tmp/ctm-freebsd-svn-incoming.log echo "xxf about to ctm $deltas/$xx" >> \ /tmp/ctm-freebsd-svn-incoming.log ctm $deltas/$xx 2>&1 >> /tmp/ctm-freebsd-svn-incoming.log echo "xxg .ctm_status: `cat .ctm_status`" >> \ /tmp/ctm-freebsd-svn-incoming.log echo xxh >> /tmp/ctm-freebsd-svn-incoming.log fi echo xxi Loop Stop another_base ${another_base} >> \ /tmp/ctm-freebsd-svn-incoming.log done echo xxj >> /tmp/ctm-freebsd-svn-incoming.log exit 0