Skip to content

Commit

Permalink
Fix bootstrap opam version detection
Browse files Browse the repository at this point in the history
Version was never written to ~/local/versions - correct this and also
correct the "default" version to be the version returned by the binary,
rather than just assuming it's the correct binary!
  • Loading branch information
dra27 committed Jul 16, 2020
1 parent c19cc18 commit 3896625
Showing 1 changed file with 21 additions and 5 deletions.
26 changes: 21 additions & 5 deletions .travis-ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ else
fi
set -x

write_versions () {
echo "LOCAL_OCAML_VERSION=$OCAML_VERSION" > ~/local/versions
echo "LOCAL_OPAMBSVERSION=$OPAMBSVERSION" >> ~/local/versions
}

init-bootstrap () {
export OPAMROOT=$OPAMBSROOT
# The system compiler will be picked up
Expand Down Expand Up @@ -129,10 +134,20 @@ EOF
echo "Cached compiler is $LOCAL_OCAML_VERSION; requested $OCAML_VERSION"
echo "Resetting local cache"
rm -rf ~/local
elif [[ ${LOCAL_OPAMBSVERSION:-$OPAMBSVERSION} != $OPAMBSVERSION ]] ; then
echo "Cached opam is $LOCAL_OPAMBSVERSION; requested $OPAMBSVERSION"
echo "Replacement opam will be downloaded"
rm -f ~/local/bin/opam-bootstrap
elif [[ -e ~/local/bin/opam-bootstrap ]] ; then
if [[ -z ${LOCAL_OPAMBSVERSION:-} ]] ; then
ls -l ~/local/bin
chmod +x ~/local/bin/opam-bootstrap
LOCAL_OPAMBSVERSION="$(~/local/bin/opam-bootstrap --version)"
chmod -x ~/local/bin/opam-bootstrap
fi
if [[ $LOCAL_OPAMBSVERSION != $OPAMBSVERSION ]] ; then
echo "Cached opam is $LOCAL_OPAMBSVERSION; requested $OPAMBSVERSION"
echo "Replacement opam will be downloaded"
rm -f ~/local/bin/opam-bootstrap
# The root may well have been written by a newer version of opam
rm -rf "$OPAMBSROOT"
fi
fi
fi
fi
Expand Down Expand Up @@ -174,7 +189,7 @@ EOF
make install
cd ..
rm -rf "ocaml-$OCAML_VERSION"
echo "LOCAL_OCAML_VERSION=$OCAML_VERSION" > ~/local/versions
write_versions
(set +x ; echo -en "travis_fold:end:ocaml\r") 2>/dev/null
fi

Expand All @@ -183,6 +198,7 @@ EOF
if [[ ! -e ~/local/bin/opam-bootstrap ]] ; then
wget -q -O ~/local/bin/opam-bootstrap \
"https://github.com/ocaml/opam/releases/download/$OPAMBSVERSION/opam-$OPAMBSVERSION-$(uname -m)-$(uname -s)"
write_versions
fi

cp -f ~/local/bin/opam-bootstrap ~/local/bin/opam
Expand Down

0 comments on commit 3896625

Please sign in to comment.