]>
Commit | Line | Data |
---|---|---|
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 | 10 | FROM registry.gitlab.com/pld-linux/pld AS base |
06459a6a | 11 | |
d27cf819 ER |
12 | FROM base AS dist |
13 | WORKDIR /dist | |
14 | ||
15 | COPY rpmmacros ./home/builder/.rpmmacros | |
16 | # overwrite with our config (it defines same path, but disabled) | |
17 | COPY localrpms.conf ./etc/poldek/source.conf | |
1deb546f | 18 | COPY 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 | |
22 | RUN chmod -R a+rX,og-w . | |
23 | ||
24 | FROM base | |
2801d0f4 ER |
25 | RUN --mount=type=cache,id=poldek,target=/var/cache/poldek \ |
26 | set -x \ | |
27 | # enable to preserve downloaded packages | |
28 | && poldek-config keep_downloads yes \ | |
06459a6a | 29 | # first upgrade to latest |
2801d0f4 | 30 | && poldek --up --upgrade-dist \ |
06459a6a | 31 | # install build deps |
6cf60de2 | 32 | && poldek -u \ |
8101613d | 33 | binutils \ |
67ce0dc7 | 34 | ca-certificates \ |
6cf60de2 ER |
35 | ccache-wrapper \ |
36 | coreutils \ | |
57e5f5ad | 37 | findutils \ |
6cf60de2 ER |
38 | gawk \ |
39 | git-core \ | |
40 | perl-modules \ | |
41 | rpm-build \ | |
e7779c16 | 42 | rpm-getdeps \ |
6cf60de2 ER |
43 | sudo \ |
44 | util-linux \ | |
06459a6a ER |
45 | # this will setup builder user |
46 | && poldek -u pld-builder-chroot \ | |
2801d0f4 | 47 | # useless, as it configures empty dir |
54efabeb | 48 | && rm /etc/poldek/repos.d/pld-builder.conf \ |
2801d0f4 | 49 | && exit 0 |
06459a6a | 50 | |
d27cf819 | 51 | COPY --from=dist /dist / |
e0f7de47 | 52 | |
06459a6a ER |
53 | # switch user |
54 | USER builder | |
d27cf819 | 55 | WORKDIR /home/builder |
73d3710b | 56 | |
06459a6a ER |
57 | # Use sleep to run forever |
58 | CMD ["sleep", "infinity"] |