%bcond_without raw
%bcond_with nemea
%bcond_with unwind
%bcond_with is_el7

%if %{with raw}
%global compile_raw yes
%else
%global compile_raw no
%endif

%if %{with nemea}
%global compile_nemea yes
%else
%global compile_nemea no
%endif

%if %{with unwind}
%global compile_unwind yes
%else
%global compile_unwind no
%endif

%if "%{dist}" == ".el7"
%global is_el7 yes
%else
%global is_el7 no
%endif

Name: ipfixprobe-ndp
Version: 4.14.0
Release: 1
URL: http://nemea.liberouter.org/
Source: https://www.liberouter.org/repo/SOURCES/ipfixprobe-%{version}-%{release}.tar.gz
Group: Liberouter
License: BSD
Vendor: CESNET, z.s.p.o.
Packager: Pavel Siska <siska@cesnet.cz>
BuildRoot: %{_tmppath}/ipfixprobe-%{version}-%{release}
Summary: IPFIX flow exporter with NDP support and various extending IPFIX elements exported by plugins.
Requires: libatomic telemetry
BuildRequires: gcc gcc-c++ make doxygen pkgconfig libatomic telemetry
Provides: ipfixprobe
Requires: nfb-framework
Requires: numactl
BuildRequires: nfb-framework
BuildRequires: numactl-devel

%if %{with nemea} || "no" == "yes"
Requires: libtrap
BuildRequires: libtrap-devel
BuildRequires: unirec
%endif

%if %{with unwind} || "no" == "yes"
Requires: libunwind
BuildRequires: libunwind-devel
%endif

%if "%{is_el7}" == "yes"
Requires: openssl11
BuildRequires: openssl11-devel
%else
Requires: openssl
BuildRequires: openssl-devel
%endif

%description
This package contains IPFIX flow exporter with NDP support.

%package -n ipfixprobe-input-ndp
Group: Liberouter
License: BSD
Vendor: CESNET, z.s.p.o.
Packager: Pavel Siska <siska@cesnet.cz>
Summary: NDP input plugin for ipfixprobe IPFIX flow exporter.
Requires: nfb-framework
Requires: numactl telemetry
BuildRequires: nfb-framework telemetry
BuildRequires: numactl-devel
Provides: ipfixprobe-input-ndp

%description -n ipfixprobe-input-ndp
Input plugin to monitor network traffic on network interface using NDP and HW acceleration cards.

%prep
%setup -n ipfixprobe-%{version}

%build
./configure -q --enable-silent-rules --prefix=%{_prefix} --libdir=%{_libdir} --bindir=%{_bindir} --sysconfdir=%{_sysconfdir} --docdir=%{_docdir} --mandir=%{_mandir} --datadir=%{_datadir} --with-raw=%{compile_raw} --with-nemea=%{compile_nemea} --with-unwind=%{compile_unwind} --enable-legacy-ssl=%{is_el7} --with-ndp --disable-pcap-plugin
make clean
make -j5

%install
make -j5 DESTDIR=$RPM_BUILD_ROOT install

%post
test -x %{_bindir}/ipfixprobe && setcap "CAP_NET_RAW+eip" %{_bindir}/ipfixprobe || true
ldconfig

%files
%attr(0755, root, nemead) %{_bindir}/ipfixprobe
%attr(0755, root, nemead) %{_bindir}/ipfixprobe_stats
%attr(0755, root, nemead) %{_bindir}/ipfixprobed
%{_sysconfdir}/bash_completion.d/ipfixprobe.bash
%{_sysconfdir}/ipfixprobe/link0.conf.example
%{_sysconfdir}/ipfixprobe/dpdk_direct.conf.example
%{_sysconfdir}/ipfixprobe/dpdk_mring.conf.example
%{_docdir}/ipfixprobe/README.md
%{_libdir}/libndpRI.so.0
%{_libdir}/libndpRI.so.0.0.0
%{_includedir}/ndpheader.h
%{_includedir}/ndpreader.h
%{_includedir}/ndpreader.hpp
%{_libdir}/libndpRI.a
%{_libdir}/libndpRI.la
%{_libdir}/libndpRI.so
/usr/lib/systemd/system

%files -n ipfixprobe-input-ndp
%{_libdir}/ipfixprobe/input-ndp.so
%{_libdir}/ipfixprobe/input-ndp.la
%{_libdir}/libndpRI.so.0
%{_libdir}/libndpRI.so.0.0.0