#!/bin/sh # depends: common runX11 fixtar dtree : ${BASE=/Builds/packages} RBUILDS=$BASE # SKIPCHKD=1 : skip if pkg was already checked # ERRONLY=1 : skip pkg that were checked successfully (looks for *.Rcheck/00install.out) # don't check Suggests: dependencies to avoid cross-repos problems export _R_CHECK_FORCE_SUGGESTS_=false : ${CRANBASE=$RBUILDS/CRAN} if [ "${CRANBASE}" = "${RBUILDS}/CRAN" ]; then plain_cran=yes fi : ${METABASE=$CRANBASE/meta} PKGSRCDIR=$CRANBASE/src/contrib METASRCDIR=`echo $PKGSRCDIR|sed -e "s|$CRANBASE|$METABASE|"` PKGDEP=$CRANBASE/dep.list if [ -n "$CUSTOM" ]; then RBUILDS=`pwd` CRANBASE=$RBUILDS PKGSRCDIR=$RBUILDS/$CUSTOM PKGDEP=$CRANBASE/dep.list fi OWD=`pwd` . $RBUILDS/common # TeX architecture (always native) tarch=$arch if [ arch == ppc ]; then tarch=powerpc; fi # /sw/bin for makeinfo, teTeX for latex PATH=/usr/local/bin:/usr/local/teTeX/bin/${tarch}-apple-darwin-current:$PATH export PATH : ${RBIN=R} if [ -z "$RBIN" ]; then echo "RBIN must be either unset or non-empty" exit 1 fi echo "RBUILDS: $RBUILDS" echo "base: $CRANBASE" echo "sources: $PKGSRCDIR" echo "meta: $METASRCDIR" echo "RBIN: $RBIN" X11OK=no if ps ax|grep 'X[v]fb :4' > /dev/null; then X11OK=yes; fi if [ $X11OK = no -a -z "$FORCE" ]; then echo "*** Xvfb :4 is not running. Please use FORCE=1 if you want to continue anyway ***" >&2 echo "FAILED: X11 is not running" > $BASE/FAILED-X11 # echo " - starting virtual X11" # nohup $RBUILDS/runX11 & exit 5 fi DISPLAY=:4 export DISPLAY : ${sanity=yes} # now we get it from common RVER=$rver RSVER=`echo $RVER|sed 's/\([0-9]\{1,\}\.[0-9]\{1,\}\).*/\1/'` echo "R version $RVER" if [ -z "$RVER" ]; then echo "Cannot find usable R." exit 1; fi if [ -z "$SKIP_CHK" ]; then SKIP_CHK=no fi if [ $SKIP_CHK != no ]; then SKIP_CHK=yes fi if [ -z "$UPDATE" ]; then UPDATE=no fi if [ $UPDATE != no ]; then UPDATE=yes fi if [ -z "$CHK_ONLY" ]; then CHK_ONLY=no fi if [ $CHK_ONLY != no ]; then CHK_ONLY=yes if [ $SKIP_CHK == yes ]; then echo "Conflicting flags, CHK_ONLY and SKIP_CHK cannot be both 'yes'." >&2 exit 1 fi fi echo " SKIP_CHK: $SKIP_CHK" echo " CHK_ONLY: $CHK_ONLY" echo " UPDATE : $UPDATE" : ${OUTBASE=$RBUILDS} BINOSX=$OUTBASE/$biname/bin/$RSVER : ${RLIB=$RBUILDS/$biname/Rlib/$RSVER} if [ "${plain_cran}" = yes -a -z "${NOBIOC}" ]; then biocsd=`head -n 1 ${RBUILDS}/bioc.repos` : ${RLIBS=$RLIB:${RBUILDS}/BIOC.new/bin/${biocsd}/${biname}/Rlib/${RSVER}} else : ${RLIBS=$RLIB} fi CHKRES=$OUTBASE/$biname/results/$RSVER STOPFILE=$RBUILDS/stop.$RSVER echo "OUTPUT:" echo " Rlib: $RLIB" echo " bin : $BINOSX" echo " res : $CHKRES" echo "RLIBS=$RLIBS" rm -f $STOPFILE RNAME=`openssl rand -base64 6|sed 'y|/|-|'` #rm -rf /tmp/R* 2> /dev/null BLDIR=/tmp/CRAN.bld.$biname.$RNAME rm -rf $BLDIR 2> /dev/null mkdir -p $BLDIR 2> /dev/null #rm -rf $CHKRES 2> /dev/null mkdir -p $CHKRES 2> /dev/null mkdir -p $BINOSX 2> /dev/null mkdir -p $RLIB 2> /dev/null echo "Building package dependency tree.." echo "(from $PKGSRCDIR)" if [ -e "$PKGSRCDIR/Descriptions" ]; then ./dtreem --desc $PKGSRCDIR/Descriptions $PKGSRCDIR $EXTRAREPOS > $PKGDEP else if [ -e "$METASRCDIR" ]; then ./dtreem --desc $METASRCDIR $PKGSRCDIR $EXTRAREPOS > $PKGDEP else ./dtreem $PKGSRCDIR $EXTRAREPOS > $PKGDEP fi fi echo "Checking all packages.." PKGLIST=`cat $PKGDEP` if [ -n "$FAKE" ]; then echo " fake run requested, terminating." rm -rf $BLDIR 2> /dev/null exit 0 fi cd "${OWD}" rm -rf $BLDIR 2> /dev/null