summaryrefslogtreecommitdiffhomepage
path: root/subr/pre_state.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr/pre_state.subr')
-rw-r--r--subr/pre_state.subr31
1 files changed, 31 insertions, 0 deletions
diff --git a/subr/pre_state.subr b/subr/pre_state.subr
new file mode 100644
index 00000000..58bfc59a
--- /dev/null
+++ b/subr/pre_state.subr
@@ -0,0 +1,31 @@
+#
+# set -o errexit -o noglob are assumed.
+#
+
+pre_state() {
+ case "${1}" in
+ fini) : $((BUILD_TIMES_SECS=$(command date +%s)-${BUILD_TIMES_SECS}));
+ : $((BUILD_TIMES_HOURS=${BUILD_TIMES_SECS}/3600));
+ : $((BUILD_TIMES_MINUTES=(${BUILD_TIMES_SECS}%3600)/60));
+ : $((BUILD_TIMES_SECS=(${BUILD_TIMES_SECS}%3600)%60));
+ if [ -f "${BUILD_STATUS_IN_PROGRESS_FNAME}" ]; then
+ build_fileop rm ${BUILD_STATUS_IN_PROGRESS_FNAME};
+ fi;
+ ;;
+ init) if [ -e ${BUILD_STATUS_IN_PROGRESS_FNAME} ]; then
+ log_msg failexit "Error: another build targeting this architecture and build type is currently in progress.";
+ else
+ touch ${BUILD_STATUS_IN_PROGRESS_FNAME};
+ fi;
+ if [ -e ${BUILD_LOG_FNAME} ]; then
+ mv -- ${BUILD_LOG_FNAME} ${BUILD_LOG_LAST_FNAME};
+ fi;
+ BUILD_DATE_START="$(date %Y-%m-%d-%H-%M-%S)";
+ BUILD_NFINI=${BUILD_NSKIP:=${BUILD_NFAIL:=${BUILD_NBUILT:=0}}};
+ BUILD_TIMES_SECS=$(command date +%s);
+ BUILD_PKGS_FAILED="";
+ ;;
+ esac;
+};
+
+# vim:filetype=sh