-%define apxs /usr/sbin/apxs
+%define apxs /usr/sbin/apxs1
+%define mod_name antihak
Summary: Antihak module for Apache
Summary(pl): Modu³ antihak dla Apache
-Name: apache-mod_antihak
+Name: apache1-mod_%{mod_name}
+%define tar_ver 0.3.1-beta
Version: 0.3.1beta
-Release: 3
+Release: 3.3
License: GPL
Group: Networking/Daemons
-Source0: ftp://ftp.sourceforge.net/pub/sourceforge/apantihak/mod_antihak-0.3.1-beta.tar.gz
-Patch0: mod_antihak-iptables.patch
-Patch1: mod_antihak-am.patch
-BuildRequires: automake
+Source0: http://dl.sourceforge.net/apantihak/mod_antihak-%{tar_ver}.tar.gz
+# Source0-md5: 38f22f5b5662e8dd7318c42fa96fb083
+Patch0: %{name}-iptables.patch
+Patch1: %{name}-am.patch
+Patch2: %{name}-mysql-API.patch
+URL: http://sourceforge.net/projects/apantihak/
+BuildRequires: %{apxs}
+BuildRequires: apache1-devel >= 1.3.33-2
BuildRequires: autoconf
-BuildRequires: apache(EAPI)-devel
+BuildRequires: automake
BuildRequires: libtool
BuildRequires: mysql-devel
-BuildRequires: %{apxs}
-Requires: apache(EAPI) >= 1.3.1
+Requires(post,preun): grep
+Requires(preun): sed >= 4.0
+Requires: apache1 >= 1.3.33-2
Requires: iptables
Requires: sudo
-Prereq: %{_sbindir}/apxs
-Prereq: grep
+Obsoletes: apache-mod_%{mod_name} <= %{version}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _libexecdir %{_libdir}/apache
-%define _htmldocdir /home/httpd/manual/mod
+%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
+%define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
%description
mod_antihak is an Apache Module designed to eliminate the CodeRed and
³atwego dodawania obs³ugi kolejnych robaków.
%prep
-%setup -q -n mod_antihak-0.3.1-beta
-cd src
+%setup -q -n mod_antihak-0.3.1-beta/src
%patch0 -p0
%patch1 -p0
+%patch2 -p1
%build
-cd src
-
rm -f tools/missing
-libtoolize --copy --force
-aclocal
+%{__libtoolize}
+%{__aclocal}
%{__autoconf}
%{__automake}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_libexecdir},%{_htmldocdir}}
-
-cd src
+install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}/conf.d}
-install mod_antihak/mod_antihak.so $RPM_BUILD_ROOT%{_libexecdir}
+install mod_antihak/mod_antihak.so $RPM_BUILD_ROOT%{_pkglibdir}
+echo 'LoadModule %{mod_name}_module modules/mod_%{mod_name}.so' > \
+ $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/90_mod_%{mod_name}.conf
-gzip -9nf AUTHORS INSTALL ChangeLog NEWS TODO
+%clean
+rm -rf $RPM_BUILD_ROOT
%post
-if [ `fgrep "http ALL= NOPASSWD: /sbin/iptables" /etc/sudoers | wc -l` = 0 ]; then
- echo "http ALL= NOPASSWD: /sbin/iptables" >> /etc/sudoers
+if ! grep -qF "http ALL= NOPASSWD: /sbin/iptables" ; then
+ echo "#http ALL= NOPASSWD: /sbin/iptables" >> /etc/sudoers
+ echo "%{mod_name}: You need to allow apache to run iptables as root,"
+ echo "%{mod_name}: appropriate (commented out) line added to /etc/sudoers;"
+ echo "%{mod_name}: be sure to uncomment it if you want this module to work."
fi
-%{_sbindir}/apxs -e -a -n antihak %{_libexecdir}/mod_antihak.so 1>&2
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
+if [ -f /var/lock/subsys/apache ]; then
+ /etc/rc.d/init.d/apache restart 1>&2
else
- echo "Run \"/etc/rc.d/init.d/httpd start\" to start apache http daemon."
+ echo "Run \"/etc/rc.d/init.d/apache start\" to start apache HTTP daemon."
fi
-%preun
+%postun
if [ "$1" = "0" ]; then
- if [ `fgrep "http ALL= NOPASSWD: /sbin/iptables" /etc/sudoers | wc -l` != 0 ]
- then
- grep -v '^http ALL= NOPASSWD: /sbin/iptables$' /etc/sudoers \
- > /etc/sudoers.rpmnew-antihak
- mv -f /etc/sudoers.rpmnew-antihak /etc/sudoers
+ if grep -qF "^http ALL= NOPASSWD: /sbin/iptables" /etc/sudoers ; then
+ sed -i -e '/^http ALL= NOPASSWD: /sbin/iptables$/d' /etc/sudoers
fi
- %{_sbindir}/apxs -e -A -n antihak %{_libexecdir}/mod_antihak.so 1>&2
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
+ if [ -f /var/lock/subsys/apache ]; then
+ /etc/rc.d/init.d/apache restart 1>&2
fi
fi
-%clean
-rm -rf $RPM_BUILD_ROOT
-
%files
%defattr(644,root,root,755)
-%doc src/*.gz
-%attr(755,root,root) %{_libexecdir}/*
+%doc AUTHORS INSTALL ChangeLog NEWS TODO
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_%{mod_name}.conf
+%attr(755,root,root) %{_pkglibdir}/*