diff --git a/deploy/docker/bird/bird-from-source.sh b/deploy/docker/bird/bird-from-source.sh index 311873c..2def660 100644 --- a/deploy/docker/bird/bird-from-source.sh +++ b/deploy/docker/bird/bird-from-source.sh @@ -1,6 +1,7 @@ #!/bin/sh # Сборка BIRD из официального tarball (версия задаётся BIRD_VERSION, по умолчанию 2.14). # Запуск от root (Docker) или через sudo на хосте. Префикс установки: /usr/local. +# birdc требует ncurses + readline; в runtime-образе gobinary — libncurses6 + libreadline8. set -eu BIRD_VERSION="${BIRD_VERSION:-2.14}" export DEBIAN_FRONTEND=noninteractive @@ -12,19 +13,19 @@ apt-get install -y --no-install-recommends \ curl \ flex \ bison \ - libncurses-dev + libncurses-dev \ + libreadline-dev cd /tmp rm -rf "bird-${BIRD_VERSION}" curl -fsSL "https://bird.network.cz/download/bird-${BIRD_VERSION}.tar.gz" | tar xz cd "bird-${BIRD_VERSION}" -# birdc only for non-interactive "show protocols" / configure — без readline в runtime. -./configure --prefix=/usr/local --enable-client --disable-readline +./configure --prefix=/usr/local --enable-client make -j"$(nproc)" make install cd / rm -rf "/tmp/bird-${BIRD_VERSION}" -apt-get purge -y build-essential flex bison libncurses-dev +apt-get purge -y build-essential flex bison libncurses-dev libreadline-dev apt-get autoremove -y rm -rf /var/lib/apt/lists/* diff --git a/deploy/docker/gobinary/Dockerfile b/deploy/docker/gobinary/Dockerfile index 93b01f3..a747313 100644 --- a/deploy/docker/gobinary/Dockerfile +++ b/deploy/docker/gobinary/Dockerfile @@ -46,8 +46,8 @@ EXPOSE 8080 ENTRYPOINT ["/usr/local/bin/evobgp"] FROM runtime AS runtime-birdc -# birdc (--disable-readline) линкуется с ncurses (bookworm: libncurses6). +# birdc: динамическая линковка readline + ncurses (debian bookworm). RUN apt-get update \ - && apt-get install -y --no-install-recommends libncurses6 \ + && apt-get install -y --no-install-recommends libreadline8 libncurses6 \ && rm -rf /var/lib/apt/lists/* COPY --from=birdc /usr/local/sbin/bird /usr/local/sbin/birdc /usr/local/sbin/