# # spec file for package ipset # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # Name: ipset %define lname libipset3 Version: 6.29 Release: 0 Summary: Netfilter ipset administration utility License: GPL-2.0 Group: Productivity/Networking/Security Url: http://ipset.netfilter.org/ #Git-Clone: git://git.netfilter.org/ipset #Git-Web: http://git.netfilter.org/ Source: ftp://ftp.netfilter.org/pub/ipset/%name-%version.tar.bz2 Source3: %name-preamble Patch1: ipset-destdir.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: linux-glibc-devel >= 2.6.24 BuildRequires: pkg-config >= 0.21 BuildRequires: pkgconfig(libmnl) >= 1 %if 0%{?suse_version} && 0%{?suse_version} < 1330 # Factory gets new kernels, old releases don't. # Always build KMPs for all versions older than Factory. %define ipset_build_kmp 1 %endif %if 0%{?ipset_build_kmp} BuildRequires: %kernel_module_package_buildreqs %if 0%{?suse_version} >= 1320 BuildRequires: kmod-compat %endif BuildRequires: kernel-syms >= 2.6.39 %kernel_module_package -p %name-preamble %endif %description IP sets are a framework inside the Linux kernel, which can be administered by the ipset utility. Depending on the type, currently an IP set may store IP addresses, (TCP/UDP) port numbers or IP addresses with MAC addresses in a way, which ensures lightning speed when matching an entry against a set. ipset can: * store multiple IP addresses or port numbers and match against the collection by iptables at one swoop; * dynamically update iptables rules against IP addresses or ports without performance penalty; * express complex IP address and ports based rulesets with one single iptables rule and benefit from the speed of IP sets %package KMP Summary: Netfilter ipset kernel modules Group: System/Kernel %description KMP IP sets are a framework inside the Linux kernel, which can be administered by the ipset utility. Depending on the type, currently an IP set may store IP addresses, (TCP/UDP) port numbers or IP addresses with MAC addresses in a way, which ensures lightning speed when matching an entry against a set. This package contains a version update to the in-kernel ipset modules. %package -n %lname Summary: Userspace library for the in-kernel Netfilter ipset interface Group: System/Libraries %description -n %lname IP sets are a framework inside the Linux kernel, which can be administered by the ipset utility. Depending on the type, currently an IP set may store IP addresses, (TCP/UDP) port numbers or IP addresses with MAC addresses in a way, which ensures lightning speed when matching an entry against a set. %package devel Summary: Development files for ipset extensions Group: Development/Libraries/C and C++ Requires: %lname = %version %description devel IP sets are a framework inside the Linux kernel, which can be administered by the ipset utility. Depending on the type, currently an IP set may store IP addresses, (TCP/UDP) port numbers or IP addresses with MAC addresses in a way, which ensures lightning speed when matching an entry against a set. %prep %setup -q %patch -P 1 -p1 %build # build wants to call modinfo at some point export PATH="$PATH:/usr/sbin" autoreconf -fi %if 0%{?ipset_build_kmp} for flavor in %flavors_to_build; do cp -a . "../%name-$flavor-%version" pushd "../%name-$flavor-%version/" # ksource: it just checks for a header %configure --disable-static \ --with-kbuild="/usr/src/linux-obj/%_target_cpu/$flavor" \ --with-ksource="/usr/src/linux" \ --includedir="%_includedir/%name" make %{?_smp_mflags} all modules popd done %endif %configure --disable-static --with-kmod=no \ --includedir="%_includedir/%name" make %{?_smp_mflags} %install export PATH="$PATH:/usr/sbin" b="%buildroot" %if 0%{?ipset_build_kmp} for flavor in %flavors_to_build; do pushd "../%name-$flavor-%version/" make %{?_smp_mflags} install modules_install \ DESTDIR="$b" INSTALL_MOD_PATH="$b" V=1 popd; done; %endif make %{?_smp_mflags} install DESTDIR="$b" find "$b/%_libdir" -type f -name "*.la" -delete %post -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig %files %defattr(-,root,root) %_sbindir/ipset %_mandir/man*/* %files -n %lname %defattr(-,root,root) %_libdir/libipset.so.3* %files devel %defattr(-,root,root) %_libdir/libipset.so %_libdir/pkgconfig/libipset.pc %_includedir/%name/ %changelog