-%define apxs /usr/sbin/apxs
+%bcond_without ipv6 # disable IPv6 support
+
+%define mod_name throttle
+%define apxs /usr/sbin/apxs1
Summary: Bandwidth & Request Throttling for Apache
-Summary(cs): Omezení sí»ového provozu pro Apache
-Summary(de): Ein Modul, das die Bandbreiten- und Anforderungseinschränkung für Apache implementiert
-Summary(es): Módulo que implementa la gestión de ancho de banda y peticiones para Apache
-Summary(fr): Module qui met en oeuvre la bande passante et l'étranglement requis pour Apache
-Summary(it): Modulo che implementa la larghezza di banda e la richiesta di throttling per Apache
-Summary(ja): Apache ÍÑÂÓ°èÉý¤ª¤è¤ÓÍ׵᥹¥í¥Ã¥È¥ë¤ò¼ÂÁõ¤¹¤ë¥â¥¸¥å¡¼¥ë
-Summary(pl): T³umienie przepustowo¶ci i zapytañ dla Apache'a
-Summary(pt_BR): Descompressão "On-the-fly" de arquivos HTML para o Apache
-Summary(sv): En modul som implementerar bandvidd- och begäranbegränsningar i Apache
-Name: apache-mod_throttle
+Summary(cs.UTF-8): Omezení síťového provozu pro Apache
+Summary(de.UTF-8): Ein Modul, das die Bandbreiten- und Anforderungseinschränkung für Apache implementiert
+Summary(es.UTF-8): Módulo que implementa la gestión de ancho de banda y peticiones para Apache
+Summary(fr.UTF-8): Module qui met en oeuvre la bande passante et l'étranglement requis pour Apache
+Summary(it.UTF-8): Modulo che implementa la larghezza di banda e la richiesta di throttling per Apache
+Summary(ja.UTF-8): Apache 用帯域幅および要求スロットルを実装するモジュール
+Summary(pl.UTF-8): Tłumienie przepustowości i zapytań dla Apache'a
+Summary(pt_BR.UTF-8): Descompressão "On-the-fly" de arquivos HTML para o Apache
+Summary(sv.UTF-8): En modul som implementerar bandvidd- och begäranbegränsningar i Apache
+Name: apache1-mod_%{mod_name}
Version: 3.1.2
-Release: 3
-License: Anthony Howe
+Release: 4
+License: BSD-like
Group: Networking/Daemons
Source0: http://www.snert.com/Software/mod_throttle/mod_throttle312.tgz
+# Source0-md5: 6edc45c3ea8a0855d4b0b14cf0f76404
+Patch0: apache1-mod_throttle-PLD-v6stuff.patch
URL: http://www.snert.com/Software/mod_throttle/
-BuildRequires: apache-devel
-BuildRequires: %{apxs}
-Prereq: %{_sbindir}/apxs
-Requires: apache >= 1.3.1
+#{?with_ipv6:BuildRequires: apache1(ipv6)-devel}
+BuildRequires: apache1-devel >= 1.3.39
+BuildRequires: rpmbuild(macros) >= 1.268
+Requires(triggerpostun): %{apxs}
+Requires: apache1(EAPI)
+Obsoletes: apache-mod_throttle <= 3.1.2
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)
+%define _pkglogdir %(%{apxs} -q PREFIX 2>/dev/null)/logs
%description
This Apache module is intended to reduce the load on your server &
to delay or refuse requests. Also mod_throttle can track and throttle
incoming connections by IP address or by authenticated remote user.
-%description -l cs
-Balíèek mod_throttle obsahuje modul, který umo¾òuje omezit prùtok dat,
-která odcházejí z WWW serveru Apache. Limity mohou být nastaveny pro
-jednotlivé virtuální weby, adresáøe, umístìní nebo autentizované
-u¾ivatele.
+%description -l cs.UTF-8
+Balíček mod_throttle obsahuje modul, který umožňuje omezit průtok dat,
+která odcházejí z WWW serveru Apache. Limity mohou být nastaveny pro
+jednotlivé virtuální weby, adresáře, umístění nebo autentizované
+uživatele.
-%description -l de
-Mod_throttle kann verwendet werden, um die Datenmenge zu beschränken,
-die Ihr Web-Server behandelt. Diese Einschränkungen können für
+%description -l de.UTF-8
+Mod_throttle kann verwendet werden, um die Datenmenge zu beschränken,
+die Ihr Web-Server behandelt. Diese Einschränkungen können für
einzelne virtuelle Rechner, Verzeichnisse, Speicherstellen oder
authentifizierte Benutzer eingestellt werden.
-%description -l es
+%description -l es.UTF-8
Mod_throttle puede usarse para limitar la cantidad de datos que su
-servidor web va a servir. Estos límites se pueden configurar para
-hosts virtuales individuales, directorios, lug<res o usuarios
+servidor web va a servir. Estos límites se pueden configurar para
+hosts virtuales individuales, directorios, lugares o usuarios
autenticados.
-%description -l fr
-Mod_throttle peut être utilisé pour limiter la quantité de données
-servies par votre serveur Web. Ces limites peuvent être définies pour
-des hôtes virtuels individuels, répertoires, emplacements ou
-utilisateurs authentifiés.
+%description -l fr.UTF-8
+Mod_throttle peut être utilisé pour limiter la quantité de données
+servies par votre serveur Web. Ces limites peuvent être définies pour
+des hôtes virtuels individuels, répertoires, emplacements ou
+utilisateurs authentifiés.
-%description -l it
-Mod_throttle può essere usato per limitare la quantità di dati che il
-server Web dovrà servire. Queste limitazioni possono essere
+%description -l it.UTF-8
+Mod_throttle può essere usato per limitare la quantità di dati che il
+server Web dovrà servire. Queste limitazioni possono essere
configurate per singoli host virtuali, directory, indirizzi o utenti
autenticati.
-%description -l ja
-Mod_throttle ¤Ë¤è¤Ã¤Æ Web ¥µ¡¼¥Ð¡¼¤¬½èÍý¤¹¤ë¥Ç¡¼¥¿Î̤òÀ©¸Â¤Ç¤¤Þ¤¹
-¤³¤ì¤é¤ÎÀ©¸Â¤Ï¡¢¸Ä¡¹¤Î²¾ÁÛ¥Û¥¹¥È¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢¾ì½ê¡¢¤Þ¤¿¤Ï
-ǧ¾Ú¥æ¡¼¥¶¡¼ÍѤˤĤ¤¤ÆÀßÄê¤Ç¤¤Þ¤¹¡£
+%description -l ja.UTF-8
+Mod_throttle によって Web サーバーが処理するデータ量を制限できます
+これらの制限は、個々の仮想ホスト、ディレクトリ、場所、または
+認証ユーザー用について設定できます。
-%description -l pl
-Ten modu³ Apache ma s³u¿yæ do zmniejsszania obci±¿enia serwera i ruchu
+%description -l pl.UTF-8
+Ten moduł Apache ma służyć do zmniejszania obciążenia serwera i ruchu
generowanego przez popularne hosty wirtualne, katalogi, pliki lub
-u¿ytkowników zgodnie z obs³ugiwanymi polisami, które decyduj± kiedy
-opó¼niæ lub odrzuciæ zapytanie. mod_throttle mo¿e tak¿e ¶ledziæ i
-t³umiæ po³±czenia przychodz±ce z danego adresu IP lub danego,
-autentykuj±cego siê, u¿ytkownika.
+użytkowników zgodnie z obsługiwanymi polisami, które decydują kiedy
+opóźnić lub odrzucić zapytanie. mod_throttle może także śledzić i
+tłumić połączenia przychodzące z danego adresu IP lub danego,
+autentykującego się, użytkownika.
-%description -l pt_BR
-Descompressão "On-the-fly" de arquivos HTML para o Apache.
+%description -l pt_BR.UTF-8
+Descompressão "On-the-fly" de arquivos HTML para o Apache.
-%description -l sv
-Mod_throttle kan användas för att begränsa mängden data som din
-webbserver skickar. Dessa gränser kan sättas för enskilda virtuella
-värdar, kataloger, platser eller autenticerade användare.
+%description -l sv.UTF-8
+Mod_throttle kan användas för att begränsa mängden data som din
+webbserver skickar. Dessa gränser kan sättas för enskilda virtuella
+värdar, kataloger, platser eller autenticerade användare.
%prep
-%setup -q -n mod_throttle-%{version}
+%setup -q -n mod_%{mod_name}-%{version}
+%{?with_ipv6:%patch0 -p1}
%build
-%{apxs} -DSUEXEC_BIN="\"\\\"%{_sbindir}/suexec\\\"\"" -o mod_throttle.so -c *.c
-# to don't bother about ssi counter inside
-mv -f index.shtml index.html
+%{apxs} -o mod_%{mod_name}.so -c mod_%{mod_name}.c
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_libexecdir},%{_htmldocdir}}
+install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}/conf.d,%{_pkglogdir}}
+
+install mod_%{mod_name}.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
-install mod_throttle.so $RPM_BUILD_ROOT%{_libexecdir}
-install *.html $RPM_BUILD_ROOT%{_htmldocdir}
+sed -e 's/<!--#/<!--/g' index.shtml > mod_%{mod_name}.html
-gzip -9nf *.txt
+> $RPM_BUILD_ROOT%{_pkglogdir}/mod_throttle.runtime
%clean
rm -rf $RPM_BUILD_ROOT
%post
-%{_sbindir}/apxs -e -a -n throttle %{_libexecdir}/mod_throttle.so 1>&2
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/httpd start\" to start apache http daemon."
-fi
+%service -q apache restart
-%preun
+%postun
if [ "$1" = "0" ]; then
- %{_sbindir}/apxs -e -A -n throttle %{_libexecdir}/mod_throttle.so 1>&2
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
+ %service -q apache restart
+fi
+
+%triggerpostun -- apache1-mod_%{mod_name} < 3.1.2-1.1
+# check that they're not using old apache.conf
+if grep -q '^Include conf\.d' /etc/apache/apache.conf; then
+ %{apxs} -e -A -n %{mod_name} %{_pkglibdir}/mod_%{mod_name}.so 1>&2
fi
%files
%defattr(644,root,root,755)
-%doc *.gz
-%doc %{_htmldocdir}/index.html
-%attr(755,root,root) %{_libexecdir}/*
+%doc *.txt *.html
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_%{mod_name}.conf
+%attr(755,root,root) %{_pkglibdir}/*
+%attr(660,root,http) %ghost %{_pkglogdir}/*