-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile.ubuntu-18.04
70 lines (57 loc) · 1.36 KB
/
Dockerfile.ubuntu-18.04
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
FROM ubuntu:18.04
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
git \
make \
bison \
flex \
gcc \
ccache \
gdb \
wget \
perl \
libwww-perl \
liblwp-protocol-https-perl \
python \
python3 \
tcl \
libperl-dev \
libpython-dev \
libpython3-dev \
tcl-dev \
libssl-dev \
zlib1g-dev \
libreadline-dev \
libgss-dev \
libxml2-dev \
libxslt1-dev \
libldap2-dev \
libkrb5-dev \
gettext \
libxml2-utils \
xsltproc \
libipc-run-perl
ARG uid
ARG gid
RUN groupadd -r app -g ${gid:-1000} && \
useradd -u ${uid:-1000} -r -g app -m -d /app -s /sbin/nologin \
-c "App user" app && \
chmod 755 /app
# Set the working directory to app home directory
WORKDIR /app
# Specify the user to execute all commands below
USER app
COPY --chown=app:app build-fromsource.conf /app
ENV PATH /app:${PATH}
RUN wget https://buildfarm.postgresql.org/downloads/latest-client.tgz
RUN tar -z --strip-components=1 -xf latest-client.tgz
RUN cp build-farm.conf.sample build-farm.conf
RUN mkdir buildroot
# we can do this when testing - once we know we have the packages right
# it's a waste of time
# RUN ./run_build.pl --test || \
# { ls -rt buildroot/HEAD/CHANGEME.lastrun-logs/*.log \
# | grep -v config.log | tail -n 1 | xargs cat && exit 1; }
# we'll mount this at run time, as it's the persistent storage we want
# RUN rm -rf buildroot/*
# RUN ls -l