summaryrefslogtreecommitdiff
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile46
1 files changed, 27 insertions, 19 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index e121dc3e..219a8065 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2022 VyOS maintainers and contributors
+# Copyright (C) 2018-2024 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
@@ -133,11 +133,12 @@ RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \
ctypes-foreign \
ctypes-build \
containers \
- fileutils
+ 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#fd8bdc52 -y
+ opam pin add vyos1x-config https://github.com/vyos/vyos1x-config.git#f11f0148 -y
# Packages needed for libvyosconfig
RUN apt-get update && apt-get install -y \
@@ -148,7 +149,7 @@ RUN apt-get update && apt-get install -y \
# 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 020716d9 && \
+ cd /tmp/libvyosconfig && git checkout 63175de4 && \
dpkg-buildpackage -uc -us -tc -b && \
dpkg -i /tmp/libvyosconfig0_*_$(dpkg-architecture -qDEB_HOST_ARCH).deb
@@ -182,13 +183,17 @@ RUN wget https://salsa.debian.org/klausenbusk-guest/debootstrap/commit/a9a603b17
RUN apt-get update && apt-get install -y \
gnupg2 \
rsync \
+ libelf-dev \
libncurses5-dev \
flex \
bison \
bc \
kmod \
cpio \
- python-is-python3
+ python-is-python3 \
+ dwarves \
+ nasm \
+ rdfind
# Packages needed for Intel QAT out-of-tree drivers
# FPM is used when generation Debian pckages for e.g. Intel QAT drivers
@@ -209,6 +214,11 @@ RUN export RTRLIB_VERSION="0.8.0" export ARCH=$(dpkg-architecture -qDEB_HOST_ARC
dpkg-buildpackage -uc -us -tc -b && \
dpkg -i ../librtr0*_${ARCH}.deb ../librtr-dev*_${ARCH}.deb ../rtr-tools*_${ARCH}.deb
+RUN export LIBYANG_VERSION="v2.1.128" export ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) && \
+ git clone https://github.com/CESNET/libyang.git /tmp/libyang && cd /tmp/libyang && \
+ pipx run apkg build -i && find pkg/pkgs -type f -name *.deb -exec mv -t .. {} + && \
+ dpkg -i ../libyang*.deb
+
# Packages needed for vyos-1x
RUN pip install --break-system-packages \
git+https://github.com/aristanetworks/j2lint.git@341b5d5db86 \
@@ -227,6 +237,7 @@ RUN pip install --break-system-packages \
python3-nose \
python3-netifaces \
python3-jinja2 \
+ python3-jmespath \
python3-psutil \
python3-stdeb \
python3-all \
@@ -234,21 +245,8 @@ RUN pip install --break-system-packages \
quilt \
whois
-# Packages needed for vyos-1x-xdp package, gcc-multilib is not available on
-# arm64 but required by XDP
-RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \
- apt-get update && apt-get install -y \
- gcc-multilib \
- clang \
- llvm \
- libelf-dev \
- libpcap-dev \
- libbpf-dev \
- build-essential; \
- fi
-
# Go required for validators and vyos-xe-guest-utilities
-RUN GO_VERSION_INSTALL="1.18.3" ; \
+RUN GO_VERSION_INSTALL="1.21.3" ; \
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
@@ -339,6 +337,16 @@ RUN apt-get update && apt-get install -y \
libssl-dev \
libpcre3-dev
+# debmake: a native Debian tool for preparing sources for packaging
+RUN apt-get update && apt-get install -y \
+ debmake \
+ python3-debian
+
+# Packages for jool
+RUN apt-get update && apt-get install -y \
+ libnl-genl-3-dev \
+ libxtables-dev
+
# Allow password-less 'sudo' for all users in group 'sudo'
RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \
echo "vyos_bld\tALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \