aboutsummaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorGilles Chehade <gilles@poolp.org>2020-04-30 00:31:11 +0200
committerGilles Chehade <gilles@poolp.org>2020-04-30 00:31:11 +0200
commitb085757b558b7296d4578de3af95398dd8f95fba (patch)
tree66f437080436bad89b8350d290ce4c26374c8fdc /ci
parentdo not expose BSDoptind and BSDoptarg in openbsd-compat.h (diff)
downloadOpenSMTPD-b085757b558b7296d4578de3af95398dd8f95fba.tar.xz
OpenSMTPD-b085757b558b7296d4578de3af95398dd8f95fba.zip
add CI for gcc10 on ubuntu
Diffstat (limited to 'ci')
-rw-r--r--ci/docker/Dockerfile.ubuntu-gcc1054
1 files changed, 54 insertions, 0 deletions
diff --git a/ci/docker/Dockerfile.ubuntu-gcc10 b/ci/docker/Dockerfile.ubuntu-gcc10
new file mode 100644
index 00000000..2ebbdf58
--- /dev/null
+++ b/ci/docker/Dockerfile.ubuntu-gcc10
@@ -0,0 +1,54 @@
+FROM ubuntu:latest
+
+# Allow container to expose ports at runtime, if necessary
+# https://docs.docker.com/engine/reference/#expose
+EXPOSE 25
+EXPOSE 465
+EXPOSE 587
+
+# creates /opensmtpd dir and makes all following commands to run in it
+# https://docs.docker.com/engine/reference/builder/#workdir
+WORKDIR /opensmtpd
+
+# install necessary packages
+RUN apt update \
+ && apt install -y --no-install-recommends \
+ autoconf \
+ automake \
+ bison \
+ build-essential \
+ libevent-dev \
+ libssl-dev \
+ libtool \
+ libpam0g-dev \
+ zlib1g-dev \
+ gcc-10
+
+# create users and directories
+RUN mkdir -p /var/lib/opensmtpd/empty \
+ && useradd _smtpd \
+ --home-dir /var/lib/opensmtpd/empty \
+ --no-create-home \
+ --shell /bin/false \
+ && useradd _smtpq \
+ --home-dir /var/lib/opensmtpd/empty \
+ --no-create-home \
+ --shell /bin/false \
+ && mkdir -p /var/spool/smtpd \
+ && mkdir -p /var/mail \
+ && mkdir -p /etc/mail \
+ && chmod 711 /var/spool/smtpd
+
+# Copy contentes of the repo inside the container
+# https://docs.docker.com/engine/reference/builder/#copy
+COPY . /opensmtpd
+
+RUN export CC=gcc-10 CXX=g++-10
+RUN ./bootstrap \
+ && ./configure \
+ --with-gnu-ld \
+ --sysconfdir=/etc/mail \
+ --with-auth-pam \
+ && make \
+ && make install \
+ && cp etc/aliases /etc/mail/aliases