File ulogd.spec of Package ulogd
#
# spec file for package ulogd
#
# Copyright (c) 2025 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/
#
Name: ulogd
Version: 2.0.9
Release: 0
Summary: Userspace logging for Netfilter
License: GPL-2.0-only
Group: Productivity/Networking/Security
URL: http://netfilter.org/projects/ulogd/
#Git-Clone: git://git.netfilter.org/ulogd2
#DL-URL: http://netfilter.org/projects/ulogd/files/
Source: http://netfilter.org/projects/ulogd/files/%name-%version.tar.xz
Source2: http://netfilter.org/projects/ulogd/files/%name-%version.tar.xz.sig
Source3: %name.keyring
Source4: ulogd.service
Source5: ulogd.conf
Patch4: ulogd-conf.diff
BuildRequires: autoconf >= 2.50
BuildRequires: automake >= 1.11
BuildRequires: libjansson-devel
BuildRequires: libmysqlclient-devel
BuildRequires: libpcap-devel
BuildRequires: libtool
BuildRequires: lksctp-tools-devel
BuildRequires: pkg-config >= 0.21
BuildRequires: systemd-rpm-macros
BuildRequires: sysuser-shadow
BuildRequires: sysuser-tools
BuildRequires: zlib-devel
BuildRequires: pkgconfig(libmnl) >= 1.0.3
BuildRequires: pkgconfig(libnetfilter_acct) >= 1.0.1
BuildRequires: pkgconfig(libnetfilter_conntrack) >= 1.0.2
BuildRequires: pkgconfig(libnetfilter_log) >= 1.0.0
BuildRequires: pkgconfig(libnfnetlink) >= 1.0.1
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(sqlite3)
%sysusers_requires
%description
ulogd is a userspace logging daemon for netfilter/iptables related
logging. This includes per-packet logging of security violations,
per-packet logging for accounting purpose as well as per-flow
logging.
%package mysql
Summary: MySQL output target for ulogd
Group: Productivity/Networking/Security
Requires: %name = %version-%release
%description mysql
MySQL output target for ulogd.
%package pcap
Summary: pcap output target for ulogd
Group: Productivity/Networking/Security
Requires: %name = %version-%release
%description pcap
pcap output target for ulogd.
%package pgsql
Summary: PostgreSQL output target for ulogd
Group: Productivity/Networking/Security
Requires: %name = %version-%release
%description pgsql
PostgreSQL output target for ulogd.
%package sqlite3
Summary: SQLite3 output target for ulogd
Group: Productivity/Networking/Security
Requires: %name = %version-%release
%description sqlite3
SQLite3 output target for ulogd.
%package json
Summary: JSON output target for ulogd
Group: Productivity/Networking/Security
Requires: %name = %version-%release
%description json
JSON output target for ulogd.
%prep
%autosetup -p1
%build
autoreconf -fi
%configure --disable-static
%make_build
%sysusers_generate_pre %{SOURCE5} ulogd
%install
%make_install
b="%buildroot"
find "$b" -type f -iname "*.la" -delete
mkdir -p "$b/var/log/ulogd"
mkdir -p "$b/%_sysconfdir"
install -pm0644 ulogd.conf "$b/%_sysconfdir/"
mkdir -p "$b/%_unitdir"
install -pm0644 "%{S:4}" "$b/%_unitdir"
ln -s /sbin/service "$b/%_sbindir/rc%name"
mkdir -p "$b/%_sysusersdir"
install -m 644 %{SOURCE5} "$b/%_sysusersdir/"
%pre -f ulogd.pre
%service_add_pre ulogd.service
%post
%service_add_post ulogd.service
%preun
%service_del_preun ulogd.service
%postun
%service_del_postun ulogd.service
%files
%config(noreplace) %_sysconfdir/ulogd.conf
%_sbindir/ulogd
%dir %_libdir/%name
%_libdir/%name/ulogd_[fir]*.so*
%_libdir/%name/ulogd_output_IPFIX.so*
%_libdir/%name/ulogd_output_GRAPHITE.so*
%_libdir/%name/ulogd_output_GPRINT.so*
%_libdir/%name/ulogd_output_LOGEMU.so*
%_libdir/%name/ulogd_output_NACCT.so*
%_libdir/%name/ulogd_output_OPRINT.so*
%_libdir/%name/ulogd_output_SYSLOG.so*
%_libdir/%name/ulogd_output_XML.so*
%_mandir/*/*
%attr(0750,ulogd,root) /var/log/ulogd
%_sysusersdir/ulogd.conf
%_unitdir/ulogd.service
%_sbindir/rc%name
# These are the dependency-heavy things:
%files mysql
%_libdir/%name/ulogd_output_MYSQL.so*
%files pcap
%_libdir/%name/ulogd_output_PCAP.so*
%files pgsql
%_libdir/%name/ulogd_output_PGSQL.so*
%files sqlite3
%_libdir/%name/ulogd_output_SQLITE3.so*
%files json
%_libdir/%name/ulogd_output_JSON.so*
%changelog