]> git.ipfire.org Git - thirdparty/pdns.git/blob - builder-support/dockerfiles/Dockerfile.rpmbuild
ea285a0b4e95335976e3e291c4e894fcfb9fd662
[thirdparty/pdns.git] / builder-support / dockerfiles / Dockerfile.rpmbuild
1 FROM dist-base as package-builder
2 RUN yum install -y rpm-build rpmdevtools /usr/bin/python3 && \
3 yum groupinstall -y "Development Tools" && \
4 rpmdev-setuptree
5
6 RUN mkdir /dist /pdns
7 WORKDIR /pdns
8 RUN rpmdev-setuptree
9
10 # Only ADD/COPY the files you really need for efficient docker caching.
11 ADD builder/helpers/ /pdns/builder/helpers/
12
13 # Used for -p option to only build specific spec files
14 ARG BUILDER_PACKAGE_MATCH
15
16 ARG BUILDER_VERSION
17 ARG BUILDER_RELEASE
18 COPY --from=sdist /sdist /sdist
19 RUN for file in /sdist/* ; do ln -s $file /root/rpmbuild/SOURCES/ ; done && ls /root/rpmbuild/SOURCES/
20
21 ADD builder-support/specs/ /pdns/builder-support/specs
22 RUN find /pdns/builder-support/specs/ -not -name '*.spec' -exec ln -s {} /root/rpmbuild/SOURCES/ \;
23
24 @IF [ ! -z "$M_authoritative$M_all" ]
25 RUN if $(grep -q 'release 6' /etc/redhat-release); then \
26 scl enable devtoolset-7 -- builder/helpers/build-specs.sh builder-support/specs/pdns.spec; \
27 else \
28 builder/helpers/build-specs.sh builder-support/specs/pdns.spec; \
29 fi
30 @ENDIF
31
32 @IF [ ! -z "$M_recursor$M_all" ]
33 RUN if $(grep -q 'release 6' /etc/redhat-release); then \
34 scl enable devtoolset-7 -- builder/helpers/build-specs.sh builder-support/specs/pdns-recursor.spec; \
35 else \
36 builder/helpers/build-specs.sh builder-support/specs/pdns-recursor.spec; \
37 fi
38 @ENDIF
39
40 @IF [ ! -z "$M_dnsdist$M_all" ]
41 RUN if $(grep -q 'release 6' /etc/redhat-release); then \
42 true ; \
43 else \
44 mkdir /libh2o && cd /libh2o && \
45 yum install -y curl openssl-devel cmake && \
46 curl -L https://github.com/h2o/h2o/archive/v2.2.6.tar.gz | tar xz && \
47 CFLAGS='-fPIC' cmake -DWITH_PICOTLS=off -DWITH_BUNDLED_SSL=off -DWITH_MRUBY=off -DCMAKE_INSTALL_PREFIX=/opt ./h2o-2.2.6 && \
48 make install && \
49 cd /pdns; \
50 fi
51
52 RUN if $(grep -q 'release 6' /etc/redhat-release); then \
53 scl enable devtoolset-7 -- builder/helpers/build-specs.sh builder-support/specs/dnsdist.spec; \
54 else \
55 builder/helpers/build-specs.sh builder-support/specs/dnsdist.spec; \
56 fi
57 @ENDIF
58
59 # mv accross layers with overlay2 is buggy in some kernel versions (results in empty dirs)
60 # See: https://github.com/moby/moby/issues/33733
61 #RUN mv /root/rpmbuild/RPMS/* /dist/
62 RUN cp -R /root/rpmbuild/RPMS/* /dist/
63 RUN cp -R /root/rpmbuild/SRPMS/* /dist/