pmacct/pmacct.spec
Martin Hauke e852c405cd Accepting request 878956 from home:mnhauke:security
- Update to versino 1.7.6
  + BGP daemon: added suppport for Accumulated IGP Metric Attribute
    (AIGP) and Label-Index TLV of Prefix-SID Attribute.
  + BGP daemon: added SO_KEEPALIVE TCP socket option (ie. to keep the
    sessions alive via a firewall / NAT kind of device).
  + BGP daemon: if comparing source TCP ports among BGP peers is
    being enabled (config directive tmp_bgp_lookup_compare_ports),
    print also BGP Router-ID as distinguisher as part of log/dump
    output.
  + BMP daemon: added support for HAProxy Proxy Protocol Header in
    the first BMP message in order to determine the original sender
    IP address and port. The new bmp_daemon_parse_proxy_header config
    directive enables the feature.
  + BMP daemon: improved support and brought implementation on par
    with the latest drafting efforts at IETF wrt draft-cppy-grow-bmp-
    path-marking-tlv, draft-xu-grow-bmp-route-policy-attr-trace,
    draft-ietf-grow-bmp-tlv and draft-lucente-grow-bmp-tlv-ebit.
  + BMP daemon: added 'bgp_agent_map' equivalent feature for BMP.
  + nfacctd, nfprobe plugin: added support for collection and export
    of NetFlow/IPFIX data over Datagram Transport Layer Security (in
    short DTLS). The feature depends on the GnuTLS library.
  + nfacctd: added support for deprecated NetFlow v9 IE #104
    (layer2packetSectionData) as it is implemented for NetFlow-lite
    on Cisco devices. Reused code from IPFIX IE #315.
  + nfacctd: added support for MPLS VPN RD IE #90. This comes in two
    flavours both found across vendor implementations: 1) IE present
    in flow data and 2) IE present in Options data as a lookup from
    IE #234 (ingressVRFID) and #235 (egressVRFID).
  + nfacctd: added a new timestamp_export aggregation primitive to
    record the timestamp being carried in the header of NetFlow/IPFIX

OBS-URL: https://build.opensuse.org/request/show/878956
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/pmacct?expand=0&rev=103
2021-03-18 15:00:52 +00:00

173 lines
5.3 KiB
RPMSpec

#
# spec file for package pmacct
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
%bcond_with ndpi
Name: pmacct
Version: 1.7.6
Release: 0
Summary: Accounting and aggregation toolsuite for IPv4 and IPv6
License: GPL-2.0-only
Group: Productivity/Networking/Diagnostic
URL: http://www.pmacct.net/
Source: http://www.pmacct.net/pmacct-%{version}.tar.gz
Source4: pmacct.nfacctd.service
Source5: pmacct.pmacctd.service
Source6: pmacct.sfacctd.service
Source7: pmacct.nfacctd.sysconfig
Source8: pmacct.pmacctd.sysconfig
Source9: pmacct.sfacctd.sysconfig
Source10: nfacctd.conf
Source11: pmacctd.conf
Source12: sfacctd.conf
Source20: pmacct.1
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gcc-c++
BuildRequires: libmysqlclient-devel
BuildRequires: libpcap-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: postgresql-devel
BuildRequires: sqlite-devel >= 3.0.0
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(jansson)
BuildRequires: pkgconfig(libmaxminddb)
BuildRequires: pkgconfig(libzmq)
BuildRequires: pkgconfig(numa)
%if %{with ndpi}
BuildRequires: pkgconfig(libndpi)
%endif
%if 0%{?is_opensuse} == 1
BuildRequires: libnetfilter_log-devel
%endif
%description
pmacct is a set of passive network monitoring tools to measure, account,
classify and aggregate IPv4 and IPv6 traffic; a pluggable
architecture allows to store the collected traffic data into memory tables or
SQL (MySQL, SQLite, PostgreSQL) databases. pmacct supports customizable
historical data breakdown, flow sampling, filtering and tagging, recovery
actions, and triggers. Libpcap, sFlow v2/v4/v5 and NetFlow v1/v5/v7/v8/v9 are
supported, both unicast and multicast. A client program can export
export data to tools like RRDtool, GNUPlot, Net-SNMP, MRTG, and Cacti.
%prep
%setup -q -n %{name}-%{version}
# fix permissions
chmod -x sql/pmacct-*
%build
autoreconf -fiv
export CFLAGS="%{optflags} -Wno-return-type -fcommon"
%configure \
--sysconfdir=%{_sysconfdir}/%{name} \
--docdir="%{_docdir}/%{name}" \
--enable-mmap \
--enable-l2 \
--enable-mysql \
--enable-pgsql \
--enable-sqlite3 \
%if %{with ndpi}
--enable-ndpi \
%endif
--enable-geoipv2 \
%if 0%{?suse_version} >= 1310 && 0%{?is_opensuse} == 1
--enable-jansson \
%endif
--enable-64bit \
%if 0%{?is_opensuse} == 1
--enable-nflog \
%endif
--enable-threads
make %{?_smp_mflags}
%install
%make_install
install -d %{buildroot}%{_fillupdir}
install -m 0644 %{SOURCE7} %{buildroot}%{_fillupdir}/sysconfig.nfacctd
install -m 0644 %{SOURCE8} %{buildroot}%{_fillupdir}/sysconfig.pmacctd
install -m 0644 %{SOURCE9} %{buildroot}%{_fillupdir}/sysconfig.sfacctd
install -d %{buildroot}%{_unitdir}
install -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/nfacctd.service
install -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/pmacctd.service
install -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/sfacctd.service
# examples
install -d %{buildroot}%{_sysconfdir}/pmacct/
install -m 0600 %{SOURCE10} %{buildroot}/%{_sysconfdir}/pmacct/nfacctd.conf
install -m 0600 %{SOURCE11} %{buildroot}/%{_sysconfdir}/pmacct/pmacctd.conf
install -m 0600 %{SOURCE12} %{buildroot}/%{_sysconfdir}/pmacct/sfacctd.conf
# manpage
install -d %{buildroot}%{_mandir}/man1
install -m 0644 %{SOURCE20} %{buildroot}%{_mandir}/man1
# remove unneeded files
rm -rf %{buildroot}/%{_datadir}/pmacct/examples/lg
rm -rf %{buildroot}/%{_libdir}/pmacct/examples/lg
rm -rf %{buildroot}/%{_libdir}/pmacct/examples/custom/libcustom.la
rm -rf %{buildroot}/%{_datadir}/pmacct/{CONFIG-KEYS,FAQS,QUICKSTART,UPGRADE,docs}
%pre
%service_add_pre nfacctd.service pmacctd.service sfacctd.service
%post
%service_add_post nfacctd.service pmacctd.service sfacctd.service
%{fillup_only -n nfacctd}
%{fillup_only -n pmacctd}
%{fillup_only -n sfacctd}
%preun
%service_del_preun nfacctd.service pmacctd.service sfacctd.service
%postun
%service_del_postun nfacctd.service pmacctd.service sfacctd.service
%files
%license COPYING
%doc AUTHORS ChangeLog CONFIG-KEYS FAQS QUICKSTART UPGRADE
%{_mandir}/man1/pmacct.1%{?ext_man}
%{_bindir}/pmacct
%{_sbindir}/nfacctd
%{_sbindir}/pmacctd
%{_sbindir}/sfacctd
%{_sbindir}/uacctd
%{_sbindir}/pmtelemetryd
%{_sbindir}/pmbgpd
%{_sbindir}/pmbmpd
%{_datadir}/pmacct
%{_unitdir}/*.service
%dir %{_sysconfdir}/pmacct
%config(noreplace) %{_sysconfdir}/pmacct/nfacctd.conf
%config(noreplace) %{_sysconfdir}/pmacct/pmacctd.conf
%config(noreplace) %{_sysconfdir}/pmacct/sfacctd.conf
%{_fillupdir}/sysconfig.*
%changelog