]> git.pld-linux.org Git - projects/cleanbuild.git/blame - docker/Dockerfile
Configure php hooks
[projects/cleanbuild.git] / docker / Dockerfile
CommitLineData
2801d0f4
ER
1# syntax = docker/dockerfile:experimental
2#
3# Requires Docker v18.06 or later and BuildKit mode to use cache mount
4# Docker v18.06 also requires the daemon to be running in experimental mode.
5#
6# $ DOCKER_BUILDKIT=1 docker build .
7#
8# See https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/syntax.md
06459a6a 9
d27cf819 10FROM registry.gitlab.com/pld-linux/pld AS base
06459a6a 11
d27cf819
ER
12FROM base AS dist
13WORKDIR /dist
14
15COPY rpmmacros ./home/builder/.rpmmacros
16# overwrite with our config (it defines same path, but disabled)
17COPY localrpms.conf ./etc/poldek/source.conf
1deb546f 18COPY sudoers ./etc/sudoers.d/builder
d27cf819
ER
19
20# use sane permissions until solved upstream
21# https://gitlab.com/gitlab-org/gitlab-runner/issues/1736
22RUN chmod -R a+rX,og-w .
23
24FROM base
2801d0f4
ER
25RUN --mount=type=cache,id=poldek,target=/var/cache/poldek \
26 set -x \
27 # enable to preserve downloaded packages
28 && poldek-config keep_downloads yes \
3c96e420
ER
29 # disable mixed php versions
30 # remove current php flavor from exclude list
31 && PHP_VERSION=5.3 \
32 && IGNORE_PACKAGES="systemd-init *php4* *php52* *php53* *php54* *php55* *php56* *php70* *php71* *php72* *php73* *php74* *php80* *php81* *php82**" \
33 && IGNORE_PACKAGES=$(echo "$IGNORE_PACKAGES" | sed -e "s/ \*php${PHP_VERSION/./}\*//") \
34 && poldek-config ignore "$IGNORE_PACKAGES" \
06459a6a 35 # first upgrade to latest
2801d0f4 36 && poldek --up --upgrade-dist \
06459a6a 37 # install build deps
6cf60de2 38 && poldek -u \
8101613d 39 binutils \
67ce0dc7 40 ca-certificates \
6cf60de2
ER
41 ccache-wrapper \
42 coreutils \
57e5f5ad 43 findutils \
6cf60de2
ER
44 gawk \
45 git-core \
46 perl-modules \
47 rpm-build \
e7779c16 48 rpm-getdeps \
6cf60de2
ER
49 sudo \
50 util-linux \
06459a6a
ER
51 # this will setup builder user
52 && poldek -u pld-builder-chroot \
2801d0f4 53 # useless, as it configures empty dir
54efabeb 54 && rm /etc/poldek/repos.d/pld-builder.conf \
2801d0f4 55 && exit 0
06459a6a 56
d27cf819 57COPY --from=dist /dist /
e0f7de47 58
06459a6a
ER
59# switch user
60USER builder
d27cf819 61WORKDIR /home/builder
73d3710b 62
06459a6a
ER
63# Use sleep to run forever
64CMD ["sleep", "infinity"]
This page took 1.075238 seconds and 4 git commands to generate.