From 0f50c524dbe46162ef33bee83b66c9aee1994e21 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Thu, 30 Jul 2026 03:44:40 +0000 Subject: [PATCH] =?UTF-8?q?[FIX]=20install:=20wkhtmltopdf=20=E2=80=94=20UR?= =?UTF-8?q?L=20vide=20sur=20Ubuntu=2026.04=20(gdebi=20sans=20fichier)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sur erplibre-ubuntu-2604 (Ubuntu 26.04), wkhtmltopdf ne s'installait pas : la liste de versions s'arrêtait à 25.10, donc WKHTMLTOX_X64 restait VIDE -> « sudo gdebi $(basename '') » -> « Usage: gdebi… » -> erreur -> Odoo : « You need Wkhtmltopdf to print a pdf ». - Bloc Ubuntu réécrit : 18.04->bionic, 20.04->focal, ELSE->jammy (build le plus récent publié par wkhtmltopdf, valable 22.04..26.04 et au-delà). Un « else » évite toute URL vide sur une future version. - Garde-fou : si l'URL est vide malgré tout, on saute proprement (wkhtmltopdf est optionnel) au lieu d'appeler gdebi sans fichier. Co-Authored-By: Claude Opus 4.8 (1M context) --- script/install/install_debian_dependency.sh | 32 ++++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/script/install/install_debian_dependency.sh b/script/install/install_debian_dependency.sh index f73fe9c..5183827 100755 --- a/script/install/install_debian_dependency.sh +++ b/script/install/install_debian_dependency.sh @@ -20,12 +20,16 @@ UBUNTU_VERSION=$(lsb_release -rs) DEBIAN_VERSION=$(lsb_release -cs) OS=$(lsb_release -si) if [[ "${OS}" == "Ubuntu" ]]; then - if [ "25.10" == "${UBUNTU_VERSION}" ] || [ "25.04" == "${UBUNTU_VERSION}" ] || [ "24.04" == "${UBUNTU_VERSION}" ] || [ "24.10" == "${UBUNTU_VERSION}" ] || [ "23.10" == "${UBUNTU_VERSION}" ] || [ "23.04" == "${UBUNTU_VERSION}" ] || [ "22.10" == "${UBUNTU_VERSION}" ] || [ "22.04" == "${UBUNTU_VERSION}" ]; then - WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb - elif [ "20.04" == "${UBUNTU_VERSION}" ]; then + if [ "20.04" == "${UBUNTU_VERSION}" ]; then WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb elif [ "18.04" == "${UBUNTU_VERSION}" ]; then WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb + else + # 22.04+ (jusqu'à 26.04 et au-delà) : wkhtmltopdf ne publie pas de build + # par version ; le .deb « jammy » est le plus récent et fonctionne. Un + # « else » (au lieu d'énumérer les versions) évite une URL VIDE sur une + # version récente (26.04) -> gdebi appelé sans fichier -> échec. + WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb fi elif [[ "${OS}" == "Linuxmint" ]]; then if [ "22.3" == "${UBUNTU_VERSION}" ]; then @@ -205,15 +209,21 @@ elif [ ${EL_INSTALL_WKHTMLTOPDF} = "True" ]; then if [ "" == "${INSTALLED}" ]; then echo -e "\n---- Install wkhtml and place shortcuts on correct place ----" _url=${WKHTMLTOX_X64} - sudo wget ${_url} - sudo gdebi --n $(basename ${_url}) - retVal=$? - if [[ $retVal -ne 0 ]]; then - echo "gdebi install wkhtmltopdf installation error." - exit 1 + if [ -z "${_url}" ]; then + # Aucune URL (version non mappée) : wkhtmltopdf est OPTIONNEL, on saute + # proprement plutôt que d'appeler gdebi sans fichier (« Usage: gdebi »). + echo "wkhtmltopdf : aucune URL pour cette version, ignoré (optionnel)." + else + sudo wget ${_url} + sudo gdebi --n $(basename ${_url}) + retVal=$? + if [[ $retVal -ne 0 ]]; then + echo "gdebi install wkhtmltopdf installation error." + exit 1 + fi + sudo ln -fs /usr/local/bin/wkhtmltopdf /usr/bin + sudo ln -fs /usr/local/bin/wkhtmltoimage /usr/bin fi - sudo ln -fs /usr/local/bin/wkhtmltopdf /usr/bin - sudo ln -fs /usr/local/bin/wkhtmltoimage /usr/bin else echo -e "\n---- Already installed wkhtml ----" fi