diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-12-18 12:41:59 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-12-18 12:41:59 +0100 |
commit | e2559c975d22593d6edc087c51805f36ba1b7e57 (patch) | |
tree | c0101867fb675383ba19b84140f3aa060ac965a3 | |
parent | c12a8da143d67fa39f00ef6538bb39d03cc2e65e (diff) | |
parent | 5d54c6390c04c9f16f7e0276500699cddccc3e60 (diff) | |
download | vyos-build-e2559c975d22593d6edc087c51805f36ba1b7e57.tar.gz vyos-build-e2559c975d22593d6edc087c51805f36ba1b7e57.zip |
Merge branch 'equuleus' of github.com:vyos/vyos-build into current
* 'equuleus' of github.com:vyos/vyos-build: (68 commits)
systemd: cryptsetup: we do not support encrypted volumes
systemd: igmpproxy: service is handled by VyOS CLI
systemd: ntp: service is handled by VyOS CLI
systemd: man: do not rebuild man db once a day
systemd: pcscd: disable SmartCard service
systemd: apt: disable daily update service
ndisc6: add ICMPv6 Neighbor Discovery tool
rsyslog: disabling rsyslog causes start issues if required
syslog: T1834: 'del system syslog' doesn't stop rsyslog
syslog: T1834: 'del system syslog' doesn't stop rsyslog
Jenkins: archive ISO on failed builds if possible
vyos-qat: adding pkg dependency
Kernel: T1800: update to Linux 4.19.84
hooks: synchronize Linux Firmware with current branch
Kernel: T1791: update to Linux 4.19.82
T1773: update Dockerfile for changes to libvyosconfig
kernel-version: fixing typo
Kernel: update to 4.19.76 in defaults.json
acpid: enable acpid to enable power button triggered shutdowns
systemd-disable - heartbeat.service disabled
...
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 +mQINBF0/MrsBEADLSj4PdgHsr4FblWqQmmZD32J3EVlXrBIwi0zT1RN6V6vA81xx +Qe8XNm6LXVB9kjH9Qv+MwIWWOkTYGCDg2oiIAKPRnJfKisDo4Ax3a1j2YOF6Ud2n +t1bdDfSvnMnEITnMwa+BHKx3QeBoVG/8zhMeHjXy0QwHUIdKMyrX8M0JWY/sqLlv +HvzEaB3PEMFGFhuJ3Dh/ZxquVVuSS2GPRyTpLTqrPSH9jG8hf8YFWBE+CHbnclZc +4NKlI5Q5yrqrUE7zGWgg3O75o6xlJpjI2TJXPPYU6llCNQi/AUIB3R34okMdyYmP +dzaHBXeA+a5glikv5i0ysJgfZ/hvZgayZdAvqIxQxjzvKebmqUutay7LhgjKGRnC +vdAAQ1LbkqPvbBN1oaElRiTUR6bekTFd/M8x3DWPHc0xkNps6f4sEoiFkujpsl26 +uGlBhf59yFzI/XhjT/04pUWa3myFhGWT4WSw8cf3o/47/CiL4TefOBTY2vSSub7V +nekDG6H75i9szMMQGzry71+RzYMOWkUnnnQ6wjpHuce42zU7wKUdl2+Wrr+g2/cK +NKFvHRmGLVOpcabDawWi08hHr+J6Gje9PCePfY4x0p6Idjz5YW4Q1D/XSDZZ3nni +akhMO1onHLolY7jstdexhSSi7nS9bDAdnHlL7e/hJemF5G0IvLlkaXYIpQARAQAB +tDJWeU9TIG1haW50YWluZXJzIChwYWNrYWdlIHNpZ25pbmcpIDxwa2dzQHZ5b3Mu +bmV0PokCOQQTAQIAIwUCXT8yuwIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheA +AAoJELK9zt4uv5wGFk4P/3MUhejAJrkMy8EC21P74yCxpZ8RfahML/hIy8+13mWd +480eSGrZr+mEk7pN4T+5cOV4gO9gsKlZ+9zvP8PjRqrHhdDWnA+6GZSMmwvV5C+s +DDop3Wa5z6u5SXwultAEzssNtmVreXhGrB/gkpx6NsAZz9TbwVCOyfFu5di2Oued +ItL6IhkLBIbOmJX1X5CD3AvXIKcRwp7L3mFYP+UE5/c3OFmIK5P1J3vvHRPQqHls +BOPs7dMowfCQfNTUyUWTG74gPo9wHCnuE6QnO5b/j1dPKgz5058bK+NMFgLLdw6X +pb8Z7CvQPSLr5o2KfP+LsC7Nyz4tFQukJvidZdQ/uYQ38SDXsLbmlqnQWDCtYMzu +j225frdkvymwvLrroVWGfbJI2Bd+u3VoQmLdMdddnSe/+oKoh2/xBueWH/O6d4F4 +br+HNbhxaxhhM2JuPXB7mQTDyzl4RhD8JixV6YgjWo1/X8wfpJdB/utTbiwLdhIH +q2gdI3sxDCikapQWEhHWAgW4azhzXXvo8RTwNWXtck2DBsQxsn4lANvcWwJ7fRD5 +FDgIcJJ+rZrA9NT1sihSjxvUWAmByOSWwdWQRm8O86tFjqm9mJ5ppIYLX5weMa6L +przxbm85y5DZeeuxo297YHGbrfeRm7ko/yB+DFdnLirnblK5JI4RL94AwZjad879 +uQINBF0/MrsBEACmKylWG6GC+EPn+x01vA3tVDyyDcOxaRevCvCYEINv7yn7Ajc3 +ZaWqqNRfZheOU5hUVJjW6cv7xqaWIn9J/7vatmdeX8H1cVWpSk/e1QT1Fop7I71e +4skDn8YI6JIZgFBrqe1O3YHOQDZbMO9zR5jNpVD7XXLyGsRvjnkH/ybugBeiVCqt +7x2I8OnDQggFnBrishMjVrEmBAduE3JICC1IbCCtVG67h07E/BC7XJVgME8Hvfwl +EBTo8Y6CWcrsJZfAQKU+3wi5feFVLIbhNceiGcxmi7uJML+hGoSf92Pmn7i9p5su +ywy4XF+aWvd4R3CMYywOiukB3rItic7gp0tpcMK7AwessGqvD/luz2cNY1IqDKak +w7jGbGUT54zKO3tpt73dYGyf3SUHQ9aNAaGuSxjq/c9v9X4KpzmAi82rt4wSkDVa +/5SkxsU9aP6lql2MrZm//Pj3hjyipTLUFhndbjeJDgBRROMJdokNkFIIaweJGAg2 +wNwBC6HRIYXLyOsV+Azf1gqSpCEqdKVLJkBduuChtd7N9xoUahag2yya+ujwpcN6 +nlmnhZt+yfgi0uO2cPmsof9PkJi+cb44IAgkvG96Zj2JbLHSlGipyYTHLYS46RC4 +CkaF3DSwDXVU+lBqJz+WkOywpMGUKtZwPbpy7ZJVf2JL8Rf0D95sIaeICwARAQAB +iQIfBBgBAgAJBQJdPzK7AhsMAAoJELK9zt4uv5wG45IP/2YEQzyn2qiqHInLEmXE +R7fefmkiTy925juASQiR/LGOCSfCOnMKBMkyi63XvQuhAALU6RxgK69yLZJYWQ+a +gh+vrrndCzprCM4PohuupknA8nAY+FvC5xoOZVkZ/+vUP344ukxN9Fz1d9oU3G5a +luoA23G1qs7kHJw/xzN1BFNqie2mIzMAOI0Wu0BZxmYmD3Ph0KMbUD08jX6ImDF6 +EnqS0VhCgXfWhPBqh5TOG35Fi5ZCmupbgqBJQZg5fLIWS3Hk2qBm70FR3iLdjiYu +w165hBlqcJ2YfvVBKVvMNRVB9BtF7BfzCM3/y/4V82EZ7qQJ+jE30N+/vwrAOrUd +QVlFsC5eYDOkRb3XXhijXZhoKoeXTwY7TGNntavVMYZ2W4EFoX2OH8/2A7KEYhqc +3cjEJ7EoM6hkmm6xmU82oQ8Moll1SgQbkNKlZYDPMs7Ppr4zBJjnVYVcP9e1RLFO +0POJbtG7CCAstcvMu/3Yw7Il/TOGvc3TNBPrkYtriDj+B900W5sEc33iUV9VRAAi +Bkfs0XMSQVIcMdquu2LGfNWBjd/YCZVQ8OzFYoZJeq18oxeZ9/tE4NE3KyUBmqil +5/WicCYtxgxByAvhN5dFn+nPfoEMQ/e9Zhs2ImrrSy12Ehg1swRjAK39NrjySDFT +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']: |