From 9e234232bf1ac1d139dde6da7c74f82a8b5b4f41 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 16 Apr 2019 20:12:54 +0200 Subject: Packages: define custom command for vyos-strongswan This is required to get a python3-vici package which is required by vyos-1x --- docker/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docker') diff --git a/docker/Dockerfile b/docker/Dockerfile index 36895335..c4351555 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -259,7 +259,9 @@ RUN apt-get update && apt-get install -y \ libsqlite3-dev \ dh-apparmor \ gperf \ - libsystemd-dev + libsystemd-dev \ + python3-stdeb \ + python-setuptools # Packages needed for vyos-opennhrp RUN apt-get update && apt-get install -y \ -- cgit v1.2.3 From b1c495b72be765f616cd681a7ff0c9e194c67479 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 26 Apr 2019 10:27:35 +0200 Subject: Packages: extract kernel version from defaults.json This requires 'jq' as part of the Docker container. $ cat data/defaults.json | jq '.kernel_version' | tr -d \" --- data/kernel_version | 2 +- docker/Dockerfile | 5 ++--- scripts/build-packages | 7 ++++--- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'docker') diff --git a/data/kernel_version b/data/kernel_version index 1a6cc42f..ab416d6c 100644 --- a/data/kernel_version +++ b/data/kernel_version @@ -1 +1 @@ -4.19.32-amd64-vyos +4.19.36-amd64-vyos diff --git a/docker/Dockerfile b/docker/Dockerfile index c4351555..21b38417 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -70,7 +70,8 @@ RUN apt-get update && apt-get install -y \ python3-sphinx \ python3-pystache \ pkg-config \ - debhelper + debhelper \ + jq RUN apt-get update && apt-get install -y -t jessie-backports \ python3-git \ @@ -280,8 +281,6 @@ RUN echo 'deb http://ftp.debian.org/debian stretch main' | tee -a /etc/apt/sourc rm -rf /var/lib/apt/lists/* # Install packer -RUN apt-get update && apt-get install -y \ - jq RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | \ jq -r -M '.current_version')"; \ echo "url https://releases.hashicorp.com/packer/"$LATEST"/packer_"$LATEST"_linux_amd64.zip" |\ diff --git a/scripts/build-packages b/scripts/build-packages index 6d4b1c76..0677e9f7 100755 --- a/scripts/build-packages +++ b/scripts/build-packages @@ -228,6 +228,7 @@ pkg_special.append( add_package('frr', url='https://github.com/FRRouting/frr.git # kernel_build_cmd = "make x86_64_vyos_defconfig && " \ "echo $(make kernelversion)-amd64-vyos > " + repo_root + "/data/kernel_version && " \ + "sed -i 's/\"kernel_version\": \"[0-9].[0-9][0-9].[0-9]*\"/\"kernel_version\": \"'$(make kernelversion)'\"/' " + repo_root + "/data/defaults.json && " \ "LOCALVERSION='' make-kpkg --rootcmd fakeroot --initrd --append_to_version -amd64-vyos " \ " --revision=$(make kernelversion)-1 kernel_headers kernel_image -j" + str(os.cpu_count()) pkg_special.append( add_package('vyos-kernel', branch='linux-vyos-4.19.y', custombuild_cmd=kernel_build_cmd) ) @@ -237,7 +238,7 @@ pkg_special.append( add_package('vyos-kernel', branch='linux-vyos-4.19.y', custo # # WireGuard Kernel Module # -wireguard_build_cmd = "echo 'src/wireguard.ko /lib/modules/'$(cat " + repo_root + "/data/kernel_version) > debian/wireguard-modules.install && " \ +wireguard_build_cmd = "echo 'src/wireguard.ko /lib/modules/'$(cat " + repo_root + "/data/defaults.json | jq '.kernel_version' | tr -d \\\") > debian/wireguard-modules.install && " \ "KERNELDIR=" + repo_root + "/packages/vyos-kernel dpkg-buildpackage -b -us -uc -tc -j" + str(os.cpu_count()) pkg_special.append( add_package('vyos-wireguard', custombuild_cmd=wireguard_build_cmd) ) @@ -246,8 +247,8 @@ pkg_special.append( add_package('vyos-wireguard', custombuild_cmd=wireguard_buil # # Accell-PPP Package and Kernel Module # -accel_ppp_build_cmd = "echo 'lib/modules/'$(cat " + repo_root + "/data/kernel_version)'/extra/*.ko' > debian/vyos-accel-ppp-ipoe-kmod.install && " \ - "sed -i 's#[0-9].[0-9][0-9].[0-9]*-amd64-vyos#'$(cat " + repo_root + "/data/kernel_version)'#g' debian/rules && " \ +accel_ppp_build_cmd = "echo 'lib/modules/'$(cat " + repo_root + "/data/defaults.json | jq '.kernel_version' | tr -d \\\")'/extra/*.ko' > debian/vyos-accel-ppp-ipoe-kmod.install && " \ + "sed -i 's#[0-9].[0-9][0-9].[0-9]*-amd64-vyos#'$(cat " + repo_root + "/data/defaults.json | jq '.kernel_version' | tr -d \\\")'#g' debian/rules && " \ "KERNELDIR=" + repo_root + "/packages/vyos-kernel dpkg-buildpackage -b -us -uc -tc -j" + str(os.cpu_count()) pkg_special.append( add_package('vyos-accel-ppp', custombuild_cmd=accel_ppp_build_cmd) ) -- cgit v1.2.3 From bda5855952a59fa654e54c77b468375e35a898ed Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 26 Apr 2019 11:54:44 +0200 Subject: Docker: Use close sections when working with jessie-backports Making the jessie-backports repository globally available might cause problems when installing packages which have mixed versions. This was observed with the following packages which could not be installed when jessie-backports was listed always in /etc/apt/sources.list * libnl-3-200 * libnl-3-dev * libnl-genl-3-200 * libnl-genl-3-dev --- docker/Dockerfile | 40 ++++++++++++++++++++++++++++++---------- docker/sources.list | 4 ---- 2 files changed, 30 insertions(+), 14 deletions(-) delete mode 100644 docker/sources.list (limited to 'docker') diff --git a/docker/Dockerfile b/docker/Dockerfile index 21b38417..ebb998c1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -21,12 +21,6 @@ LABEL authors="VyOS Maintainers " ENV DEBIAN_FRONTEND noninteractive -COPY sources.list /etc/apt/sources.list -COPY no--check-valid-until /etc/apt/apt.conf.d/ -COPY vyos-dev.key /tmp/vyos-dev.key - -RUN apt-key add /tmp/vyos-dev.key - # Standard shell should be bash not dash RUN echo "dash dash/sh boolean false" | debconf-set-selections && \ dpkg-reconfigure dash @@ -73,11 +67,28 @@ RUN apt-get update && apt-get install -y \ debhelper \ 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 \ + 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 # @@ -124,10 +135,6 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \ dpkg-buildpackage -uc -us -tc -b && \ dpkg -i ../libvyosconfig0_*_amd64.deb -# Package needed for mdns-repeater -RUN apt-get update && apt-get install -y -t jessie-backports \ - dh-systemd - # Packages needed for vyatta-cfg RUN apt-get update && apt-get install -y \ libglib2.0-dev \ @@ -188,6 +195,14 @@ 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 @@ -203,6 +218,11 @@ 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 \ diff --git a/docker/sources.list b/docker/sources.list deleted file mode 100644 index ec827988..00000000 --- a/docker/sources.list +++ /dev/null @@ -1,4 +0,0 @@ -deb http://deb.debian.org/debian/ jessie main -deb http://deb.debian.org/debian-security/ jessie/updates main -deb http://archive.debian.org/debian/ jessie-backports main -deb http://dev.packages.vyos.net/repositories/current/debian/ current main -- cgit v1.2.3 From 226a25dfdf9c7c21da405948e9de955388898d9c Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 26 Apr 2019 11:57:24 +0200 Subject: Docker: add package requirements to build keepalived --- docker/Dockerfile | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'docker') diff --git a/docker/Dockerfile b/docker/Dockerfile index ebb998c1..16a9bd62 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -292,6 +292,13 @@ RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \ xmlto +# Packages needed for keepalived +RUN apt-get update && apt-get install -y \ + libnl-3-200 \ + libnl-3-dev \ + libnl-genl-3-200 \ + libnl-genl-3-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 \ -- cgit v1.2.3 From 9c7483c79f1d364d6f7666eb5af5da761be126e0 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 26 Apr 2019 12:50:50 +0200 Subject: Docker: fix pmacct build dependencies Debian Jessie Backports ships default-libmysqlclient-dev but Debian Jessie only provides libmysqlclient-dev. --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docker') diff --git a/docker/Dockerfile b/docker/Dockerfile index 16a9bd62..beb88053 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -156,7 +156,7 @@ RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \ libpcap-dev \ libpq-dev \ - default-libmysqlclient-dev \ + libmysqlclient-dev \ libgeoip-dev \ librabbitmq-dev \ libjansson-dev \ -- cgit v1.2.3