fix: update bird build script and Dockerfile to remove readline dependency
CI / changes (push) Successful in 7s
CI / openapi (push) Has been skipped
CI / go (push) Has been skipped
CI / docker-web (push) Has been skipped
CI / docker-bird (push) Successful in 43s
CI / bird2 (push) Successful in 18s
CI / docker-go (push) Failing after 2m4s

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.
This commit is contained in:
Denozordec
2026-05-19 11:05:57 +07:00
parent 7d52a4af63
commit fefadac1bf
2 changed files with 8 additions and 6 deletions
+4 -6
View File
@@ -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/*
+4
View File
@@ -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/