From eb471d953995cb2a680328d0dd316544ae7c76e5 Mon Sep 17 00:00:00 2001 From: Ralph Lange Date: Mon, 2 Mar 2020 18:14:44 +0100 Subject: [PATCH] Recompile remaining MODULE list after a miss (fixes #18, closes #21) --- travis-test.sh | 12 ++++++++++++ travis/utils.sh | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/travis-test.sh b/travis-test.sh index ed4b285..0d2a5b6 100755 --- a/travis-test.sh +++ b/travis-test.sh @@ -162,19 +162,31 @@ add_dependency BASE R3.15.6 BUILT=$(cat "$location/built") [ "$BUILT" != "$hash_3_15_6" ] && die "Wrong commit of dependency checked out (expected=\"$hash_3_15_6\" found=\"$BUILT\")" grep -q "include \$(TOP)/../RELEASE.local" $location/configure/RELEASE && die "RELEASE in Base includes RELEASE.local" +[ "$do_recompile" ] || die "do_recompile flag was not set for missing dependency" +echo "$modules_to_compile" | grep -q "$location" || die "Missing dependency was not set to compile" # up-to-date dependency does exist in the cache ( cd $CACHEDIR; git clone --quiet --depth 5 --recursive --branch R3.15.6 https://github.com/epics-base/epics-base.git base-R3.15.6 ) rm -f $location/LICENSE +unset do_recompile; modules_to_compile= add_dependency BASE R3.15.6 [ -e $location/LICENSE ] && die "Existing correct dependency was checked out on top" +[ "$do_recompile" ] && die "do_recompile flag was set for up-to-date dependency" +echo "$modules_to_compile" | grep -q "$location" && die "Up-to-date dependency was set to compile" + +do_recompile=yes +add_dependency BASE R3.15.6 +echo "$modules_to_compile" | grep -q "$location" || die "Up-to-date module was not set to compile wile do_recompile=yes" # dependency in the cache is outdated echo "nottherighthash" > "$location/built" +unset do_recompile add_dependency BASE R3.15.6 [ -e $location/LICENSE ] || die "Outdated dependency was not checked out" BUILT=$(cat "$location/built") [ "$BUILT" != "$hash_3_15_6" ] && die "Wrong commit of dependency checked out (expected=\"$hash_3_15_6\" found=\"$BUILT\")" +[ "$do_recompile" ] || die "do_recompile flag was not set for outdated dependency" +echo "$modules_to_compile" | grep -q "$location" || die "Outdated dependency was not set to compile" rm -fr $CACHEDIR/*; modules_to_compile= diff --git a/travis/utils.sh b/travis/utils.sh index e49e075..eda4980 100644 --- a/travis/utils.sh +++ b/travis/utils.sh @@ -177,7 +177,7 @@ add_dependency() { echo "Cloning $TAG of dependency $DEP into $CACHEDIR/$dirname-$TAG" git clone --quiet $deptharg $recurse --branch "$TAG" $repourl $dirname-$TAG ( cd $dirname-$TAG && git log -n1 ) - modules_to_compile="${modules_to_compile} $CACHEDIR/$dirname-$TAG" + do_recompile=yes # fix non-base modules that do not include the .local files in configure/RELEASE if [ $DEP != "BASE" ] then @@ -204,5 +204,7 @@ add_dependency() { cd "$curdir" fi + [ "${do_recompile}" ] && modules_to_compile="${modules_to_compile} $CACHEDIR/$dirname-$TAG" + update_release_local ${varname} $CACHEDIR/$dirname-$TAG }