# TODO:
-# - separate perl-things from apache libs and configs (needed for some buildings)
+# - separate devel things from runtime things (apache-mod_perl-2.0.2-2 marks perl-ExtUtils-MakeMaker-6.25_08-1 (cap perl(ExtUtils::Install)))
+#
+# Conditional build:
+%bcond_without autodeps # don't care about perl() deps resolving
+#
%include /usr/lib/rpm/macros.perl
-%define apxs /usr/sbin/apxs
+%define apxs /usr/sbin/apxs
+%define mod_name perl
+# NB! leave this without *release*
+%define apache_test_version 1.27
Summary: A Perl interpreter for the Apache Web server
Summary(cs): Vestavìný interpret Perlu pro WWW server Apache
Summary(da): En indbygget Perl-fortolker for webtjeneren Apache
Summary(uk): íÏÄÕÌØ ×ÂÕÄÏ×Õ×ÁÎÎÑ ¦ÎÔÅÒÐÒÅÔÁÔÏÒÁ Perl × ÓÅÒ×ÅÒ Apache
Summary(zh_CN): ÓÃÓÚ Apache web ·þÎñ³ÌÐòµÄ Perl ½âÊͳÌÐò¡£
Name: apache-mod_perl
-Version: 2.0.0
-Release: 1.9
+Version: 2.0.2
+Release: 12
Epoch: 1
License: Apache
Group: Networking/Daemons
Source0: http://perl.apache.org/dist/mod_perl-%{version}.tar.gz
-# Source0-md5: 99325d82e2c42361123f6a242e57a593
+# Source0-md5: ad0a509fd34e3b8452887d80a1d45dea
Source1: %{name}.conf
Patch0: %{name}-Makefile_PL.patch
URL: http://perl.apache.org/
-BuildRequires: apache-devel >= 2.0.0
+BuildRequires: apache-devel >= 2.0.55-1
BuildRequires: apr-util-devel >= 1:1.0.0
BuildRequires: expat-devel
BuildRequires: gdbm-devel
-BuildRequires: openldap-devel
+BuildRequires: openldap-devel >= 2.3.0
+BuildRequires: perl-Apache-Test >= 1:%{apache_test_version}
+%{?with_autodeps:BuildRequires: perl-Data-Flow}
BuildRequires: perl-devel >= 1:5.8.2
BuildRequires: rpm-perlprov >= 3.0.3-16
-%requires_eq apache
-Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
-# What's this for?
-Provides: perl(mod_perl_hooks)
-Provides: mod_perl
-Provides: perl-Apache-Test
+BuildRequires: rpmbuild(macros) >= 1.268
+# older apache-mod_perl could make bad autodeps to perl-mod_perl
+BuildConflicts: apache-mod_perl < 1:2.0.2-9
+Requires: apache(modules-api) = %apache_modules_api
+Requires: perl-mod_%{mod_name} = %{epoch}:%{version}-%{release}
+Provides: apache(mod_perl)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-Obsoletes: mod_perl
-Obsoletes: mod_perl-common
-Conflicts: perl-modules < 1:5.8.6-6
# TODO: separate -devel with ExtUtils::Embed and friends?
-%define _noautoreq 'perl(Apache::.*)' 'perl(mod_perl)' 'perl(ModPerl::.*)' 'perl(ExtUtils::Embed)'
-%define _sysconfdir %(%{apxs} -q SYSCONFDIR)
-%define _pkglibdir %(%{apxs} -q LIBEXECDIR)
+%define _noautoreq 'perl(Apache::.*)' 'perl(mod_perl)' 'perl(ModPerl::.*)' 'perl(ExtUtils::Embed)' 'perl(Module::Build)'
+%define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
+%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
%description
Mod_perl incorporates a Perl interpreter into the Apache web server,
½Ó¿Ú¡£ ÓÉÓÚ²»±ØÆô¶¯ÈκÎÍⲿ Perl ½âÊͳÌÐò£¬Òò´Ë»áʹ CGI
½Å±¾»Øת¹ý³Ì¸üΪ¿ìËÙ¡£
+%package devel
+Summary: Files needed for building XS modules that use mod_perl
+Summary(pl): Pliki potrzebne do budowania modu³ów XS korzystaj±cych z mod_perla
+Group: Development/Libraries
+Requires: apache-devel >= 2.0
+Requires: perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
+Requires: perl-mod_%{mod_name} = %{epoch}:%{version}-%{release}
+Obsoletes: mod_perl
+Obsoletes: mod_perl-common
+Conflicts: perl-modules < 1:5.8.6-6
+
+%description devel
+The apache-mod_perl-devel package contains the files needed for
+building XS modules that use mod_perl.
+
+%description devel -l pl
+Ten pakiet zawiera pliki potrzebne do budowania modu³ów XS
+korzystaj±cych z mod_perla.
+
+%package -n perl-mod_%{mod_name}
+Summary: Perl APIs for mod_perl
+Summary(pl): Perlowe API dla mod_perla
+Group: Development/Languages/Perl
+
+%description -n perl-mod_%{mod_name}
+Perl APIs for mod_perl.
+
+%description -n perl-mod_%{mod_name} -l pl
+Perlowe API dla mod_perla.
+
%prep
-%setup -q -n mod_perl-%{version}
+%setup -q -n mod_%{mod_name}-%{version}
%patch0 -p1
+bundled=$(%{__perl} -IApache-Test/lib -MApache::Test -e 'print Apache::Test->VERSION')
+if [ "%apache_test_version" != "$bundled" ]; then
+ : "%%define apache_test_version to $bundled and retry."
+ exit 1
+fi
+rm -rf Apache-Test
+
%build
%{__perl} Makefile.PL \
MP_APXS=%{apxs} \
MP_APR_CONFIG=%{_bindir}/apr-1-config \
MP_APU_CONFIG=%{_bindir}/apu-1-config \
- INSTALLDIRS=vendor \
+ INSTALLDIRS=vendor
%{__make} \
OPTIMIZE="%{rpmcflags}" \
rm -rf $RPM_BUILD_ROOT%{perl_vendorarch}/Bundle
rm -f $RPM_BUILD_ROOT%{_mandir}/man?/Bundle*
+rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
+rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/mod_perl2/.packlist
install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf/75_mod_perl.conf
%clean
rm -rf $RPM_BUILD_ROOT
%post
-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 httpd restart
-%preun
+%postun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
+ %service -q httpd restart
fi
%files
%defattr(644,root,root,755)
%doc Changes INSTALL README STATUS
-%attr(755,root,root) %{_pkglibdir}/*.so
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf/*.conf
+%attr(755,root,root) %{_pkglibdir}/*.so
+%files -n perl-mod_%{mod_name}
+%defattr(644,root,root,755)
%{perl_vendorarch}/*.pm
%{perl_vendorarch}/APR
-%{perl_vendorarch}/Apache
%{perl_vendorarch}/Apache2
%{perl_vendorarch}/ModPerl
%{perl_vendorarch}/auto/*/*/*.ix
%{perl_vendorarch}/auto/*/*/*.bs
%attr(755,root,root) %{perl_vendorarch}/auto/*/*/*.so
-
%{perl_vendorarch}/auto/Apache2/typemap
-# to -devel? directory ownership problem...
-%{_includedir}/apache/*.h
-
%{_mandir}/man?/*
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/apache/*.h