Sync from SUSE:SLFO:Main kronosnet revision 77a531f2a8180de90172b06698b50baa

This commit is contained in:
Adrian Schröter 2024-09-04 09:08:40 +02:00
commit 1261af8e8a
4 changed files with 846 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
kronosnet-1.28.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

251
kronosnet.changes Normal file
View File

@ -0,0 +1,251 @@
-------------------------------------------------------------------
Wed Mar 27 09:55:48 UTC 2024 - Emil Penchev <emil.penchev@suse.com>
- kronosnet-1.28
changes since 1.15
* [links] fix conversion
* [rx] allow links to be active faster
* [links] fix ping interval and pong timeout value checking
* [nozzle] don´t leak tun/tap interfaces in test suite
* [crypto] Try crypt and decrypt on crypto_init
* [spec] Migrate to SPDX license
* [nozzle] tests: Fix 'set_down' test on FreeBSD-devel
* [tx] Remove expensive memsets
* [log] Add a TRACE log level
* [man] update to latest doxyxml from libqb
* [udp] Move EPERM to be alongside EMSGSIZE in tx error handler
* [pmtud] Reset/restart pmtud when a node joins
* [doc] To Do list moved to projects.clusterlabs.org (#379)
* [logging] Fix Initializing typo
* [tx] fix epoll event size to cope with extra event on send to link
* [tests] deal with new annocheck symlink checks
* [tests] update memcheck exceptions
* [UDP] Check for EHOSTUNREACH
* [build] fix flag detections for gcc
* [doc] update links to mailing lists and drop obsolete test suite
* [logging] slow down knet a bit when log socket is busy
* [crypto] improve logging when failing to decrypt packets
* [udp] use ICMP error messages to trigger faster link down detection
* [host] fix dst_seq_num initialization race condition
* [crypto] fix nss crypto buffer boundaries usage
* [build] fix debug build vs annocheck parameters
* [tests] temporary disable annobin lto check for centos8 failure
* [build] Add annobin build/check support
* [nozzle] fix tests on machines that don´t have bash
* [tests] make execution of functional testing optionals
* send: Fix send_sync()
* [transports] remove unused internal ACL API
* [acl] major internal rework
* [acl] make knet_link_add_acl a wrapper to knet_link_insert_acl
* [host] use correct seq_num to reclaim buffers
* [rx] increase defrag buffers to better deal with network jitter
* [man] update doxygen2man to latest from libqb
* [doc] Add comments to structure members
* [link] don´t allow mix of dynamic and static links
* [link] use previously cached value as link info might not be accurate
* [link] don´t leak resources if link configuration fails
* [tests] suppress more libnss3 errors
* [spec] cleanup some krosnonetd leftovers
* [tx] minor optimizations to avoid recalculating socksize over and over
* [docs] IRC channel is now on Libera Chat
* [coverity] fix 2 buffer initialization (potential) issues
* [nozzle] fix nozzle_up() on FreeBSD
* [lib] Don't use -rpath
* [nozzle] Remove inet_ntoa() call
* [handle] validate handle in public API
* [global] Update copyright
* [docs] Update README for BSD section
* [openssl] port knet top openssl3.0-alpha13
* [tests] hide another internal libnss non recurring memory leak
* [tests] add more exceptions to deal with Ubuntu latest rebuilds (clang counterpart)
* [tests] add more exceptions to deal with Ubuntu latest rebuilds
* [cleanup] remove unused infrastructure to send HOSTINFO messages
* [sctp] check and warn about internal fd tracker
* [tests] hide internal nss memory leak (non-recurring)
* [rx] fix data stats on RX to match TX model
* [rx] fix per link stats for data packets
* [threads] make sure to initialize events
* [cleanup] drop no longer used poc-code
* [cleanup] kill all unsupported kronosnetd code
* [cleanup] Move public APIs calls to more suitable location
* [crypto] add support for openssl 3.0
* [man] fix type comparison
* [tests] more ignore list of nss internal stuff
* [tests] ignore openssl errors triggered when building with clang
* [tests] fix variable increment logic (detected by clang)
* [crypto] add support for live reconfiguration
* [build] update valgrind memcheck exception file
* [tests] sets defaults for coverity scan check to match CI
* [tests] add basic framework to create, join and stop many nodes
* [tests] use link_get_enable instead of get_status
* [tests] remove unnecessary shutdown locking
* [build] Use git-version-gen during specfile build
* [build] Fix fallback handling in git-version-gen
* [man] sync doxygen2man from libqb master
* [openssl] allow use of deprecated HMAC interface with openssl 3.0
* [tests] strip extra symbol information generated by new nm
* [transport] notify transports that a link is down
* [sctp] fix ifup/ifdown handling for connected sockets
* [netutils] move sockaddr_len definition where it belongs
* [links] fix spacing
* [sctp] make sure outgoing connections are bound to a specific IP address
* [man] use libqb version of doxygen2man when available
* [build] make sure to use correct libqb include files across
* [lists] add missing build CFLAGS for test suite
* [lists] drop internal implementation and use libqb one
* [lists] fix build with recent gcc changes
* [tests] fix return code from wait_for_packet
Added: kronosnet-1.28.tar.xz
Removed : kronosnet-1.28.tar.gz
-------------------------------------------------------------------
Wed Apr 15 12:28:47 UTC 2020 - XinLiang <XLiang@suse.com>
- kronosnet-1.15
changes since 1.14
* [stats] allow knet_link_get_status to operate in readlock context
* [stats] allow knet_handle_get_stats to operate in a readlock context
* [rx] kill unused variable
* [transports] use SO_REUSEADDR only for sctp
* [man] Enhance prio description of POLICY_PASSIVE
* man: Change strcat to strncat
* man: Fix covscan reports in doxyxml.c
changes since 1.13
* [global] Update copyright across the board
* [sctp] major surgery to use only SCTP events to determine socket status
* [rx] use defines to determine RX data types vs random numbers
* [tx] Don't Clear out msghdr for all transports.
* [rx] Don't return 512 EOF messages from _recvmmsg
* [rx] send reply packets only when transport is connected
* [rx] unify latency values to a capped value to link precision
* [latency] fix incorrect math that could lead to bad latency calculation
* [udp] Better fix for -ENETUNREACH
* [udp] simplify code (same logic)
* [udp] don't make socket spin if a network I/F is down
* [nozzle] use interface name size consistently and drop strncpy in favour of memmove
* [host] use KNET_MAX_HOST_LEN consistently
* [handle] fix typo in error log message
* [handle] make sure to unlock config handle on failure
* [RX] silence defrag buffer expiration debug error
* [TX] discard too big packets when reading from socketpairs
* [RX] handle short write to the application properly
* [RX] Discard incoming packets if knet cannot reply back.
* [build] fix openssl version detection when not using pkg-config
changes since 1.12
* [PMTUd] invalidate MTU for a link if the value is lower than minimum
* [rx] copy data into the defrag buffer only if we know the size of the frame
* [host] fix defrag buffers reclaim logic
* [host] rename variables to make it easier to read the code
-------------------------------------------------------------------
Fri Oct 11 05:11:13 UTC 2019 - Yuan Ren <yren@suse.com>
- kronosnet-1.12
changes since 1.11
* Default compression level use
* Fix a lot of converity errors
* Fix lock, buffer overrun and memory release bugs
* Retry locking in case of failure in SCTP
* Stabilize latency calculation when nodes are not responsive
changes since 1.10
* Log information about detected kernel MTU
* Fix MTU calculation when using crypto and add docs
* Rework the whole math to calculate MTU
* Add dynamic pong timeout when using crypto
* Add ability to manually override MTU and disable PMTUd
changes since 1.9
* automatically add and remove point to point access lists
* allow knet_bench to enable/disable access lists
* enable access lists for GENERIC_ACL protocols (udp for example)
* add access lists support to sctp
* Do some function rename and code cleanup
* Add documentation for enable_access_list
* add external API calls to manage access lists
* add support for libzstd
* fix openssl1.0 initialization code
changes since 1.8
* remove libnss 3des support
* improve error message decoding from ICMP errors
changes since 1.7
* fix libnozzle man page generation target
* don´t specify destination address for connection oriented protocols
* increase log level for currently used links
-------------------------------------------------------------------
Thu Jan 31 02:38:41 UTC 2019 - Yuan Ren <yren@suse.com>
- kronosnet-1.7
changes since 1.6
* Fix minor issues with libnozzle man pages
* SCTP: support more kernel versions
* Better debugging information of internal threads status
* Fix build with gcc9
* [developers] expose API version in libknet.h and enable
all compiler warnings at build time
changes since 1.5
* [IMPORTANT] Fix a PMTUd packet size issue when using
crypto communications
* Fix build with older versions of openssl
* Fix a CPU spinning issue when iptables are set incorrectly
* Fix a SCTP kernel <-> userland compatibility issue
* Minor other fixes across the code and build infrastructure
* libnozzle hits the first GA release.
-------------------------------------------------------------------
Thu Oct 25 06:48:25 UTC 2018 - jchen@suse.com
- kronosnet-1.5
changes since 1.4
* [IMPORTANT] fix internal loopback link handling
* Improved internal threads information for debugging purposes
changes since 1.3
* Reduced amount of locking around non-performance critical areas
* Optimized threads startup and shutdown timer
- Removed: add-version.patch
-------------------------------------------------------------------
Tue Apr 24 06:30:54 UTC 2018 - bliu@suse.com
- kronosnet-1.3 is available now(bsc#1090641)
changes since 1.2
* Fix potential crashes in the crypto code
changes since 1.1
* Fix a potential crash when using external destination handlers
* Improve compression level validation by delegating the validation to
the external compression library
* Improve the build system to accommodate repeatable builds
-------------------------------------------------------------------
Mon Mar 5 06:19:10 UTC 2018 - bliu@suse.com
- kronosnet-1.0 is available now(bsc#1077702)
kronosnet-1.1 released, so upgrade to 1.1
* Fix plugins loader by switching from RPATH to RUNPATH
* Man pages are now automatically generated at build time
* Better error reporting from crypto plugins
* Fix and improve the whole build system
* Add support for some older lz4 versions
* Fix issue with UDP sockets that could cause knet to spin
* Add new API call to run knet unprivileged
Added: kronosnet-1.1.tar.gz
add-version.patch
Removed: kronosnet-1.0.tar.gz
-------------------------------------------------------------------
Tue Jan 30 23:16:45 UTC 2018 - jengelh@inai.de
- Fix almost-empty SRPM description.
- Fix faulty leading whitespace in descriptions.
- Reduce size of %if..%endif blocks to minimum.
- Remove pkgconfig requires that are already automatically detected.
-------------------------------------------------------------------
Tue Jan 26 06:24:30 UTC 2018 - bliu@suse.com
- kronosnet-1.0 is available now(bsc#1077702)
Added: kronosnet-1.0.tar.gz
kronosnet.spec
kronosnet.changes

569
kronosnet.spec Normal file
View File

@ -0,0 +1,569 @@
#
# spec file for package kronosnet
#
# Copyright (c) 2024 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/
#
# set defaults from ./configure invokation
%bcond_without sctp
%bcond_without nss
%bcond_without openssl
%bcond_without zlib
%if 0%{?suse_version} >= 1500
%bcond_without lz4
%else
%bcond_with lz4
%endif
%bcond_without lzo2
%bcond_without lzma
%bcond_without bzip2
%bcond_without zstd
%bcond_with kronosnetd
%bcond_without libnozzle
%bcond_without runautogen
%bcond_with rpmdebuginfo
%bcond_with overriderpmdebuginfo
%bcond_without buildman
%bcond_with installtests
%if %{with overriderpmdebuginfo}
%undefine _enable_debug_packages
%endif
%if %{with sctp}
BuildRequires: lksctp-tools-devel
%endif
%if %{with nss}
%if 0%{suse_version}
BuildRequires: mozilla-nss-devel
%else
BuildRequires: nss-devel
%endif
%endif
%if %{with openssl}
%if 0%{?suse_version}
BuildRequires: libopenssl-devel
%else
BuildRequires: openssl-devel
%endif
%endif
%if %{with zlib}
BuildRequires: zlib-devel
%endif
%if %{with lz4}
%if 0%{?suse_version}
BuildRequires: liblz4-devel
%else
BuildRequires: lz4-devel
%endif
%endif
%if %{with lzo2}
BuildRequires: lzo-devel
%endif
%if %{with lzma}
BuildRequires: xz-devel
%endif
%if %{with bzip2}
%if 0%{?suse_version}
BuildRequires: libbz2-devel
%else
BuildRequires: bzip2-devel
%endif
%endif
%if %{with zstd}
BuildRequires: libzstd-devel
%endif
%if %{with libnozzle}
BuildRequires: libnl3-devel
%endif
%if %{with kronosnetd}
BuildRequires: pam-devel
%endif
%if %{with runautogen}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%endif
%if %{with buildman}
BuildRequires: doxygen
BuildRequires: libqb-devel
BuildRequires: libxml2-devel
%endif
# main (empty) package
# http://www.rpm.org/max-rpm/s1-rpm-subpack-spec-file-changes.html
Name: kronosnet
Version: 1.28
Release: 0
Summary: Multipoint-to-Multipoint VPN daemon
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Productivity/Clustering/HA
URL: https://kronosnet.org
Source0: https://kronosnet.org/releases/kronosnet-%{version}.tar.xz
## Setup/build bits
# Build dependencies
BuildRequires: gcc
BuildRequires: pkgconfig
%if %{with overriderpmdebuginfo}
%undefine _enable_debug_packages
%endif
# required to build man pages
%if %{defined buildmanpages}
BuildRequires: doxygen
BuildRequires: libqb-devel
BuildRequires: libxml2-devel
%endif
%if %{defined buildsctp}
BuildRequires: lksctp-tools-devel
%endif
%if %{defined buildcryptonss}
BuildRequires: mozilla-nss-devel
%endif
%if %{defined buildcryptoopenssl}
BuildRequires: openssl-devel
%endif
%if %{defined buildcompresszlib}
BuildRequires: zlib-devel
%endif
%if %{defined buildcompresslz4}
BuildRequires: liblz4-devel
%endif
%if %{defined buildcompresslzo2}
BuildRequires: lzo-devel
%endif
%if %{defined buildcompresslzma}
BuildRequires: xz-devel
%endif
%if %{defined buildcompressbzip2}
BuildRequires: libbz2-devel
%endif
%if %{defined buildcompresszstd}
BuildRequires: libzstd-devel
%endif
%if %{defined buildkronosnetd}
BuildRequires: libqb-devel
BuildRequires: pam-devel
%endif
%if %{defined buildautogen}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%endif
%if %{defined buildlibnozzle}
BuildRequires: libnl3-devel
%endif
%prep
%setup -q -n %{name}-%{version}%{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
%build
%if %{with runautogen}
./autogen.sh
%endif
%configure \
%if %{with installtests}
--enable-install-tests \
%else
--disable-install-tests \
%endif
%if %{with buildman}
--enable-man \
%else
--disable-man \
%endif
%if %{with sctp}
--enable-libknet-sctp \
%else
--disable-libknet-sctp \
%endif
%if %{with nss}
--enable-crypto-nss \
%else
--disable-crypto-nss \
%endif
%if %{with openssl}
--enable-crypto-openssl \
%else
--disable-crypto-openssl \
%endif
%if %{with zlib}
--enable-compress-zlib \
%else
--disable-compress-zlib \
%endif
%if %{with lz4}
--enable-compress-lz4 \
%else
--disable-compress-lz4 \
%endif
%if %{with lzo2}
--enable-compress-lzo2 \
%else
--disable-compress-lzo2 \
%endif
%if %{with lzma}
--enable-compress-lzma \
%else
--disable-compress-lzma \
%endif
%if %{with bzip2}
--enable-compress-bzip2 \
%else
--disable-compress-bzip2 \
%endif
%if %{with zstd}
--enable-compress-zstd \
%else
--disable-compress-zstd \
%endif
%if %{with kronosnetd}
--enable-kronosnetd \
%else
--disable-kronosnetd \
%endif
%if %{with libnozzle}
--enable-libnozzle \
%else
--disable-libnozzle \
%endif
--with-initdefaultdir=%{_sysconfdir}/sysconfig/ \
--with-systemddir=%{_unitdir}
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
# tree cleanup
# remove static libraries
find %{buildroot} -name "*.a" -exec rm {} \;
# remove libtools leftovers
find %{buildroot} -type f -name "*.la" -exec rm {} \;
# remove init scripts
rm -rf %{buildroot}/etc/init.d
# remove docs
rm -rf %{buildroot}/usr/share/doc/kronosnet
# main empty package
%description
The kronosnet source
%if %{with kronosnetd}
## Runtime and subpackages section
%package -n kronosnetd
Summary: Multipoint-to-Multipoint VPN daemon
Group: Productivity/Clustering/HA
Requires(post): systemd-sysv
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Requires(post): shadow-utils
Requires(preun): shadow-utils
Requires: /etc/pam.d/passwd
Requires: pam
%description -n kronosnetd
The kronosnet daemon is a bridge between kronosnet switching engine
and kernel network tap devices, to create and administer a
distributed LAN over multipoint-to-multipoint VPNs.
The daemon does a poor attempt to provide a configure UI similar
to other known network devices/tools (Cisco, quagga).
Beside looking horrific, it allows runtime changes and
reconfiguration of the kronosnet(s) without daemon reload
or service disruption.
%post -n kronosnetd
%systemd_post kronosnetd.service
getent group kronosnetadm >/dev/null || %{_sbindir}/groupadd --force --system kronosnetadm
%preun -n kronosnetd
%systemd_preun kronosnetd.service
%files -n kronosnetd
%license COPYING.* COPYRIGHT
%dir %{_sysconfdir}/kronosnet
%dir %{_sysconfdir}/kronosnet/*
%config(noreplace) %{_sysconfdir}/sysconfig/kronosnetd
%config(noreplace) %{_sysconfdir}/pam.d/kronosnetd
%config(noreplace) %{_sysconfdir}/logrotate.d/kronosnetd
%{_unitdir}/kronosnetd.service
%{_sbindir}/*
%{_mandir}/man8/*
%endif
%if %{with libnozzle}
%package -n libnozzle1
Summary: Simple userland wrapper around kernel tap devices
%description -n libnozzle1
This is an over-engineered commodity library to manage a pool
of tap devices and provides the basic
pre-up.d/up.d/down.d/post-down.d infrastructure.
%files -n libnozzle1
%license COPYING.* COPYRIGHT
%{_libdir}/libnozzle.so.*
%if 0%{?ldconfig_scriptlets}
%ldconfig_scriptlets -n libnozzle1
%else
%post -n libnozzle1 -p /sbin/ldconfig
%postun -n libnozzle1 -p /sbin/ldconfig
%endif
%package -n libnozzle-devel
Summary: Simple userland wrapper around kernel tap devices (developer files)
Requires: libnozzle1%{_isa} = %{version}-%{release}
Provides: libnozzle1-devel = %{version}
Obsoletes: libnozzle1-devel <= %{version}
Requires: pkgconfig
%description -n libnozzle-devel
This is an over-engineered commodity library to manage a pool
of tap devices and provides the basic
pre-up.d/up.d/down.d/post-down.d infrastructure.
%files -n libnozzle-devel
%license COPYING.* COPYRIGHT
%{_libdir}/libnozzle.so
%{_includedir}/libnozzle.h
%{_libdir}/pkgconfig/libnozzle.pc
%if %{with buildman}
%{_mandir}/man3/nozzle*.3.gz
%endif
%endif
%package -n libknet1
Summary: Kronosnet core switching implementation
Group: System/Libraries
%description -n libknet1
The whole kronosnet core is implemented in this library.
Please refer to the not-yet-existing documentation for further
information.
%files -n libknet1
%license COPYING.* COPYRIGHT
%{_libdir}/libknet.so.*
%dir %{_libdir}/kronosnet
%if 0%{?ldconfig_scriptlets}
%ldconfig_scriptlets -n libknet1
%else
%post -n libknet1 -p /sbin/ldconfig
%postun -n libknet1 -p /sbin/ldconfig
%endif
%package -n libknet-devel
Summary: Development files fro the Kronosnet core switching implementation
Group: Development/Libraries/C and C++
Requires: libknet1%{_isa} = %{version}-%{release}
Requires: pkgconfig
Provides: libknet1-devel = %{version}
Obsoletes: libknet1-devel <= %{version}
%description -n libknet-devel
The whole kronosnet core is implemented in this library.
Please refer to the not-yet-existing documentation for further
information.
%files -n libknet-devel
%license COPYING.* COPYRIGHT
%{_libdir}/libknet.so
%{_includedir}/libknet.h
%{_libdir}/pkgconfig/libknet.pc
%if %{with buildman}
%{_mandir}/man3/knet_*.3.gz
%endif
%if %{with nss}
%package -n libknet1-crypto-nss-plugin
Summary: Provides libknet1 nss support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-crypto-nss-plugin
Provides NSS crypto support for libknet1.
%files -n libknet1-crypto-nss-plugin
%{_libdir}/kronosnet/crypto_nss.so
%endif
%if %{with openssl}
%package -n libknet1-crypto-openssl-plugin
Summary: Provides libknet1 openssl support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-crypto-openssl-plugin
Provides OpenSSL crypto support for libknet1.
%files -n libknet1-crypto-openssl-plugin
%{_libdir}/kronosnet/crypto_openssl.so
%endif
%if %{with zlib}
%package -n libknet1-compress-zlib-plugin
Summary: Provides libknet1 zlib support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-compress-zlib-plugin
Provides zlib compression support for libknet1.
%files -n libknet1-compress-zlib-plugin
%{_libdir}/kronosnet/compress_zlib.so
%endif
%if %{with lz4}
%package -n libknet1-compress-lz4-plugin
Summary: Provides libknet1 lz4 and lz4hc support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-compress-lz4-plugin
Provides lz4 and lz4hc compression support for libknet1.
%files -n libknet1-compress-lz4-plugin
%{_libdir}/kronosnet/compress_lz4.so
%{_libdir}/kronosnet/compress_lz4hc.so
%endif
%if %{with lzo2}
%package -n libknet1-compress-lzo2-plugin
Summary: Provides libknet1 lzo2 support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-compress-lzo2-plugin
Provides lzo2 compression support for libknet1.
%files -n libknet1-compress-lzo2-plugin
%{_libdir}/kronosnet/compress_lzo2.so
%endif
%if %{with lzma}
%package -n libknet1-compress-lzma-plugin
Summary: Provides libknet1 lzma support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-compress-lzma-plugin
Provides lzma compression support for libknet1.
%files -n libknet1-compress-lzma-plugin
%{_libdir}/kronosnet/compress_lzma.so
%endif
%if %{with bzip2}
%package -n libknet1-compress-bzip2-plugin
Summary: Provides libknet1 bzip2 support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-compress-bzip2-plugin
Provides bzip2 compression support for libknet1.
%files -n libknet1-compress-bzip2-plugin
%{_libdir}/kronosnet/compress_bzip2.so
%endif
%if %{with zstd}
%package -n libknet1-compress-zstd-plugin
Summary: Provides libknet1 zstd support
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n libknet1-compress-zstd-plugin
Provides zstd compression support for libknet1.
%files -n libknet1-compress-zstd-plugin
%{_libdir}/kronosnet/compress_zstd.so
%endif
%package -n libknet1-crypto-plugins-all
Summary: Provides libknet1 crypto plugins meta package
Group: System/Libraries
%if %{with nss}
Requires: libknet1-crypto-nss-plugin%{_isa} = %{version}-%{release}
%endif
%if %{with openssl}
Requires: libknet1-crypto-openssl-plugin%{_isa} = %{version}-%{release}
%endif
%description -n libknet1-crypto-plugins-all
Provides meta package to install all of libknet1 crypto plugins
%files -n libknet1-crypto-plugins-all
%package -n libknet1-compress-plugins-all
Summary: Provides libknet1 compress plugins meta package
Group: System/Libraries
%if %{with zlib}
Requires: libknet1-compress-zlib-plugin%{_isa} = %{version}-%{release}
%endif
%if %{with lz4}
Requires: libknet1-compress-lz4-plugin%{_isa} = %{version}-%{release}
%endif
%if %{with lzo2}
Requires: libknet1-compress-lzo2-plugin%{_isa} = %{version}-%{release}
%endif
%if %{with lzma}
Requires: libknet1-compress-lzma-plugin%{_isa} = %{version}-%{release}
%endif
%if %{with bzip2}
Requires: libknet1-compress-bzip2-plugin%{_isa} = %{version}-%{release}
%endif
%if %{with zstd}
Requires: libknet1-compress-zstd-plugin%{_isa} = %{version}-%{release}
%endif
%description -n libknet1-compress-plugins-all
Meta package to install all of libknet1 compress plugins
%files -n libknet1-compress-plugins-all
%package -n libknet1-plugins-all
Summary: Provides libknet1 plugins meta package
Group: System/Libraries
Requires: libknet1-compress-plugins-all%{_isa} = %{version}-%{release}
Requires: libknet1-crypto-plugins-all%{_isa} = %{version}-%{release}
%description -n libknet1-plugins-all
Meta package to install all of libknet1 plugins
%files -n libknet1-plugins-all
%if %{with installtests}
%package -n kronosnet-tests
Summary: Provides kronosnet test suite
Group: System/Libraries
Requires: libknet1%{_isa} = %{version}-%{release}
%description -n kronosnet-tests
This package contains all the libknet and libnozzle test suite.
%files -n kronosnet-tests
%{_libdir}/kronosnet/tests/*
%endif
%if %{with rpmdebuginfo}
%endif
%changelog