composite: remove batch script and multi-flavour handling in nightly

We only support OpenSSL now and the base build is also not fully
hooked up.  Perhaps we can improve the situation later on but for
now just remove the spurious bits leading to errors.
This commit is contained in:
Franco Fichtner 2023-01-25 10:25:09 +01:00
parent 457b0b6321
commit b448dfb032
4 changed files with 19 additions and 95 deletions

View File

@ -1,4 +1,4 @@
# Copyright (c) 2015-2022 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2015-2023 Franco Fichtner <franco@opnsense.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@ -28,7 +28,7 @@ STEPS= audit arm base boot chroot clean clone compress confirm \
kernel list make.conf nano options packages plugins ports \
prefetch print rebase release rename rewind serial sign \
skim test update upload verify vga vm xtools
SCRIPTS= batch distribution factory hotfix nightly watch
SCRIPTS= distribution factory hotfix nightly watch
.PHONY: ${STEPS} ${SCRIPTS}
@ -79,7 +79,7 @@ _CONFIGDIR= ${DIR:C/\/build\.conf$//}
NAME?= OPNsense
TYPE?= ${NAME:tl}
SUFFIX?= # empty
FLAVOUR?= OpenSSL LibreSSL # first one is default
FLAVOUR= OpenSSL # XXX only flavour now, perhaps refactor
_ARCH!= uname -p
ARCH?= ${_ARCH}
ABI?= ${_CONFIGDIR:C/^.*\///}

View File

@ -67,7 +67,6 @@ Available build options are:
* COMSPEED: serial speed, e.g. "115200" (default)
* DEBUG: build a debug kernel with additional object information
* DEVICE: loads device-specific modifications, e.g. "A10" (default)
* FLAVOUR: "OpenSSL" (default), "LibreSSL", "Base"
* KERNEL: the kernel config to use, e.g. SMP (default)
* MIRRORS: a list of mirrors to prefetch sets from
* NAME: "OPNsense" (default)
@ -454,11 +453,6 @@ be invoked manually using:
Composite build steps
---------------------
Build steps are pinned to a particular crypto flavour, but if OpenSSL
and LibreSSL packages are both required they can be batch-built using:
# make batch-<step>[,<option>[,...]]
A fully contained nightly build for the system is invoked using:
# make nightly

View File

@ -1,30 +0,0 @@
#!/bin/sh
# Copyright (c) 2017-2021 Franco Fichtner <franco@opnsense.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
for _FLAVOUR in ${FLAVOUR}; do
make clean-obj ${1:?} FLAVOUR=${_FLAVOUR}
done

View File

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2017-2022 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2017-2023 Franco Fichtner <franco@opnsense.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@ -27,7 +27,6 @@
CLEAN=packages
CONTINUE=
FLAVOUR_TOP=${FLAVOUR}
LINES=400
NOERROR="distfiles options audit test"
STAGE1="update info base kernel xtools distfiles"
@ -55,8 +54,8 @@ LOG="${LOGSDIR}/${PRODUCT_VERSION}/$(printf %02d ${STAGENUM})-clean.log"
if [ -f ${LOG}.err ]; then
echo ">>> Stage clean was aborted due to an error:" > ${LOG}.err
cat ${LOG} >> ${LOG}.err
FLAVOUR=
STAGE1=
STAGE2=
fi
for STAGE in ${STAGE1}; do
@ -76,72 +75,33 @@ for STAGE in ${STAGE1}; do
continue
fi
FLAVOUR=
STAGE2=
break
else
tail -n ${LINES} ${LOG} >> ${LOG}.ok
fi
done
STAGENUM=$(expr ${STAGENUM} + 1)
for _FLAVOUR in ${FLAVOUR}; do
LOG="${LOGSDIR}/${PRODUCT_VERSION}/$(printf %02d ${STAGENUM})-clean-${_FLAVOUR}.log"
(time make clean-${CLEAN} FLAVOUR=${_FLAVOUR} 2>&1 || touch ${LOG}.err) > ${LOG}
if [ -f ${LOG}.err ]; then
echo ">>> Stage clean-${_FLAVOUR} was aborted due to an error:" > ${LOG}.err
cat ${LOG} >> ${LOG}.err
___FLAVOUR=
for __FLAVOUR in ${FLAVOUR}; do
if [ ${__FLAVOUR} != ${_FLAVOUR} ]; then
___FLAVOUR="${___FLAVOUR} ${__FLAVOUR}"
fi
done
FLAVOUR=${___FLAVOUR}
fi
done
for STAGE in ${STAGE2}; do
STAGENUM=$(expr ${STAGENUM} + 1)
for _FLAVOUR in ${FLAVOUR}; do
LOG="${LOGSDIR}/${PRODUCT_VERSION}/$(printf %02d ${STAGENUM})-${STAGE}-${_FLAVOUR}.log"
(time make ${STAGE}${CONTINUE} FLAVOUR=${_FLAVOUR} 2>&1 || touch ${LOG}.err) > ${LOG} &
done
LOG="${LOGSDIR}/${PRODUCT_VERSION}/$(printf %02d ${STAGENUM})-${STAGE}.log"
(time make ${STAGE}${CONTINUE} 2>&1 || touch ${LOG}.err) > ${LOG}
wait
if [ -f ${LOG}.err ]; then
echo ">>> Stage ${STAGE} was aborted due to an error, last ${LINES} lines as follows:" > ${LOG}.err
tail -n ${LINES} ${LOG} >> ${LOG}.err
for _FLAVOUR in ${FLAVOUR}; do
LOG="${LOGSDIR}/${PRODUCT_VERSION}/$(printf %02d ${STAGENUM})-${STAGE}-${_FLAVOUR}.log"
if [ -f ${LOG}.err ]; then
echo ">>> Stage ${STAGE}-${_FLAVOUR} was aborted due to an error, last ${LINES} lines as follows:" > ${LOG}.err
tail -n ${LINES} ${LOG} >> ${LOG}.err
if [ -z "${NOERROR%%*"${STAGE}"*}" ]; then
# continue during opportunistic stages
continue
fi
___FLAVOUR=
for __FLAVOUR in ${FLAVOUR}; do
if [ ${__FLAVOUR} != ${_FLAVOUR} ]; then
___FLAVOUR="${___FLAVOUR} ${__FLAVOUR}"
fi
done
FLAVOUR=${___FLAVOUR}
else
tail -n ${LINES} ${LOG} >> ${LOG}.ok
if [ -z "${NOERROR%%*"${STAGE}"*}" ]; then
# continue during opportunistic stages
continue
fi
done
done
FLAVOUR=${FLAVOUR_TOP}
break
else
tail -n ${LINES} ${LOG} >> ${LOG}.ok
fi
done
tar -C ${TARGETDIRPREFIX} -cJf \
${LOGSDIR}/${PRODUCT_VERSION}-${PRODUCT_ARCH}.txz \