%define mod_name fastcgi
-%define apxs /usr/sbin/apxs
-%define _apache1 %(rpm -q apache-devel 2> /dev/null | grep -Eq '\\-2\\.[0-9]+\\.' && echo 0 || echo 1)
+%define apxs /usr/sbin/apxs1
Summary: Support for the FastCGI protocol for apache webserver
-Summary(pl): Obs³uga protoko³u FastCGI dla serwera apache
-Summary(ru): FastCGI - ÂÏÌÅÅ ÂÙÓÔÒÁÑ ×ÅÒÓÉÑ CGI
-Summary(uk): FastCGI - ¦ÌØÛ Û×ÉÄËÁ ×ÅÒÓ¦Ñ CGI
-Name: apache-mod_%{mod_name}
-Version: 2.4.2
-Release: 2
+Summary(pl.UTF-8): Obsługa protokołu FastCGI dla serwera apache
+Summary(ru.UTF-8): FastCGI - более быстрая версия CGI
+Summary(uk.UTF-8): FastCGI - більш швидка версія CGI
+Name: apache1-mod_%{mod_name}
+# NOTE: remember about apache-mod_fastcgi.spec when messing here
+Version: 2.4.6
+Release: 3
License: distributable
Group: Networking/Daemons
-Source0: http://www.FastCGI.com/dist/mod_%{mod_name}-%{version}.tar.gz
-# Source0-md5: e994414304b535cb99e10b7d1cad1d1e
+Source0: http://www.fastcgi.com/dist/mod_%{mod_name}-%{version}.tar.gz
+# Source0-md5: a21a613dd5dacf4c8ad88c8550294fed
+Source1: %{name}.tmpfiles
Patch0: %{name}-allow-uid-gid.patch
-Source1: 70_mod_%{mod_name}.conf
-URL: http://www.FastCGI.com/
-BuildRequires: %{apxs}
-BuildRequires: apache-devel
+Patch1: %{name}-socketdir.patch
+Patch2: %{name}-stderr-buf.patch
+Patch3: %{name}-segv-onload.patch
+Patch4: %{name}-apache22.patch
+URL: http://www.fastcgi.com/
+BuildRequires: apache1-devel >= 1.3.39
BuildRequires: libtool
-Requires(post,preun): %{apxs}
-Requires: apache >= 1.3.1
+BuildRequires: rpmbuild(macros) >= 1.268
+Requires: apache1(EAPI)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _sysconfdir %(%{apxs} -q SYSCONFDIR)
-%define _pkglibdir %(%{apxs} -q LIBEXECDIR)
-%define _htmldocdir /home/httpd/manual/mod
+%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
+%define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
+%define _socketdir /var/run/apache/fastcgi
%description
This 3rd party module provides support for the FastCGI protocol.
that provides high performance and persistence without the limitations
of server specific APIs.
-%description -l pl
-To jest modu³ apache dodaj±cy obs³ugê protoko³u FastCGI. FastCGI jest
-niezale¿nym od jêzyka, skalowalnym, otwartym rozszerzeniem CGI daj±cym
-du¿± wydajno¶æ bez ograniczania API specyficznego dla serwera.
+%description -l pl.UTF-8
+To jest moduł apache dodający obsługę protokołu FastCGI. FastCGI jest
+niezależnym od języka, skalowalnym, otwartym rozszerzeniem CGI dającym
+dużą wydajność bez ograniczania API specyficznego dla serwera.
-%description -l ru
-FastCGI - ÒÁÓÛÉÒÅÎÉÅ CGI, ËÏÔÏÒÏÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÎÏÓÔØ ÓÏÚÄÁ×ÁÔØ
-×ÙÓÏËÏÐÒÏÉÚ×ÏÄÉÔÅÌØÎÙÅ Internet-ÐÒÉÌÏÖÅÎÉÑ ÂÅÚ ÎÅÏÂÈÏÄÉÍÏÓÔÉ
-ÉÓÐÏÌØÚÏ×ÁÔØ ÓÐÅÃÉÆÉÞÅÓËÉÅ ÄÌÑ ËÁÖÄÏÇÏ web-ÓÅÒ×ÅÒÁ API.
+%description -l ru.UTF-8
+FastCGI - расширение CGI, которое предоставляет возможность создавать
+высокопроизводительные Internet-приложения без необходимости
+использовать специфические для каждого web-сервера API.
-óËÏÒÏÓÔØ API web-ÓÅÒ×ÅÒÏ× ÓÏ ×ÓÅÍÉ ÐÒÅÉÍÕÝÅÓÔ×ÁÍÉ CGI.
+Скорость API web-серверов со всеми преимуществами CGI.
-%description -l uk
-FastCGI - ÒÏÚÛÉÒÅÎÎÑ CGI, ÑËÅ ÎÁÄÁ¤ ÍÏÖÌÉצÓÔØ ÓÔ×ÏÒÀ×ÁÔÉ
-×ÉÓÏËÏÐÒÏÄÕËÔÉ×Φ Internet-ÐÒÏÇÒÁÍÉ ÂÅÚ ÎÅÏÂȦÄÎÏÓÔ¦ ×ÉËÏÒÉÓÔÁÎÎÑ
-ÓÐÅÃÉƦÞÎÉÈ ÄÌÑ ËÏÖÎÏÇÏ web-ÓÅÒ×ÅÒÕ API.
+%description -l uk.UTF-8
+FastCGI - розширення CGI, яке надає можливість створювати
+високопродуктивні Internet-програми без необхідності використання
+специфічних для кожного web-серверу API.
-û×ÉÄ˦ÓÔØ API web-ÓÅÒ×ÅÒ¦× Ú¦ ×Ó¦ÍÁ ÐÅÒÅ×ÁÇÁÍÉ CGI.
+Швидкість API web-серверів зі всіма перевагами CGI.
%prep
%setup -q -n mod_%{mod_name}-%{version}
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%build
-%if %{_apache1}
-%{apxs} -o mod_%{mod_name}.so -c *.c
-%else
-%{__make} -f Makefile.AP2 top_dir=%{_pkglibdir} INCLUDES="-I%(%{apxs} -q INCLUDEDIR)"
-%endif
+%{apxs} -S CC="%{__cc}" -o mod_%{mod_name}.so -c *.c
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_htmldocdir}}
+install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir},%{_socketdir}/dynamic} \
+ $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
-%if %{_apache1}
install mod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}
-%else
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
-libtool --mode=install install mod_%{mod_name}.la $RPM_BUILD_ROOT%{_pkglibdir}
-install %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/httpd.conf/
-%endif
-install docs/*.html $RPM_BUILD_ROOT%{_htmldocdir}
+echo 'LoadModule %{mod_name}_module modules/mod_%{mod_name}.so' > \
+ $RPM_BUILD_ROOT%{_sysconfdir}/90_mod_%{mod_name}.conf
+
+install %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
%clean
rm -rf $RPM_BUILD_ROOT
%post
-%if %{_apache1}
-%{apxs} -e -a -n %{mod_name} %{_pkglibdir}/mod_%{mod_name}.so 1>&2
-%endif
-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
-
-%preun
+%service -q apache restart
+
+%postun
if [ "$1" = "0" ]; then
-%if %{_apache1}
- %{apxs} -e -A -n %{mod_name} %{_pkglibdir}/mod_%{mod_name}.so 1>&2
-%endif
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
+ %service -q apache restart
fi
-
+
%files
%defattr(644,root,root,755)
-%doc docs/LICENSE.TERMS CHANGES
-%doc %{_htmldocdir}/*
+%doc docs/LICENSE.TERMS CHANGES docs/*.html
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}.conf
%attr(755,root,root) %{_pkglibdir}/*.so
-%if ! %{_apache1}
-%config %{_sysconfdir}/httpd.conf/*.conf
-%endif
+%dir %attr(770,root,http) %{_socketdir}
+%dir %attr(770,root,http) %{_socketdir}/dynamic
+/usr/lib/tmpfiles.d/%{name}.conf