summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jenkinsfile12
-rw-r--r--data/defaults.json8
-rw-r--r--data/live-build-config/archives/vyos-dev.key.chroot77
-rw-r--r--data/live-build-config/archives/vyos-release.key.chroot99
-rwxr-xr-xdata/live-build-config/hooks/live/10-unmountfs.chroot2
-rwxr-xr-xdata/live-build-config/hooks/live/18-enable-disable_services.chroot14
-rwxr-xr-xdata/live-build-config/hooks/live/24-efi_packages.chroot2
-rw-r--r--data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry8
-rw-r--r--data/live-build-config/package-lists/vyos-utils.list.chroot3
-rw-r--r--data/package-lists/vyos-x86.list.chroot2
-rw-r--r--data/versions1
-rw-r--r--docker/Dockerfile99
-rw-r--r--docker/arm64/Dockerfile113
-rw-r--r--docker/arm64/no--check-valid-until1
-rw-r--r--docker/armhf/Dockerfile119
-rw-r--r--docker/armhf/no--check-valid-until1
-rw-r--r--docker/no--check-valid-until1
-rw-r--r--docker/vyos-dev.key32
-rwxr-xr-xscripts/build-packages16
-rwxr-xr-xscripts/check-qemu-install364
-rwxr-xr-xscripts/live-build-config15
21 files changed, 645 insertions, 344 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
index 59223b79..dbc18d2b 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -102,6 +102,14 @@ pipeline {
sh 'sudo make iso'
}
}
+ stage('Test') {
+ steps {
+ sh """
+ cd build
+ sudo ../scripts/check-qemu-install --debug live-image-amd64.hybrid.iso
+ """
+ }
+ }
}
post {
success {
@@ -139,6 +147,10 @@ pipeline {
}
}
}
+ failure {
+ archiveArtifacts artifacts: 'build/live-image-amd64.hybrid.iso',
+ allowEmptyArchive: true
+ }
cleanup {
echo 'One way or another, I have finished'
// the 'build' directory got elevated permissions during the build
diff --git a/data/defaults.json b/data/defaults.json
index 27d8c3ab..a813801b 100644
--- a/data/defaults.json
+++ b/data/defaults.json
@@ -2,15 +2,11 @@
"architecture": "amd64",
"debian_mirror": "http://deb.debian.org/debian",
"debian_security_mirror": "http://deb.debian.org/debian-security",
- "debian_distribution": "jessie",
+ "debian_distribution": "buster",
"vyos_mirror": "http://dev.packages.vyos.net/repositories/current",
"vyos_branch": "current",
"kernel_version": "4.19.89",
"kernel_flavor": "amd64-vyos",
- "additional_repositories": [
- "deb http://repo.saltstack.com/apt/debian/8/amd64/2017.7 jessie main",
- "deb http://repo.powerdns.com/debian jessie-rec-41 main",
- "deb http://archive.debian.org/debian/ jessie-backports main"
- ],
+ "additional_repositories": [],
"custom_packages": []
}
diff --git a/data/live-build-config/archives/vyos-dev.key.chroot b/data/live-build-config/archives/vyos-dev.key.chroot
index a6522e36..9f306a91 100644
--- a/data/live-build-config/archives/vyos-dev.key.chroot
+++ b/data/live-build-config/archives/vyos-dev.key.chroot
@@ -1,32 +1,53 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.12 (GNU/Linux)
+Version: GnuPG v2.0.22 (GNU/Linux)
-mQENBFOQPGwBCADjm8Oq3kaJQh0rI33XVfd9mNq5ffay884SlDCbG1hkLVf8tnGV
-cjH7/nFfJdW/6Gr4dj4LQuHHnin5QeWnlHfuOySlOEsJCNP5dm14oEjy7epSXOv2
-A3m2tPDDqwMgfrOyw1gN+Clit9QIujiRzbcakqearyNxcVNvinIVunNiWbAyIhvc
-uI6yfMjno4q/O83c7e1zBqJj9t9guQjBuqaJrmZVf985/6ue9yWzSI4JtzxVmhKI
-dfCxHWE7BiEt2hnZPSVGcb4q6cBrkpcra7Ny55eoyN51wQGokPv3a9/8b3r5speR
-gene2MTvD/3eZOtTvMN000f/gJX4E6o8xx+fABEBAAG0R1Z5T1MgTWFpbnRhaW5l
-cnMgKERldmVsb3BtZW50IGFuZCB0ZXN0aW5nIHJlcG9zKSA8bWFpbnRhaW5lcnNA
-dnlvcy5uZXQ+iQE4BBMBAgAiBQJTkDxsAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe
-AQIXgAAKCRAywkm9DfBLXJbHB/4xlwn+6cZGEWWNZgXwUTMeHubZItl1o3Tbrzaa
-E3EqYyHJMYb3gBLOomlw7JLw5qT/247tlPC8ricl+BpeE5vYA3a08mIpcymROFh6
-pKJLNvdZHjrVN9yH2xYifI5sIDyuPga8Bgq/BMRiB1ragS/on2aUs75+tsEI32NI
-JO8+jIav0Nd6n/Wmw55ioTXS3fx6VDb64D80luOf1ve5LFDs8Oz2I+ZjSf7mPMY/
-b9qQHNb/300k/tIeK2F4G7LFu6o/1YMlrv0Ry7j9BsLzIkmTh0pX4mSVvF6IrxsZ
-WJRKu3uQDH2qccjptZDq4jHo/ow+aWT8rakjOgL9nJgKD5u/uQENBFOQPGwBCAC0
-zHpsmcfUIDyflGL+vwHV/3L02/vItHXfIkugL+wFB9C9i6nWA1KqNJwqNflJLGQF
-y+vHXs0oa3oMKj7S3p2zTbuU8s9Vz2Cg5c15sy7yGjh/LTwVOR5ZJrgbRJxTTp9K
-j5bkrx/DbDjIQ5szyjZ5N1ZAUyUx5Z/xMB3mTnLxDASvaoq+/F6WNcYY7NzjI7M0
-SFtnZLj6MFUVTmSbyYdGQc/Cxu5Utl7WKJUqHW5z10vJruZsdKV2+vf98yqhAJ+v
-wPhKUoVD+KtCH/CrHFrVq0hCKIMtyPLtaTeR/QnCNDEsV4p82HB9KQOYEADEL3/A
-a7Dntf3Xi+5eO/3MlnshABEBAAGJAR8EGAECAAkFAlOQPGwCGwwACgkQMsJJvQ3w
-S1z+wwf9GnVn9GhbB1FhKQdavljp9rUzz8FvH3tRpftdhhJ8B0PVAMl4QRcIXrgD
-nyd1K9ggzyWa4Z/9PygvH0Njv4YWlZh900wei9uVD8am1ncgQ/Jqlb36WvXyr8W/
-VPzQDtKAOkUz6RhKQ4V6I0PBK9nGeqeFkeH1bF1uGXkKpa0hGWffyOT1VasaZVXT
-UN4VAYNzBwkoU0mIYK73CPi7e4YJrtOp/i8MGDL3pxKaZEEZJdc4/dZassqBuwSG
-MRr2kecj9f53KWI0jLQdLgTMJQxscotfzhsWoF/842sUCbezwV3/4FtBhlNeqUHA
-c9HOeh3wbjjt4uONvxeleE+jM9v63Q==
-=gflA
+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
+FhyPysWJ4aNKtAYgVuQguPTt
+=rJUC
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/data/live-build-config/archives/vyos-release.key.chroot b/data/live-build-config/archives/vyos-release.key.chroot
index ff47c683..9f306a91 100644
--- a/data/live-build-config/archives/vyos-release.key.chroot
+++ b/data/live-build-config/archives/vyos-release.key.chroot
@@ -1,52 +1,53 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.12 (GNU/Linux)
+Version: GnuPG v2.0.22 (GNU/Linux)
-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
-8vzPzaWHhkOkU8/J/Ci7+vNtUOZb
-=Ld8S
+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
+FhyPysWJ4aNKtAYgVuQguPTt
+=rJUC
-----END PGP PUBLIC KEY BLOCK-----
+
diff --git a/data/live-build-config/hooks/live/10-unmountfs.chroot b/data/live-build-config/hooks/live/10-unmountfs.chroot
index 7992a4d2..05bcc12c 100755
--- a/data/live-build-config/hooks/live/10-unmountfs.chroot
+++ b/data/live-build-config/hooks/live/10-unmountfs.chroot
@@ -1,5 +1,5 @@
#!/bin/sh
-
+exit 0
# hack umountfs script to cleanly unmount live systems
sed \
diff --git a/data/live-build-config/hooks/live/18-enable-disable_services.chroot b/data/live-build-config/hooks/live/18-enable-disable_services.chroot
index 74d94a65..50325aeb 100755
--- a/data/live-build-config/hooks/live/18-enable-disable_services.chroot
+++ b/data/live-build-config/hooks/live/18-enable-disable_services.chroot
@@ -39,6 +39,20 @@ systemctl disable strongswan.service
systemctl disable frr.service
systemctl disable salt-minion.service
systemctl disable nginx.service
+systemctl disable pacemaker.service
+systemctl disable corosync.service
+systemctl disable wpa_supplicant.service
+systemctl disable squid.service
+systemctl disable heartbeat.service
+systemctl disable apt-daily.service
+systemctl disable apt-daily.timer
+systemctl disable apt-daily-upgrade.timer
+systemctl disable apt-daily-upgrade.service
systemctl disable pcscd.service
+systemctl disable man-db.timer
+systemctl disable ntp.service
+systemctl disable igmpproxy.service
+systemctl disable cryptsetup.service
systemctl enable vyos-hostsd.service
+systemctl enable acpid.service
diff --git a/data/live-build-config/hooks/live/24-efi_packages.chroot b/data/live-build-config/hooks/live/24-efi_packages.chroot
index c2b1ff11..49bc6ebb 100755
--- a/data/live-build-config/hooks/live/24-efi_packages.chroot
+++ b/data/live-build-config/hooks/live/24-efi_packages.chroot
@@ -1,5 +1,5 @@
#!/bin/sh
-
+exit 0
echo I: Download grub-efi packages.
mkdir -p /usr/share/vyos/packages
diff --git a/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry b/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry
index 516b8b78..8441cb41 100644
--- a/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry
+++ b/data/live-build-config/includes.chroot/opt/vyatta/etc/grub/default-union-grub-entry
@@ -1,20 +1,20 @@
menuentry "VyOS (KVM console)" {
- linux /boot//vmlinuz boot=live quiet rootdelay=5 vyos-union=/boot/ console=ttyS0,115200 console=tty0
+ linux /boot//vmlinuz boot=live quiet rootdelay=5 noautologin net.ifnames=0 biosdevname=0 vyos-union=/boot/ console=ttyS0,115200 console=tty0
initrd /boot//initrd.img
}
menuentry "VyOS (Serial console)" {
- linux /boot//vmlinuz boot=live quiet rootdelay=5 vyos-union=/boot/ console=tty0 console=ttyS0,115200
+ linux /boot//vmlinuz boot=live quiet rootdelay=5 noautologin net.ifnames=0 biosdevname=0 vyos-union=/boot/ console=tty0 console=ttyS0,115200
initrd /boot//initrd.img
}
menuentry "Lost password change (KVM console)" {
- linux /boot//vmlinuz boot=live quiet rootdelay=5 vyos-union=/boot/ console=ttyS0,115200 console=tty0 init=/opt/vyatta/sbin/standalone_root_pw_reset
+ linux /boot//vmlinuz boot=live quiet rootdelay=5 noautologin net.ifnames=0 biosdevname=0 vyos-union=/boot/ console=ttyS0,115200 console=tty0 init=/opt/vyatta/sbin/standalone_root_pw_reset
initrd /boot//initrd.img
}
menuentry "Lost password change (Serial console)" {
- linux /boot//vmlinuz boot=live quiet rootdelay=5 vyos-union=/boot/ console=tty0 console=ttyS0,115200 init=/opt/vyatta/sbin/standalone_root_pw_reset
+ linux /boot//vmlinuz boot=live quiet rootdelay=5 noautologin net.ifnames=0 biosdevname=0 vyos-union=/boot/ console=tty0 console=ttyS0,115200 init=/opt/vyatta/sbin/standalone_root_pw_reset
initrd /boot//initrd.img
}
diff --git a/data/live-build-config/package-lists/vyos-utils.list.chroot b/data/live-build-config/package-lists/vyos-utils.list.chroot
index 66e42204..5de95816 100644
--- a/data/live-build-config/package-lists/vyos-utils.list.chroot
+++ b/data/live-build-config/package-lists/vyos-utils.list.chroot
@@ -4,8 +4,7 @@ ipcalc
sipcalc
mtr-tiny
whois
-netcat
-netcat6
+netcat-openbsd
socat
telnet
nano
diff --git a/data/package-lists/vyos-x86.list.chroot b/data/package-lists/vyos-x86.list.chroot
index 6f5d7624..8e2b8692 100644
--- a/data/package-lists/vyos-x86.list.chroot
+++ b/data/package-lists/vyos-x86.list.chroot
@@ -2,5 +2,5 @@ grub2
grub-pc
qemu-guest-agent
hyperv-daemons
-vyos-xe-guest-utilities
vyos-netplug
+vyos-xe-guest-utilities
diff --git a/data/versions b/data/versions
index 4fbf63f2..b5d0fcb6 100644
--- a/data/versions
+++ b/data/versions
@@ -1,3 +1,4 @@
{
+ "equuleus": "1.3",
"current": "1.2"
}
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 8aebab8b..40d1fd53 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,34 +63,21 @@ RUN apt-get update && apt-get install -y \
python3-coverage \
python3-sphinx \
python3-pystache \
+ python3-git \
+ python3-pip \
python3-psutil \
pkg-config \
debhelper \
+ gosu \
+ po4a \
+ cpio \
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 \
@@ -145,7 +132,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 \
@@ -158,11 +145,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
@@ -191,16 +179,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 \
@@ -214,11 +193,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 \
@@ -241,16 +215,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 \
@@ -303,15 +271,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 | \
@@ -320,6 +285,36 @@ 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 with local packages fails due to missing keys
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941691
+# https://salsa.debian.org/live-team/live-build/merge_requests/30
+#
+RUN wget https://salsa.debian.org/jestabro-guest/live-build/commit/63425b3e4f7ad3712ced4c9a3584ef9851c0355a.patch && \
+ git clone https://salsa.debian.org/live-team/live-build.git && \
+ cd live-build && \
+ git checkout debian/1%20190311 && \
+ patch -p1 < ../63425b3e4f7ad3712ced4c9a3584ef9851c0355a.patch && \
+ dch -n "Applying fix for missing archive keys" && \
+ dpkg-buildpackage -us -uc && \
+ sudo dpkg -i ../live-build*.deb
+
+#
+# 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
diff --git a/docker/arm64/Dockerfile b/docker/arm64/Dockerfile
index 9625058b..b45a4f73 100644
--- a/docker/arm64/Dockerfile
+++ b/docker/arm64/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 VyOS maintainers and contributors
+# Copyright (C) 2019 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
@@ -16,15 +16,11 @@
# Must be run with --privileged flag, recommended to run the container with a
# volume mapped in order to easy export images
-FROM multiarch/debian-debootstrap:arm64-jessie-slim
+FROM multiarch/debian-debootstrap:arm64-buster-slim
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
ENV DEBIAN_FRONTEND noninteractive
-COPY no--check-valid-until /etc/apt/apt.conf.d/
-RUN echo "deb http://archive.debian.org/debian jessie main" \
- > /etc/apt/sources.list
-
# Standard shell should be bash not dash
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
dpkg-reconfigure dash
@@ -64,41 +60,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
-
-RUN echo "deb http://deb.debian.org/debian buster main" \
- > /etc/apt/sources.list.d/buster.list
-
-RUN apt-get update && apt-get install -y \
- golang \
- gosu
-
-RUN rm -f /etc/apt/sources.list.d/buster.list
-
# 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 \
@@ -142,7 +116,7 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \
git clone https://github.com/vyos/libvyosconfig.git && \
cd libvyosconfig && git checkout 9a80a5d3 && \
dpkg-buildpackage -uc -us -tc -b && \
-dpkg -i ../libvyosconfig0_*_arm64.deb
+ dpkg -i ../libvyosconfig0_*.deb
# Packages needed for vyatta-cfg
RUN apt-get update && apt-get install -y \
@@ -152,9 +126,12 @@ RUN apt-get update && apt-get install -y \
# Packages needed for vyatta-iproute
RUN apt-get update && apt-get install -y \
+ iptables-dev \
libatm1-dev \
+ libcap-dev \
libdb-dev \
- iptables-dev
+ libelf-dev \
+ libselinux1-dev
# Packages needed for vyatta-webgui
RUN apt-get update && apt-get install -y \
@@ -165,7 +142,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 \
@@ -178,11 +155,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
+ libelf-dev \
+ bc \
+ kmod
# Packages needed for vyos-accel-ppp
RUN apt-get update && apt-get install -y \
@@ -193,6 +171,7 @@ RUN apt-get update && apt-get install -y \
# 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 \
libssh-dev \
libssl-dev
@@ -202,18 +181,9 @@ RUN export RTRLIB_VERSION="0.6.3" && \
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*_arm64.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
+ dpkg -i ../librtr*.deb
# 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 \
@@ -227,11 +197,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 \
@@ -248,18 +213,16 @@ RUN apt-get update && apt-get install -y \
RUN apt-get update && apt-get install -y \
whois
+# Packages needed for vyos-xe-guest-utilities
+RUN apt-get update && apt-get install -y \
+ golang
+
# 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,23 +275,31 @@ RUN apt-get update && apt-get install -y \
RUN apt-get update && apt-get install -y \
python-all \
python2.7-dev \
- libmysqld-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/*
+ libmariadb-dev
# Install packer
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_arm.zip" |\
+ echo "url https://releases.hashicorp.com/packer/"$LATEST"/packer_"$LATEST"_linux_arm64.zip" |\
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
diff --git a/docker/arm64/no--check-valid-until b/docker/arm64/no--check-valid-until
deleted file mode 100644
index 27ed79f3..00000000
--- a/docker/arm64/no--check-valid-until
+++ /dev/null
@@ -1 +0,0 @@
-Acquire::Check-Valid-Until "0";
diff --git a/docker/armhf/Dockerfile b/docker/armhf/Dockerfile
index 71b5b8bf..1ac51b61 100644
--- a/docker/armhf/Dockerfile
+++ b/docker/armhf/Dockerfile
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 VyOS maintainers and contributors
+# Copyright (C) 2019 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
@@ -16,17 +16,11 @@
# Must be run with --privileged flag, recommended to run the container with a
# volume mapped in order to easy export images
-FROM multiarch/debian-debootstrap:armhf-jessie-slim
+FROM multiarch/debian-debootstrap:armhf-buster-slim
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
ENV DEBIAN_FRONTEND noninteractive
-COPY no--check-valid-until /etc/apt/apt.conf.d/
-RUN echo "deb http://deb.debian.org/debian jessie main" \
- > /etc/apt/sources.list \
- && echo "deb http://security.debian.org/debian-security jessie/updates main" \
- >> /etc/apt/sources.list
-
# Standard shell should be bash not dash
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
dpkg-reconfigure dash
@@ -66,48 +60,26 @@ 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
-
-RUN echo "deb http://deb.debian.org/debian buster main" \
- > /etc/apt/sources.list.d/buster.list
-
-RUN apt-get update && apt-get install -y \
- golang \
- gosu
-
-RUN rm -f /etc/apt/sources.list.d/buster.list
-
# 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 \
libffi-dev \
libpcre3-dev
-RUN curl https://raw.githubusercontent.com/ocaml/opam/2.0.2/shell/install.sh --output /tmp/opam_install.sh && \
+RUN curl -k https://raw.githubusercontent.com/ocaml/opam/2.0.2/shell/install.sh --output /tmp/opam_install.sh && \
sed -i 's/read BINDIR/BINDIR=""/' /tmp/opam_install.sh && sh /tmp/opam_install.sh && \
opam init --root=/opt/opam --comp=4.07.0 --disable-sandboxing
@@ -144,7 +116,7 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \
git clone https://github.com/vyos/libvyosconfig.git && \
cd libvyosconfig && git checkout 9a80a5d3 && \
dpkg-buildpackage -uc -us -tc -b && \
- dpkg -i ../libvyosconfig0_*_armhf.deb
+ dpkg -i ../libvyosconfig0_*.deb
# Packages needed for vyatta-cfg
RUN apt-get update && apt-get install -y \
@@ -154,9 +126,12 @@ RUN apt-get update && apt-get install -y \
# Packages needed for vyatta-iproute
RUN apt-get update && apt-get install -y \
+ iptables-dev \
libatm1-dev \
+ libcap-dev \
libdb-dev \
- iptables-dev
+ libelf-dev \
+ libselinux1-dev
# Packages needed for vyatta-webgui
RUN apt-get update && apt-get install -y \
@@ -167,7 +142,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 \
@@ -180,11 +155,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
+ libelf-dev \
+ bc \
+ kmod
# Packages needed for vyos-accel-ppp
RUN apt-get update && apt-get install -y \
@@ -195,6 +171,7 @@ RUN apt-get update && apt-get install -y \
# 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 \
libssh-dev \
libssl-dev
@@ -204,18 +181,9 @@ RUN export RTRLIB_VERSION="0.6.3" && \
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*_armhf.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
+ dpkg -i ../librtr*.deb
# 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 \
@@ -229,11 +197,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,18 +213,16 @@ RUN apt-get update && apt-get install -y \
RUN apt-get update && apt-get install -y \
whois
+# Packages needed for vyos-xe-guest-utilities
+RUN apt-get update && apt-get install -y \
+ golang
+
# 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 \
@@ -314,23 +275,31 @@ RUN apt-get update && apt-get install -y \
RUN apt-get update && apt-get install -y \
python-all \
python2.7-dev \
- libmysqld-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/*
+ libmariadb-dev
# Install packer
-RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | \
+RUN export LATEST="$(curl -k -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_arm.zip" |\
- curl -K- | gzip -d > /usr/bin/packer && \
+ curl -k -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
diff --git a/docker/armhf/no--check-valid-until b/docker/armhf/no--check-valid-until
deleted file mode 100644
index 27ed79f3..00000000
--- a/docker/armhf/no--check-valid-until
+++ /dev/null
@@ -1 +0,0 @@
-Acquire::Check-Valid-Until "0";
diff --git a/docker/no--check-valid-until b/docker/no--check-valid-until
deleted file mode 100644
index 27ed79f3..00000000
--- a/docker/no--check-valid-until
+++ /dev/null
@@ -1 +0,0 @@
-Acquire::Check-Valid-Until "0";
diff --git a/docker/vyos-dev.key b/docker/vyos-dev.key
deleted file mode 100644
index a6522e36..00000000
--- a/docker/vyos-dev.key
+++ /dev/null
@@ -1,32 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.12 (GNU/Linux)
-
-mQENBFOQPGwBCADjm8Oq3kaJQh0rI33XVfd9mNq5ffay884SlDCbG1hkLVf8tnGV
-cjH7/nFfJdW/6Gr4dj4LQuHHnin5QeWnlHfuOySlOEsJCNP5dm14oEjy7epSXOv2
-A3m2tPDDqwMgfrOyw1gN+Clit9QIujiRzbcakqearyNxcVNvinIVunNiWbAyIhvc
-uI6yfMjno4q/O83c7e1zBqJj9t9guQjBuqaJrmZVf985/6ue9yWzSI4JtzxVmhKI
-dfCxHWE7BiEt2hnZPSVGcb4q6cBrkpcra7Ny55eoyN51wQGokPv3a9/8b3r5speR
-gene2MTvD/3eZOtTvMN000f/gJX4E6o8xx+fABEBAAG0R1Z5T1MgTWFpbnRhaW5l
-cnMgKERldmVsb3BtZW50IGFuZCB0ZXN0aW5nIHJlcG9zKSA8bWFpbnRhaW5lcnNA
-dnlvcy5uZXQ+iQE4BBMBAgAiBQJTkDxsAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe
-AQIXgAAKCRAywkm9DfBLXJbHB/4xlwn+6cZGEWWNZgXwUTMeHubZItl1o3Tbrzaa
-E3EqYyHJMYb3gBLOomlw7JLw5qT/247tlPC8ricl+BpeE5vYA3a08mIpcymROFh6
-pKJLNvdZHjrVN9yH2xYifI5sIDyuPga8Bgq/BMRiB1ragS/on2aUs75+tsEI32NI
-JO8+jIav0Nd6n/Wmw55ioTXS3fx6VDb64D80luOf1ve5LFDs8Oz2I+ZjSf7mPMY/
-b9qQHNb/300k/tIeK2F4G7LFu6o/1YMlrv0Ry7j9BsLzIkmTh0pX4mSVvF6IrxsZ
-WJRKu3uQDH2qccjptZDq4jHo/ow+aWT8rakjOgL9nJgKD5u/uQENBFOQPGwBCAC0
-zHpsmcfUIDyflGL+vwHV/3L02/vItHXfIkugL+wFB9C9i6nWA1KqNJwqNflJLGQF
-y+vHXs0oa3oMKj7S3p2zTbuU8s9Vz2Cg5c15sy7yGjh/LTwVOR5ZJrgbRJxTTp9K
-j5bkrx/DbDjIQ5szyjZ5N1ZAUyUx5Z/xMB3mTnLxDASvaoq+/F6WNcYY7NzjI7M0
-SFtnZLj6MFUVTmSbyYdGQc/Cxu5Utl7WKJUqHW5z10vJruZsdKV2+vf98yqhAJ+v
-wPhKUoVD+KtCH/CrHFrVq0hCKIMtyPLtaTeR/QnCNDEsV4p82HB9KQOYEADEL3/A
-a7Dntf3Xi+5eO/3MlnshABEBAAGJAR8EGAECAAkFAlOQPGwCGwwACgkQMsJJvQ3w
-S1z+wwf9GnVn9GhbB1FhKQdavljp9rUzz8FvH3tRpftdhhJ8B0PVAMl4QRcIXrgD
-nyd1K9ggzyWa4Z/9PygvH0Njv4YWlZh900wei9uVD8am1ncgQ/Jqlb36WvXyr8W/
-VPzQDtKAOkUz6RhKQ4V6I0PBK9nGeqeFkeH1bF1uGXkKpa0hGWffyOT1VasaZVXT
-UN4VAYNzBwkoU0mIYK73CPi7e4YJrtOp/i8MGDL3pxKaZEEZJdc4/dZassqBuwSG
-MRr2kecj9f53KWI0jLQdLgTMJQxscotfzhsWoF/842sUCbezwV3/4FtBhlNeqUHA
-c9HOeh3wbjjt4uONvxeleE+jM9v63Q==
-=gflA
------END PGP PUBLIC KEY BLOCK-----
-
diff --git a/scripts/build-packages b/scripts/build-packages
index 7997f580..0d81ef91 100755
--- a/scripts/build-packages
+++ b/scripts/build-packages
@@ -11,7 +11,7 @@ current_working_directory = os.getcwd()
repo_root = subprocess.check_output('git rev-parse --show-toplevel', shell=True, universal_newlines=True).rstrip('\n')
repo_sha = subprocess.check_output('git rev-parse --short=12 HEAD', shell=True, universal_newlines=True).rstrip('\n')
-def add_package(name, url=None, commit='HEAD', branch='current', tag=None, custombuild_cmd=None):
+def add_package(name, url=None, commit='HEAD', branch='equuleus', tag=None, custombuild_cmd=None):
"""
Build up source package with URL and build commands executed during the later
called build_package step.
@@ -157,8 +157,6 @@ vyos_packages = ['vyatta-bash',
'vyatta-cfg-qos',
'vyatta-op-qos',
'vyatta-cfg-op-pppoe',
- 'vyatta-conntrack',
- 'vyatta-conntrack-sync',
'vyatta-nat',
'vyatta-config-mgmt',
'vyatta-config-migrate',
@@ -177,17 +175,18 @@ vyos_packages = ['vyatta-bash',
'vyos-replace',
'vyos-nhrp',
'vyos-world',
- 'vyos-1x',
'vyatta-iproute',
'vyos-vmwaretools-scripts',
- 'vyos-netplug',
- 'vyos-xe-guest-utilities',
'vyatta-biosdevname',
'vyos-opennhrp',
'vyos-salt-minion',
- 'xl2tpd',
'mdns-repeater',
'udp-broadcast-relay',
+ 'vyos-1x',
+ 'vyatta-conntrack',
+ 'vyatta-conntrack-sync',
+ 'vyos-xe-guest-utilities',
+ 'vyos-netplug',
'pmacct',
'ddclient',
'igmpproxy',
@@ -207,9 +206,6 @@ pkg_special.append( add_package('ipaddrcheck', branch='master'))
# Packages where we directly build the upstream source
pkg_special.append( add_package('hvinfo', url='https://github.com/dmbaturin/hvinfo.git', branch='master') )
-pkg_special.append( add_package('lldpd', url='https://github.com/vincentbernat/lldpd.git', branch='master', tag='1.0.3') )
-pkg_special.append( add_package('ethtool', url='https://salsa.debian.org/kernel-team/ethtool.git', branch='master', tag='debian/1%4.19-1') )
-pkg_special.append( add_package('bgpq3', url='https://salsa.debian.org/debian/bgpq3.git', branch='master', tag='debian/0.1.33-1') )
# VyOS strongswan ships additional python3-vici packages required by vyos-1x and this is not build by default
vyos_strongswan_build_cmd = "dpkg-buildpackage -b -us -uc -tc && " \
diff --git a/scripts/check-qemu-install b/scripts/check-qemu-install
new file mode 100755
index 00000000..a7c36c78
--- /dev/null
+++ b/scripts/check-qemu-install
@@ -0,0 +1,364 @@
+#!/usr/bin/env python3
+#
+# Copyright (C) 2019, VyOS maintainers and contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 or later as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# File: check-qemu-install
+# Purpose:
+# This script installs a system on a emulated qemu host to verify
+# that the iso produced is installable and boots.
+# after the iso is booted from disk it also tries to execute the
+# vyos-smoketest script to verify checks there.
+#
+# For now it will not fail on failed smoketest but will fail on
+# install and boot errors.
+# Arguments:
+# iso iso image to install
+# [disk] disk filename to use, if none is provided it
+# is autogenerated
+# [--keep] Keep the disk image after completion
+# [--logfile] name of logfile to save, defaulting to stdout
+# [--silent] only print on errors
+# [--debug] print all communication with the device
+
+
+import pexpect
+import sys
+import os
+import time
+import argparse
+import subprocess
+import random
+import traceback
+import logging
+import re
+from io import BytesIO, StringIO
+from datetime import datetime
+
+EXCEPTION = 0
+now = datetime.now()
+
+
+parser = argparse.ArgumentParser(description='Install and start a test VyOS vm.')
+parser.add_argument('iso', help='ISO file to install')
+parser.add_argument('disk', help='name of disk image file',
+ nargs='?',
+ default='testinstall-{}-{}.img'.format(now.strftime('%Y%m%d-%H%M%S'),
+ "%04x" % random.randint(0,65535)))
+parser.add_argument('--keep', help='Do not remove disk-image after installation',
+ action='store_true',
+ default=False)
+parser.add_argument('--silent', help='Do not show output on stdout unless an error has occured',
+ action='store_true',
+ default=False)
+parser.add_argument('--debug', help='Send all debug output to stdout',
+ action='store_true',
+ default=False)
+parser.add_argument('--logfile', help='Log to file')
+parser.add_argument('--no-kvm', help='Disable use of kvm',
+ action='store_true',
+ default=False)
+
+args = parser.parse_args()
+
+class StreamToLogger(object):
+ """
+ Fake file-like stream object that redirects writes to a logger instance.
+ """
+ def __init__(self, logger, log_level=logging.INFO):
+ self.logger = logger
+ self.log_level = log_level
+ self.linebuf = b''
+ self.ansi_escape = re.compile(r'\x1B[@-_][0-?]*[ -/]*[@-~]')
+
+ def write(self, buf):
+ self.linebuf += buf
+ #print('.')
+ while b'\n' in self.linebuf:
+ f = self.linebuf.split(b'\n', 1)
+ if len(f) == 2:
+ self.logger.debug(self.ansi_escape.sub('', f[0].decode(errors="replace").rstrip()))
+ self.linebuf = f[1]
+ #print(f)
+
+
+ def flush(self):
+ pass
+
+
+# Setting up logger
+log = logging.getLogger()
+log.setLevel(logging.DEBUG)
+
+stl = StreamToLogger(log)
+formatter = logging.Formatter('%(asctime)s + %(relativeCreated)-7d - %(levelname)5s - %(message)s')
+
+handler = logging.StreamHandler(sys.stdout)
+if args.silent:
+ handler.setLevel(logging.ERROR)
+elif args.debug:
+ handler.setLevel(logging.DEBUG)
+else:
+ handler.setLevel(logging.INFO)
+
+handler.setFormatter(formatter)
+log.addHandler(handler)
+
+
+if args.logfile:
+ filehandler = logging.FileHandler(args.logfile)
+ filehandler.setLevel(logging.DEBUG)
+ filehandler.setFormatter(formatter)
+ log.addHandler(filehandler)
+
+
+
+if args.silent:
+ output = BytesIO()
+else:
+ output = sys.stdout.buffer
+
+if not os.path.isfile(args.iso):
+ log.error("Unable to find iso image to install")
+ sys.exit(1)
+
+if args.no_kvm:
+ log.error("KVM forced off by command line")
+ kvm=False
+elif not os.path.exists("/dev/kvm"):
+ log.error("KVM is not enabled on host, proceeding with software emulation")
+ kvm=False
+else:
+ kvm=True
+
+# Creating diskimage!!
+
+if not os.path.isfile(args.disk):
+ log.info("Creating Disk image {}".format(args.disk))
+ c = subprocess.check_output(["qemu-img", "create", args.disk, "2G"])
+ log.debug(c.decode())
+else:
+ log.info("Diskimage already exists, using the existing one")
+
+
+
+try:
+ #################################################
+ # Installing image to disk
+ #################################################
+ log.info("Installing system")
+
+ cmd = """qemu-system-x86_64 \
+ -name "TESTVM" \
+ -m 1G \
+ -nic user,model=virtio,mac=52:54:99:12:34:56,hostfwd=tcp::2299-:22 \
+ -machine accel=kvm \
+ {CPU} \
+ -smp 2 \
+ -vnc 0.0.0.0:99 \
+ -nographic \
+ -boot d -cdrom {CD} \
+ {KVM} \
+ -drive format=raw,file={DISK}
+ """.format(CD=args.iso, DISK=args.disk, KVM="" if kvm else "--no-kvm", CPU="-cpu host" if kvm else "")
+ log.debug("Executing command: {}".format(cmd))
+ c = pexpect.spawn(cmd, logfile=stl)
+
+ #################################################
+ # Logging into VyOS system
+ #################################################
+ try:
+ c.expect('Automatic boot in', timeout=10)
+ c.sendline('')
+ except pexpect.TIMEOUT:
+ log.warning("Did not find grub countdown window, ignoring")
+
+ log.info('Waiting for login prompt')
+ c.expect('[Ll]ogin:', timeout=300)
+ c.sendline('vyos')
+ c.expect('[Pp]assword:', timeout=10)
+ c.sendline('vyos')
+ c.expect(r'vyos@vyos:~\$')
+ log.info('Logged in!')
+
+
+ #################################################
+ # Installing into VyOS system
+ #################################################
+ log.info("Starting installer")
+ c.sendline('install image')
+ c.expect('\nWould you like to continue?.*:')
+ c.sendline('yes')
+ log.info("Partitioning disk")
+ c.expect('\nPartition.*:')
+ c.sendline('')
+ c.expect('\nInstall the image on.*:')
+ c.sendline('')
+ c.expect(r'\nContinue\?.*:')
+ c.sendline('Yes')
+ c.expect('\nHow big of a root partition should I create?.*:')
+ c.sendline('')
+ log.info('Disk partitioned, installing')
+ c.expect('\nWhat would you like to name this image?.*:')
+ c.sendline('')
+ log.info('Copying files')
+ c.expect('\nWhich one should I copy to.*:', timeout=300)
+ c.sendline('')
+ log.info('Files Copied!')
+ c.expect('\nEnter password for user.*:')
+ c.sendline('vyos')
+ c.expect('\nRetype password for user.*:')
+ c.sendline('vyos')
+ c.expect('\nWhich drive should GRUB modify the boot partition on.*:')
+ c.sendline('')
+ c.expect(r'\nvyos@vyos:~\$')
+ log.info('system installed, shutting down')
+
+ #################################################
+ # Powering down installer
+ #################################################
+ log.info("Shutting down installation system")
+ c.sendline('poweroff')
+ c.expect(r'\nAre you sure you want to poweroff this system.*\]')
+ c.sendline('Y')
+ for i in range(30):
+ log.info("Waiting for shutdown...")
+ if not c.isalive():
+ log.info("VM is shut down!")
+ break
+ time.sleep(10)
+ else:
+ log.error("VM Did not shut down after 300sec, killing")
+ c.close()
+
+
+ #################################################
+ # Booting installed system
+ #################################################
+ log.info("Booting installed system")
+
+ cmd = """qemu-system-x86_64 \
+ -name "TESTVM" \
+ -m 1G \
+ -nic user,model=virtio,mac=52:54:99:12:34:56,hostfwd=tcp::2299-:22
+ -machine accel=kvm \
+ {CPU} \
+ -smp 2 \
+ -vnc 0.0.0.0:99 \
+ -nographic \
+ {KVM} \
+ -drive format=raw,file={DISK}
+ """.format(DISK=args.disk, KVM="" if kvm else "--no-kvm", CPU="-cpu host" if kvm else "")
+
+ log.debug('Executing command: {}'.format(cmd))
+ c = pexpect.spawn(cmd, logfile=stl)
+
+ #################################################
+ # Logging into VyOS system
+ #################################################
+ try:
+ c.expect('The highlighted entry will be executed automatically in', timeout=10)
+ c.sendline('')
+ except pexpect.TIMEOUT:
+ log.warning("Did not find grub countdown window, ignoring")
+
+ log.info('Waiting for login prompt')
+ c.expect('[Ll]ogin:', timeout=300)
+ c.sendline('vyos')
+ c.expect('[Pp]assword:', timeout=10)
+ c.sendline('vyos')
+ c.expect(r'vyos@vyos:~\$')
+ log.info('Logged in!')
+
+
+
+ #################################################
+ # Executing test-suite
+ #################################################
+ log.info("Executing test-suite ")
+
+ def cr(child, command):
+ child.sendline(command)
+ i = child.expect(['\n +Invalid command:',
+ '\n +Set failed',
+ 'No such file or directory',
+ r'\n\S+@\S+[$#]'])
+
+ if i==0:
+ raise Exception('Invalid command detected')
+ elif i==1:
+ raise Exception('Set syntax failed :/')
+ elif i==2:
+ log.error("Did not find VyOS-smoketest, this should be an exception")
+ #raise Exception("WTF? did not find VyOS-smoketest, this should be an exception")
+ cr(c, '/usr/bin/vyos-smoketest')
+
+ log.info("Smoke test status")
+ #data = c.before.decode()
+
+ #################################################
+ # Powering off system
+ #################################################
+ log.info("Powering off system ")
+ c.sendline('poweroff')
+ c.expect(r'\nAre you sure you want to poweroff this system.*\]')
+ c.sendline('Y')
+ log.info("Shutting down virtual machine")
+ for i in range(30):
+ log.info("Waiting for shutdown...")
+ if not c.isalive():
+ log.info("VM is shut down!")
+ break
+ time.sleep(10)
+ else:
+ log.error("VM Did not shut down after 300sec")
+ raise Exception("VM Did not shut down after 300sec")
+ c.close()
+
+except pexpect.exceptions.TIMEOUT:
+ log.error("Timeout waiting for VyOS system")
+ log.error(traceback.format_exc())
+ EXCEPTION = 1
+
+except pexpect.exceptions.ExceptionPexpect:
+ log.error("Exeption while executing QEMU")
+ log.error("Is qemu working on this system?")
+ log.error(traceback.format_exc())
+ EXCEPTION = 1
+
+except Exception:
+ log.error("An unknown error occured when installing the VyOS system")
+ traceback.print_exc()
+ EXCEPTION = 1
+
+
+
+#################################################
+# Cleaning up
+#################################################
+log.info("Cleaning up")
+
+if not args.keep:
+ log.info("Removing disk file: {}".format(args.disk))
+ try:
+ os.remove(args.disk)
+ except Exception:
+ log.error("Exception while removing diskimage")
+ log.error(traceback.format_exc())
+ EXCEPTION = 1
+
+if EXCEPTION:
+ log.error("Hmm... System got an exception while processing")
+ log.error("The ISO is not considered usable")
+ sys.exit(1)
diff --git a/scripts/live-build-config b/scripts/live-build-config
index 1b3b4541..171b827d 100755
--- a/scripts/live-build-config
+++ b/scripts/live-build-config
@@ -35,8 +35,8 @@ util.check_build_config()
lb_config_tmpl = """
lb config noauto \
--architectures {{architecture}} \
- --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay console=ttyS0,115200 console=tty0" \
- --bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console=ttyS0,115200 console=tty0" \
+ --bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \
+ --bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \
--linux-flavours {{kernel_flavor}} \
--linux-packages linux-image-{{kernel_version}} \
--bootloader syslinux,grub-efi \
@@ -46,7 +46,7 @@ lb config noauto \
--iso-application "VyOS" \
--iso-publisher "{{build_by}}" \
--iso-volume "VyOS" \
- --debootstrap-options "--variant=minbase --exclude=isc-dhcp-client,isc-dhcp-common,ifupdown --include=apt-transport-https" \
+ --debootstrap-options "--variant=minbase --exclude=isc-dhcp-client,isc-dhcp-common,ifupdown --include=apt-transport-https,gnupg2" \
--mirror-bootstrap {{debian_mirror}} \
--mirror-chroot {{debian_mirror}} \
--mirror-chroot-security {{debian_security_mirror}} \
@@ -55,9 +55,9 @@ lb config noauto \
--archive-areas "main contrib non-free" \
--firmware-chroot false \
--firmware-binary false \
- --updates false \
+ --updates true \
--security true \
- --apt-options "--yes -oAcquire::Check-Valid-Until=false" \
+ --apt-options "--yes -oAPT::Default-Release="equuleus" -oAPT::Get::allow-downgrades=true" \
--apt-indices false
"${@}"
"""
@@ -69,19 +69,16 @@ debug = build_config['debug']
# Add the additional repositories to package lists
print("Setting up additional APT entries")
-vyos_repo_entry = "deb {0}/vyos {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch'])
-vyos_debian_repo_entry = "deb {0}/debian {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch'])
+vyos_repo_entry = "deb {0} {1} main\n".format(build_config['vyos_mirror'], build_config['vyos_branch'])
apt_file = os.path.join(build_config['build_dir'], defaults.VYOS_REPO_FILE)
if debug:
print("Adding these entries to {0}:".format(apt_file))
print("\t", vyos_repo_entry)
- print("\t", vyos_debian_repo_entry)
with open(apt_file, 'w') as f:
f.write(vyos_repo_entry)
- f.write(vyos_debian_repo_entry)
# Add custom APT entries
if build_config['custom_apt_entry']: