Recompile remaining MODULE list after a miss

(fixes #18, closes #21)
This commit is contained in:
Ralph Lange
2020-03-02 18:14:44 +01:00
parent e3dace9ee3
commit eb471d9539
2 changed files with 15 additions and 1 deletions

View File

@@ -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=

View File

@@ -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
}