#!/usr/bin/rc ## DOC: cran2deb build_some [taskview1 taskview2 ...] ## DOC: build some packages, logging warnings into ./warn/$package ## DOC: and failures into ./fail/$package. with no arguments a random ## DOC: sample of packages is built. the file ./all_pkgs overrides this ## DOC: behaviour and is expected to be a list of packages to build. ## DOC: mkdir -p warn fail shift if [ ! -e all_pkgs ]; then cran2deb cran_pkgs $* >all_pkgs fi for pkg in $(cat all_pkgs); do if (~ $pkg *..* */*) { echo bad name $pkg >>fail/ERROR } else if ([ -e warn/$pkg ]) { echo skipping $pkg... } else if ([ -e fail/$pkg ]) { echo skipping failed $pkg... } else { echo -n .. package $pkg fail=0 cran2deb build $pkg >fail/$pkg >[2=1] || fail=1 if (~ $fail 0) { echo success grep '^[WE]:' fail/$pkg >warn/$pkg # if (~ `{stat -c '%s' warn/$pkg} 0) { # rm -f warn/$pkg # } rm -f fail/$pkg } else { echo FAILED } } done