diff options
Diffstat (limited to 'poky/scripts/buildall-qemu')
-rwxr-xr-x | poky/scripts/buildall-qemu | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/poky/scripts/buildall-qemu b/poky/scripts/buildall-qemu deleted file mode 100755 index ca9aafadf7..0000000000 --- a/poky/scripts/buildall-qemu +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh -# Copyright (c) 2020 Wind River Systems, Inc. -# -# SPDX-License-Identifier: GPL-2.0-only -# -# buildall-qemu: a tool for automating build testing of recipes -# TODO: Add support for selecting which qemu architectures to build -# TODO: Add support for queueing up multiple recipe builds -# TODO: Add more logging options (e.g. local.conf info, bitbake env info) - -usage () -{ - base=$(basename "$0") - echo "Usage: $base [options] [recipename/target]" - echo "Executes a build of a given target for selected LIBCs. With no options, default to both libc and musl." - echo "Options:" - echo "-l, --libc Specify one of \"glibc\" or \"musl\"" -} - - -buildall () -{ - # Get path to oe-core directory. Since oe-init-build-env prepends $PATH with - # the path to the scripts directory, get it from there - SCRIPTS_PATH="$(echo "$PATH" | cut -d ":" -f 1)" - OE_CORE_PATH=$(echo "$SCRIPTS_PATH" | sed 's|\(.*\)/.*|\1|') - - # Get target list and host machine information - TARGET_LIST=$(find "$OE_CORE_PATH"/meta/conf/machine -maxdepth 1 -type f | grep qemu | sed 's|.*/||' | sed -e 's/\.conf//') - - # Set LIBC value to use for the builds based on options provided by the user - if [ -n "$2" ] - then - LIBC_LIST="$2" - echo "$LIBC_LIST" - else - LIBC_LIST="glibc musl" - echo "$LIBC_LIST" - fi - - START_TIME=$(date "+%Y-%m-%d_%H:%M:%S") - LOG_FILE="$1-buildall.log" - OS_INFO=$(grep "PRETTY_NAME=" /etc/os-release | awk -F "=" '{print $2}' | sed -e 's/^"//' -e 's/"$//') - - # Append an existing log file for this build with .old if one exists - if [ -f "${LOG_FILE}" ] - then - mv "${LOG_FILE}" "${LOG_FILE}.old" - else - touch "${LOG_FILE}" - fi - - # Fill the log file with build and host info - echo "BUILDALL-QEMU LOG FOR $1" >> "${LOG_FILE}" - echo "START TIME: ${START_TIME}" >> "${LOG_FILE}" - echo "HOSTNAME: $(uname -n)" >> "${LOG_FILE}" - echo "HOST OS: ${OS_INFO}" >> "${LOG_FILE}" - echo "HOST KERNEL: $(uname -r)" >> "${LOG_FILE}" - echo "===============" >> "${LOG_FILE}" - echo "BUILD RESULTS:" >> "${LOG_FILE}" - - # start the builds for each MACHINE and TCLIBC - for j in ${LIBC_LIST} - do - echo "[$j]" >> "${LOG_FILE}" - for i in ${TARGET_LIST} - do - echo "$i" "$j"; \ - TCLIBC=$j MACHINE=$i bitbake "$1" && echo "PASS: $i" >> "${LOG_FILE}" || echo "FAIL: $i" >> "${LOG_FILE}" - done - done - - # Get pass/fail totals and add them to the end of the log - PASSED=$(grep "PASS:" "${LOG_FILE}" | wc -l) - FAILED=$(grep "FAIL:" "${LOG_FILE}" | wc -l) - - echo "===============" >> "${LOG_FILE}" - echo "PASSED: ${PASSED}" >> "${LOG_FILE}" - echo "FAILED: ${FAILED}" >> "${LOG_FILE}" -} - - -# fail entire script if any command fails -set -e - -# print usage and exit if not enough args given -[ $# -eq 0 ] && usage && exit 1 - -# handle arguments -RECIPE= -while [ $# -gt 0 ] -do - arg=$1 - case $arg in - -l|--libc) - if [ "$2" = "glibc" ] || [ "$2" = "musl" ] - then - LIBC_LIST="$2" - else - echo "Unrecognized libc option." - usage && exit 1 - fi - shift - shift - ;; - *) - RECIPE="$1" - shift - ;; - esac -done - -set -- "$RECIPE" - -# run buildall for the given recipe and LIBC -if [ -n "$1" ] -then - buildall "$1" "$LIBC_LIST" -fi - |