ci: Add release mode to build legal info
Add an option to build the Buildroot legal-info target after building a
platform. This is mainly useful as part of building platforms for
inclusion in images for distribution, but is also good for CI systems
doing a sanity check on what is being built.
This also updates build-all-defconfigs.sh to use getopt to handle its
inputs more sanely.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
diff --git a/ci/build-all-defconfigs.sh b/ci/build-all-defconfigs.sh
index 61c3bbf..839d30a 100755
--- a/ci/build-all-defconfigs.sh
+++ b/ci/build-all-defconfigs.sh
@@ -3,22 +3,48 @@
set -ex
set -eo pipefail
+BUILD_INFO=0
CONFIGTAG="_defconfig"
DEFCONFIGS=();
-if [ -z "$2" ]; then
+while getopts "o:p:r" opt; do
+ case $opt in
+ o)
+ echo "Output directory: $OPTARG"
+ OUTDIR="$OPTARG"
+ ;;
+ p)
+ echo "Platforms to build: $OPTARG"
+ PLATFORM_LIST="$OPTARG"
+ ;;
+ r)
+ echo "Build legal-info for release"
+ BUILD_INFO=1
+ ;;
+ \?)
+ echo "Invalid option: -$OPTARG"
+ exit 1
+ ;;
+ :)
+ echo "Option -$OPTARG requires an argument."
+ exit 1
+ ;;
+ esac
+done
+
+if [ -z "${PLATFORM_LIST}" ]; then
echo "Using all the defconfigs for all the platforms"
DEFCONFIGS=`(cd openpower/configs; ls -1 *_defconfig)`
else
IFS=', '
- for p in $2;
+ for p in ${PLATFORM_LIST};
do
DEFCONFIGS+=($p$CONFIGTAG)
done
fi
-if [ -z "$1" or ! -d "$1" ]; then
+if [ -z "${OUTDIR}" or ! -d "${OUTDIR}" ]; then
echo "No output directory specified"
exit 1;
fi
@@ -45,10 +71,16 @@
op-build olddefconfig
op-build
r=$?
- mkdir $1/$i-images
- mv output/images/* $1/$i-images/
- mv output/.config $1/$i-images/.config
- lsb_release -a > $1/$i-images/lsb_release
+
+ if [ ${BUILD_INFO} = 1 ] && [ $r = 0 ]; then
+ op-build legal-info
+ mv output/legal-info ${OUTDIR}/$i-legal-info
+ fi
+
+ mkdir ${OUTDIR}/$i-images
+ mv output/images/* ${OUTDIR}/$i-images/
+ mv output/.config ${OUTDIR}/$i-images/.config
+ lsb_release -a > ${OUTDIR}/$i-images/lsb_release
if [ $r -ne 0 ]; then
exit $r
fi