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 python2-pytest \
7 c-ares-devel python2-devel systemd-devel libcap-devel platform-python-devel \
8 https://ci1.netdef.org/artifact/LIBYANG-YANGRELEASE/shared/build-10/CentOS-7-x86_64-Packages/libyang-0.16.111-0.x86_64.rpm \
9 https://ci1.netdef.org/artifact/LIBYANG-YANGRELEASE/shared/build-10/CentOS-7-x86_64-Packages/libyang-devel-0.16.111-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
13 RUN pip2 install sphinx
19 RUN echo '%_smp_mflags %( echo "-j$(/usr/bin/getconf _NPROCESSORS_ONLN)"; )' >> /root/.rpmmacros \
24 --enable-numeric-version \
25 --with-pkg-extra-version="_git$PKGVER" \
28 && mkdir -p /rpmbuild/{SOURCES,SPECS} \
29 && cp /src/frr*.tar.gz /rpmbuild/SOURCES \
30 && cp /src/redhat/frr.spec /rpmbuild/SPECS \
32 --define "_topdir /rpmbuild" \
33 -ba /rpmbuild/SPECS/frr.spec
35 # This stage installs frr from the rpm
37 RUN mkdir -p /pkgs/rpm \
38 && yum install -y https://ci1.netdef.org/artifact/LIBYANG-YANGRELEASE/shared/build-10/CentOS-7-x86_64-Packages/libyang-0.16.111-0.x86_64.rpm \
39 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
41 COPY --from=centos-8-builder /rpmbuild/RPMS/ /pkgs/rpm/
43 RUN yum install -y /pkgs/rpm/*/*.rpm \
45 COPY docker/centos-8/docker-start /usr/lib/frr/docker-start
46 ENTRYPOINT [ "/usr/lib/frr/docker-start" ]