lecoffre_node/docs/REX_Dockerfile_Fixes.md

2.5 KiB

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

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

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