summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/reproducible_build.sh13
1 files changed, 8 insertions, 5 deletions
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 2d6bce0a..22df05aa 100755
--- a/bin/reproducible_build.sh
+++ b/bin/reproducible_build.sh
@@ -410,20 +410,23 @@ init_package_build() {
local ANNOUNCE="Artifacts will be preserved."
fi
create_results_dirs
- # used to catch race conditions when the same package is being built by two parallel jobs
+ # used to catch race conditions when the same package is build by two parallel jobs
LOCKFILE="/tmp/reproducible-lockfile-${SUITE}-${ARCH}-${SRCPACKAGE}"
echo "============================================================================="
echo "Initialising reproducibly build of ${SRCPACKAGE} in ${SUITE} on ${ARCH} on $(hostname -f) now. $ANNOUNCE"
echo "============================================================================="
# remove previous build attempts which didnt finish correctly
BUILDER_PREFIX="${JOB_NAME#reproducible_builder_}/"
- BAD_BUILDS=$(sqlite3 -init $INIT ${PACKAGES_DB} "SELECT package_id, date_build_started, builder FROM schedule WHERE builder LIKE '${BUILDER_PREFIX}%'")
- if [ ! -z "$BAD_BUILDS" ] ; then
+ BAD_BUILDS=$(mktemp --tmpdir=$TMPDIR)
+ sqlite3 -init $INIT ${PACKAGES_DB} "SELECT package_id, date_build_started, builder FROM schedule WHERE builder LIKE '${BUILDER_PREFIX}%'" > $BAD_BUILDS
+ if [ -s "$BAD_BUILDS" ] ; then
# stale_builds.txt is mailed once a day by reproducible_maintenance.sh
- echo "$(date -u) - stale builds detected, cleaning up database from these entries:" | tee -a /var/lib/jenkins/stale_builds.txt
- echo -n $BAD_BUILDS | tee -a /var/lib/jenkins/stale_builds.txt
+ echo "$(date -u) - stale builds found, cleaning db from these:" | tee -a /var/lib/jenkins/stale_builds.txt
+ cat $BAD_BUILDS | tee -a /var/lib/jenkins/stale_builds.txt
sqlite3 -init $INIT ${PACKAGES_DB} "UPDATE schedule SET date_build_started='' WHERE builder LIKE '${BUILDER_PREFIX}%'"
+ echo >> /var/lib/jenkins/stale_builds.txt
fi
+ rm -f $BAD_BUILDS
# mark build attempt
if [ -z "$(sqlite3 -init $INIT ${PACKAGES_DB} "SELECT date_build_started FROM schedule WHERE package_id = '$SRCPKGID'")" ] ; then
sqlite3 -init $INIT ${PACKAGES_DB} "UPDATE schedule SET date_build_started='$DATE', builder='$BUILDER' WHERE package_id = '$SRCPKGID'"