Refactor GDAL installation script with improved comments

Updated comments and error messages in the GDAL installation script to improve clarity and consistency. Adjusted the structure of the script for better readability.
This commit is contained in:
Alex38Lyon
2026-08-31 23:58:28 +02:00
committed by GitHub
parent 1ee82128b3
commit 3a2f7018a0
+67 -131
View File
@@ -191,7 +191,7 @@ jobs:
# 7. Installation package GDAL # 7. Installation package GDAL
# ============================================================ # ============================================================
- name: Install GDAL package - name: Installation GDAL package
if: steps.changed.outputs.shp == 'true' if: steps.changed.outputs.shp == 'true'
shell: bash -el {0} shell: bash -el {0}
run: | run: |
@@ -213,12 +213,12 @@ jobs:
# ======================================================== # ========================================================
# Vérification package # Vérification du package
# ======================================================== # ========================================================
if [ ! -f "$PACKAGE" ]; then if [ ! -f "$PACKAGE" ]; then
echo "Erreur : package GDAL introuvable :" echo "ERREUR : package introuvable :"
echo "$PACKAGE" echo "$PACKAGE"
exit 1 exit 1
@@ -234,25 +234,29 @@ jobs:
mkdir -p "$EXTRACT_DIR" mkdir -p "$EXTRACT_DIR"
cd "$EXTRACT_DIR"
tar \ tar \
-xzf \ -xzf \
"$PACKAGE" "$PACKAGE" \
-C "$EXTRACT_DIR"
# ========================================================
# Affichage STRUCTURE REELLE
# ========================================================
echo "" echo ""
echo "Contenu du package :" echo "========================================"
echo "STRUCTURE DU PACKAGE"
echo "========================================"
find . \ find "$EXTRACT_DIR" \
-maxdepth 5 \ -maxdepth 6 \
-type f \ -print \
| sort | sort
# ======================================================== # ========================================================
# Déterminer le répertoire racine # Répertoire racine
# ======================================================== # ========================================================
GDAL_DIR="$EXTRACT_DIR/$PACKAGE_NAME" GDAL_DIR="$EXTRACT_DIR/$PACKAGE_NAME"
@@ -261,105 +265,79 @@ jobs:
if [ ! -d "$GDAL_DIR" ]; then if [ ! -d "$GDAL_DIR" ]; then
echo "" echo ""
echo "Erreur : répertoire GDAL absent :" echo "ERREUR : répertoire package absent :"
echo "$GDAL_DIR" echo "$GDAL_DIR"
find "$EXTRACT_DIR" \
-maxdepth 3 \
-print
exit 1 exit 1
fi fi
echo "" echo ""
echo "Répertoire GDAL :" echo "GDAL_DIR :"
echo "$GDAL_DIR" echo "$GDAL_DIR"
# ======================================================== # ========================================================
# Vérification structure # Vérification structure attendue
# ======================================================== # ========================================================
echo "" echo ""
echo "Structure :" echo "========================================"
echo "VERIFICATION"
echo "========================================"
ls -la "$GDAL_DIR"
if [ ! -d "$GDAL_DIR/bin" ]; then
echo "ERREUR : bin/ absent"
exit 1
fi
if [ ! -d "$GDAL_DIR/lib" ]; then
echo "ERREUR : lib/ absent"
exit 1
fi
# ========================================================
# Installation BIN
# ========================================================
echo "" echo ""
echo "Installation bin/..."
if [ -d "$GDAL_DIR/bin" ]; then cp -av \
echo "bin/ : OK" "$GDAL_DIR/bin/." \
else "$CONDA_PREFIX/bin/"
echo "bin/ : ABSENT"
fi
if [ -d "$GDAL_DIR/lib" ]; then
echo "lib/ : OK"
else
echo "lib/ : ABSENT"
fi
if [ -d "$GDAL_DIR/share" ]; then
echo "share/ : OK"
else
echo "share/ : ABSENT"
fi
# ======================================================== # ========================================================
# Installation # Installation LIB
#
# Le package reproduit l'arborescence de l'environnement
# Conda.
#
# bin/ -> $CONDA_PREFIX/bin/
# lib/ -> $CONDA_PREFIX/lib/
# share/ -> $CONDA_PREFIX/share/
# ======================================================== # ========================================================
echo ""
echo "Installation lib/..."
# -------------------------------------------------------- cp -av \
# bin "$GDAL_DIR/lib/." \
# -------------------------------------------------------- "$CONDA_PREFIX/lib/"
if [ -d "$GDAL_DIR/bin" ]; then
echo ""
echo "Installation des exécutables GDAL..."
cp -av \
"$GDAL_DIR/bin/." \
"$CONDA_PREFIX/bin/"
fi
# -------------------------------------------------------- # ========================================================
# lib # Installation SHARE
# -------------------------------------------------------- # ========================================================
if [ -d "$GDAL_DIR/lib" ]; then
echo ""
echo "Installation des bibliothèques GDAL..."
cp -av \
"$GDAL_DIR/lib/." \
"$CONDA_PREFIX/lib/"
fi
# --------------------------------------------------------
# share
# --------------------------------------------------------
if [ -d "$GDAL_DIR/share" ]; then if [ -d "$GDAL_DIR/share" ]; then
echo "" echo ""
echo "Installation des données GDAL..." echo "Installation share/..."
cp -av \ cp -av \
"$GDAL_DIR/share/." \ "$GDAL_DIR/share/." \
@@ -368,85 +346,43 @@ jobs:
fi fi
# --------------------------------------------------------
# Python bindings
#
# Si osgeo est déjà présent dans lib/python3.12/site-packages,
# on le remplace par celui compilé avec notre GDAL.
# --------------------------------------------------------
if [ -d "$GDAL_DIR/lib/python3.12/site-packages/osgeo" ]; then
echo ""
echo "Installation des bindings Python osgeo..."
rm -rf \
"$CONDA_PREFIX/lib/python3.12/site-packages/osgeo"
cp -av \
"$GDAL_DIR/lib/python3.12/site-packages/osgeo" \
"$CONDA_PREFIX/lib/python3.12/site-packages/"
else
echo ""
echo "Avertissement : bindings Python osgeo absents du package."
fi
# ======================================================== # ========================================================
# Vérification finale # Vérification GDAL
# ======================================================== # ========================================================
echo "" echo ""
echo "========================================" echo "========================================"
echo "GDAL INSTALLE" echo "VERIFICATION GDAL"
echo "========================================" echo "========================================"
echo "" echo ""
echo "gdalinfo :" echo "gdalinfo :"
if [ -x "$CONDA_PREFIX/bin/gdalinfo" ]; then which gdalinfo
"$CONDA_PREFIX/bin/gdalinfo" --version gdalinfo --version
else
echo "ERREUR : gdalinfo absent"
exit 1
fi
echo "" echo ""
echo "libgdal :" echo "GDAL Python :"
ls -lh \
"$CONDA_PREFIX"/lib/libgdal.so*
echo ""
echo "Python osgeo :"
python - <<'PY' python - <<'PY'
from osgeo import gdal from osgeo import gdal
from osgeo import ogr from osgeo import ogr
print("GDAL Python :") print("GDAL :", gdal.VersionInfo("--version"))
print(gdal.VersionInfo("--version"))
print()
print("OGR drivers :", ogr.GetDriverCount()) print("OGR drivers :", ogr.GetDriverCount())
PY PY
echo "" echo ""
echo "Installation GDAL terminée." echo "========================================"
echo "GDAL INSTALLE"
echo "========================================"
# ============================================================ # ============================================================
# 8. Vérification GDAL # 8. Vérification GDAL