about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAneesh Agrawal <aneeshusa@gmail.com>2016-08-04T10·32-0400
committerDomen Kožar <domen@dev.si>2016-08-04T10·32+0200
commitc8608c488c10789d381b784cf69bb81e2e2b088d (patch)
tree964b85ce560d2cbb50db6351fe9cd48507fa15ae
parenteef754813f5a9d77ceeb0f10981d0a324967dc02 (diff)
Dockerfile: Add alpine dependencies (#1011)
* Dockerfile: add GNU tar native dependency

`builtins.fetchTarball` requires GNU tar to be available in the $PATH in
order to unpack the fetched tarball (there is a FIXME comment for this),
which Alpine does not ship by default (it ships BusyBox tar).

* Dockerfile: add GNU bash native dependency

`nix-shell` defaults to invoking `bash` from the $PATH for the subshell.
In theory this can be overriden with the NIX_BUILD_SHELL environment
variable, but this does not work properly. `nix-shell` generates and
passes a script (`$rcFile`) to be executed by the subshell which uses
bashisms (`source` and `shopt`). Additionally, in interactive mode,
`nix-shell` passes the `--rcfile` argument to the shell, which is
another bashism.

Because `bash` is thus de-facto required, add `bash` as a native package
dependency to make it available for `nix-shell`.
-rw-r--r--misc/docker/Dockerfile4
1 files changed, 3 insertions, 1 deletions
diff --git a/misc/docker/Dockerfile b/misc/docker/Dockerfile
index 098633fc3c86..20171d250207 100644
--- a/misc/docker/Dockerfile
+++ b/misc/docker/Dockerfile
@@ -5,7 +5,9 @@ RUN wget -O- http://nixos.org/releases/nix/nix-1.11.2/nix-1.11.2-x86_64-linux.ta
     && for i in $(seq 1 30); do echo "nixbld$i:x:$((30000 + $i)):30000:::" >> /etc/passwd; done \
     && mkdir -m 0755 /nix && USER=root sh nix-*-x86_64-linux/install \
     && echo ". /root/.nix-profile/etc/profile.d/nix.sh" >> /etc/profile \
-    && rm -r /nix-*-x86_64-linux
+    && rm -r /nix-*-x86_64-linux \
+    && apk --update add bash tar \
+    && rm -rf /var/cache/apk/*
 
 ONBUILD ENV \
     ENV=/etc/profile \