mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-11-01 18:58:20 +00:00
108 lines
2.4 KiB
Bash
Executable File
108 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
############################################################
|
|
set -e
|
|
|
|
AUTOBUILD_SCRIPT="$(realpath ${BASH_SOURCE[0]})"
|
|
ONL="$(realpath $(dirname $AUTOBUILD_SCRIPT)/../../)"
|
|
|
|
|
|
# Default build branch
|
|
BUILD_BRANCH=master
|
|
|
|
while getopts ":b:s:d:u:p:vVc789r:" opt; do
|
|
case $opt in
|
|
7)
|
|
ONLB_OPTIONS=--7
|
|
if [ -z "$DOCKER_IMAGE" ]; then
|
|
echo "Selecting Debian 7 build..."
|
|
fi
|
|
;;
|
|
8)
|
|
ONLB_OPTIONS=--8
|
|
if [ -z "$DOCKER_IMAGE" ]; then
|
|
echo "Selecting Debian 8 build..."
|
|
fi
|
|
;;
|
|
9)
|
|
ONLB_OPTIONS=--9
|
|
if [ -z "$DOCKER_IMAGE" ]; then
|
|
echo "Selecting Debian 9 build..."
|
|
fi
|
|
;;
|
|
c)
|
|
cd $ONL && git submodule update --init --recursive packages/platforms-closed
|
|
;;
|
|
b)
|
|
BUILD_BRANCH=$OPTARG
|
|
;;
|
|
v)
|
|
set -x
|
|
;;
|
|
V)
|
|
export VERBOSE=1
|
|
;;
|
|
r)
|
|
export BUILDROOTMIRROR=$OPTARG
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -z "$ONLB_OPTIONS" ]; then
|
|
# Build both 8 and 9
|
|
$AUTOBUILD_SCRIPT --8 $@
|
|
$AUTOBUILD_SCRIPT --9 $@
|
|
exit $?
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
# Restart under correct builder environment.
|
|
#
|
|
if [ -z "$DOCKER_IMAGE" ]; then
|
|
# Execute ourselves under the builder
|
|
ONLB=$ONL/docker/tools/onlbuilder
|
|
if [ -x $ONLB ]; then
|
|
$ONLB $ONLB_OPTIONS --volumes $ONL --non-interactive -c $AUTOBUILD_SCRIPT $@
|
|
exit $?
|
|
else
|
|
echo "Not running in a docker workspace and the onlbuilder script is not available."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "Now running under $DOCKER_IMAGE..."
|
|
|
|
|
|
# The expectation is that we will already be on the required branch.
|
|
# This is to normalize environments where the checkout might instead
|
|
# be in a detached head (like jenkins)
|
|
echo "Switching to branch $BUILD_BRANCH..."
|
|
cd $ONL && git checkout $BUILD_BRANCH
|
|
|
|
|
|
#
|
|
# Full build
|
|
#
|
|
cd $ONL
|
|
. setup.env
|
|
|
|
if ! make all; then
|
|
echo Build Failed.
|
|
exit 1
|
|
fi
|
|
|
|
make -C $ONL/REPO build-clean
|
|
|
|
# Remove all installer/rootfs/swi packages from the repo. These do not need to be kept and take significant
|
|
# amounts of time to transfer.
|
|
find $ONL/REPO -name "*-installer_0.*" -delete
|
|
find $ONL/REPO -name "*-rootfs_0.*" -delete
|
|
find $ONL/REPO -name "*-swi_0*" -delete
|
|
|
|
echo Build Succeeded.
|