-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathipfixprobe.spec.in
More file actions
180 lines (149 loc) · 5.28 KB
/
ipfixprobe.spec.in
File metadata and controls
180 lines (149 loc) · 5.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
%bcond_with input_pcap
%bcond_with input_dpdk
%bcond_with input_nfb
%bcond_with process_experimental
%global _unitdir %{_prefix}/lib/systemd/system
Name: ipfixprobe
Version: @VERSION@
Release: @RELEASE@%{?dist}
Summary: IPFIX flow exporter with various extending IPFIX elements exported by plugins.
URL: https://github.com/CESNET/ipfixprobe
Group: Liberouter
License: BSD
Vendor: CESNET, z.s.p.o.
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
Provides: ipfixprobe
Obsoletes: ipfixprobe-ndp < 5.0.0
Obsoletes: ipfixprobe-dpdk < 5.0.0
Conflicts: ipfixprobe-nemea, ipfixprobe-msec
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
%if 0%{?rhel} == 8
BuildRequires: gcc-toolset-14
BuildRequires: gcc-toolset-14-gcc
BuildRequires: gcc-toolset-14-gcc-c++
%endif
%if 0%{?rhel} >= 9
BuildRequires: gcc >= 10
BuildRequires: gcc-c++ >= 10
%endif
BuildRequires: make
BuildRequires: cmake >= 3.12
BuildRequires: libunwind-devel
%if 0%{?rhel} <= 9
BuildRequires: gcc-toolset-14-libatomic-devel
%endif
BuildRequires: pkgconfig
BuildRequires: lz4-devel
BuildRequires: openssl-devel
BuildRequires: git
Requires: libatomic
Requires: fuse3
Requires: lz4
Requires: openssl
Requires: python3
Requires: python3-pyyaml
Requires: python3-jsonschema
%description
ipfixprobe is a network traffic analysis tool that exports IPFIX flows with extended elements via plugins.
%if %{with input_pcap}
%package input-pcap
Summary: Input plugin to read packets from files and interfaces using libpcap.
Requires: libpcap
BuildRequires: libpcap-devel
%description input-pcap
Input plugin for libpcap.
%endif
%if %{with input_dpdk}
%package input-dpdk
Summary: Input plugin to read packets from interfaces using dpdk.
BuildRequires: dpdk-devel
Requires: dpdk
%description input-dpdk
Input plugin for dpdk.
%endif
%if %{with input_nfb}
%package input-nfb
Summary: Input plugin to read packets from nfb cards.
BuildRequires: nfb-framework
BuildRequires: numactl-devel
Requires: nfb-framework
Requires: numactl
%description input-nfb
Input plugin for nfb cards.
%endif
%if %{with process_experimental}
%package process-experimental
Summary: Experimental process plugins.
%description process-experimental
Experimental process plugins.
%endif
# Make sure that build is always performed out-of-source
%undefine __cmake_in_source_build
%prep
%autosetup
%build
%if 0%{?rhel} == 8
source /opt/rh/gcc-toolset-14/enable
%endif
%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}
%cmake_build
%install
%cmake_install
%files
%license LICENSE
%{_bindir}/ipfixprobe
%{_bindir}/ipfixprobed
%{_libdir}/ipfixprobe/input/libipfixprobe-input-raw.so
%{_libdir}/ipfixprobe/output/libipfixprobe-output-ipfix.so
%{_libdir}/ipfixprobe/output/libipfixprobe-output-text.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-basicplus.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-bstats.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-dns.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-dnssd.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-flowhash.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-http.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-icmp.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-pstats.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-phists.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-ovpn.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-vlan.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-osquery.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-netbios.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-tls.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-wg.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-smtp.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-quic.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-idpcontent.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-mqtt.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-passivedns.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-ssadetector.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-ssdp.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-tcp-rtt.so
%{_libdir}/ipfixprobe/storage/libipfixprobe-storage-cache.so
%{_libdir}/ipfixprobe/schema.json
%{_libdir}/ipfixprobe/config2args.py
%{_sysconfdir}/ipfixprobe/link0.conf.example
%{_unitdir}/ipfixprobe-monitoring.target
%{_unitdir}/ipfixprobe@.service
%if %{with input_pcap}
%files input-pcap
%{_libdir}/ipfixprobe/input/libipfixprobe-input-pcap.so
%endif
%if %{with input_nfb}
%files input-nfb
%{_libdir}/ipfixprobe/input/libipfixprobe-input-nfb.so
%endif
%if %{with input_dpdk}
%files input-dpdk
%{_libdir}/ipfixprobe/input/libipfixprobe-input-dpdk.so
%endif
%if %{with process_experimental}
%files process-experimental
%{_libdir}/ipfixprobe/process/libipfixprobe-process-nettisa.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-sip.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-rtsp.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-mpls.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-ntp.so
%endif
%changelog