2 changed files with 137 additions and 0 deletions
@ -0,0 +1,57 @@ |
|||||||
|
#!@bash@ |
||||||
|
## |
||||||
|
## docker-compose -- run docker-compose in a container |
||||||
|
## |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
# setup options for connecting to Docker host |
||||||
|
if [ -z "$DOCKER_HOST" ]; then |
||||||
|
DOCKER_HOST="/var/run/docker.sock" |
||||||
|
fi |
||||||
|
if [ -S "$DOCKER_HOST" ]; then |
||||||
|
DOCKER_ADDR="-v $DOCKER_HOST:$DOCKER_HOST -e DOCKER_HOST" |
||||||
|
else |
||||||
|
DOCKER_ADDR="-e DOCKER_HOST -e DOCKER_TLS_VERIFY -e DOCKER_CERT_PATH" |
||||||
|
fi |
||||||
|
|
||||||
|
# setup volume mounts for compose config and context |
||||||
|
if [ "$(pwd)" != '/' ]; then |
||||||
|
VOLUMES="-v $(pwd):$(pwd)" |
||||||
|
fi |
||||||
|
if [ -n "$COMPOSE_FILE" ]; then |
||||||
|
COMPOSE_OPTIONS="$COMPOSE_OPTIONS -e COMPOSE_FILE=$COMPOSE_FILE" |
||||||
|
compose_dir=$(sealpath $(dirname $COMPOSE_FILE)) |
||||||
|
fi |
||||||
|
if [ -n "$compose_dir" ]; then |
||||||
|
VOLUMES="$VOLUMES -v $compose_dir:$compose_dir" |
||||||
|
fi |
||||||
|
if [ -n "$HOME" ]; then |
||||||
|
VOLUMES="$VOLUMES -v $HOME:$HOME -v $HOME:/root" |
||||||
|
fi |
||||||
|
|
||||||
|
# only allocate tty if we detect one |
||||||
|
if [ -t 0 ]; then |
||||||
|
if [ -t 1 ]; then |
||||||
|
DOCKER_RUN_OPTIONS="$DOCKER_RUN_OPTIONS -t" |
||||||
|
fi |
||||||
|
else |
||||||
|
DOCKER_RUN_OPTIONS="$DOCKER_RUN_OPTIONS -i" |
||||||
|
fi |
||||||
|
|
||||||
|
# handle userns security |
||||||
|
if [ ! -z "$(docker info 2>/dev/null | grep userns)" ]; then |
||||||
|
DOCKER_RUN_OPTIONS="$DOCKER_RUN_OPTIONS --userns=host" |
||||||
|
fi |
||||||
|
|
||||||
|
exec @l_prefix@/bin/docker \ |
||||||
|
run \ |
||||||
|
--rm \ |
||||||
|
$DOCKER_RUN_OPTIONS \ |
||||||
|
$DOCKER_ADDR \ |
||||||
|
$COMPOSE_OPTIONS \ |
||||||
|
$VOLUMES \ |
||||||
|
-w "$(pwd)" \ |
||||||
|
docker/compose:@version@ \ |
||||||
|
"$@" |
||||||
|
|
@ -0,0 +1,80 @@ |
|||||||
|
## |
||||||
|
## docker-compose.spec -- OpenPKG RPM Package Specification |
||||||
|
## Copyright (c) 2000-2018 OpenPKG Project <http://openpkg.org/> |
||||||
|
## |
||||||
|
## Permission to use, copy, modify, and distribute this software for |
||||||
|
## any purpose with or without fee is hereby granted, provided that |
||||||
|
## the above copyright notice and this permission notice appear in all |
||||||
|
## copies. |
||||||
|
## |
||||||
|
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||||
|
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||||
|
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||||
|
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||||
|
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||||
|
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||||
|
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||||
|
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||||
|
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||||
|
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||||
|
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||||
|
## SUCH DAMAGE. |
||||||
|
## |
||||||
|
|
||||||
|
# package information |
||||||
|
Name: docker-compose |
||||||
|
Summary: Docker Container Composition |
||||||
|
URL: https://docs.docker.com/compose/ |
||||||
|
Vendor: Docker Inc. |
||||||
|
Packager: OpenPKG Project |
||||||
|
Distribution: OpenPKG Community |
||||||
|
Class: EVAL |
||||||
|
Group: Filesystem |
||||||
|
License: Apache |
||||||
|
Version: 1.23.1 |
||||||
|
Release: 20181111 |
||||||
|
|
||||||
|
# list of sources |
||||||
|
Source0: docker-compose.bash |
||||||
|
|
||||||
|
# build information |
||||||
|
BuildPreReq: OpenPKG, openpkg >= 20160101 |
||||||
|
PreReq: OpenPKG, openpkg >= 20160101, docker |
||||||
|
|
||||||
|
%description |
||||||
|
Docker Compose is a tool for defining and running multi-container |
||||||
|
Docker applications. With Docker Compose, you use a Compose file to |
||||||
|
configure your application's services. Then, using a single command, |
||||||
|
you create and start all the services from your configuration. |
||||||
|
|
||||||
|
%track |
||||||
|
prog docker-compose = { |
||||||
|
version = %{version} |
||||||
|
url = https://github.com/docker/compose/releases |
||||||
|
regex = (__VER__)\.tar\.gz |
||||||
|
} |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -q -T -c |
||||||
|
|
||||||
|
%build |
||||||
|
|
||||||
|
%install |
||||||
|
# create directory hierarchy |
||||||
|
%{l_shtool} mkdir -f -p -m 755 \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/bin |
||||||
|
|
||||||
|
# install program |
||||||
|
%{l_shtool} install -c -m 755 %{l_value -s -a} \ |
||||||
|
-e 's;@bash@;%{l_bash};g' \ |
||||||
|
-e 's;@version@;%{version};g' \ |
||||||
|
%{SOURCE docker-compose.bash} \ |
||||||
|
$RPM_BUILD_ROOT%{l_prefix}/bin/docker-compose |
||||||
|
|
||||||
|
# determine installation files |
||||||
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} |
||||||
|
|
||||||
|
%files -f files |
||||||
|
|
||||||
|
%clean |
||||||
|
|
Loading…
Reference in new issue