Actualiser 3.build.odoo.sh

This commit is contained in:
lpierson 2026-05-28 16:05:22 +00:00
parent c3368a0882
commit a1333cd08b

View file

@ -5,8 +5,45 @@ source ./0.variables.env
# ── Extraction des métadonnées depuis le Dockerfile ──────────────────────────
DOCKERFILE=./config-odoo/"${1:-Dockerfile}"
ODOO_VERSION=$(grep -E '^\s*ENV ODOO_VERSION\s' "$DOCKERFILE" | awk '{print $3}')
ODOO_RELEASE=$(grep -E '^\s*ARG ODOO_RELEASE=' "$DOCKERFILE" | cut -d'=' -f2)
# ── Extraction des metadonnees depuis le Dockerfile ──────────────────────────
# Fonction robuste. gere les directives ENV et ARG, les formes "X=Y" et "X Y",
# et les valeurs entourees de guillemets. Retourne le premier token de la valeur.
extract_dockerfile_var() {
local key="$1"
local file="$2"
[[ -f "$file" ]] || { echo "[extract] Fichier introuvable. $file" >&2; return 2; }
awk -v k="$key" '
$0 ~ "^[[:space:]]*(ENV|ARG)[[:space:]]+" k "[[:space:]=]" {
sub("^[[:space:]]*(ENV|ARG)[[:space:]]+" k "[[:space:]=]+", "")
gsub(/"/, "")
print $1
exit
}
' "$file"
}
DOCKERFILE="./config-odoo/${1:-Dockerfile}"
[[ -f "$DOCKERFILE" ]] || {
echo "ERREUR. Dockerfile introuvable. $DOCKERFILE" >&2
exit 1
}
ODOO_VERSION=$(extract_dockerfile_var "ODOO_VERSION" "$DOCKERFILE")
ODOO_RELEASE=$(extract_dockerfile_var "ODOO_RELEASE" "$DOCKERFILE")
ODOO_SHA=$(extract_dockerfile_var "ODOO_SHA" "$DOCKERFILE")
: "${ODOO_VERSION:?ODOO_VERSION non extrait depuis $DOCKERFILE}"
: "${ODOO_RELEASE:?ODOO_RELEASE non extrait depuis $DOCKERFILE}"
: "${ODOO_SHA:?ODOO_SHA non extrait depuis $DOCKERFILE}"
echo "Metadonnees extraites depuis $DOCKERFILE."
echo " ODOO_VERSION = $ODOO_VERSION"
echo " ODOO_RELEASE = $ODOO_RELEASE"
echo " ODOO_SHA = $ODOO_SHA"
if [[ -z "$ODOO_VERSION" || -z "$ODOO_RELEASE" ]]; then
echo "ERREUR : impossible d'extraire ODOO_VERSION ou ODOO_RELEASE depuis $DOCKERFILE" >&2