poky/scripts/autobuilder-worker-prereq-tests
Richard Purdie 7350e82ce1 scripts: Add copyright statements to files without one
Where there isn't a copyright statement, add one to make it explicit.
Also drop editor config lines where they were present and add license
identifiers as MIT if there isn't one.

(From OE-Core rev: deb3ccec53e0bd63bc4235cf2b0d3fc781687361)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-12 11:58:01 +01:00

94 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
#
# Copyright OpenEmbedded Contributors
#
# Script which can be run on new autobuilder workers to check all needed configuration is present.
# Designed to be run in a repo where bitbake/oe-core are already present.
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Todo
# Add testtools/subunit import test
# Add python3-git test
# Add pigz test
# vnc tests/checkvnc?
# test sendmail works (for QA email notification)
# test error report submission works
# test buildistory git repo works?
#
if [ ! -x $HOME/yocto-autobuilder-helper/scripts/checkvnc ]; then
echo "$HOME/yocto-autobuilder-helper should be created."
exit 1
fi
$HOME/yocto-autobuilder-helper/scripts/checkvnc
. ./oe-init-build-env > /dev/null
if [ "$?" != "0" ]; then
exit 1
fi
git config --global user.name > /dev/null
if [ "$?" != "0" ]; then
echo "Please set git config --global user.name"
exit 1
fi
git config --global user.email > /dev/null
if [ "$?" != "0" ]; then
echo "Please set git config --global user.email"
exit 1
fi
python3 -c "import jinja2"
if [ "$?" != "0" ]; then
echo "Please ensure jinja2 is available"
exit 1
fi
bitbake -p
if [ "$?" != "0" ]; then
echo "Bitbake parsing failed"
exit 1
fi
WATCHES=$(PATH="/sbin:/usr/sbin:$PATH" sysctl fs.inotify.max_user_watches -n)
if (( $WATCHES < 65000 )); then
echo 'Need to increase watches (echo fs.inotify.max_user_watches=65536 | sudo tee -a /etc/sysctl.conf'
exit 1
fi
OPEN_FILES=$(ulimit -n)
if (( $OPEN_FILES < 65535 )); then
echo 'Increase maximum open files in /etc/security/limits.conf'
echo '* soft nofile 131072'
echo '* hard nofile 131072'
exit 1
fi
MAX_PROCESSES=$(ulimit -u)
if (( $MAX_PROCESSES < 514542 )); then
echo 'Increase maximum user processes in /etc/security/limits.conf'
echo '* hard nproc 515294'
echo '* soft nproc 514543'
exit 1
fi
mkdir -p tmp/deploy/images/qemux86-64
pushd tmp/deploy/images/qemux86-64
if [ ! -e core-image-minimal-qemux86-64.ext4 ]; then
wget http://downloads.yoctoproject.org/releases/yocto/yocto-4.0/machines/qemu/qemux86-64/core-image-minimal-qemux86-64.ext4
fi
if [ ! -e core-image-minimal-qemux86-64.qemuboot.conf ]; then
wget http://downloads.yoctoproject.org/releases/yocto/yocto-4.0/machines/qemu/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
fi
if [ ! -e bzImage-qemux86-64.bin ]; then
wget http://downloads.yoctoproject.org/releases/yocto/yocto-4.0/machines/qemu/qemux86-64/bzImage-qemux86-64.bin
fi
popd
bitbake qemu-helper-native
DISPLAY=:1 runqemu serialstdio qemux86-64
if [ "$?" != "0" ]; then
echo "Unable to use runqemu"
exit 1
fi
DISPLAY=:1 runqemu serialstdio qemux86-64 kvm
if [ "$?" != "0" ]; then
echo "Unable to use runqemu with kvm"
exit 1
fi