#!/bin/bash # crewbuild-nocturne-x86_64.m97.sh if command -v xxd &>/dev/null; then # See https://stackoverflow.com/a/49903434 CONTAINER_ARGS_INPUT="$@" if [ -n "$CONTAINER_ARGS_INPUT" ]; then echo "CONTAINER_ARGS: $@" CONTAINER_ARGS="$(echo $@ | xxd -ps -c 0 | tr -d '\n')" # echo "CONTAINER_ARGS_ENCODED: $CONTAINER_ARGS" CONTAINER_ARGS_PASSTHROUGH=-e CONTAINER_ARGS_PASSTHROUGH+=" " CONTAINER_ARGS_PASSTHROUGH+=CONTAINER_ARGS="\"${CONTAINER_ARGS}\"" fi else echo "xxd is not installed. CONTAINER_ARGS will not be passed to the container." fi if [ -z ${CI+x} ]; then echo "CI is not set." else CI_PASSTHROUGH=-e CI_PASSTHROUGH+=" " CI_PASSTHROUGH+=NESTED_CI=${CI} fi if [ -z ${CREW_MAX_BUILD_TIME+x} ]; then echo "CREW_MAX_BUILD_TIME is not set." else CREW_MAX_BUILD_TIME_PASSTHROUGH=-e CREW_MAX_BUILD_TIME_PASSTHROUGH+=" " CREW_MAX_BUILD_TIME_PASSTHROUGH+=CREW_MAX_BUILD_TIME=${CREW_MAX_BUILD_TIME} fi if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then SESSION_TYPE=remote/ssh elif pstree -p 2>/dev/null | egrep --quiet --extended-regexp ".*sshd.*\($$\)"; then SESSION_TYPE=remote/ssh else case $(ps -o comm= -p $PPID) in sshd|*/sshd) SESSION_TYPE=remote/ssh;; esac fi if [ -z ${PAGER+x} ]; then echo "PAGER is not set." else PAGER_PASSTHROUGH=-e PAGER_PASSTHROUGH+=" " PAGER_PASSTHROUGH+=CONTAINER_PAGER=${PAGER} fi if [ -z ${REPO+x} ] && [ -z ${BRANCH+x} ] && [ -z ${BRANCH+x} ]; then echo "Alternate BRANCH/OWNER/REPO is not set." else : "${BRANCH:=master}" : "${OWNER:=chromebrew}" : "${REPO:=chromebrew}" REPO_PASSTHROUGH=-e REPO_PASSTHROUGH+=" " REPO_PASSTHROUGH+=CREW_REPO=https://github.com/${OWNER}/${REPO}.git REPO_PASSTHROUGH+=" -e " REPO_PASSTHROUGH+=CREW_BRANCH=${BRANCH} fi if [ -z ${TZ+x} ]; then echo "TZ is not set." else TZ_PASSTHROUGH=-e TZ_PASSTHROUGH+=" " TZ_PASSTHROUGH+=TZ=${TZ} fi X11=-e X11+=" " X11+=DISPLAY=${DISPLAY:-:0.0} X11+=" " if ! [[ $SESSION_TYPE == remote/ssh ]] && [ -d /tmp/.X11-unix ]; then X11+=" -v /tmp/.X11-unix:/tmp/.X11-unix " fi if [ -f "$HOME"/.Xauthority ]; then X11+=--volume=$HOME/.Xauthority:/home/chronos/user/.Xauthority:rw X11+=" " X11+=--volume=$HOME/.Xauthority:/home/chronos/.Xauthority:rw fi docker pull --platform linux/amd64 satmandu/crewbuild:nocturne-x86_64.m97 docker pull tonistiigi/binfmt docker run --privileged --rm tonistiigi/binfmt --install all docker run --init --platform linux/amd64 --rm --net=host ${CONTAINER_ARGS_PASSTHROUGH} ${ARCH_PACKAGES_PASSTHROUGH} ${CI_PASSTHROUGH} ${CREW_MAX_BUILD_TIME_PASSTHROUGH} ${PAGER_PASSTHROUGH} ${REPO_PASSTHROUGH} ${TZ_PASSTHROUGH} ${X11} -e LOCALRC="${LOCALRC}" -v $(pwd)/pkg_cache:/usr/local/tmp/packages -v $(pwd):/output -h $(hostname)-x86_64 --tmpfs /tmp --ulimit "nofile=$(ulimit -Sn):$(ulimit -Hn)" -it satmandu/crewbuild:nocturne-x86_64.m97