summaryrefslogtreecommitdiff
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile169
1 files changed, 105 insertions, 64 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index e48a42ee..1adc2ece 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2020 VyOS maintainers and contributors
+# Copyright (C) 2018-2021 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
@@ -66,27 +66,11 @@ RUN apt-get update && apt-get install -y \
curl \
sudo \
mc \
- build-essential \
pbuilder \
devscripts \
- squashfs-tools \
- genisoimage \
lsb-release \
- fakechroot \
libtool \
libapt-pkg-dev \
- quilt \
- python3-lxml \
- python3-setuptools \
- python3-nose \
- python3-coverage \
- python3-sphinx \
- python3-pystache \
- python3-git \
- python3-pip \
- python3-psutil \
- python3-flake8 \
- python3-autopep8 \
flake8 \
pkg-config \
debhelper \
@@ -95,6 +79,18 @@ RUN apt-get update && apt-get install -y \
openssh-client \
jq
+# Packages needed for vyos-build
+RUN apt-get update && apt-get install -y \
+ build-essential \
+ python3-pystache \
+ squashfs-tools \
+ genisoimage \
+ fakechroot \
+ python3-git \
+ python3-pip \
+ python3-flake8 \
+ python3-autopep8
+
# Syslinux and Grub2 is only supported on x86 and x64 systems
RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \
apt-get update && apt-get install -y \
@@ -102,14 +98,11 @@ RUN if dpkg-architecture -ii386 || dpkg-architecture -iamd64; then \
grub2; \
fi
-# Package needed for mdns-repeater
-RUN apt-get update && apt-get install -y \
- dh-systemd
-
#
# Building libvyosconf requires a full configured OPAM/OCaml setup
#
RUN apt-get update && apt-get install -y \
+ debhelper \
libffi-dev \
libpcre3-dev \
unzip
@@ -126,7 +119,7 @@ RUN dpkg-reconfigure ca-certificates; \
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 && \
- opam init --root=/opt/opam --comp=4.09.0 --disable-sandboxing
+ opam init --root=/opt/opam --comp=4.09.1 --disable-sandboxing
RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \
pcre re
@@ -140,6 +133,12 @@ RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \
RUN eval $(opam env --root=/opt/opam --set-root) && \
opam pin add vyos1x-config https://github.com/vyos/vyos1x-config.git#550048b3 -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 && \
@@ -217,65 +216,101 @@ RUN apt-get update && apt-get install -y \
automake \
cpio
-# Packages needed for kernel
+# Packages needed for Linux Kernel
RUN apt-get update && apt-get install -y \
rsync \
- libmnl-dev \
libncurses5-dev \
flex \
bison \
- libelf-dev \
bc \
kmod \
+ cpio
+
+# Packages needed for Accel-PPP
+RUN apt-get update && apt-get install -y \
+ liblua5.3-dev \
+ libssl1.1 \
+ libssl-dev \
+ libpcre3-dev
+
+# Packages needed for wireguard
+RUN apt-get update && apt-get install -y \
+ debhelper-compat \
dkms \
- cdbs \
- cmake \
- elfutils \
- libdw-dev \
- systemtap-sdt-dev \
- libunwind-dev \
- libslang2-dev \
- python-dev \
- libiberty-dev \
- binutils-dev \
- libnuma-dev \
- libbabeltrace-dev \
- liblua5.3-dev
+ pkg-config \
+ systemd
+
+# Packages needed for iproute2
+RUN apt-get update && apt-get install -y \
+ bison \
+ debhelper \
+ flex \
+ iptables-dev \
+ libatm1-dev \
+ libcap-dev \
+ libdb-dev \
+ libbsd-dev \
+ libelf-dev \
+ libmnl-dev \
+ libselinux1-dev \
+ linux-libc-dev \
+ pkg-config \
+ po-debconf \
+ zlib1g-dev
# Prerequisites for building rtrlib
# see http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-debian8.html
RUN apt-get update && apt-get install -y \
- graphviz \
- doxygen \
+ cmake \
+ dpkg-dev \
+ debhelper \
libssh-dev \
- libssl-dev
+ doxygen
# Build rtrlib release 0.6.3
-RUN export RTRLIB_VERSION="0.6.3" && \
+RUN export RTRLIB_VERSION="0.6.3" && export ARCH=$(dpkg-architecture -qDEB_HOST_ARCH) && \
wget -P /tmp https://github.com/rtrlib/rtrlib/archive/v${RTRLIB_VERSION}.tar.gz && \
tar xf /tmp/v${RTRLIB_VERSION}.tar.gz -C /tmp && \
cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \
- dpkg -i ../librtr*_$(dpkg-architecture -qDEB_HOST_ARCH).deb ../librtr*_all.deb
+ dpkg -i ../librtr0*_${ARCH}.deb ../librtr-dev*_${ARCH}.deb ../rtr-tools*_${ARCH}.deb
# Upgrading to FRR 7.5 requires a more recent version of libyang which is only
# available from Debian Bullseye
RUN echo "deb http://deb.debian.org/debian/ bullseye main" \
- > /etc/apt/sources.list.d/bullseye-backports.list && \
+ > /etc/apt/sources.list.d/bullseye.list && \
apt-get update && apt-get install -y -t bullseye \
libyang-dev \
libyang1; \
- rm -f /etc/apt/sources.list.d/bullseye-backports.list
+ rm -f /etc/apt/sources.list.d/bullseye.list
# Packages needed to build FRR itself
# https://github.com/FRRouting/frr/blob/master/doc/developer/building-libyang.rst
# for more info
RUN apt-get update && apt-get install -y \
+ bison \
chrpath \
+ debhelper \
+ flex \
+ gawk \
install-info \
+ libc-ares-dev \
+ libcap-dev \
libjson-c-dev \
+ libpam0g-dev \
+ libpcre3-dev \
libpython3-dev \
+ libreadline-dev \
+ librtr-dev \
+ libsnmp-dev \
+ libssh-dev \
+ libsystemd-dev \
+ libyang-dev \
+ lsb-base \
+ pkg-config \
+ python3 \
python3-dev \
python3-pytest \
+ python3-sphinx \
texinfo
# Packages needed for hvinfo
@@ -293,6 +328,8 @@ RUN apt-get update && apt-get install -y \
python3-lxml \
python3-nose \
python3-netifaces \
+ python3-jinja2 \
+ python3-psutil \
python3-coverage \
quilt \
whois
@@ -362,24 +399,6 @@ RUN apt-get update && apt-get install -y \
RUN apt-get update && apt-get install -y \
libc-ares-dev
-# Packages needed for keepalived
-RUN apt-get update && apt-get install -y \
- autoconf \
- debhelper \
- libglib2.0-dev \
- libjson-c-dev \
- libnl-3-dev \
- libnl-genl-3-dev \
- libpopt-dev \
- libsnmp-dev \
- libssl-dev \
- libnl-nf-3-dev \
- libnfnetlink-dev \
- libipset-dev \
- iptables-dev \
- linux-libc-dev \
- pkg-config
-
# 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 \
@@ -437,14 +456,35 @@ RUN if dpkg-architecture -iarm64; then \
grub-efi-arm; \
fi
+# Packages needed for libnftnl
+RUN apt-get update && apt-get install -y \
+ debhelper-compat \
+ libmnl-dev \
+ libtool \
+ pkg-config
+
# Packages needed for nftables
RUN apt-get update && apt-get install -y \
asciidoc-base \
+ automake \
+ bison \
+ debhelper-compat \
+ dh-python \
+ docbook-xsl \
+ flex \
+ libgmp-dev \
libjansson-dev \
- python3-all
+ libmnl-dev \
+ libreadline-dev \
+ libtool \
+ libxtables-dev \
+ python3-all \
+ python3-setuptools \
+ xsltproc
# Packages needed for libnetfilter-conntrack
RUN apt-get update && apt-get install -y \
+ debhelper-compat \
libmnl-dev \
libnfnetlink-dev \
libtool
@@ -452,6 +492,7 @@ RUN apt-get update && apt-get install -y \
# Packages needed for conntrack-tools
RUN apt-get update && apt-get install -y \
bison \
+ debhelper \
flex \
libmnl-dev \
libnetfilter-cthelper0-dev \