#!/bin/sh # # kas - setup tool for bitbake based projects # # Copyright (c) Siemens AG, 2017-2023 # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # kas-isar: sudo update-binfmts --enable && [ -f /proc/sys/fs/binfmt_misc/status ] if mount | grep -q "on / type aufs"; then cat <&2 WARNING: Generation of wic images will fail! Your docker host setup uses broken aufs as storage driver. Adjust the docker configuration to use a different driver (overlay, overlay2, devicemapper). You may also need to update the host distribution (e.g. Debian Jessie -> Stretch). EOF fi if [ -z "$USER_ID" ]; then # Not a kas-container call GOSU="" # Work around gitlab-runner not aligning checked out repo ownership # with our builder user sudo git config --system safe.directory "*" elif [ "$USER_ID" = 0 ]; then # We shall run everything as root GOSU="" else GROUP_ID=${GROUP_ID:-$(id -g)} groupmod -o --gid "$GROUP_ID" builder usermod -o --uid "$USER_ID" --gid "$GROUP_ID" builder >/dev/null chown -R "$USER_ID":"$GROUP_ID" /builder # copy host SSH config into home of builder if [ -d /var/kas/userdata/.ssh ]; then cp -a /var/kas/userdata/.ssh /builder/ fi GOSU="gosu builder" fi if [ "$PWD" = / ]; then cd /builder || exit 1 fi if [ -n "$1" ]; then case "$1" in build|checkout|dump|for-all-repos|menu|shell|-*) # SC2086: Double quote to prevent globbing and word splitting. # shellcheck disable=2086 exec $GOSU kas "$@" ;; *) # SC2086: Double quote to prevent globbing and word splitting. # shellcheck disable=2086 exec $GOSU "$@" ;; esac else # SC2086: Double quote to prevent globbing and word splitting. # shellcheck disable=2086 exec $GOSU bash fi