@@ -20,37 +20,65 @@ Obsoletes: ipfixprobe-dpdk < 5.0.0
2020Conflicts: ipfixprobe-nemea, ipfixprobe-msec
2121Source0: %{name}-%{version}.tar.gz
2222
23+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
24+ %if 0%{?rhel} == 8
25+ BuildRequires: gcc-toolset-14
26+ BuildRequires: gcc-toolset-14-gcc
27+ BuildRequires: gcc-toolset-14-gcc-c++
28+ %endif
29+
30+ %if 0%{?rhel} == 9
31+ BuildRequires: gcc >= 10
32+ BuildRequires: gcc-c++ >= 10
33+ %endif
34+
35+ BuildRequires: make
36+ BuildRequires: cmake >= 3.12
37+ BuildRequires: libunwind-devel
38+ BuildRequires: gcc-toolset-14-libatomic-devel
39+ BuildRequires: pkgconfig
40+ BuildRequires: lz4-devel
41+ BuildRequires: openssl-devel
42+ BuildRequires: git
43+
44+ Requires: libatomic
45+ Requires: fuse3
46+ Requires: lz4
47+ Requires: openssl
48+
49+ %description
50+ ipfixprobe is a network traffic analysis tool that exports IPFIX flows with extended elements via plugins.
51+
2352%if %{with input_pcap}
2453%package input-pcap
2554Summary: Input plugin to read packets from files and interfaces using libpcap.
55+ Requires: libpcap
56+ BuildRequires: libpcap-devel
2657
2758%description input-pcap
2859Input plugin for libpcap.
29-
30- BuildRequires: libpcap-devel
31- Requires: libpcap
3260%endif
3361
3462%if %{with input_dpdk}
3563%package input-dpdk
3664Summary: Input plugin to read packets from interfaces using dpdk.
65+ BuildRequires: dpdk-devel
66+ Requires: dpdk
3767
3868%description input-dpdk
3969Input plugin for dpdk.
40-
41- BuildRequires: dpdk-devel
42- Requires: dpdk
4370%endif
4471
4572%if %{with input_nfb}
4673%package input-nfb
4774Summary: Input plugin to read packets from nfb cards.
75+ BuildRequires: nfb-framework
76+ BuildRequires: numactl-devel
77+ Requires: nfb-framework
78+ Requires: numactl
4879
4980%description input-nfb
5081Input plugin for nfb cards.
51-
52- BuildRequires: nfb-framework
53- Requires: nfb-framework
5482%endif
5583
5684%if %{with process_experimental}
@@ -59,37 +87,18 @@ Summary: Experimental process plugins.
5987
6088%description process-experimental
6189Experimental process plugins.
62-
6390%endif
6491
65- BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
66- BuildRequires: (gcc >= 10 or gcc-toolset-13-gcc)
67- BuildRequires: (gcc-c++ >= 10 or gcc-toolset-13-gcc-c++)
68- BuildRequires: make
69- BuildRequires: cmake >= 3.12
70- BuildRequires: libunwind-devel
71- BuildRequires: gcc-toolset-14-libatomic-devel
72- BuildRequires: pkgconfig
73- BuildRequires: lz4-devel
74- BuildRequires: openssl-devel
75-
76- Requires: libatomic
77- Requires: fuse3
78- Requires: telemetry
79- Requires: lz4
80- Requires: openssl
81-
8292# Make sure that build is always performed out-of-source
8393%undefine __cmake_in_source_build
8494
85- %description
86- The package contains tools, configuration files and traffic samples
87- that make up the main components of the test environment.
88-
8995%prep
9096%autosetup
9197
9298%build
99+ %if 0%{?rhel} == 8
100+ source /opt/rh/gcc-toolset-14/enable
101+ %endif
93102%cmake -DCMAKE_BUILD_TYPE=Release %{?with_input_pcap:-DENABLE_INPUT_PCAP=ON} %{?with_input_dpdk:-DENABLE_INPUT_DPDK=ON} %{?with_input_nfb:-DENABLE_INPUT_NFB=ON} %{?with_process_experimental: -DENABLE_PROCESS_EXPERIMENTAL=ON}
94103%cmake_build
95104
0 commit comments