From c9b51998a4d8adc9af58ec04a26f0b8639dfc7b5 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Thu, 30 Jul 2026 03:36:03 +0000 Subject: [PATCH] [FIX] install: shfmt cassait tout l'apt-get sur Ubuntu < 22.04 (pas de gcc -> pyenv KO) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sur erplibre-ubuntu-2004, l'installation ERPLibre plantait : pyenv ne pouvait pas compiler Python 3.12.10 (« no acceptable C compiler found »), car build-essential n'était jamais installé. Cause : shfmt figurait dans le MÊME « apt-get install » que build-essential (git, cmake, …). shfmt est absent des dépôts Ubuntu < 22.04 -> apt refuse le lot ENTIER (« Unable to locate package shfmt ») -> exit 1 avant même les dépendances de compilation de pyenv. Fix : shfmt (simple formateur shell, non requis pour exécuter ERPLibre) est retiré du lot critique et installé SÉPARÉMENT en best-effort (jamais fatal). Co-Authored-By: Claude Opus 4.8 (1M context) --- script/install/install_debian_dependency.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/script/install/install_debian_dependency.sh b/script/install/install_debian_dependency.sh index 81904a1..f73fe9c 100755 --- a/script/install/install_debian_dependency.sh +++ b/script/install/install_debian_dependency.sh @@ -92,12 +92,19 @@ sudo su - postgres -c "createuser -s ${EL_USER}" 2>/dev/null || true # Install Dependencies #-------------------------------------------------- echo -e "\n--- Installing debian dependency --" -${APT_GET} install git build-essential wget libxslt-dev libzip-dev libldap2-dev libsasl2-dev gdebi-core libffi-dev libbz2-dev parallel pysassc swig cmake portaudio19-dev libcups2-dev shfmt xmlsec1 -y +${APT_GET} install git build-essential wget libxslt-dev libzip-dev libldap2-dev libsasl2-dev gdebi-core libffi-dev libbz2-dev parallel pysassc swig cmake portaudio19-dev libcups2-dev xmlsec1 -y retVal=$? if [[ $retVal -ne 0 ]]; then echo "apt-get debian tool installation error." exit 1 fi +# shfmt : ABSENT des dépôts Ubuntu < 22.04. Il était dans le lot critique +# ci-dessus -> un seul paquet introuvable faisait échouer TOUT l'apt-get +# (donc pas de build-essential/gcc -> pyenv ne pouvait plus compiler Python). +# C'est un simple formateur shell (dev), non requis pour exécuter ERPLibre : +# on l'installe SÉPARÉMENT et en best-effort (jamais fatal). +${APT_GET} install shfmt -y \ + || echo "shfmt indisponible dans les dépôts (Ubuntu < 22.04 ?) — ignoré." ${APT_GET} install libmariadbd-dev freetds-dev -y retVal=$? if [[ $retVal -ne 0 ]]; then