--- /dev/null
+#!/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 ]) {
+ cran2deb cran_pkgs $* >all_pkgs
+}
+
+for (pkg in `{cat all_pkgs}) {
+ 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
+ }
+ }
+}