fpga-build: use debian-bookworm-build

* Remove code that is in debian-bookworm-build already (all packages
  that get installed, creating the build user, installing osmo-ci and
  osmo-gsm-manuals).
* Put toolchain installations in single RUN commands, so the unextracted
  tarballs are not stored in image layers.

Related: OS#6057
Change-Id: Iaaca6367b76a6ec860c63d57c767954f82edfee5
This commit is contained in:
Oliver Smith 2023-08-04 12:46:34 +02:00
parent 3383a77448
commit cf43251869
1 changed files with 10 additions and 41 deletions

View File

@ -1,51 +1,20 @@
ARG USER
FROM $USER/debian-buster-build
FROM $USER/debian-bookworm-build
# Arguments used after FROM must be specified again
ARG FPGA_TOOLCHAIN_DATE=20200914
ARG RISCV_TOOLCHAIN_VER=8.3.0-1.2
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends \
asciidoc \
asciidoc-dblatex \
dblatex \
docbook5-xml \
graphviz \
inkscape \
mscgen \
python3-nwdiag \
rsync \
ssh \
wget \
xsltproc && \
apt-get clean
RUN wget https://github.com/open-tool-forge/fpga-toolchain/releases/download/nightly-${FPGA_TOOLCHAIN_DATE}/fpga-toolchain-linux_x86_64-nightly-${FPGA_TOOLCHAIN_DATE}.tar.xz
RUN tar -C /opt -xf fpga-toolchain-linux_x86_64-nightly-${FPGA_TOOLCHAIN_DATE}.tar.xz && \
# Install fpga-toolchain
RUN set -x && \
wget --quiet https://github.com/open-tool-forge/fpga-toolchain/releases/download/nightly-${FPGA_TOOLCHAIN_DATE}/fpga-toolchain-linux_x86_64-nightly-${FPGA_TOOLCHAIN_DATE}.tar.xz && \
tar -C /opt -xf fpga-toolchain-linux_x86_64-nightly-${FPGA_TOOLCHAIN_DATE}.tar.xz && \
rm fpga-toolchain-linux_x86_64-nightly-${FPGA_TOOLCHAIN_DATE}.tar.xz
RUN wget --quiet https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v${RISCV_TOOLCHAIN_VER}/xpack-riscv-none-embed-gcc-${RISCV_TOOLCHAIN_VER}-linux-x64.tar.gz
RUN tar -C /opt -xf /xpack-riscv-none-embed-gcc-${RISCV_TOOLCHAIN_VER}-linux-x64.tar.gz && \
# Install riscv-none-embed-gcc
RUN set -x && \
wget --quiet https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v${RISCV_TOOLCHAIN_VER}/xpack-riscv-none-embed-gcc-${RISCV_TOOLCHAIN_VER}-linux-x64.tar.gz && \
tar -C /opt -xf /xpack-riscv-none-embed-gcc-${RISCV_TOOLCHAIN_VER}-linux-x64.tar.gz && \
rm xpack-riscv-none-embed-gcc-${RISCV_TOOLCHAIN_VER}-linux-x64.tar.gz
# match the outside user
RUN useradd --uid=1000 build
RUN mkdir /build
RUN chown build:build /build
ENV PATH=/opt/fpga-toolchain/bin:/opt/xpack-riscv-none-embed-gcc-${RISCV_TOOLCHAIN_VER}/bin:${PATH}
# Install osmo-ci.git/scripts to /usr/local/bin
ADD https://gerrit.osmocom.org/plugins/gitiles/osmo-ci/+/master?format=TEXT /tmp/osmo-ci-commit
RUN git clone https://gerrit.osmocom.org/osmo-ci.git && \
cp -v $(find osmo-ci/scripts \
-maxdepth 1 \
-type f ) \
/usr/local/bin
# Install osmo-gsm-manuals to /opt/osmo-gsm-manuals
ADD https://gerrit.osmocom.org/plugins/gitiles/osmo-gsm-manuals/+/master?format=TEXT /tmp/osmo-gsm-manuals-commit
RUN git -C /opt clone https://gerrit.osmocom.org/osmo-gsm-manuals