3
3
#
4
4
FROM ubuntu:16.04
5
5
6
- MAINTAINER Kyle Manna <
[email protected] >
6
+ LABEL maintainer
"Kyle Manna <[email protected] >"
7
+
8
+ ENV GOSU_VERSION=1.10
9
+ ENV DEBIAN_FRONTEND noninteractive
7
10
8
11
# /bin/sh points to Dash by default, reconfigure to use bash until Android
9
12
# build becomes POSIX compliant
@@ -12,24 +15,30 @@ RUN echo "dash dash/sh boolean false" | debconf-set-selections && \
12
15
13
16
# Keep the dependency list as short as reasonable
14
17
RUN 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 \
16
19
flex g++-multilib gcc-multilib git gnupg gperf lib32ncurses5-dev \
17
20
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; \
21
34
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
22
35
23
36
ADD https://commondatastorage.googleapis.com/git-repo-downloads/repo /usr/local/bin/
24
37
RUN chmod 755 /usr/local/bin/*
25
38
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
-
30
39
# All builds will be done by user aosp
31
- COPY gitconfig /root /.gitconfig
32
- COPY ssh_config /root /.ssh/config
40
+ COPY gitconfig /home/aosp /.gitconfig
41
+ COPY ssh_config /home/aosp /.ssh/config
33
42
34
43
# The persistent data will be in these two directories, everything else is
35
44
# considered to be ephemeral
@@ -38,5 +47,5 @@ VOLUME ["/tmp/ccache", "/aosp"]
38
47
# Work in the build directory, repo is expected to be init'd here
39
48
WORKDIR /aosp
40
49
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