#!/bin/sh : ${BASE=/Builds/packages} : ${SUMDIR=${BASE}/summary} : ${RBIN=R} : ${sync=yes} if [ -z "${OUTDIR}" ]; then OUTDIR=${SUMDIR}/out rm -rf ${OUTDIR} fi R_scripts_dir=${SUMDIR} check_dir=${SUMDIR} VER=`echo 'cat(paste(R.version$major,round(as.numeric(R.version$minor)),sep="."))'| ${RBIN} --slave --no-save` if [ -z "$VER" ]; then echo "**ERROR: cannot retrieve R version" >&2 exit 1 fi if [ ! -e "${OUTDIR}" ]; then mkdir "${OUTDIR}"; fi # we need some CRAN packages, so use Rlib R_LIBS=${BASE}/tiger-universal/Rlib/${VER} ${RBIN} --slave --no-save <<EOF source("${R_scripts_dir}/check.R") index=file("${OUTDIR}/index","w") bioc=read.table("${BASE}/bioc.repos",F,sep="|") dirs=c(".",as.character(bioc[[1]])) for (dir in dirs) { fdir=file.path("${SUMDIR}",dir) sumf=file.path(fdir,"summary.psv") odir=file.path("${OUTDIR}",dir) if (!file.exists(odir)) system(paste("mkdir -p",odir)) html=file.path(odir,"summary.html") cat("fdir:",fdir,"\nsumf:",sumf,"\nhtml:",html,"\n") write.table(check_summary(fdir),sumf,row.names=F,col.names=T,quote=F,sep="|") cat(paste("cat",sumf,"|${SUMDIR}/reformat >",html,"\n")) system(paste("cat",sumf,"|${SUMDIR}/reformat >",html)) #rhtml=paste("<a href=",dir,"/summary.html>",dir,"</a><p>\n",sep='') writeLines(dir, index) } close(index) EOF DIRS=`cat ${OUTDIR}/index` sed -e 's|.*|<a href=&/index.html>&</a>\ \ \ |' ${OUTDIR}/index > ${OUTDIR}/navi.html for dir in ${DIRS}; do echo " --- ${dir}" lns=`sed -n 's|.*http://www.R-project.org/nosvn/R.check/R-2.5-macosx/\(.*\)-00check.html.*|\1|p' ${OUTDIR}/${dir}/summary.html` for f in ${lns}; do echo " $f" "${SUMDIR}/chk2html" "${SUMDIR}/${dir}/R-2.5-macosx/PKGS/$f.Rcheck/00check.log" "${OUTDIR}/${dir}/$f-00check.html" if grep 00install "${OUTDIR}/${dir}/$f-00check.html" >/dev/null; then "${SUMDIR}/inst2html" "${SUMDIR}/${dir}/R-2.5-macosx/PKGS/$f.Rcheck/00install.out" > "${OUTDIR}/${dir}/$f-00install.html" fi done echo "sed -e s|http://www.R-project.org/nosvn/R.check/R-2.5-macosx/|| ${OUTDIR}/${dir}/summary.html > ${OUTDIR}/${dir}/a.html" echo "<head>~<title>Check result index for $dir</title>~</head>~<body bgcolor=white style='font-family: meta, arial, helvetica; font-size: 11pt'>~<h2>Check result index for $dir</h2><b>Date: " | sed 'y/~/\n/' > "${OUTDIR}/${dir}/index.html" date >> "${OUTDIR}/${dir}/index.html" echo "</b><p>" >> "${OUTDIR}/${dir}/index.html" if [ "${dir}" = . ]; then echo "<hr><b>Other reports:</b> " >> "${OUTDIR}/${dir}/index.html" cat "${OUTDIR}/navi.html" >> "${OUTDIR}/${dir}/index.html" echo "<hr><p>" >> "${OUTDIR}/${dir}/index.html" fi sed -e "s|http://www.R-project.org/nosvn/R.check/R-2.5-macosx/||" "${OUTDIR}/${dir}/summary.html" >> "${OUTDIR}/${dir}/index.html" echo "</body></html>" >> "${OUTDIR}/${dir}/index.html" done if [ "${sync}" = "yes" ]; then rsync --rsync-path ./rsync -e ssh -av --delete "${OUTDIR}/" r:wwwfiles/results/ fi