about summary refs log tree commit diff
path: root/src/ci/docker/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/ci/docker/scripts')
-rwxr-xr-xsrc/ci/docker/scripts/crosstool-ng-build.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/ci/docker/scripts/crosstool-ng-build.sh b/src/ci/docker/scripts/crosstool-ng-build.sh
new file mode 100755
index 00000000000..c813d10eb9d
--- /dev/null
+++ b/src/ci/docker/scripts/crosstool-ng-build.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+set -ex
+
+if [ $UID -eq 0 ]; then
+    exec su rustbuild -c "$0"
+fi
+
+hide_output() {
+  set +x
+  on_err="
+echo ERROR: An error was encountered with the build.
+cat /tmp/build.log
+exit 1
+"
+  trap "$on_err" ERR
+  bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
+  PING_LOOP_PID=$!
+  "$@" &> /tmp/build.log
+  rm /tmp/build.log
+  trap - ERR
+  kill $PING_LOOP_PID
+  set -x
+}
+
+mkdir build
+cd build
+cp ../crosstool.defconfig .config
+ct-ng olddefconfig
+hide_output ct-ng build
+cd ..
+rm -rf build