Name: xtables-addons Summary: Extensions targets and matches for iptables Version: 2.9 Release: 1%{?dist} # The entire source code is GPLv2 except ACCOUNT/libxt_ACCOUNT_cl.* which is LGPLv2 License: GPLv2 and LGPLv2 Group: System Environment/Base URL: http://xtables-addons.sourceforge.net Source0: http://dl.sourceforge.net/xtables-addons/Xtables-addons/%{version}/xtables-addons-%{version}.tar.xz Source1: ipset.init Source2: ipset-config BuildRequires: iptables-devel >= 1.4.5 BuildRequires: autoconf automake libtool Provides: %{name}-kmod-common = %{version} Requires(post): chkconfig Requires(preun): chkconfig # This is for /sbin/service Requires(preun): initscripts Requires(postun): initscripts Requires: ipset >= 6.11 Obsoletes: %{name}-devel < 1.27-1 %description Xtables-addons provides extra modules for iptables not present in the kernel, and is the successor of patch-o-matic. Extensions includes new targets like TEE, TARPIT, CHAOS, or modules like geoip, ipset, and account. This package provides the userspace libraries for iptables to use extensions in the %{name}-kmod package. You must also install the %{name}-kmod package. %package -n dkms-%{name} Summary: dkms package for xtables-addons Group: System Environment/Kernel Requires: dkms Requires: kernel-devel >= 3.7 Requires(post): dkms Requires(preun):dkms %description -n dkms-%{name} This contains the dkms package building the xtables-addons kernel modules. %prep %setup -q -n %{name}-%{version} ./autogen.sh if [ ! -e /%{_lib}/xtables/libxt_CHECKSUM.so ]; then sed -i 's/build_CHECKSUM=/build_CHECKSUM=m/' mconfig fi if [ ! -e /%{_lib}/xtables/libxt_TEE.so ]; then sed -i 's/build_TEE=/build_TEE=m/' mconfig fi sed -i 's/build_ipset6=/build_ipset6=m/' mconfig %build %configure --without-kbuild make V=1 %{?_smp_mflags} %install make DESTDIR=%{buildroot} install # We add xt_geoip database scripts manually rm -rf %{buildroot}%{_libexecdir} rm -f geoip/{Makefile*,.gitignore} chmod 0644 geoip/* # There is no -devel package. So no need for these files rm -f %{buildroot}%{_libdir}/*.{la,so} # install init scripts and configuration files install -D -pm 0755 %{SOURCE1} %{buildroot}%{_initddir}/ipset install -D -pm 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/ipset-config # prepare the dkms sources mkdir -p %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/ACCOUNT %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/pknock cp extensions/Kbuild extensions/Mbuild mconfig extensions/Makefile* extensions/mac.c extensions/xt_* extensions/compat_* %{buildroot}%{_usr}/src/%{name}-%{version}-%{release} cp extensions/ACCOUNT/Kbuild extensions/ACCOUNT/Mbuild extensions/ACCOUNT/Makefile* extensions/ACCOUNT/xt_* %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/ACCOUNT cp extensions/pknock/Kbuild extensions/pknock/Mbuild extensions/pknock/Makefile* extensions/pknock/xt_* %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/pknock # mconfig is not in parent dir anymore sed -i 's/${XA_ABSTOPSRCDIR}/${M}/' %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/Kbuild # remove ipset-6 references to silence make clean errors sed -i '/ipset-6/ d' %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/Kbuild sed -i '/ipset-6/ d' %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/Mbuild cat > %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/dkms.conf << EOF PACKAGE_NAME="%{name}" PACKAGE_VERSION="%{version}-%{release}" AUTOINSTALL="yes" MAKE[0]="make -C \${kernel_source_dir} M=\\\$(pwd)" CLEAN="make -C \${kernel_source_dir} M=\\\$(pwd) clean" BUILT_MODULE_LOCATION[0]="ACCOUNT" DEST_MODULE_LOCATION[0]="/kernel/extra" BUILT_MODULE_NAME[0]="xt_ACCOUNT" BUILT_MODULE_LOCATION[1]="pknock" DEST_MODULE_LOCATION[1]="/kernel/extra" BUILT_MODULE_NAME[1]="xt_pknock" EOF i=2 for mod in compat_xtables xt_CHAOS \ xt_condition xt_DELUDE xt_DHCPMAC xt_DNETMAP xt_fuzzy xt_geoip xt_iface \ xt_IPMARK xt_ipp2p xt_ipv4options xt_length2 xt_LOGMARK xt_lscan xt_psd \ xt_quota2 xt_SYSRQ xt_TARPIT; do echo -e "DEST_MODULE_LOCATION[$i]=\"/kernel/extra\"\nBUILT_MODULE_NAME[$i]=\"$mod\"" >> %{buildroot}%{_usr}/src/%{name}-%{version}-%{release}/dkms.conf (( i = $i + 1 )) done install -m755 geoip/xt_geoip_dl %{buildroot}%{_sbindir}/ install -m755 geoip/xt_geoip_build %{buildroot}%{_sbindir}/ %post /sbin/ldconfig /sbin/chkconfig --add ipset %preun if [ $1 = 0 ] ; then /sbin/service ipset stop >/dev/null 2>&1 /sbin/chkconfig --del ipset fi %postun /sbin/ldconfig if [ "$1" -ge "1" ] ; then /sbin/service ipset condrestart >/dev/null 2>&1 || : fi %post -n dkms-%{name} set -x /usr/sbin/dkms add -m %{name} -v %{version}-%{release} --rpm_safe_upgrade && /usr/sbin/dkms build -m %{name} -v %{version}-%{release} --rpm_safe_upgrade && /usr/sbin/dkms install -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --force true %preun -n dkms-%{name} set -x /usr/sbin/dkms remove -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --all true %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc LICENSE README doc/* geoip %attr(0755,root,root) %{_initddir}/* %config(noreplace) %{_sysconfdir}/sysconfig/* /%{_lib}/xtables/*.so %{_libdir}/*.so.* %{_sbindir}/* %{_mandir}/man?/* %files -n dkms-%{name} %{_usr}/src/%{name}-%{version}-%{release} %changelog * Sat Oct 31 2015 Tomohiro "Tomo-p" KATO 2.9-1 - new upstream release. * Tue Jul 7 2015 Tomohiro "Tomo-p" KATO 2.7-1 - new upstream release. * Sat Nov 1 2014 Tomohiro "Tomo-p" KATO 2.6-1 - built for Vine Linux. - new upstream release. * Sat Apr 26 2014 Nicolas Chauvet - 2.5-1 - Update to 2.5 * Sun Jan 12 2014 Nicolas Chauvet - 2.4-1 - Update to 2.4 * Tue Jun 18 2013 Nicolas Chauvet - 2.3-1 - Update to 2.3 * Thu Apr 18 2013 Nicolas Chauvet - 2.2-1 - Update to 2.2 * Mon Jan 14 2013 Nicolas Chauvet - 2.1-1 - Update to 2.1 * Thu Oct 18 2012 Nicolas Chauvet - 1.47.1-1 - Update to 1.47.1 * Wed Oct 03 2012 Nicolas Chauvet - 1.46-1 - Update to 1.46 * Tue Jul 31 2012 Nicolas Chauvet - 1.45-1 - Update to 1.45 * Thu Jun 14 2012 Nicolas Chauvet - 1.42-3 - Fix ipset path in F-16 and later * Tue Jun 05 2012 Nicolas Chauvet - 1.42-2 - Fix for UsrMove - rfbz#2360 - Fix Conflict with ipset - rfbz#2201 - Add Requires ipset >= 6.11 - rfbz#2226 * Thu Apr 12 2012 Nicolas Chauvet - 1.42-1 - Update to 1.42 * Tue Jan 24 2012 Nicolas Chauvet - 1.41-1 - Update to 1.41 * Thu Nov 17 2011 Nicolas Chauvet - 1.39-1 - Update to 1.39 * Wed Oct 27 2010 Chen Lei - 1.30-1 - update to 1.30 * Sun Jul 25 2010 Chen Lei - 1.28-1 - update to 1.28 * Mon Jun 28 2010 Chen Lei - 1.27-2 - rebuild for kernel 2.6.35 * Mon May 31 2010 Chen Lei - 1.27-1 - update to 1.27 * Sun May 02 2010 Chen Lei - 1.26-1 - update to 1.26 * Mon Apr 26 2010 Chen Lei - 1.25-1 - update to 1.25 * Sun Apr 25 2010 Thorsten Leemhuis - 1.24-2 - rebuilt * Thu Mar 18 2010 Chen Lei - 1.24-1 - initial rpm build