summaryrefslogtreecommitdiff
path: root/docker/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile84
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