From fefadac1bf4d70b8e8c948a8939ed239276fdba7 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Tue, 19 May 2026 11:05:57 +0700 Subject: [PATCH] fix: update bird build script and Dockerfile to remove readline dependency Modified the bird build script to disable readline support, streamlining the installation process. Updated the Dockerfile to include the necessary libreadline8 package for the birdc runtime, ensuring compatibility while reducing unnecessary dependencies in the build phase. --- deploy/docker/bird/bird-from-source.sh | 10 ++++------ deploy/docker/gobinary/Dockerfile | 4 ++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/deploy/docker/bird/bird-from-source.sh b/deploy/docker/bird/bird-from-source.sh index df8b7e1..38e0490 100644 --- a/deploy/docker/bird/bird-from-source.sh +++ b/deploy/docker/bird/bird-from-source.sh @@ -11,21 +11,19 @@ apt-get install -y --no-install-recommends \ ca-certificates \ curl \ flex \ - bison \ - libncurses-dev \ - libreadline-dev + bison 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}" -./configure --prefix=/usr/local --enable-client +# birdc only for non-interactive "show protocols" / configure — без readline в runtime. +./configure --prefix=/usr/local --enable-client --disable-readline make -j"$(nproc)" make install cd / rm -rf "/tmp/bird-${BIRD_VERSION}" -apt-get purge -y build-essential flex bison libncurses-dev libreadline-dev +apt-get purge -y build-essential flex bison apt-get autoremove -y -apt-get install -y --no-install-recommends libreadline8 libtinfo6 rm -rf /var/lib/apt/lists/* diff --git a/deploy/docker/gobinary/Dockerfile b/deploy/docker/gobinary/Dockerfile index f41e87e..d8087c9 100644 --- a/deploy/docker/gobinary/Dockerfile +++ b/deploy/docker/gobinary/Dockerfile @@ -46,4 +46,8 @@ EXPOSE 8080 ENTRYPOINT ["/usr/local/bin/evobgp"] FROM runtime AS runtime-birdc +# birdc, собранный с readline, требует libreadline8 в runtime (bookworm). +RUN apt-get update \ + && apt-get install -y --no-install-recommends libreadline8 \ + && rm -rf /var/lib/apt/lists/* COPY --from=birdc /usr/local/sbin/bird /usr/local/sbin/birdc /usr/local/sbin/