diff --git a/prepare-opam.sh b/prepare-opam.sh index 1f9e99c4e03ed5aacf6a8227e6be3ac5b6a382a4..263364f656690de8359bb6aae289d81389fb499f 100644 --- a/prepare-opam.sh +++ b/prepare-opam.sh @@ -12,14 +12,18 @@ else echo_color "$BOLDYELLOW" "[prepare-opam] Creating new opam root" mkdir "$OPAMROOT" opam init --no-setup -y + FRESH_OPAM=yes fi eval `opam conf env` -# Make sure the pin for the builddep package exists and is up-to-date -make build-dep/opam +if [[ -z "$FRESH_OPAM" ]]; then # skip if this is a fresh opam root + # Make sure the pin for the builddep package exists and is up-to-date. + # This avoids opam complaining about pins pointing to a non-existing file. + make build-dep/opam -# Update repositories -opam update + # Update repositories + opam update +fi # Make sure we got the right set of repositories registered if echo "$@" | fgrep "dev" > /dev/null; then @@ -56,10 +60,12 @@ while (( "$#" )); do # while there are arguments left done echo -# Upgrade cached things. -echo_color "$BOLDGREEN" "[prepare-opam] Upgrading packages" -opam upgrade -y --fixup && opam upgrade -y -echo +if [[ -z "$FRESH_OPAM" ]]; then # skip if this is a fresh opam root + # Upgrade cached things + echo_color "$BOLDGREEN" "[prepare-opam] Upgrading packages" + opam upgrade -y --fixup && opam upgrade -y + echo +fi # Install build-dependencies. echo_color "$BOLDGREEN" "[prepare-opam] Installing build-dependencies"