diff options
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r-- | docker/Dockerfile | 43 |
1 files changed, 15 insertions, 28 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index 498dd69a..1b73ca66 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -# Copyright (C) 2018-2024 VyOS maintainers and contributors +# Copyright (C) 2018-2025 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # in order to easy exprort images built to "external" world @@ -18,7 +18,7 @@ # This Dockerfile is installable on both x86, x86-64, armhf and arm64 systems ARG ARCH= -FROM ${ARCH}debian:bookworm +FROM ${ARCH}debian:bookworm-slim RUN grep "VERSION_ID" /etc/os-release || (echo 'VERSION_ID="12"' >> /etc/os-release) @@ -103,11 +103,14 @@ RUN apt-get update && apt-get install -y \ python3-flake8 \ python3-autopep8 \ python3-tomli \ + python3-tomli-w \ yq \ debootstrap \ live-build \ gdisk \ - dosfstools + sbsigntool \ + dosfstools \ + kpartx # Packages for TPM test RUN apt-get update && apt-get install -y swtpm @@ -136,7 +139,7 @@ RUN dpkg-reconfigure ca-certificates; \ # Installing OCAML needed to compile libvyosconfig RUN curl https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh \ --output /tmp/opam_install.sh --retry 10 --retry-delay 5 && \ - sed -i 's/read BINDIR/BINDIR=""/' /tmp/opam_install.sh && sh /tmp/opam_install.sh && \ + sed -i 's/read_tty BINDIR/BINDIR=""/' /tmp/opam_install.sh && sh /tmp/opam_install.sh && \ opam init --root=/opt/opam --comp=${OCAML_VERSION} --disable-sandboxing --no-setup RUN eval $(opam env --root=/opt/opam --set-root) && \ @@ -152,23 +155,12 @@ RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \ fileutils \ xml-light -# Build VyConf which is required to build libvyosconfig -RUN eval $(opam env --root=/opt/opam --set-root) && \ - opam pin add vyos1x-config https://github.com/vyos/vyos1x-config.git#fc327ecd76 -y - # Packages needed for libvyosconfig RUN apt-get update && apt-get install -y \ quilt \ libpcre3-dev \ libffi-dev -# Build libvyosconfig -RUN eval $(opam env --root=/opt/opam --set-root) && \ - git clone https://github.com/vyos/libvyosconfig.git /tmp/libvyosconfig && \ - cd /tmp/libvyosconfig && git checkout c6141d97 && \ - dpkg-buildpackage -uc -us -tc -b && \ - dpkg -i /tmp/libvyosconfig0_*_$(dpkg-architecture -qDEB_HOST_ARCH).deb - # Packages needed for open-vmdk RUN apt-get update && apt-get install -y \ zlib1g-dev @@ -207,7 +199,6 @@ RUN wget https://salsa.debian.org/klausenbusk-guest/debootstrap/commit/a9a603b17 sudo dpkg -i ../debootstrap*.deb # Packages needed for Linux Kernel -# gnupg2 is required by Jenkins for the TAR verification # cmake required by accel-ppp RUN apt-get update && apt-get install -y \ cmake \ @@ -247,6 +238,7 @@ RUN pip install --break-system-packages \ iproute2 \ libzmq3-dev \ procps \ + protobuf-compiler \ python3 \ python3-setuptools \ python3-inotify \ @@ -264,24 +256,21 @@ RUN pip install --break-system-packages \ python3-netaddr \ python3-paramiko \ python3-passlib \ + python3-protobuf \ python3-tabulate \ python3-zmq \ pylint \ quilt \ - whois + whois \ + python3-cracklib -# Go required for validators and vyos-xe-guest-utilities -RUN GO_VERSION_INSTALL="1.21.3" ; \ +# Go required for telegraf and prometheus exporters build +RUN GO_VERSION_INSTALL="1.23.2" ; \ wget -O /tmp/go${GO_VERSION_INSTALL}.linux-amd64.tar.gz https://go.dev/dl/go${GO_VERSION_INSTALL}.linux-$(dpkg-architecture -qDEB_HOST_ARCH).tar.gz ; \ tar -C /opt -xzf /tmp/go*.tar.gz && \ rm /tmp/go*.tar.gz RUN echo "export PATH=/opt/go/bin:$PATH" >> /etc/bash.bashrc -# Packages needed for opennhrp -RUN apt-get update && apt-get install -y \ - libc-ares-dev \ - libev-dev - # Packages needed for Qemu test-suite # This is for now only supported on i386 and amd64 platforms RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \ @@ -297,7 +286,6 @@ RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \ # This is only supported on i386 and amd64 platforms RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \ apt-get update && apt-get install -y \ - kpartx \ parted \ udev \ grub-pc \ @@ -381,9 +369,8 @@ RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \ echo "vyos_bld\tALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ chmod a+s /usr/sbin/useradd /usr/sbin/groupadd -# Ensure sure all users have access to our OCAM and Go installation -RUN echo "$(opam env --root=/opt/opam --set-root)" >> /etc/skel/.bashrc && \ - echo "export PATH=/opt/go/bin:\$PATH" >> /etc/skel/.bashrc +# Ensure sure all users have access to Go +RUN echo "export PATH=/opt/go/bin:\$PATH" >> /etc/skel/.bashrc # Rise upper limit for UID when working in an Active Direcotry integrated # environment. This solves the warning: vyos_bld's uid 1632000007 outside of the |