mirror of
				https://github.com/falk-werner/webfuse
				synced 2025-06-13 12:54:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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 "$@"
 |