1 # This stage builds an rpm from the source
2 FROM centos:centos8 as centos-8-builder
4 RUN dnf install --enablerepo=powertools -y rpm-build git autoconf pcre-devel \
5 automake libtool make readline-devel texinfo net-snmp-devel pkgconfig \
6 groff pkgconfig json-c-devel pam-devel bison flex python3-pytest \
7 c-ares-devel python3-devel python3-sphinx systemd-devel libcap-devel platform-python-devel \
8 https://ci1.netdef.org/artifact/LIBYANG-LY1REL/shared/build-4/CentOS-8-x86_64-Packages/libyang1-1.0.184-0.x86_64.rpm \
9 https://ci1.netdef.org/artifact/LIBYANG-LY1REL/shared/build-4/CentOS-8-x86_64-Packages/libyang-devel-1.0.184-0.x86_64.rpm \
10 https://ci1.netdef.org/artifact/RPKI-RTRLIB/shared/build-110/CentOS-7-x86_64-Packages/librtr-0.7.0-1.el7.centos.x86_64.rpm \
11 https://ci1.netdef.org/artifact/RPKI-RTRLIB/shared/build-110/CentOS-7-x86_64-Packages/librtr-devel-0.7.0-1.el7.centos.x86_64.rpm
17 RUN echo '%_smp_mflags %( echo "-j$(/usr/bin/getconf _NPROCESSORS_ONLN)"; )' >> /root/.rpmmacros \
22 --enable-numeric-version \
23 --with-pkg-extra-version="_git$PKGVER" \
26 && mkdir -p /rpmbuild/{SOURCES,SPECS} \
27 && cp /src/frr*.tar.gz /rpmbuild/SOURCES \
28 && cp /src/redhat/frr.spec /rpmbuild/SPECS \
30 --define "_topdir /rpmbuild" \
31 -ba /rpmbuild/SPECS/frr.spec
33 # This stage installs frr from the rpm
35 RUN mkdir -p /pkgs/rpm \
36 && yum install -y https://ci1.netdef.org/artifact/LIBYANG-LY1REL/shared/build-4/CentOS-8-x86_64-Packages/libyang1-1.0.184-0.x86_64.rpm \
37 https://ci1.netdef.org/artifact/RPKI-RTRLIB/shared/build-110/CentOS-7-x86_64-Packages/librtr-0.7.0-1.el7.centos.x86_64.rpm
39 COPY --from=centos-8-builder /rpmbuild/RPMS/ /pkgs/rpm/
41 RUN yum install -y /pkgs/rpm/*/*.rpm \
43 COPY docker/centos-8/docker-start /usr/lib/frr/docker-start
44 ENTRYPOINT [ "/usr/lib/frr/docker-start" ]