X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=branch%2Fsplit_build%2Fexec%2Fbuild_some;fp=branch%2Fsplit_build%2Fexec%2Fbuild_some;h=da105fdb37b286797376f167c3f7a53302a97078;hb=42bff07893104a11db95c8d65fe518a336463351;hp=0000000000000000000000000000000000000000;hpb=f0817a2fbc3df0f5daad0a9e1a11d9f295218c0a;p=cran2deb.git diff --git a/branch/split_build/exec/build_some b/branch/split_build/exec/build_some new file mode 100755 index 0000000..da105fd --- /dev/null +++ b/branch/split_build/exec/build_some @@ -0,0 +1,37 @@ +#!/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 + } + } +}