# # spec file for package ipset # # Copyright (c) 2013 SUSE LINUX Products 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.20 Release: 0 Summary: Netfilter ipset administration utility License: GPL-2.0 Group: Productivity/Networking/Security Url: http://ipset.netfilter.org/ #Freecode-URL: http://freecode.com/projects/ipset/ #DL-URL: ftp://ftp.netfilter.org/pub/ipset/ipset-6.19.tar.bz2 #Git-Clone: git://git.netfilter.org/ipset #Git-Web: http://git.netfilter.org/ Source: %name-%version.tar.xz Source3: %name-preamble Patch1: 0001-build-fix-incorrect-library-versioning.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig >= 0.21 BuildRequires: xz %if 0%{?suse_version} >= 1140 || 0%{?fedora_version} BuildRequires: pkgconfig(libmnl) >= 1 %else BuildRequires: libmnl-devel >= 1 %endif %if 0%{?suse_version} >= 1140 BuildRequires: linux-glibc-devel >= 2.6.24 %endif %if 0%{?suse_version} && 0%{?suse_version} <= 1110 BuildRequires: linux-kernel-headers >= 2.6.24 %endif %if 0%{?redhat_version} || 0%{?centos_version} || 0%{?fedora_version} BuildRequires: kernel-headers >= 2.6.24 %endif %if 0%{?suse_version} # Make quilt happy %if 0%{?kernel_module_package_buildreqs:1} %define with_kmp 1 BuildRequires: %kernel_module_package_buildreqs %endif BuildRequires: kernel-syms >= 2.6.39 Recommends: %name-kmp %endif %if 0%{?with_kmp:1} %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 %if 0%{?__xz:1} %setup -q %else tar --use=xz -xf "%{S:0}"; %setup -DTq %endif %patch -P 1 -p1 autoreconf -fi %build %if 0%{?with_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/pkg" make %{?_smp_mflags} all modules; popd; done; %else %configure --disable-static --with-kmod=no --includedir="%_includedir/pkg" make %{?_smp_mflags}; %endif %install b="%buildroot"; %if 0%{?with_kmp} for flavor in %flavors_to_build; do pushd "../%name-$flavor-%version/"; make %{?_smp_mflags} install modules_install \ DESTDIR="$b" INSTALL_MOD_PATH="$b"; popd; done; %else make %{?_smp_mflags} install DESTDIR="$b"; %endif 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/pkg/ %changelog