33#
44FROM ubuntu:16.04
55
6- MAINTAINER Kyle Manna <kyle@kylemanna.com>
6+ LABEL maintainer "Kyle Manna <kyle@kylemanna.com>"
7+
8+ ENV GOSU_VERSION=1.10
9+ ENV DEBIAN_FRONTEND noninteractive
710
811# /bin/sh points to Dash by default, reconfigure to use bash until Android
912# build becomes POSIX compliant
@@ -12,21 +15,27 @@ RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
1215
1316# Keep the dependency list as short as reasonable
1417RUN apt-get update && \
15- apt-get install -y bc bison bsdmainutils build-essential curl \
18+ apt-get install -y ca-certificates bc bison bsdmainutils build-essential curl \
1619 flex g++-multilib gcc-multilib git gnupg gperf lib32ncurses5-dev \
1720 lib32z1-dev libesd0-dev libncurses5-dev \
18- libsdl1.2-dev libwxgtk3.0-dev libxml2-utils lzop sudo \
19- openjdk-8-jdk \
20- pngcrush schedtool xsltproc zip zlib1g-dev graphviz && \
21+ libsdl1.2-dev libwxgtk3.0-dev libxml2-utils lzop \
22+ openjdk-8-jdk pngcrush schedtool xsltproc zip zlib1g-dev graphviz && \
23+ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" ; \
24+ curl -Ls "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" -o /usr/local/bin/gosu; \
25+ curl -Ls "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" -o /usr/local/bin/gosu.asc \
26+ # verify the signature
27+ export GNUPGHOME="$(mktemp -d)" ; \
28+ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
29+ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
30+ rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
31+ chmod +x /usr/local/bin/gosu; \
32+ # verify it works
33+ gosu nobody true; \
2134 apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2235
2336ADD https://commondatastorage.googleapis.com/git-repo-downloads/repo /usr/local/bin/
2437RUN chmod 755 /usr/local/bin/*
2538
26- # Install latest version of JDK
27- # See http://source.android.com/source/initializing.html#setting-up-a-linux-build-environment
28- WORKDIR /tmp
29-
3039# All builds will be done by user aosp
3140COPY gitconfig /root/.gitconfig
3241COPY ssh_config /root/.ssh/config
@@ -38,5 +47,5 @@ VOLUME ["/tmp/ccache", "/aosp"]
3847# Work in the build directory, repo is expected to be init'd here
3948WORKDIR /aosp
4049
41- COPY utils/docker_entrypoint.sh /root/ docker_entrypoint.sh
42- ENTRYPOINT ["/root/ docker_entrypoint.sh" ]
50+ COPY utils/docker_entrypoint.sh /docker_entrypoint.sh
51+ ENTRYPOINT ["/docker_entrypoint.sh" ]
0 commit comments