mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
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 ...
This commit is contained in:
commit
e2559c975d
12
Jenkinsfile
vendored
12
Jenkinsfile
vendored
@ -102,6 +102,14 @@ pipeline {
|
|||||||
sh 'sudo make iso'
|
sh 'sudo make iso'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('Test') {
|
||||||
|
steps {
|
||||||
|
sh """
|
||||||
|
cd build
|
||||||
|
sudo ../scripts/check-qemu-install --debug live-image-amd64.hybrid.iso
|
||||||
|
"""
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
post {
|
post {
|
||||||
success {
|
success {
|
||||||
@ -139,6 +147,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
failure {
|
||||||
|
archiveArtifacts artifacts: 'build/live-image-amd64.hybrid.iso',
|
||||||
|
allowEmptyArchive: true
|
||||||
|
}
|
||||||
cleanup {
|
cleanup {
|
||||||
echo 'One way or another, I have finished'
|
echo 'One way or another, I have finished'
|
||||||
// the 'build' directory got elevated permissions during the build
|
// the 'build' directory got elevated permissions during the build
|
||||||
|
|||||||
@ -2,15 +2,11 @@
|
|||||||
"architecture": "amd64",
|
"architecture": "amd64",
|
||||||
"debian_mirror": "http://deb.debian.org/debian",
|
"debian_mirror": "http://deb.debian.org/debian",
|
||||||
"debian_security_mirror": "http://deb.debian.org/debian-security",
|
"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_mirror": "http://dev.packages.vyos.net/repositories/current",
|
||||||
"vyos_branch": "current",
|
"vyos_branch": "current",
|
||||||
"kernel_version": "4.19.89",
|
"kernel_version": "4.19.89",
|
||||||
"kernel_flavor": "amd64-vyos",
|
"kernel_flavor": "amd64-vyos",
|
||||||
"additional_repositories": [
|
"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"
|
|
||||||
],
|
|
||||||
"custom_packages": []
|
"custom_packages": []
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,32 +1,53 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
Version: GnuPG v2.0.22 (GNU/Linux)
|
||||||
|
|
||||||
mQENBFOQPGwBCADjm8Oq3kaJQh0rI33XVfd9mNq5ffay884SlDCbG1hkLVf8tnGV
|
mQINBF0/MrsBEADLSj4PdgHsr4FblWqQmmZD32J3EVlXrBIwi0zT1RN6V6vA81xx
|
||||||
cjH7/nFfJdW/6Gr4dj4LQuHHnin5QeWnlHfuOySlOEsJCNP5dm14oEjy7epSXOv2
|
Qe8XNm6LXVB9kjH9Qv+MwIWWOkTYGCDg2oiIAKPRnJfKisDo4Ax3a1j2YOF6Ud2n
|
||||||
A3m2tPDDqwMgfrOyw1gN+Clit9QIujiRzbcakqearyNxcVNvinIVunNiWbAyIhvc
|
t1bdDfSvnMnEITnMwa+BHKx3QeBoVG/8zhMeHjXy0QwHUIdKMyrX8M0JWY/sqLlv
|
||||||
uI6yfMjno4q/O83c7e1zBqJj9t9guQjBuqaJrmZVf985/6ue9yWzSI4JtzxVmhKI
|
HvzEaB3PEMFGFhuJ3Dh/ZxquVVuSS2GPRyTpLTqrPSH9jG8hf8YFWBE+CHbnclZc
|
||||||
dfCxHWE7BiEt2hnZPSVGcb4q6cBrkpcra7Ny55eoyN51wQGokPv3a9/8b3r5speR
|
4NKlI5Q5yrqrUE7zGWgg3O75o6xlJpjI2TJXPPYU6llCNQi/AUIB3R34okMdyYmP
|
||||||
gene2MTvD/3eZOtTvMN000f/gJX4E6o8xx+fABEBAAG0R1Z5T1MgTWFpbnRhaW5l
|
dzaHBXeA+a5glikv5i0ysJgfZ/hvZgayZdAvqIxQxjzvKebmqUutay7LhgjKGRnC
|
||||||
cnMgKERldmVsb3BtZW50IGFuZCB0ZXN0aW5nIHJlcG9zKSA8bWFpbnRhaW5lcnNA
|
vdAAQ1LbkqPvbBN1oaElRiTUR6bekTFd/M8x3DWPHc0xkNps6f4sEoiFkujpsl26
|
||||||
dnlvcy5uZXQ+iQE4BBMBAgAiBQJTkDxsAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe
|
uGlBhf59yFzI/XhjT/04pUWa3myFhGWT4WSw8cf3o/47/CiL4TefOBTY2vSSub7V
|
||||||
AQIXgAAKCRAywkm9DfBLXJbHB/4xlwn+6cZGEWWNZgXwUTMeHubZItl1o3Tbrzaa
|
nekDG6H75i9szMMQGzry71+RzYMOWkUnnnQ6wjpHuce42zU7wKUdl2+Wrr+g2/cK
|
||||||
E3EqYyHJMYb3gBLOomlw7JLw5qT/247tlPC8ricl+BpeE5vYA3a08mIpcymROFh6
|
NKFvHRmGLVOpcabDawWi08hHr+J6Gje9PCePfY4x0p6Idjz5YW4Q1D/XSDZZ3nni
|
||||||
pKJLNvdZHjrVN9yH2xYifI5sIDyuPga8Bgq/BMRiB1ragS/on2aUs75+tsEI32NI
|
akhMO1onHLolY7jstdexhSSi7nS9bDAdnHlL7e/hJemF5G0IvLlkaXYIpQARAQAB
|
||||||
JO8+jIav0Nd6n/Wmw55ioTXS3fx6VDb64D80luOf1ve5LFDs8Oz2I+ZjSf7mPMY/
|
tDJWeU9TIG1haW50YWluZXJzIChwYWNrYWdlIHNpZ25pbmcpIDxwa2dzQHZ5b3Mu
|
||||||
b9qQHNb/300k/tIeK2F4G7LFu6o/1YMlrv0Ry7j9BsLzIkmTh0pX4mSVvF6IrxsZ
|
bmV0PokCOQQTAQIAIwUCXT8yuwIbAwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheA
|
||||||
WJRKu3uQDH2qccjptZDq4jHo/ow+aWT8rakjOgL9nJgKD5u/uQENBFOQPGwBCAC0
|
AAoJELK9zt4uv5wGFk4P/3MUhejAJrkMy8EC21P74yCxpZ8RfahML/hIy8+13mWd
|
||||||
zHpsmcfUIDyflGL+vwHV/3L02/vItHXfIkugL+wFB9C9i6nWA1KqNJwqNflJLGQF
|
480eSGrZr+mEk7pN4T+5cOV4gO9gsKlZ+9zvP8PjRqrHhdDWnA+6GZSMmwvV5C+s
|
||||||
y+vHXs0oa3oMKj7S3p2zTbuU8s9Vz2Cg5c15sy7yGjh/LTwVOR5ZJrgbRJxTTp9K
|
DDop3Wa5z6u5SXwultAEzssNtmVreXhGrB/gkpx6NsAZz9TbwVCOyfFu5di2Oued
|
||||||
j5bkrx/DbDjIQ5szyjZ5N1ZAUyUx5Z/xMB3mTnLxDASvaoq+/F6WNcYY7NzjI7M0
|
ItL6IhkLBIbOmJX1X5CD3AvXIKcRwp7L3mFYP+UE5/c3OFmIK5P1J3vvHRPQqHls
|
||||||
SFtnZLj6MFUVTmSbyYdGQc/Cxu5Utl7WKJUqHW5z10vJruZsdKV2+vf98yqhAJ+v
|
BOPs7dMowfCQfNTUyUWTG74gPo9wHCnuE6QnO5b/j1dPKgz5058bK+NMFgLLdw6X
|
||||||
wPhKUoVD+KtCH/CrHFrVq0hCKIMtyPLtaTeR/QnCNDEsV4p82HB9KQOYEADEL3/A
|
pb8Z7CvQPSLr5o2KfP+LsC7Nyz4tFQukJvidZdQ/uYQ38SDXsLbmlqnQWDCtYMzu
|
||||||
a7Dntf3Xi+5eO/3MlnshABEBAAGJAR8EGAECAAkFAlOQPGwCGwwACgkQMsJJvQ3w
|
j225frdkvymwvLrroVWGfbJI2Bd+u3VoQmLdMdddnSe/+oKoh2/xBueWH/O6d4F4
|
||||||
S1z+wwf9GnVn9GhbB1FhKQdavljp9rUzz8FvH3tRpftdhhJ8B0PVAMl4QRcIXrgD
|
br+HNbhxaxhhM2JuPXB7mQTDyzl4RhD8JixV6YgjWo1/X8wfpJdB/utTbiwLdhIH
|
||||||
nyd1K9ggzyWa4Z/9PygvH0Njv4YWlZh900wei9uVD8am1ncgQ/Jqlb36WvXyr8W/
|
q2gdI3sxDCikapQWEhHWAgW4azhzXXvo8RTwNWXtck2DBsQxsn4lANvcWwJ7fRD5
|
||||||
VPzQDtKAOkUz6RhKQ4V6I0PBK9nGeqeFkeH1bF1uGXkKpa0hGWffyOT1VasaZVXT
|
FDgIcJJ+rZrA9NT1sihSjxvUWAmByOSWwdWQRm8O86tFjqm9mJ5ppIYLX5weMa6L
|
||||||
UN4VAYNzBwkoU0mIYK73CPi7e4YJrtOp/i8MGDL3pxKaZEEZJdc4/dZassqBuwSG
|
przxbm85y5DZeeuxo297YHGbrfeRm7ko/yB+DFdnLirnblK5JI4RL94AwZjad879
|
||||||
MRr2kecj9f53KWI0jLQdLgTMJQxscotfzhsWoF/842sUCbezwV3/4FtBhlNeqUHA
|
uQINBF0/MrsBEACmKylWG6GC+EPn+x01vA3tVDyyDcOxaRevCvCYEINv7yn7Ajc3
|
||||||
c9HOeh3wbjjt4uONvxeleE+jM9v63Q==
|
ZaWqqNRfZheOU5hUVJjW6cv7xqaWIn9J/7vatmdeX8H1cVWpSk/e1QT1Fop7I71e
|
||||||
=gflA
|
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-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
|||||||
@ -1,52 +1,53 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
-----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
|
FhyPysWJ4aNKtAYgVuQguPTt
|
||||||
=Ld8S
|
=rJUC
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
exit 0
|
||||||
# hack umountfs script to cleanly unmount live systems
|
# hack umountfs script to cleanly unmount live systems
|
||||||
|
|
||||||
sed \
|
sed \
|
||||||
|
|||||||
@ -39,6 +39,20 @@ systemctl disable strongswan.service
|
|||||||
systemctl disable frr.service
|
systemctl disable frr.service
|
||||||
systemctl disable salt-minion.service
|
systemctl disable salt-minion.service
|
||||||
systemctl disable nginx.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 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 vyos-hostsd.service
|
||||||
|
systemctl enable acpid.service
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
exit 0
|
||||||
echo I: Download grub-efi packages.
|
echo I: Download grub-efi packages.
|
||||||
|
|
||||||
mkdir -p /usr/share/vyos/packages
|
mkdir -p /usr/share/vyos/packages
|
||||||
|
|||||||
@ -1,20 +1,20 @@
|
|||||||
menuentry "VyOS (KVM console)" {
|
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
|
initrd /boot//initrd.img
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry "VyOS (Serial console)" {
|
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
|
initrd /boot//initrd.img
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry "Lost password change (KVM console)" {
|
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
|
initrd /boot//initrd.img
|
||||||
}
|
}
|
||||||
|
|
||||||
menuentry "Lost password change (Serial console)" {
|
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
|
initrd /boot//initrd.img
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,8 +4,7 @@ ipcalc
|
|||||||
sipcalc
|
sipcalc
|
||||||
mtr-tiny
|
mtr-tiny
|
||||||
whois
|
whois
|
||||||
netcat
|
netcat-openbsd
|
||||||
netcat6
|
|
||||||
socat
|
socat
|
||||||
telnet
|
telnet
|
||||||
nano
|
nano
|
||||||
|
|||||||
@ -2,5 +2,5 @@ grub2
|
|||||||
grub-pc
|
grub-pc
|
||||||
qemu-guest-agent
|
qemu-guest-agent
|
||||||
hyperv-daemons
|
hyperv-daemons
|
||||||
vyos-xe-guest-utilities
|
|
||||||
vyos-netplug
|
vyos-netplug
|
||||||
|
vyos-xe-guest-utilities
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
{
|
{
|
||||||
|
"equuleus": "1.3",
|
||||||
"current": "1.2"
|
"current": "1.2"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
# Must be run with --privileged flag, recommended to run the container with a
|
# Must be run with --privileged flag, recommended to run the container with a
|
||||||
# volume mapped in order to easy export images
|
# volume mapped in order to easy export images
|
||||||
|
|
||||||
FROM debian:jessie
|
FROM debian:buster
|
||||||
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
|
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
@ -63,33 +63,20 @@ RUN apt-get update && apt-get install -y \
|
|||||||
python3-coverage \
|
python3-coverage \
|
||||||
python3-sphinx \
|
python3-sphinx \
|
||||||
python3-pystache \
|
python3-pystache \
|
||||||
|
python3-git \
|
||||||
|
python3-pip \
|
||||||
python3-psutil \
|
python3-psutil \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
debhelper \
|
debhelper \
|
||||||
|
gosu \
|
||||||
|
po4a \
|
||||||
|
cpio \
|
||||||
jq
|
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
|
# 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
|
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
|
# Building libvyosconf requires a full configured OPAM/OCaml setup
|
||||||
#
|
#
|
||||||
@ -145,7 +132,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libpcap-dev \
|
libpcap-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libmysqlclient-dev \
|
default-libmysqlclient-dev \
|
||||||
libgeoip-dev \
|
libgeoip-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
libjansson-dev \
|
libjansson-dev \
|
||||||
@ -158,11 +145,12 @@ RUN apt-get update && apt-get install -y \
|
|||||||
|
|
||||||
# Packages needed for kernel
|
# Packages needed for kernel
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
kernel-package \
|
|
||||||
libncurses5-dev \
|
libncurses5-dev \
|
||||||
flex \
|
flex \
|
||||||
bison \
|
bison \
|
||||||
libelf-dev \
|
libelf-dev \
|
||||||
|
bc \
|
||||||
|
kmod \
|
||||||
dkms
|
dkms
|
||||||
|
|
||||||
# Packages needed for Accel-ppp
|
# 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 && \
|
cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \
|
||||||
dpkg -i ../librtr*_amd64.deb ../librtr*_all.deb
|
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
|
# 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
|
# https://github.com/FRRouting/frr/blob/master/doc/developer/building-libyang.rst
|
||||||
# for more info
|
# for more info
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
@ -214,11 +193,6 @@ RUN apt-get update && apt-get install -y \
|
|||||||
python3-pytest \
|
python3-pytest \
|
||||||
texinfo
|
texinfo
|
||||||
|
|
||||||
#
|
|
||||||
# Cleanup VyOS Debian Repository
|
|
||||||
#
|
|
||||||
RUN rm -f /etc/apt/sources.list.d/vyos.list
|
|
||||||
|
|
||||||
# Packages needed for conntrack-tools
|
# Packages needed for conntrack-tools
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libnetfilter-conntrack-dev \
|
libnetfilter-conntrack-dev \
|
||||||
@ -241,16 +215,10 @@ RUN apt-get update && apt-get install -y \
|
|||||||
|
|
||||||
# Packages needed for ipaddrcheck
|
# Packages needed for ipaddrcheck
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
libcidr0 \
|
||||||
|
libcidr-dev \
|
||||||
check
|
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
|
# Packages needed for lldpd
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libbsd-dev \
|
libbsd-dev \
|
||||||
@ -303,15 +271,12 @@ RUN apt-get update && apt-get install -y \
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
python-all \
|
python-all \
|
||||||
python2.7-dev \
|
python2.7-dev \
|
||||||
libmysqld-dev
|
libmariadb-dev
|
||||||
|
|
||||||
# Update live-build
|
# Packages needed for Qemu test-suite
|
||||||
RUN echo 'deb http://ftp.debian.org/debian stretch main' | tee -a /etc/apt/sources.list.d/stretch.list && \
|
RUN apt-get update && apt-get install -y \
|
||||||
apt-get update && apt-get install -y -t stretch \
|
python3-pexpect \
|
||||||
live-build && \
|
qemu-kvm
|
||||||
rm -f /etc/apt/sources.list.d/stretch.list && \
|
|
||||||
apt-get update && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Install packer
|
# Install packer
|
||||||
RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/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 && \
|
curl -K- | gzip -d > /usr/bin/packer && \
|
||||||
chmod +x /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'
|
# Allow password-less 'sudo' for all users in group 'sudo'
|
||||||
RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \
|
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
|
chmod a+s /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/gosu /usr/sbin/usermod
|
||||||
|
|||||||
@ -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
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# in order to easy exprort images built to "external" world
|
# 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
|
# Must be run with --privileged flag, recommended to run the container with a
|
||||||
# volume mapped in order to easy export images
|
# 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>"
|
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
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
|
# Standard shell should be bash not dash
|
||||||
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
|
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
|
||||||
dpkg-reconfigure dash
|
dpkg-reconfigure dash
|
||||||
@ -64,40 +60,18 @@ RUN apt-get update && apt-get install -y \
|
|||||||
python3-coverage \
|
python3-coverage \
|
||||||
python3-sphinx \
|
python3-sphinx \
|
||||||
python3-pystache \
|
python3-pystache \
|
||||||
|
python3-git \
|
||||||
|
python3-pip \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
debhelper \
|
debhelper \
|
||||||
|
gosu \
|
||||||
|
live-build \
|
||||||
jq
|
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
|
# 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
|
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
|
# Building libvyosconf requires a full configured OPAM/OCaml setup
|
||||||
#
|
#
|
||||||
@ -142,7 +116,7 @@ RUN eval $(opam env --root=/opt/opam --set-root) && \
|
|||||||
git clone https://github.com/vyos/libvyosconfig.git && \
|
git clone https://github.com/vyos/libvyosconfig.git && \
|
||||||
cd libvyosconfig && git checkout 9a80a5d3 && \
|
cd libvyosconfig && git checkout 9a80a5d3 && \
|
||||||
dpkg-buildpackage -uc -us -tc -b && \
|
dpkg-buildpackage -uc -us -tc -b && \
|
||||||
dpkg -i ../libvyosconfig0_*_arm64.deb
|
dpkg -i ../libvyosconfig0_*.deb
|
||||||
|
|
||||||
# Packages needed for vyatta-cfg
|
# Packages needed for vyatta-cfg
|
||||||
RUN apt-get update && apt-get install -y \
|
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
|
# Packages needed for vyatta-iproute
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
iptables-dev \
|
||||||
libatm1-dev \
|
libatm1-dev \
|
||||||
|
libcap-dev \
|
||||||
libdb-dev \
|
libdb-dev \
|
||||||
iptables-dev
|
libelf-dev \
|
||||||
|
libselinux1-dev
|
||||||
|
|
||||||
# Packages needed for vyatta-webgui
|
# Packages needed for vyatta-webgui
|
||||||
RUN apt-get update && apt-get install -y \
|
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 \
|
RUN apt-get update && apt-get install -y \
|
||||||
libpcap-dev \
|
libpcap-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libmysqlclient-dev \
|
default-libmysqlclient-dev \
|
||||||
libgeoip-dev \
|
libgeoip-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
libjansson-dev \
|
libjansson-dev \
|
||||||
@ -178,11 +155,12 @@ RUN apt-get update && apt-get install -y \
|
|||||||
|
|
||||||
# Packages needed for kernel
|
# Packages needed for kernel
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
kernel-package \
|
|
||||||
libncurses5-dev \
|
libncurses5-dev \
|
||||||
flex \
|
flex \
|
||||||
bison \
|
bison \
|
||||||
libelf-dev
|
libelf-dev \
|
||||||
|
bc \
|
||||||
|
kmod
|
||||||
|
|
||||||
# Packages needed for vyos-accel-ppp
|
# Packages needed for vyos-accel-ppp
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
@ -193,6 +171,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
# Prerequisites for building rtrlib
|
# Prerequisites for building rtrlib
|
||||||
# see http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-debian8.html
|
# see http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-debian8.html
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
graphviz \
|
||||||
doxygen \
|
doxygen \
|
||||||
libssh-dev \
|
libssh-dev \
|
||||||
libssl-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 && \
|
wget -P /tmp https://github.com/rtrlib/rtrlib/archive/v${RTRLIB_VERSION}.tar.gz && \
|
||||||
tar xf /tmp/v${RTRLIB_VERSION}.tar.gz -C /tmp && \
|
tar xf /tmp/v${RTRLIB_VERSION}.tar.gz -C /tmp && \
|
||||||
cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \
|
cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \
|
||||||
dpkg -i ../librtr*_arm64.deb ../librtr*_all.deb
|
dpkg -i ../librtr*.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
|
# 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
|
# https://github.com/FRRouting/frr/blob/master/doc/developer/building-libyang.rst
|
||||||
# for more info
|
# for more info
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
@ -227,11 +197,6 @@ RUN apt-get update && apt-get install -y \
|
|||||||
python3-pytest \
|
python3-pytest \
|
||||||
texinfo
|
texinfo
|
||||||
|
|
||||||
#
|
|
||||||
# Cleanup VyOS Debian Repository
|
|
||||||
#
|
|
||||||
RUN rm -f /etc/apt/sources.list.d/vyos.list
|
|
||||||
|
|
||||||
# Packages needed for conntrack-tools
|
# Packages needed for conntrack-tools
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libnetfilter-conntrack-dev \
|
libnetfilter-conntrack-dev \
|
||||||
@ -248,18 +213,16 @@ RUN apt-get update && apt-get install -y \
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
whois
|
whois
|
||||||
|
|
||||||
|
# Packages needed for vyos-xe-guest-utilities
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
golang
|
||||||
|
|
||||||
# Packages needed for ipaddrcheck
|
# Packages needed for ipaddrcheck
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
libcidr0 \
|
||||||
|
libcidr-dev \
|
||||||
check
|
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
|
# Packages needed for lldpd
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libbsd-dev \
|
libbsd-dev \
|
||||||
@ -312,23 +275,31 @@ RUN apt-get update && apt-get install -y \
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
python-all \
|
python-all \
|
||||||
python2.7-dev \
|
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/*
|
|
||||||
|
|
||||||
# Install packer
|
# Install packer
|
||||||
RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | \
|
RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | \
|
||||||
jq -r -M '.current_version')"; \
|
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 && \
|
curl -K- | gzip -d > /usr/bin/packer && \
|
||||||
chmod +x /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'
|
# Allow password-less 'sudo' for all users in group 'sudo'
|
||||||
RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \
|
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
|
chmod a+s /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/gosu /usr/sbin/usermod
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
Acquire::Check-Valid-Until "0";
|
|
||||||
@ -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
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# in order to easy exprort images built to "external" world
|
# 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
|
# Must be run with --privileged flag, recommended to run the container with a
|
||||||
# volume mapped in order to easy export images
|
# 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>"
|
LABEL authors="VyOS Maintainers <maintainers@vyos.io>"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
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
|
# Standard shell should be bash not dash
|
||||||
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
|
RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
|
||||||
dpkg-reconfigure dash
|
dpkg-reconfigure dash
|
||||||
@ -66,40 +60,18 @@ RUN apt-get update && apt-get install -y \
|
|||||||
python3-coverage \
|
python3-coverage \
|
||||||
python3-sphinx \
|
python3-sphinx \
|
||||||
python3-pystache \
|
python3-pystache \
|
||||||
|
python3-git \
|
||||||
|
python3-pip \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
debhelper \
|
debhelper \
|
||||||
|
gosu \
|
||||||
|
live-build \
|
||||||
jq
|
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
|
# 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
|
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
|
# Building libvyosconf requires a full configured OPAM/OCaml setup
|
||||||
#
|
#
|
||||||
@ -107,7 +79,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libpcre3-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 && \
|
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
|
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 && \
|
git clone https://github.com/vyos/libvyosconfig.git && \
|
||||||
cd libvyosconfig && git checkout 9a80a5d3 && \
|
cd libvyosconfig && git checkout 9a80a5d3 && \
|
||||||
dpkg-buildpackage -uc -us -tc -b && \
|
dpkg-buildpackage -uc -us -tc -b && \
|
||||||
dpkg -i ../libvyosconfig0_*_armhf.deb
|
dpkg -i ../libvyosconfig0_*.deb
|
||||||
|
|
||||||
# Packages needed for vyatta-cfg
|
# Packages needed for vyatta-cfg
|
||||||
RUN apt-get update && apt-get install -y \
|
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
|
# Packages needed for vyatta-iproute
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
iptables-dev \
|
||||||
libatm1-dev \
|
libatm1-dev \
|
||||||
|
libcap-dev \
|
||||||
libdb-dev \
|
libdb-dev \
|
||||||
iptables-dev
|
libelf-dev \
|
||||||
|
libselinux1-dev
|
||||||
|
|
||||||
# Packages needed for vyatta-webgui
|
# Packages needed for vyatta-webgui
|
||||||
RUN apt-get update && apt-get install -y \
|
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 \
|
RUN apt-get update && apt-get install -y \
|
||||||
libpcap-dev \
|
libpcap-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
libmysqlclient-dev \
|
default-libmysqlclient-dev \
|
||||||
libgeoip-dev \
|
libgeoip-dev \
|
||||||
librabbitmq-dev \
|
librabbitmq-dev \
|
||||||
libjansson-dev \
|
libjansson-dev \
|
||||||
@ -180,11 +155,12 @@ RUN apt-get update && apt-get install -y \
|
|||||||
|
|
||||||
# Packages needed for kernel
|
# Packages needed for kernel
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
kernel-package \
|
|
||||||
libncurses5-dev \
|
libncurses5-dev \
|
||||||
flex \
|
flex \
|
||||||
bison \
|
bison \
|
||||||
libelf-dev
|
libelf-dev \
|
||||||
|
bc \
|
||||||
|
kmod
|
||||||
|
|
||||||
# Packages needed for vyos-accel-ppp
|
# Packages needed for vyos-accel-ppp
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
@ -195,6 +171,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
# Prerequisites for building rtrlib
|
# Prerequisites for building rtrlib
|
||||||
# see http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-debian8.html
|
# see http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-debian8.html
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
graphviz \
|
||||||
doxygen \
|
doxygen \
|
||||||
libssh-dev \
|
libssh-dev \
|
||||||
libssl-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 && \
|
wget -P /tmp https://github.com/rtrlib/rtrlib/archive/v${RTRLIB_VERSION}.tar.gz && \
|
||||||
tar xf /tmp/v${RTRLIB_VERSION}.tar.gz -C /tmp && \
|
tar xf /tmp/v${RTRLIB_VERSION}.tar.gz -C /tmp && \
|
||||||
cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \
|
cd /tmp/rtrlib-${RTRLIB_VERSION} && dpkg-buildpackage -uc -us -tc -b && \
|
||||||
dpkg -i ../librtr*_armhf.deb ../librtr*_all.deb
|
dpkg -i ../librtr*.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
|
# 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
|
# https://github.com/FRRouting/frr/blob/master/doc/developer/building-libyang.rst
|
||||||
# for more info
|
# for more info
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
@ -229,11 +197,6 @@ RUN apt-get update && apt-get install -y \
|
|||||||
python3-pytest \
|
python3-pytest \
|
||||||
texinfo
|
texinfo
|
||||||
|
|
||||||
#
|
|
||||||
# Cleanup VyOS Debian Repository
|
|
||||||
#
|
|
||||||
RUN rm -f /etc/apt/sources.list.d/vyos.list
|
|
||||||
|
|
||||||
# Packages needed for conntrack-tools
|
# Packages needed for conntrack-tools
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libnetfilter-conntrack-dev \
|
libnetfilter-conntrack-dev \
|
||||||
@ -250,18 +213,16 @@ RUN apt-get update && apt-get install -y \
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
whois
|
whois
|
||||||
|
|
||||||
|
# Packages needed for vyos-xe-guest-utilities
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
golang
|
||||||
|
|
||||||
# Packages needed for ipaddrcheck
|
# Packages needed for ipaddrcheck
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
|
libcidr0 \
|
||||||
|
libcidr-dev \
|
||||||
check
|
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
|
# Packages needed for lldpd
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
libbsd-dev \
|
libbsd-dev \
|
||||||
@ -314,23 +275,31 @@ RUN apt-get update && apt-get install -y \
|
|||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
python-all \
|
python-all \
|
||||||
python2.7-dev \
|
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/*
|
|
||||||
|
|
||||||
# Install packer
|
# 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')"; \
|
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_arm.zip" |\
|
||||||
curl -K- | gzip -d > /usr/bin/packer && \
|
curl -k -K- | gzip -d > /usr/bin/packer && \
|
||||||
chmod +x /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'
|
# Allow password-less 'sudo' for all users in group 'sudo'
|
||||||
RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \
|
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
|
chmod a+s /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/gosu /usr/sbin/usermod
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
Acquire::Check-Valid-Until "0";
|
|
||||||
@ -1 +0,0 @@
|
|||||||
Acquire::Check-Valid-Until "0";
|
|
||||||
@ -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-----
|
|
||||||
|
|
||||||
@ -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_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')
|
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
|
Build up source package with URL and build commands executed during the later
|
||||||
called build_package step.
|
called build_package step.
|
||||||
@ -157,8 +157,6 @@ vyos_packages = ['vyatta-bash',
|
|||||||
'vyatta-cfg-qos',
|
'vyatta-cfg-qos',
|
||||||
'vyatta-op-qos',
|
'vyatta-op-qos',
|
||||||
'vyatta-cfg-op-pppoe',
|
'vyatta-cfg-op-pppoe',
|
||||||
'vyatta-conntrack',
|
|
||||||
'vyatta-conntrack-sync',
|
|
||||||
'vyatta-nat',
|
'vyatta-nat',
|
||||||
'vyatta-config-mgmt',
|
'vyatta-config-mgmt',
|
||||||
'vyatta-config-migrate',
|
'vyatta-config-migrate',
|
||||||
@ -177,17 +175,18 @@ vyos_packages = ['vyatta-bash',
|
|||||||
'vyos-replace',
|
'vyos-replace',
|
||||||
'vyos-nhrp',
|
'vyos-nhrp',
|
||||||
'vyos-world',
|
'vyos-world',
|
||||||
'vyos-1x',
|
|
||||||
'vyatta-iproute',
|
'vyatta-iproute',
|
||||||
'vyos-vmwaretools-scripts',
|
'vyos-vmwaretools-scripts',
|
||||||
'vyos-netplug',
|
|
||||||
'vyos-xe-guest-utilities',
|
|
||||||
'vyatta-biosdevname',
|
'vyatta-biosdevname',
|
||||||
'vyos-opennhrp',
|
'vyos-opennhrp',
|
||||||
'vyos-salt-minion',
|
'vyos-salt-minion',
|
||||||
'xl2tpd',
|
|
||||||
'mdns-repeater',
|
'mdns-repeater',
|
||||||
'udp-broadcast-relay',
|
'udp-broadcast-relay',
|
||||||
|
'vyos-1x',
|
||||||
|
'vyatta-conntrack',
|
||||||
|
'vyatta-conntrack-sync',
|
||||||
|
'vyos-xe-guest-utilities',
|
||||||
|
'vyos-netplug',
|
||||||
'pmacct',
|
'pmacct',
|
||||||
'ddclient',
|
'ddclient',
|
||||||
'igmpproxy',
|
'igmpproxy',
|
||||||
@ -207,9 +206,6 @@ pkg_special.append( add_package('ipaddrcheck', branch='master'))
|
|||||||
|
|
||||||
# Packages where we directly build the upstream source
|
# 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('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 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 && " \
|
vyos_strongswan_build_cmd = "dpkg-buildpackage -b -us -uc -tc && " \
|
||||||
|
|||||||
364
scripts/check-qemu-install
Executable file
364
scripts/check-qemu-install
Executable file
@ -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)
|
||||||
@ -35,8 +35,8 @@ util.check_build_config()
|
|||||||
lb_config_tmpl = """
|
lb_config_tmpl = """
|
||||||
lb config noauto \
|
lb config noauto \
|
||||||
--architectures {{architecture}} \
|
--architectures {{architecture}} \
|
||||||
--bootappend-live "boot=live components hostname=vyos username=live nopersistence noautologin nonetworking union=overlay 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" \
|
--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-flavours {{kernel_flavor}} \
|
||||||
--linux-packages linux-image-{{kernel_version}} \
|
--linux-packages linux-image-{{kernel_version}} \
|
||||||
--bootloader syslinux,grub-efi \
|
--bootloader syslinux,grub-efi \
|
||||||
@ -46,7 +46,7 @@ lb config noauto \
|
|||||||
--iso-application "VyOS" \
|
--iso-application "VyOS" \
|
||||||
--iso-publisher "{{build_by}}" \
|
--iso-publisher "{{build_by}}" \
|
||||||
--iso-volume "VyOS" \
|
--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-bootstrap {{debian_mirror}} \
|
||||||
--mirror-chroot {{debian_mirror}} \
|
--mirror-chroot {{debian_mirror}} \
|
||||||
--mirror-chroot-security {{debian_security_mirror}} \
|
--mirror-chroot-security {{debian_security_mirror}} \
|
||||||
@ -55,9 +55,9 @@ lb config noauto \
|
|||||||
--archive-areas "main contrib non-free" \
|
--archive-areas "main contrib non-free" \
|
||||||
--firmware-chroot false \
|
--firmware-chroot false \
|
||||||
--firmware-binary false \
|
--firmware-binary false \
|
||||||
--updates false \
|
--updates true \
|
||||||
--security 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
|
--apt-indices false
|
||||||
"${@}"
|
"${@}"
|
||||||
"""
|
"""
|
||||||
@ -69,19 +69,16 @@ debug = build_config['debug']
|
|||||||
|
|
||||||
# Add the additional repositories to package lists
|
# Add the additional repositories to package lists
|
||||||
print("Setting up additional APT entries")
|
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_repo_entry = "deb {0} {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'])
|
|
||||||
|
|
||||||
apt_file = os.path.join(build_config['build_dir'], defaults.VYOS_REPO_FILE)
|
apt_file = os.path.join(build_config['build_dir'], defaults.VYOS_REPO_FILE)
|
||||||
|
|
||||||
if debug:
|
if debug:
|
||||||
print("Adding these entries to {0}:".format(apt_file))
|
print("Adding these entries to {0}:".format(apt_file))
|
||||||
print("\t", vyos_repo_entry)
|
print("\t", vyos_repo_entry)
|
||||||
print("\t", vyos_debian_repo_entry)
|
|
||||||
|
|
||||||
with open(apt_file, 'w') as f:
|
with open(apt_file, 'w') as f:
|
||||||
f.write(vyos_repo_entry)
|
f.write(vyos_repo_entry)
|
||||||
f.write(vyos_debian_repo_entry)
|
|
||||||
|
|
||||||
# Add custom APT entries
|
# Add custom APT entries
|
||||||
if build_config['custom_apt_entry']:
|
if build_config['custom_apt_entry']:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user