From dc623e3744e164d746622cdc05854982b64a47db Mon Sep 17 00:00:00 2001
From: Michele Alberti <michele.alberti@cea.fr>
Date: Thu, 19 Jan 2023 11:58:46 +0100
Subject: [PATCH] [docker] Fix Makefile to use default base image when 'docker
 manifest inspect' fails.

Avoid having the default image hardcoded in template.
---
 docker/Dockerfile.template | 4 ++--
 docker/Makefile            | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/docker/Dockerfile.template b/docker/Dockerfile.template
index 41a08fb..858873c 100644
--- a/docker/Dockerfile.template
+++ b/docker/Dockerfile.template
@@ -21,9 +21,9 @@
 ##########################################################################
 
 # Dockerfile for easy install and use of CAISAR.
-FROM ocaml/opam@sha256:9d471148a7acdaba15caa139710f89ca8668a191c0052eb1c80cb9729e337c40
+#FROM ocaml/opam@sha256:9d471148a7acdaba15caa139710f89ca8668a191c0052eb1c80cb9729e337c40
 
-#FROM @UBUNTU_OPAM_BASE@
+FROM @UBUNTU_OPAM_BASE@
 
 RUN opam-2.1 repository set-url default https://opam.ocaml.org && \
 opam-2.1 update -y
diff --git a/docker/Makefile b/docker/Makefile
index e08c13d..d23909f 100644
--- a/docker/Makefile
+++ b/docker/Makefile
@@ -34,11 +34,12 @@ push: all
 	docker push laiser/caisar:pub
 
 SHA_DOCKER=$(shell docker manifest inspect ocaml/opam:ubuntu-ocaml-$(OCAML_VERSION) | jq '.manifests| .[] | select(.platform.architecture == "amd64") | .digest' --raw-output)
+SHA_DOCKER:=$(or $(SHA_DOCKER),sha256:9d471148a7acdaba15caa139710f89ca8668a191c0052eb1c80cb9729e337c40)
 
 CAISAR_COMMIT?=$(shell git rev-parse HEAD)
 
 Dockerfile: Makefile Dockerfile.template env.template FORCE
-	cat Dockerfile.template | \
+	sed 's|@UBUNTU_OPAM_BASE@|ocaml/opam@$(SHA_DOCKER)|g' Dockerfile.template | \
 sed 's|@ENV@|$(shell cat env.template)|g' | \
 sed 's|@OPAM_DEPS@|conf-protoc conf-gmp conf-autoconf conf-pkg-config|' | \
 sed 's|@OCAMLV@|'$(OCAML_VERSION)'|g' | \
-- 
GitLab