# TODO:
# - add devel subpackage
+# - orphaned dirs for %{_manualdocdir}/mod/*html
+#
+%bcond_without ipv6 # disable IPv6 support. must match same bcond from apache1-devel
+#
%include /usr/lib/rpm/macros.perl
+%define mod_name perl
%define apxs /usr/sbin/apxs1
Summary: A Perl interpreter for the Apache Web server
Summary(cs): Vestavìný interpret Perlu pro WWW server Apache
Summary(it): Interprete Perl integrato per il server Web Apache
Summary(ja): Apache Web ¥µ¡¼¥Ð¡¼ÍѤÎÁȹþ¤ß Perl ¥¤¥ó¥¿¡¼¥×¥ê¥¿
Summary(nb): En Perl-fortolker for webtjeneren Apache
-Summary(pl): Interpreter perla dla serwera WWW Apache
+Summary(pl): Interpreter Perla dla serwera WWW Apache
Summary(pt): Um interpretador de Perl embebido para o servidor Web Apache
Summary(ru): ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ Perl ÄÌÑ WWW-ÓÅÒ×ÅÒÁ Apache
Summary(sk): Interpreter jazyka Perl pre webový server Apache
Summary(zh_CN): ÓÃÓÚ Apache web ·þÎñ³ÌÐòµÄ Perl ½âÊͳÌÐò¡£
Name: apache1-mod_perl
Version: 1.29
-Release: 3
+Release: 10.4
License: GPL
Group: Networking/Daemons
Source0: http://perl.apache.org/dist/mod_perl-%{version}.tar.gz
Patch2: %{name}-optimize.patch
URL: http://perl.apache.org/
BuildRequires: %{apxs}
-BuildRequires: apache1(EAPI)-devel >= 1.3.29-4
+%{?with_ipv6:BuildRequires: apache1(ipv6)-devel}
+BuildRequires: apache1-devel >= 1.3.33-2
BuildRequires: perl-B-Graph
BuildRequires: perl-BSD-Resource
BuildRequires: perl-Devel-Symdump
BuildRequires: perl-devel >= 1:5.8.0
BuildRequires: perl-libwww
BuildRequires: rpm-perlprov >= 4.1-13
-PreReq: apache1(EAPI)
-Requires(post,preun): %{apxs}
-%requires_eq apache1
-%requires_eq perl-base
+%requires_eq_to apache1 apache1-devel
+Requires(triggerpostun): %{apxs}
+Requires: apache1(EAPI)
+Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
+Provides: apache(mod_perl)
Provides: perl(mod_perl_hooks)
-Provides: mod_perl
Obsoletes: mod_perl
Obsoletes: mod_perl-common
-Obsoletes: perl-Apache-Test
+%{!?with_ipv6:Conflicts: apache1(ipv6)}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
+%define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
%define _noautoreqdep 'perl(Apache::.*)' 'perl(mod_perl)'
+%define _manualdocdir %{_datadir}/apache1-manual
%description
Mod_perl incorporates a Perl interpreter into the Apache web server,
%description -l pl
Mod_perl jest modu³em, który wyposa¿a serwer Apache w interpreter
-perla, umo¿liwiaj±c w ten sposób bezpo¶rednie wykonywanie kodu perla
+Perla, umo¿liwiaj±c w ten sposób bezpo¶rednie wykonywanie kodu Perla
przez serwer bez potrzeby anga¿owania zewnêtrznego interpretera, co
przyspiesza procesy zwi±zane z uruchamianiem skryptów CGI.
%prep
%setup -q -n mod_perl-%{version}
%patch0 -p1
-%patch1 -p1
+%{?with_ipv6:%patch1 -p1}
%patch2 -p1
%build
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_libdir}/apache1,/home/apache/manual/mod}
+install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}/conf.d,%{_manualdocdir}/mod}
%{__make} pure_install \
DESTDIR=$RPM_BUILD_ROOT
-install apaci/libperl.so $RPM_BUILD_ROOT%{_libdir}/apache1
+install apaci/libperl.so $RPM_BUILD_ROOT%{_pkglibdir}
install htdocs/manual/mod/mod_perl.html \
- $RPM_BUILD_ROOT/home/apache/manual/mod
+ $RPM_BUILD_ROOT%{_manualdocdir}/mod
+
+echo 'LoadModule %{mod_name}_module modules/lib%{mod_name}.so' > \
+ $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/90_mod_%{mod_name}.conf
+
+# clean known unpackaged files
+rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/*.pod
+rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/Bundle/Apache.pm
+rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/mod_%{mod_name}/.packlist
+rm -f $RPM_BUILD_ROOT%{_mandir}/man3/Bundle::Apache.3pm*
%clean
rm -rf $RPM_BUILD_ROOT
%post
-%{apxs} -e -a -n perl %{_libexecdir}/libperl.so 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/apache 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
- %{apxs} -e -A -n perl %{_libexecdir}/libperl.so 1>&2
if [ -f /var/lock/subsys/apache ]; then
/etc/rc.d/init.d/apache restart 1>&2
fi
fi
+%triggerpostun -- apache1-mod_%{mod_name} < 1.29-7.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}/lib%{mod_name}.so 1>&2
+fi
+
%files
%defattr(644,root,root,755)
%doc README INSTALL CREDITS faq/*.html faq/*.txt apache-modlist.html eg
-%doc /home/apache/manual/mod/*html
+# FIXME: parent dirs not owned as the manualdocdir (via apache1-doc) is not in required
+%doc %{_manualdocdir}/mod/*html
-%attr(755,root,root) %{_libdir}/apache1/*.so
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/*_mod_%{mod_name}.conf
+%attr(755,root,root) %{_pkglibdir}/*
%{perl_vendorarch}/*.pm
%{perl_vendorarch}/*.PL