mirror of
https://github.com/falk-werner/webfuse
synced 2024-10-27 20:34:10 +00:00
86 lines
1.9 KiB
Plaintext
86 lines
1.9 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||
|
#
|
||
|
# This file is part of dobuild.
|
||
|
# Copyright (c) 2019 Contributors as noted in the AUTHORS file.
|
||
|
#
|
||
|
# SPDX-License-Identifier: MPL-2.0
|
||
|
|
||
|
set -e
|
||
|
|
||
|
physical_pwd() {
|
||
|
pwd -P 2>/dev/null || pwd
|
||
|
}
|
||
|
|
||
|
try_canonicalize() {
|
||
|
readlink -f "$@" 2>/dev/null || realpath "$@"
|
||
|
}
|
||
|
|
||
|
canonicalize() {
|
||
|
if ! try_canonicalize "$1" 2>/dev/null; then
|
||
|
echo "$(cd "$(dirname "$1")" && physical_pwd)/$(basename "$1")"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
scriptdir() {
|
||
|
dirname "$(canonicalize "${BASH_SOURCE:-$1}")"
|
||
|
}
|
||
|
|
||
|
DOBUILDDIR="${DOBUILDDIR:-"$(dirname "$(scriptdir "$0")")"}"
|
||
|
PATH="$DOBUILDDIR/bin:$PATH"
|
||
|
|
||
|
DOBUILD_COMPOSEVERSION="${DOBUILD_COMPOSEVERSION:-1.24.0}"
|
||
|
DOBUILD_COMPOSEIMAGE="${REGISTRY_PREFIX}docker/compose:${DOBUILD_COMPOSEVERSION}"
|
||
|
DOBUILD_COMPOSEENTRYPOINT="${DOBUILD_COMPOSEENTRYPOINT:-docker-compose}"
|
||
|
|
||
|
export DOBUILDDIR
|
||
|
export DOBUILD_PROJECTDIR="${DOBUILD_COMPOSEPROJECTDIR:-"$PWD"}"
|
||
|
export DOBUILD_HOSTENVFILTER="${DOBUILD_COMPOSEHOSTENVFILTER:-^COMPOSE}"
|
||
|
|
||
|
set -- "$@" --
|
||
|
|
||
|
WORKINGDIR=
|
||
|
|
||
|
while :; do
|
||
|
case $1 in
|
||
|
--project-directory)
|
||
|
if [ "$2" != '--' ]; then
|
||
|
WORKINGDIR="$2"
|
||
|
shift
|
||
|
else
|
||
|
printf 'error: "%s" requires a non-empty option argument.\n' "$1" >&2
|
||
|
exit 3
|
||
|
fi
|
||
|
;;
|
||
|
--project-directory=)
|
||
|
printf 'error: "%s" requires a non-empty option argument.\n' "$1" >&2
|
||
|
exit 3
|
||
|
;;
|
||
|
--project-directory=?*)
|
||
|
WORKINGDIR="${1#*=}"
|
||
|
;;
|
||
|
--)
|
||
|
shift
|
||
|
break
|
||
|
;;
|
||
|
*)
|
||
|
set -- "$@" "$1"
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
WORKINGDIR="${WORKINGDIR:-"$DOBUILD_PROJECTDIR"}"
|
||
|
|
||
|
if [ -z "${DOCKER_HOST+x}" ]; then
|
||
|
export DOCKER_HOST='unix:///var/run/docker.sock'
|
||
|
fi
|
||
|
|
||
|
set -- container_run --workdir "$(canonicalize "$WORKINGDIR")" --entrypoint "$DOBUILD_COMPOSEENTRYPOINT" "$DOBUILD_COMPOSEIMAGE" "$@"
|
||
|
|
||
|
exec "$@"
|