diff options
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r-- | docker/Dockerfile | 169 |
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 \ |