%define _libmoddir /lib/modules %{!?kernel:%define kernel %(rpm -q kernel-source --qf '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}\\n' | tail -1)} %define _with_smp %(test -f /usr/src/linux-%{kernel}/configs/kernel-%{kversion}-%{_target_cpu}-smp.config && echo 1 || echo 0) %define kversion %(echo "%{kernel}" | sed -e 's|-.*||') %define krelease %(echo "%{kernel}" | sed -e 's|.*-||') %define real_name ipt_connlimit %define moduledir /kernel/net/ipv4/netfilter %define module ipt_connlimit.o Summary: Linux module for connlimit. Name: kernel-modules-connlimit Version: %(echo %{kernel} | sed 's@-@_@g') Release: 0.20040621.%{mysig} License: GPL Group: System Environment/Kernel URL: http://www.netfilter.org/patch-o-matic/ Source0: ipt_connlimit.c Source1: ipt_connlimit.h Source2: ipt_connlimit.Makefile.patch Requires: kernel = %{kernel} Requires: iptables >= 1.2.11-3.1.ker.rhel3 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: kernel-source ExclusiveArch: i586 i686 athlon %description Module connlimit for Linux kernel. %package -n kernel-smp-modules-connlimit Summary: Linux SMP module for connlimit. Group: System Environment/Kernel Requires: kernel-smp = %{kernel} Requires: iptables >= 1.2.11-3.1.ker.rhel3 %description -n kernel-smp-modules-connlimit Module connlimit for Linux SMP kernel. %prep %setup -cT FILE=%{_usrsrc}/linux-%{kernel}/net/ipv4/netfilter/ipt_connlimit.c if [ ! -f $FILE ]; then cp -a %{S:0} $FILE fi FILE=%{_usrsrc}/linux-%{kernel}/include/linux/netfilter_ipv4/ipt_connlimit.h if [ ! -f $FILE ]; then cp -a %{S:1} $FILE fi if ! grep -q CONFIG_IP_NF_MATCH_CONNLIMIT %{_usrsrc}/linux-%{kernel}/net/ipv4/netfilter/Makefile; then cd %{_usrsrc}/linux-%{kernel}/net/ipv4/netfilter patch -p4 -s < %{S:2} cd - fi %build %{__rm} -rf %{buildroot} cat </dev/null %{__cp} -f configs/kernel-%{kversion}-%{_target_cpu}.config .config echo CONFIG_IP_NF_MATCH_CONNLIMIT=m >> .config %{__make} -s symlinks oldconfig dep \ EXTRAVERSION="-%{krelease}" \ ARCH="$(echo %{_target_cpu} | sed -e 's@\(i.86\|athlon\)@i386@')" &> /dev/null cd - ### Make UP module. cd %{_usrsrc}/linux-%{kernel}/net/ipv4/netfilter %{__make} %{module} \ TOPDIR="%{_usrsrc}/linux-%{kernel}" \ CFLAGS="-Wall -pipe -O3 -fomit-frame-pointer -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DMODVERSIONS -I%{_usrsrc}/linux-%{kernel}/include -include %{_usrsrc}/linux-%{kernel}/include/linux/modversions.h" %{__install} -d -m0755 %{buildroot}%{_libmoddir}/%{kernel}%{moduledir}/ %{__install} -m0644 %{module} %{buildroot}%{_libmoddir}/%{kernel}%{moduledir} cd - %if %{_with_smp} ### Prepare SMP kernel. cd %{_usrsrc}/linux-%{kernel} %{__make} -s distclean &>/dev/null %{__cp} -f configs/kernel-%{kversion}-%{_target_cpu}-smp.config .config %{__make} -s symlinks oldconfig dep \ EXTRAVERSION="-%{krelease}smp" \ ARCH="$(echo %{_target_cpu} | sed -e 's/\(i.86\|athlon\)/i386/')" \ &>/dev/null cd - ### Make SMP module. cd %{_usrsrc}/linux-%{kernel}/net/ipv4/netfilter %{__make} %{module} \ TOPDIR="%{_usrsrc}/linux-%{kernel}" \ CFLAGS="-Wall -pipe -O3 -fomit-frame-pointer -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DMODVERSIONS -I%{_usrsrc}/linux-%{kernel}/include -include %{_usrsrc}/linux-%{kernel}/include/linux/modversions.h" %{__install} -d -m0755 %{buildroot}%{_libmoddir}/%{kernel}smp%{moduledir}/ %{__install} -m0644 %{module} %{buildroot}%{_libmoddir}/%{kernel}smp%{moduledir} cd - %endif %install ### Install utilities. %post -n kernel-modules-connlimit /sbin/depmod -ae %{kernel} || : %postun -n kernel-modules-connlimit /sbin/depmod -ae %{kernel} || : %post -n kernel-smp-modules-connlimit /sbin/depmod -ae %{kernel}smp || : %postun -n kernel-smp-modules-connlimit /sbin/depmod -ae %{kernel}smp || : %clean %{__rm} -rf %{buildroot} %files %defattr(-, root, root, 0755) %{_libmoddir}/%{kversion}-%{krelease}%{moduledir}/* %if %{_with_smp} %files -n kernel-smp-modules-connlimit %defattr(-, root, root, 0755) %{_libmoddir}/%{kversion}-%{krelease}smp%{moduledir}/* %endif %changelog * Wed Jul 06 2005 Milan Kerslager 2.4.21-32.0.1.EL-2.20040621.ker.rhel3 - renamed from kernel-modules-connlimit-%{kernel} to kernel-modules-connlimit - fix Requires for SMP kernel * Wed Jan 19 2005 Milan Kerslager - initial version