From 39c267a40904232496986518530eea6169fb8168 Mon Sep 17 00:00:00 2001
From: Ralf Jung <post@ralfj.de>
Date: Tue, 3 Apr 2018 17:37:02 +0200
Subject: [PATCH] skip opam upgrade if we are working in a fresh opam root

---
 prepare-opam.sh | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/prepare-opam.sh b/prepare-opam.sh
index 1f9e99c..263364f 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"
-- 
GitLab