Browse code

Add bash completion to the development container

Adds an environment variable `DOCKER_BASH_COMPLETION_PATH` that allows to
include a bash completion script into the development container.

This is needid for development of bash completion.

Signed-off-by: Harald Albers <github@albersweb.de>

Harald Albers authored on 2017/06/24 01:05:38
Showing 2 changed files
... ...
@@ -217,6 +217,9 @@ COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
217 217
 RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy dockercli
218 218
 ENV PATH=/usr/local/cli:$PATH
219 219
 
220
+# Activate bash completion if mounted with DOCKER_BASH_COMPLETION_PATH
221
+RUN ln -s /usr/local/completion/bash/docker /etc/bash_completion.d/docker
222
+
220 223
 # Wrap all commands in the "docker-in-docker" script to allow nested containers
221 224
 ENTRYPOINT ["hack/dind"]
222 225
 
... ...
@@ -24,6 +24,7 @@ DOCKER_ENVS := \
24 24
 	-e DOCKER_BUILD_ARGS \
25 25
 	-e DOCKER_BUILD_GOGC \
26 26
 	-e DOCKER_BUILD_PKGS \
27
+	-e DOCKER_BASH_COMPLETION_PATH \
27 28
 	-e DOCKER_CLI_PATH \
28 29
 	-e DOCKER_DEBUG \
29 30
 	-e DOCKER_EXPERIMENTAL \
... ...
@@ -65,7 +66,8 @@ PKGCACHE_VOLROOT := dockerdev-go-pkg-cache
65 65
 PKGCACHE_VOL := $(if $(PKGCACHE_DIR),$(CURDIR)/$(PKGCACHE_DIR)/,$(PKGCACHE_VOLROOT)-)
66 66
 DOCKER_MOUNT_PKGCACHE := $(if $(DOCKER_INCREMENTAL_BINARY),$(shell echo $(PKGCACHE_MAP) | sed -E 's@([^ ]*)@-v "$(PKGCACHE_VOL)\1"@g'),)
67 67
 DOCKER_MOUNT_CLI := $(if $(DOCKER_CLI_PATH),-v $(shell dirname $(DOCKER_CLI_PATH)):/usr/local/cli,)
68
-DOCKER_MOUNT := $(DOCKER_MOUNT) $(DOCKER_MOUNT_PKGCACHE) $(DOCKER_MOUNT_CLI)
68
+DOCKER_MOUNT_BASH_COMPLETION := $(if $(DOCKER_BASH_COMPLETION_PATH),-v $(shell dirname $(DOCKER_BASH_COMPLETION_PATH)):/usr/local/completion/bash,)
69
+DOCKER_MOUNT := $(DOCKER_MOUNT) $(DOCKER_MOUNT_PKGCACHE) $(DOCKER_MOUNT_CLI) $(DOCKER_MOUNT_BASH_COMPLETION)
69 70
 
70 71
 GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
71 72
 GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")