osmith submitted this change.

View Change


Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved
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
---
M fpga-build/Dockerfile
1 file changed, 26 insertions(+), 41 deletions(-)

diff --git a/fpga-build/Dockerfile b/fpga-build/Dockerfile
index 1421d29..a5444d2 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

To view, visit change 34163. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: Iaaca6367b76a6ec860c63d57c767954f82edfee5
Gerrit-Change-Number: 34163
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged