-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathipfixprobe.spec.in
More file actions
203 lines (168 loc) · 5.83 KB
/
ipfixprobe.spec.in
File metadata and controls
203 lines (168 loc) · 5.83 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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
%bcond_with input_pcap
%bcond_with input_dpdk
%bcond_with input_nfb
%bcond_with process_experimental
%bcond_with input_sock
%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
%if %{with unwind}
BuildRequires: libunwind-devel
%endif
%if 0%{?rhel} <= 9
BuildRequires: gcc-toolset-14-libatomic-devel
%endif
BuildRequires: pkgconfig
%if %{with lz4}
BuildRequires: lz4-devel
%endif
BuildRequires: openssl-devel
BuildRequires: git
Requires: libatomic
Requires: fuse3
%if %{with lz4}
Requires: lz4
%endif
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_sock}
%package input-sock
Summary: Input plugin to read flow records from a unix domain socket using libsock.
Requires: libsock
BuildRequires: libsock-devel
%description input-sock
Input plugin for libsock.
%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_unwind:-DENABLE_UNWIND=ON} %{?with_output_lz4:-DENABLE_OUTPUT_LZ4=ON} %{?with_input_pcap:-DENABLE_INPUT_PCAP=ON} %{?with_input_sock:-DENABLE_INPUT_SOCK=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/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_sock}
%files input-sock
%{_libdir}/ipfixprobe/input/libipfixprobe-input-sock.so
%{_libdir}/ipfixprobe/process/libipfixprobe-process-sockpktinfo.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