]> git.donarmstrong.com Git - cran2deb.git/blob - pkg/trunk/exec/update
exec: drop bioc, more verbose version mismatch error, switch hoc to awk (more portable)
[cran2deb.git] / pkg / trunk / exec / update
1 #!/usr/bin/rc
2 umask 022
3 root=$1
4 shift
5 for (x in `{find $root/etc -type f -name '*.in'}) {
6     y=`{echo $x | sed -e 's,.in$,,'}
7     sed -e 's:@ROOT@:'^$root^':g' <$x >$y
8 }
9 mkdir -p /var/cache/cran2deb/results || exit 1
10 if ([ ! -e $root/var/archive ]) {
11     # I symbolically link this into /var/www/
12     mkdir $root/var/archive || exit 1
13 }
14 mini-dinstall --batch -c $root/etc/mini-dinstall.conf || exit 1
15 update_period=10800
16 if (~ $1 full || ![ -e /var/cache/cran2deb/cache.rda ] ) {
17     delta=`{awk 'END{print '^$update_period^'+1}' </dev/null}
18     echo Forcing cache update
19 } else {
20     delta=`{awk 'END{print '^`{date +%s}^-^`{stat -c '%Y' /var/cache/cran2deb/cache.rda}^'}' </dev/null}
21     echo Cache is $delta seconds out of date.
22 }
23 if (![ -e /var/cache/cran2deb/cache.rda ] || [ $delta -gt $update_period ]) {
24     mode=create
25     if ([ -e /var/cache/pbuilder/base-cran2deb.tgz ]) {
26         mode=update
27     }
28     sudo pbuilder $mode --override-config --configfile $root/etc/pbuilderrc
29     $root/exec/update_cache $root
30 }
31 if (![ -e /var/cache/cran2deb/cran2deb.db ] || [ $delta -gt $update_period ]) {
32     cat $root/data/^(populate_licenses quit) | $root/exec/license $root
33     cat $root/data/^(populate_depend_aliases populate_sysreq populate_forcedep quit) | $root/exec/depend $root
34 }
35