From cf43251869c85c10047e437cb32e733fbbbd1bfb Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Fri, 4 Aug 2023 12:46:34 +0200 Subject: [PATCH] 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 --- fpga-build/Dockerfile | 51 +++++++++---------------------------------- 1 file changed, 10 insertions(+), 41 deletions(-) diff --git a/fpga-build/Dockerfile b/fpga-build/Dockerfile index 1421d297..a5444d23 100644 --- a/fpga-build/Dockerfile +++ b/fpga-build/Dockerfile @@ -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