Refactor GDAL installation with error handling

Updated GDAL installation process to include checks for executables, libraries, and directories. Enhanced error handling and output messages for better debugging.
This commit is contained in:
Alex38Lyon
2026-08-31 23:45:57 +02:00
committed by GitHub
parent dfb6900e71
commit c5d34c8544
+79 -23
View File
@@ -205,13 +205,17 @@ jobs:
PACKAGE="$RUNNER_TEMP/${PACKAGE_NAME}.tar.gz" PACKAGE="$RUNNER_TEMP/${PACKAGE_NAME}.tar.gz"
EXTRACT_DIR="$RUNNER_TEMP/gdal-extract"
echo "========================================" echo "========================================"
echo "INSTALLATION GDAL" echo "INSTALLATION GDAL"
echo "========================================" echo "========================================"
cd "$RUNNER_TEMP" mkdir -p "$EXTRACT_DIR"
cd "$EXTRACT_DIR"
tar \ tar \
@@ -219,59 +223,110 @@ jobs:
"$PACKAGE" "$PACKAGE"
echo ""
echo "Contenu après extraction :"
ls -la
# ========================================================
# Déterminer le répertoire racine (dynamique)
# ========================================================
GDAL_DIR=$(ls -d */ 2>/dev/null | head -1)
if [ -z "$GDAL_DIR" ]; then
echo "Erreur : Aucun répertoire trouvé après extraction"
ls -la
exit 1
fi
GDAL_DIR="${GDAL_DIR%/}"
echo "Répertoire détecté : $GDAL_DIR"
echo ""
# -------------------------------------------------------- # --------------------------------------------------------
# Exécutables # Exécutables
# -------------------------------------------------------- # --------------------------------------------------------
cp -a \ if [ -f "$GDAL_DIR/gdal-config" ] || ls "$GDAL_DIR"/gdal* &>/dev/null; then
"$PACKAGE_NAME"/gdal* \
"$CONDA_PREFIX/bin/" cp -v "$GDAL_DIR"/gdal* "$CONDA_PREFIX/bin/" || true
else
echo "Avertissement : Aucun exécutable GDAL trouvé"
fi
# -------------------------------------------------------- # --------------------------------------------------------
# Bibliothèque GDAL # Bibliothèque GDAL
# -------------------------------------------------------- # --------------------------------------------------------
cp -a \ if ls "$GDAL_DIR"/libgdal.so* &>/dev/null; then
"$PACKAGE_NAME"/libgdal.so* \
"$CONDA_PREFIX/lib/" cp -v "$GDAL_DIR"/libgdal.so* "$CONDA_PREFIX/lib/"
else
echo "Erreur : Aucune bibliothèque GDAL trouvée"
ls "$GDAL_DIR"
exit 1
fi
# -------------------------------------------------------- # --------------------------------------------------------
# Python bindings # Python bindings
# -------------------------------------------------------- # --------------------------------------------------------
rm -rf \ if [ -d "$GDAL_DIR/osgeo" ]; then
"$CONDA_PREFIX/lib/python3.12/site-packages/osgeo"
cp -a \ rm -rf "$CONDA_PREFIX/lib/python3.12/site-packages/osgeo"
"$PACKAGE_NAME/osgeo" \
"$CONDA_PREFIX/lib/python3.12/site-packages/" cp -rv "$GDAL_DIR/osgeo" "$CONDA_PREFIX/lib/python3.12/site-packages/"
else
echo "Avertissement : Répertoire osgeo non trouvé"
fi
# -------------------------------------------------------- # --------------------------------------------------------
# Headers # Headers
# -------------------------------------------------------- # --------------------------------------------------------
rm -rf \ if [ -d "$GDAL_DIR/gdal" ]; then
"$CONDA_PREFIX/include/gdal"
cp -a \ rm -rf "$CONDA_PREFIX/include/gdal"
"$PACKAGE_NAME/gdal" \
"$CONDA_PREFIX/include/" cp -rv "$GDAL_DIR/gdal" "$CONDA_PREFIX/include/"
fi
# -------------------------------------------------------- # --------------------------------------------------------
# GDAL data # GDAL data
# -------------------------------------------------------- # --------------------------------------------------------
rm -rf \ if [ -d "$GDAL_DIR/gdal" ] && [ -d "$GDAL_DIR/share" ]; then
"$CONDA_PREFIX/share/gdal"
cp -a \ rm -rf "$CONDA_PREFIX/share/gdal"
"$PACKAGE_NAME/gdal" \
"$CONDA_PREFIX/share/" \ cp -rv "$GDAL_DIR/share/gdal" "$CONDA_PREFIX/share/" 2>/dev/null || true
2>/dev/null || true
fi
echo "" echo ""
@@ -513,3 +568,4 @@ jobs:
commit_user_email: "41898282+github-actions[bot]@users.noreply.github.com" commit_user_email: "41898282+github-actions[bot]@users.noreply.github.com"
commit_author: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>" commit_author: "github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>"