]> git.donarmstrong.com Git - neurodebian.git/blobdiff - tools/nd_build
Also for stats report which repo and which job number use our setup
[neurodebian.git] / tools / nd_build
index 08ac6e2fcee0f1ca2cf8917394ae13aaba84c320..baf77a8d84cbac2765b172332af47609cacfb038 100755 (executable)
@@ -46,7 +46,7 @@ if [ -z "$dist" ]; then
   exit 1
 fi
 
-. /home/neurodebian/neurodebian.git/tools/nd_cmdsettings.sh
+. /etc/neurodebian/cmdsettings.sh
 
 # common options
 opts="--distribution $dist --aptcache $aptcache --buildplace $buildplace"
@@ -77,11 +77,36 @@ else
   shift; shift; shift; shift
 fi
 
+# failed will be set to 1 if any build fails
+failed=
 for a in $arch; do
+  # default
+  options="$opts"
+  if [ "$a" = "amd64" ]; then
+    # only force source into the upload for NeuroDebian
+    if [ ! "$family" = "${family#nd+*}" ]; then
+      options="$opts --debbuildopts -sa"
+    fi
+  else
+    options="$opts --debbuildopts -B"
+  fi
+
   echo "Building for $family $dist $a ..."
+  buildfile="${dscfile%.dsc}_${a}.build"
+  tsfile="${buildfile}.timestamp.`date +%s`" # "unique" timestamp file
+  /usr/bin/time -f "%E real, %U user, %S sys, %O out" -o "${tsfile}" \
   cowbuilder --build $dscfile \
              --basepath ${cowbuilderroot}/cow/${family}-${dist}-${a}.cow \
              --buildresult . \
-             $opts \
-             $*
+             --logfile "${buildfile}" \
+             $options \
+             "$@" && status='OK' || { status='FAILED'; failed=1; }
+  timeinfo=$(tail -n 1 "${tsfile}")
+  # Update the summary of builds
+  touch summary.build                               # Assure existence
+  sed -i -e "s/\(${buildfile}.*out$\)/\1 OLD/g" summary.build  # Mark previous entry as OLD
+  echo -e "${buildfile}\t$status\t$timeinfo" >> summary.build  # Add current one
+  rm -f "${tsfile}"
 done
+# Exit with failure status if any built failed
+[ -z $failed ] || exit 1