]> git.donarmstrong.com Git - cran2deb.git/blobdiff - trunk/exec/update
Transformed Plan 9 shell script into BASH,
[cran2deb.git] / trunk / exec / update
index 7d466b91fd49290b05f40d29ca296b447ae1186b..b162cc84b6a2e0d8fd709c22f0e81e2f0f776149 100755 (executable)
@@ -1,30 +1,43 @@
-#!/usr/bin/rc
+#!/bin/bash
+
 ## DOC: cran2deb update
 ## DOC:     update the cran2deb cache and database
 ## DOC: cran2deb update full
 ## DOC:     force a full update of the cran2deb cache and database
 ## DOC:
 
+set -e
+
 umask 002
 root=$1
+if [ -z "$root" ]; then
+       echo "You need to specify the root of your installation, i.e. the folder in which to find the exec subdirectory."
+       exit 1
+fi
+
 shift
-sys=`{cran2deb which_system}
-mkdir -p /var/cache/cran2deb/results/$sys || exit 1
-mini-dinstall --batch -c /etc/cran2deb/sys/$sys/mini-dinstall.conf || exit 1
-update_period=10800
-if (~ $1 full || ![ -e /var/cache/cran2deb/cache.rda ] ) {
-    delta=`{awk 'END{print '^$update_period^'+1}' </dev/null}
+sys=$(cran2deb which_system)
+mkdir -p /var/cache/cran2deb/results/$sys
+#update_period=10800
+update_period=108
+
+if [ ! $1 = full -o !-e /var/cache/cran2deb/cache.rda ]; then
+    delta=$(($update_period+1))
     echo Forcing cache update
-} else {
-    delta=`{awk 'END{print '^`{date +%s}^-^`{stat -c '%Y' /var/cache/cran2deb/cache.rda}^'}' </dev/null}
-    echo Cache is $delta seconds out of date.
-}
-if (![ -e /var/cache/cran2deb/cache.rda ] || [ $delta -gt $update_period ]) {
+else
+    delta=$(awk 'END{print '^`{date +%s}^-^`{stat -c '%Y' /var/cache/cran2deb/cache.rda}^'}' < /dev/null)
+    echo Cache is $delta seconds out of date, auto-update after $update_period seconds.
+fi
+
+if [ ! -e /var/cache/cran2deb/cache.rda ] || [ $delta -gt $update_period ]; then
     mode=create
-    if ([ -e /var/cache/pbuilder/base-cran2deb-$sys.tgz ]) {
+    if [ -e /var/cache/pbuilder/base-cran2deb-$sys.tgz ]; then
         mode=update
-    }
+    ]
+    echo C: sudo pbuilder $mode --override-config --configfile /etc/cran2deb/sys/$sys/pbuilderrc
+    echo "Executing sudo pbuilder $mode --override-config --configfile /etc/cran2deb/sys/$sys/pbuilderrc"
     sudo pbuilder $mode --override-config --configfile /etc/cran2deb/sys/$sys/pbuilderrc
+    echo "Executing $root/exec/update_cache $root"
     $root/exec/update_cache $root
 }