diff options
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r-- | docker/Dockerfile | 84 |
1 files changed, 32 insertions, 52 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index 3befeea0..78102ae3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -16,7 +16,7 @@ # Must be run with --privileged flag, recommended to run the container with a # volume mapped in order to easy export images -FROM debian:jessie +FROM debian:buster LABEL authors="VyOS Maintainers <maintainers@vyos.io>" ENV DEBIAN_FRONTEND noninteractive @@ -63,33 +63,19 @@ RUN apt-get update && apt-get install -y \ python3-coverage \ python3-sphinx \ python3-pystache \ + python3-git \ + python3-pip \ pkg-config \ debhelper \ + gosu \ + live-build \ jq -# -# Setup Debian Jessie Backports repository -# -COPY no--check-valid-until /etc/apt/apt.conf.d/ -RUN echo "deb http://archive.debian.org/debian/ jessie-backports main" \ - > /etc/apt/sources.list.d/jessie-backports.list - -RUN apt-get update && apt-get install -y -t jessie-backports \ - python3-git \ - python3-pip \ - gosu - # Package needed for mdns-repeater -RUN apt-get update && apt-get install -y -t jessie-backports \ +RUN apt-get update && apt-get install -y \ dh-systemd # -# Remove Debian Jessie Backports repository -# -RUN rm -f /etc/apt/sources.list.d/jessie-backports.list \ - /etc/apt/apt.conf.d/no--check-valid-until - -# # Building libvyosconf requires a full configured OPAM/OCaml setup # RUN apt-get update && apt-get install -y \ @@ -159,7 +145,7 @@ RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \ libpcap-dev \ libpq-dev \ - libmysqlclient-dev \ + default-libmysqlclient-dev \ libgeoip-dev \ librabbitmq-dev \ libjansson-dev \ @@ -172,11 +158,12 @@ RUN apt-get update && apt-get install -y \ # Packages needed for kernel RUN apt-get update && apt-get install -y \ - kernel-package \ libncurses5-dev \ flex \ bison \ libelf-dev \ + bc \ + kmod \ dkms # Packages needed for Accel-ppp @@ -200,16 +187,7 @@ RUN export RTRLIB_VERSION="0.6.3" && \ cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \ dpkg -i ../librtr*_amd64.deb ../librtr*_all.deb -# -# Setup VyOS Debian repository -# -COPY vyos-dev.key /tmp/vyos-dev.key -RUN apt-key add /tmp/vyos-dev.key -RUN echo "deb http://dev.packages.vyos.net/repositories/current/debian/ current main" \ - > /etc/apt/sources.list.d/vyos.list - # Packages needed to build frr itself -# libyang-dev packages are hsoted on dev.packages.vyos.net see # https://github.com/FRRouting/frr/blob/master/doc/developer/building-libyang.rst # for more info RUN apt-get update && apt-get install -y \ @@ -223,11 +201,6 @@ RUN apt-get update && apt-get install -y \ python3-pytest \ texinfo -# -# Cleanup VyOS Debian Repository -# -RUN rm -f /etc/apt/sources.list.d/vyos.list - # Packages needed for conntrack-tools RUN apt-get update && apt-get install -y \ libnetfilter-conntrack-dev \ @@ -250,16 +223,10 @@ RUN apt-get update && apt-get install -y \ # Packages needed for ipaddrcheck RUN apt-get update && apt-get install -y \ + libcidr0 \ + libcidr-dev \ check -# As there is no Debian Jessie/Stretch package for libcidr available but this -# is required for ipaddrcheck we have to build it from source -RUN git clone https://github.com/wikimedia/analytics-libcidr.git && \ - cd analytics-libcidr && \ - git checkout 026c611d90a1 && \ - dpkg-buildpackage -uc -us -tc -b && \ - dpkg -i ../libcidr*.deb - # Packages needed for lldpd RUN apt-get update && apt-get install -y \ libbsd-dev \ @@ -312,15 +279,12 @@ RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \ python-all \ python2.7-dev \ - libmysqld-dev + libmariadb-dev -# Update live-build -RUN echo 'deb http://ftp.debian.org/debian stretch main' | tee -a /etc/apt/sources.list.d/stretch.list && \ - apt-get update && apt-get install -y -t stretch \ - live-build && \ - rm -f /etc/apt/sources.list.d/stretch.list && \ - apt-get update && \ - rm -rf /var/lib/apt/lists/* +# Packages needed for Qemu test-suite +RUN apt-get update && apt-get install -y \ + python3-pexpect \ + qemu-kvm # Install packer RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | \ @@ -329,6 +293,22 @@ RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packe curl -K- | gzip -d > /usr/bin/packer && \ chmod +x /usr/bin/packer +# +# live-build: building in docker fails with mounting /proc | /sys +# +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919659 +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=921815 +# https://salsa.debian.org/installer-team/debootstrap/merge_requests/26 +# +RUN wget https://salsa.debian.org/klausenbusk-guest/debootstrap/commit/a9a603b17cadbf52cb98cde0843dc9f23a08b0da.patch && \ + git clone https://salsa.debian.org/installer-team/debootstrap && \ + cd debootstrap && \ + git checkout 1.0.114 && \ + patch -p1 < ../a9a603b17cadbf52cb98cde0843dc9f23a08b0da.patch && \ + dch -n "Applying fix for docker image compile" && \ + dpkg-buildpackage -us -uc && \ + sudo dpkg -i ../debootstrap*.deb + # Allow password-less 'sudo' for all users in group 'sudo' RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \ chmod a+s /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/gosu /usr/sbin/usermod |