vyos-build/scripts/build-docker-subpackages
Runar Borge 90ec7b2e25 Added compilation of the kernel and wireguard submodule.
Also refactored some UI code for easyer reading
2018-12-26 00:19:18 +01:00

132 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
#set -x
if [ ! -d "packages" ]; then
echo "This script needs to be executed inside the top root of vyos-build"
exit 1
fi
status_start() {
echo -ne "[ ] $1"
}
status_ok() {
echo -ne "\r[\e[32m OK \e[39m]\n"
}
status_fail() {
echo -ne "\r[\e[31mFAIL\e[39m]\n"
}
status_skip() {
echo -ne "\r[SKIP] $1\n"
}
error_msg() {
echo -ne " $1\n"
}
echo "Cleaning up buildfiles..."
rm -rf packages/*.deb
rm -rf packages/*.changes
echo "-----------------------------------------------------"
echo "Starting build process for all packages"
echo ""
for PKG in mdns-repeater \
pmacct \
udp-broadcast-relay \
vyatta-bash \
vyatta-cfg \
vyatta-cfg-firewall \
vyatta-cfg-op-pppoe \
vyatta-cfg-qos \
vyatta-cfg-quagga \
vyatta-cfg-system \
vyatta-cfg-vpn \
vyatta-cluster \
vyatta-config-mgmt \
vyatta-config-migrate \
vyatta-conntrack \
vyatta-conntrack-sync \
vyatta-eventwatch \
vyatta-iproute \
vyatta-ipv6-rtradv \
vyatta-lldp \
vyatta-nat \
vyatta-netflow \
vyatta-op \
vyatta-op-dhcp-server \
vyatta-op-firewall \
vyatta-op-qos \
vyatta-op-quagga \
vyatta-op-vpn \
vyatta-openvpn \
vyatta-ravpn \
vyatta-vrrp \
vyatta-wanloadbalance \
vyatta-webgui \
vyatta-webproxy \
vyatta-wireless \
vyatta-wirelessmodem \
vyatta-zone \
vyos-keepalived \
vyos-nhrp \
vyos-pppoe-server \
vyos-strongswan \
vyos-world \
; do
break;
if [ -d "packages/$PKG/debian" ]; then
status_start "Building package: $PKG"
docker run --rm -it -v $(pwd):/vyos -w /vyos/packages/$PKG \
--sysctl net.ipv6.conf.lo.disable_ipv6=0 \
vyos-builder \
dpkg-buildpackage -uc -us -tc -b >packages/$PKG.buildlog 2>&1
if [ $? -ne 0 ]; then
status_fail
error_msg "Failed to build package $PKG, look in $PKG.buildlog to examine the fault\n"
else
status_ok
fi
else
status_skip "No source for: $PKG"
fi
done
# KERNEL
if [ -f "packages/vyos-kernel/Makefile" ]; then
status_start "Building-package: vyos-kernel"
docker run --rm -it -v $(pwd):/vyos -w /vyos/packages/vyos-kernel \
--sysctl net.ipv6.conf.lo.disable_ipv6=0 \
vyos-builder \
bash -c '../../scripts/build-kernel' >packages/vyos-kernel.buildlog 2>&1
if [ $? -ne 0 ]; then
status_fail
error_msg "Failed to build package vyos-kernel, look in vyos-kernel.buildlog to examine the fault\n"
else
status_ok
fi
else
status_skip "No source for: vyos-kernel"
fi
# WIREGUARD
if [ -d "packages/vyos-wireguard/debian" ]; then
status_start "Building package: vyos-wireguard"
if [ -f "packages/vyos-kernel/Makefile" ]; then
docker run --rm -it -v $(pwd):/vyos -w /vyos/packages/vyos-wireguard \
--sysctl net.ipv6.conf.lo.disable_ipv6=0 \
vyos-builder \
bash -c 'KERNELDIR=/vyos/packages/vyos-kernel dpkg-buildpackage -uc -us -tc -b' >packages/vyos-wireguard.buildlog 2>&1
if [ $? -ne 0 ]; then
status_fail
error_msg "Failed to build package vyos-wireguard, look in vyos-wireguard.buildlog to examine the fault\n"
else
status_ok
fi
else
status_fail
error_msg "Failed to build package vyos-wireguard, no kernel source found\n"
fi
else
status_skip "No source for: vyos-wireguard"
fi