# REX - Corrections Dockerfiles Alpine Linux ## Date 21 septembre 2025 ## Problème identifié Les Dockerfiles utilisant Alpine Linux tentaient d'installer le package `cscope` qui n'existe pas dans les dépôts Alpine. ## Erreurs rencontrées ``` ERROR: unable to select packages: cscope (no such package): required by: world[cscope] ``` ## Projets affectés - `sdk_signer` (Dockerfile Alpine) - `ihm_client` (Dockerfile Alpine) - `lecoffre-back-mini` (Dockerfile Alpine) - `lecoffre-front` (Dockerfile Alpine) ## Solution appliquée Suppression de `cscope` des commandes `apk add` dans tous les Dockerfiles Alpine. ### Avant ```dockerfile RUN apk update && apk upgrade && apk add --no-cache \ git \ curl \ wget \ jq \ busybox-extras \ npm \ coreutils \ build-base \ autoconf \ automake \ libtool \ pkgconfig \ cmake \ ninja \ clang \ lldb \ lld \ make \ tree \ ncdu \ mc \ ctags \ cscope \ vim \ emacs \ sed \ gawk \ iputils \ net-tools \ iproute2 \ python3 \ python3-dev \ py3-pip \ go \ rust \ cargo \ && npm install -g wscat ``` ### Après ```dockerfile RUN apk update && apk upgrade && apk add --no-cache \ git \ curl \ wget \ jq \ busybox-extras \ npm \ coreutils \ build-base \ autoconf \ automake \ libtool \ pkgconfig \ cmake \ ninja \ clang \ lldb \ lld \ make \ tree \ ncdu \ mc \ ctags \ vim \ emacs \ sed \ gawk \ iputils \ net-tools \ iproute2 \ python3 \ python3-dev \ py3-pip \ go \ rust \ cargo \ && npm install -g wscat ``` ## Résultat Tous les projets avec Dockerfiles Alpine ont été construits avec succès : - ✅ `sdk_relay` (Debian-based) - ✅ `sdk_signer` (Alpine-based) - ✅ `ihm_client` (Alpine-based) - ✅ `lecoffre-back-mini` (Alpine-based) - ✅ `lecoffre-front` (Alpine-based) ## Leçons apprises 1. Vérifier la compatibilité des packages avec la distribution Linux utilisée 2. `cscope` n'est pas disponible dans Alpine Linux 3. Les Dockerfiles Debian utilisent `apt-get` et peuvent installer `cscope` 4. Les Dockerfiles Alpine utilisent `apk` et ne peuvent pas installer `cscope` ## Actions préventives - Ajouter une vérification de compatibilité des packages dans les scripts de build - Documenter les différences entre distributions Linux dans les Dockerfiles - Créer des tests automatisés pour vérifier la validité des packages