mirror of
				https://github.com/falk-werner/webfuse
				synced 2025-06-13 12:54:15 +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 "$@"
							 |