mirror of
https://github.com/Alex38Lyon/Synthese-PSM_LARRA.git
synced 2026-09-30 15:31:55 +00:00
Enhance GDAL installation script with checks and messages
Added checks for GDAL package existence and structure, improved error handling, and clarified installation steps.
This commit is contained in:
@@ -187,7 +187,6 @@ jobs:
|
|||||||
ls -lh \
|
ls -lh \
|
||||||
"$RUNNER_TEMP/${PACKAGE_NAME}.tar.gz"
|
"$RUNNER_TEMP/${PACKAGE_NAME}.tar.gz"
|
||||||
|
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 7. Installation package GDAL
|
# 7. Installation package GDAL
|
||||||
# ============================================================
|
# ============================================================
|
||||||
@@ -213,6 +212,26 @@ jobs:
|
|||||||
echo "========================================"
|
echo "========================================"
|
||||||
|
|
||||||
|
|
||||||
|
# ========================================================
|
||||||
|
# Vérification package
|
||||||
|
# ========================================================
|
||||||
|
|
||||||
|
if [ ! -f "$PACKAGE" ]; then
|
||||||
|
|
||||||
|
echo "Erreur : package GDAL introuvable :"
|
||||||
|
echo "$PACKAGE"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# ========================================================
|
||||||
|
# Extraction
|
||||||
|
# ========================================================
|
||||||
|
|
||||||
|
rm -rf "$EXTRACT_DIR"
|
||||||
|
|
||||||
mkdir -p "$EXTRACT_DIR"
|
mkdir -p "$EXTRACT_DIR"
|
||||||
|
|
||||||
cd "$EXTRACT_DIR"
|
cd "$EXTRACT_DIR"
|
||||||
@@ -224,114 +243,210 @@ jobs:
|
|||||||
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Contenu après extraction :"
|
echo "Contenu du package :"
|
||||||
|
|
||||||
ls -la
|
find . \
|
||||||
|
-maxdepth 5 \
|
||||||
|
-type f \
|
||||||
|
| sort
|
||||||
|
|
||||||
|
|
||||||
# ========================================================
|
# ========================================================
|
||||||
# Déterminer le répertoire racine (dynamique)
|
# Déterminer le répertoire racine
|
||||||
# ========================================================
|
# ========================================================
|
||||||
|
|
||||||
GDAL_DIR=$(ls -d */ 2>/dev/null | head -1)
|
GDAL_DIR="$EXTRACT_DIR/$PACKAGE_NAME"
|
||||||
|
|
||||||
if [ -z "$GDAL_DIR" ]; then
|
|
||||||
|
|
||||||
echo "Erreur : Aucun répertoire trouvé après extraction"
|
if [ ! -d "$GDAL_DIR" ]; then
|
||||||
|
|
||||||
ls -la
|
echo ""
|
||||||
|
echo "Erreur : répertoire GDAL absent :"
|
||||||
|
echo "$GDAL_DIR"
|
||||||
|
|
||||||
|
find "$EXTRACT_DIR" \
|
||||||
|
-maxdepth 3 \
|
||||||
|
-print
|
||||||
|
|
||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
GDAL_DIR="${GDAL_DIR%/}"
|
|
||||||
|
|
||||||
echo "Répertoire détecté : $GDAL_DIR"
|
echo ""
|
||||||
|
echo "Répertoire GDAL :"
|
||||||
|
echo "$GDAL_DIR"
|
||||||
|
|
||||||
|
|
||||||
|
# ========================================================
|
||||||
|
# Vérification structure
|
||||||
|
# ========================================================
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Structure :"
|
||||||
|
|
||||||
|
ls -la "$GDAL_DIR"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
if [ -d "$GDAL_DIR/bin" ]; then
|
||||||
# --------------------------------------------------------
|
echo "bin/ : OK"
|
||||||
# Exécutables
|
|
||||||
# --------------------------------------------------------
|
|
||||||
|
|
||||||
if [ -f "$GDAL_DIR/gdal-config" ] || ls "$GDAL_DIR"/gdal* &>/dev/null; then
|
|
||||||
|
|
||||||
cp -v "$GDAL_DIR"/gdal* "$CONDA_PREFIX/bin/" || true
|
|
||||||
|
|
||||||
else
|
else
|
||||||
|
echo "bin/ : ABSENT"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Avertissement : Aucun exécutable GDAL trouvé"
|
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
|
||||||
|
#
|
||||||
|
# Le package reproduit l'arborescence de l'environnement
|
||||||
|
# Conda.
|
||||||
|
#
|
||||||
|
# bin/ -> $CONDA_PREFIX/bin/
|
||||||
|
# lib/ -> $CONDA_PREFIX/lib/
|
||||||
|
# share/ -> $CONDA_PREFIX/share/
|
||||||
|
# ========================================================
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------------------------------
|
||||||
|
# bin
|
||||||
|
# --------------------------------------------------------
|
||||||
|
|
||||||
|
if [ -d "$GDAL_DIR/bin" ]; then
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Installation des exécutables GDAL..."
|
||||||
|
|
||||||
|
cp -av \
|
||||||
|
"$GDAL_DIR/bin/." \
|
||||||
|
"$CONDA_PREFIX/bin/"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# Bibliothèque GDAL
|
# lib
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
|
|
||||||
if ls "$GDAL_DIR"/libgdal.so* &>/dev/null; then
|
if [ -d "$GDAL_DIR/lib" ]; then
|
||||||
|
|
||||||
cp -v "$GDAL_DIR"/libgdal.so* "$CONDA_PREFIX/lib/"
|
echo ""
|
||||||
|
echo "Installation des bibliothèques GDAL..."
|
||||||
|
|
||||||
else
|
cp -av \
|
||||||
|
"$GDAL_DIR/lib/." \
|
||||||
|
"$CONDA_PREFIX/lib/"
|
||||||
|
|
||||||
echo "Erreur : Aucune bibliothèque GDAL trouvée"
|
fi
|
||||||
|
|
||||||
ls "$GDAL_DIR"
|
|
||||||
|
|
||||||
exit 1
|
# --------------------------------------------------------
|
||||||
|
# share
|
||||||
|
# --------------------------------------------------------
|
||||||
|
|
||||||
|
if [ -d "$GDAL_DIR/share" ]; then
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Installation des données GDAL..."
|
||||||
|
|
||||||
|
cp -av \
|
||||||
|
"$GDAL_DIR/share/." \
|
||||||
|
"$CONDA_PREFIX/share/"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# Python bindings
|
# 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/osgeo" ]; then
|
if [ -d "$GDAL_DIR/lib/python3.12/site-packages/osgeo" ]; then
|
||||||
|
|
||||||
rm -rf "$CONDA_PREFIX/lib/python3.12/site-packages/osgeo"
|
echo ""
|
||||||
|
echo "Installation des bindings Python osgeo..."
|
||||||
|
|
||||||
cp -rv "$GDAL_DIR/osgeo" "$CONDA_PREFIX/lib/python3.12/site-packages/"
|
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
|
else
|
||||||
|
|
||||||
echo "Avertissement : Répertoire osgeo non trouvé"
|
echo ""
|
||||||
|
echo "Avertissement : bindings Python osgeo absents du package."
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# ========================================================
|
||||||
# Headers
|
# Vérification finale
|
||||||
# --------------------------------------------------------
|
# ========================================================
|
||||||
|
|
||||||
if [ -d "$GDAL_DIR/gdal" ]; then
|
echo ""
|
||||||
|
echo "========================================"
|
||||||
rm -rf "$CONDA_PREFIX/include/gdal"
|
echo "GDAL INSTALLE"
|
||||||
|
echo "========================================"
|
||||||
cp -rv "$GDAL_DIR/gdal" "$CONDA_PREFIX/include/"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------
|
echo ""
|
||||||
# GDAL data
|
echo "gdalinfo :"
|
||||||
# --------------------------------------------------------
|
|
||||||
|
|
||||||
if [ -d "$GDAL_DIR/gdal" ] && [ -d "$GDAL_DIR/share" ]; then
|
if [ -x "$CONDA_PREFIX/bin/gdalinfo" ]; then
|
||||||
|
|
||||||
rm -rf "$CONDA_PREFIX/share/gdal"
|
"$CONDA_PREFIX/bin/gdalinfo" --version
|
||||||
|
|
||||||
cp -rv "$GDAL_DIR/share/gdal" "$CONDA_PREFIX/share/" 2>/dev/null || true
|
else
|
||||||
|
|
||||||
|
echo "ERREUR : gdalinfo absent"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "GDAL installé."
|
echo "libgdal :"
|
||||||
|
|
||||||
|
ls -lh \
|
||||||
|
"$CONDA_PREFIX"/lib/libgdal.so*
|
||||||
|
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Python osgeo :"
|
||||||
|
|
||||||
|
python - <<'PY'
|
||||||
|
|
||||||
|
from osgeo import gdal
|
||||||
|
from osgeo import ogr
|
||||||
|
|
||||||
|
print("GDAL Python :")
|
||||||
|
print(gdal.VersionInfo("--version"))
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("OGR drivers :", ogr.GetDriverCount())
|
||||||
|
|
||||||
|
PY
|
||||||
|
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Installation GDAL terminée."
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
# 8. Vérification GDAL
|
# 8. Vérification GDAL
|
||||||
|
|||||||
Reference in New Issue
Block a user