[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: di-autobuilding: rsync being clumsy



Hi Philipp,

2011/7/18 Philipp Kern <pkern@debian.org>:

> Can you do it with a proper while loop, too?  Code duplication sucks.

OK... maybe this one...

--- a/buildscript
+++ b/buildscript
@@ -16,6 +16,7 @@
 set -e

 ARCH=$(dpkg --print-architecture)
+RSYNC_RETRY=5

 exec >> /home/buildd/logs/di-autobuild_daily-${ARCH}-$(date +%Y%m%d-%H%M) 2>&1

@@ -91,9 +92,16 @@ end_session() {

 upload_result() {
   local DIR
+  local cont; local ret
   DIR=$(date -u '+%Y%m%d-%H:%M')
   echo "INFO: starting rsync"
-  rsync "${INSTALLER_DIR}/checkout/build/dest/" d-i@ravel:${DIR} -a
+  cont=1; ret=1
+  while [ $cont -le $RSYNC_RETRY -a $ret != 0 ]
+  do
+    rsync "${INSTALLER_DIR}/checkout/build/dest/" d-i@ravel:${DIR} -a
+    ret="$?"
+    cont="$(( $cont + 1 ))"
+  done
   echo "INFO: unhide ${DIR}"
   ssh d-i@ravel unhide ${DIR}
 }

Cheers,
-- 
 Héctor Orón  -.. . -... .. .- -.   -.. . ...- . .-.. --- .--. . .-.

<free spam>
-- Would you like to make a donation for Debian Conference?
   ** http://debconf11.debconf.org/payments.xhtml **
</free spam>


Reply to: