diff options
| -rw-r--r-- | mod_perl-httpd24-maps.patch | 82 | ||||
| -rw-r--r-- | mod_perl.spec | 60 | 
2 files changed, 122 insertions, 20 deletions
diff --git a/mod_perl-httpd24-maps.patch b/mod_perl-httpd24-maps.patch new file mode 100644 index 0000000..f443b66 --- /dev/null +++ b/mod_perl-httpd24-maps.patch @@ -0,0 +1,82 @@ +diff --git a/xs/maps/apache2_structures.map b/xs/maps/apache2_structures.map +index f86ec93..cca915b 100644 +--- a/xs/maps/apache2_structures.map ++++ b/xs/maps/apache2_structures.map +@@ -2,6 +2,20 @@ +  + # for mapping see %ModPerl::MapUtil::disabled_map in + # lib/ModPerl/MapUtil.pm ++# the mapping happens in lib/ModPerl/StructureMap.pm: sub parse ++#    '<' => 'auto-generated but gives only a read-only access' ++#    '&' => 'RDWR accessor to a char* field, supporting undef arg' ++#    '$' => 'RONLY accessor, with WRITE accessor before child_init' ++#    '%' => like $, but makes sure that for the write accessor the ++#           original perl scalar can change or go away w/o affecting ++#           the object ++# my %disabled_map = ( ++#     '!' => 'disabled or not yet implemented', ++#     '~' => 'implemented but not auto-generated', ++#     '-' => 'likely never be available to Perl', ++#     '>' => '"private" to apache', ++#     '?' => 'unclassified', ++# ); +  + IGNORE: ap_LINK_ ap_filter_func ap_bucket_error ap_listen_rec core_net_rec +  +@@ -69,6 +83,8 @@ IGNORE: ap_LINK_ ap_filter_func ap_bucket_error ap_listen_rec core_net_rec +    proto_output_filters +    proto_input_filters + ?  eos_sent ++<  useragent_addr ++   useragent_ip + </request_rec> +  + <server_rec> +@@ -78,10 +94,12 @@ IGNORE: ap_LINK_ ap_filter_func ap_bucket_error ap_listen_rec core_net_rec + -  defn_line_number + %  server_admin + %  server_hostname ++%  server_scheme + $  port + %  error_fname + $  error_log + $  loglevel ++$  log + <  is_virtual + <  module_config + <  lookup_defaults +@@ -97,6 +115,7 @@ $  keep_alive + $  limit_req_line + $  limit_req_fieldsize + $  limit_req_fields ++   context + </server_rec> +  + <conn_rec> +@@ -104,6 +123,8 @@ $  limit_req_fields + <  base_server + >  vhost_lookup_data + <  local_addr ++<  client_addr ++   client_ip + <  local_ip + <  local_host + <  remote_addr +@@ -121,6 +142,8 @@ $  limit_req_fields +    output_filters + <  sbh + <  bucket_alloc ++<  log ++<  log_id + </conn_rec> +  + !<server_addr_rec> +@@ -268,3 +291,8 @@ $  limit_req_fields +    p +    sa + </ap_pod_t> ++ ++<ap_logconf> ++%  level ++%  module_levels ++</ap_logconf> diff --git a/mod_perl.spec b/mod_perl.spec index 8c3d3a2..b4e23aa 100644 --- a/mod_perl.spec +++ b/mod_perl.spec @@ -1,10 +1,13 @@ -%global contentdir /var/www -%{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}} -%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn || echo missing-httpd-devel)}} +%{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_sbindir}/apxs}} +%{!?_httpd_mmn:        %{expand: %%global _httpd_mmn        %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo missing-httpd-devel)}} +%{!?_httpd_confdir:    %{expand: %%global _httpd_confdir    %%{_sysconfdir}/httpd/conf.d}} +# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4 +%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}} +%{!?_httpd_moddir:    %{expand: %%global _httpd_moddir    %%{_libdir}/httpd/modules}}  Name:           mod_perl  Version:        2.0.7 -Release:        7%{?dist} +Release:        10%{?dist}  Summary:        An embedded Perl interpreter for the Apache HTTP Server  Group:          System Environment/Daemons @@ -18,6 +21,7 @@ Patch1:         mod_perl-2.0.4-inline.patch  Patch2:         mod_perl-2.0.5-nolfs.patch  Patch3:         mod_perl-short-name.patch  Patch4:         mod_perl-httpd24.patch +Patch5:         mod_perl-httpd24-maps.patch  BuildRequires:  perl-devel, perl(ExtUtils::Embed)  BuildRequires:  httpd-devel >= 2.4.0, httpd, gdbm-devel @@ -36,6 +40,8 @@ Requires:       perl(Linux::Pid)  %global __provides_exclude %__provides_exclude|perl\\(Apache2::RequestRec\\)$  %global __provides_exclude %__provides_exclude|perl\\(warnings\\)$  %global __provides_exclude %__provides_exclude|perl\\(HTTP::Request::Common\\)$ +%global __provides_exclude %__provides_exclude|mod_perl\\.so\\(.*$ +%global __provides_exclude %__provides_exclude|mod_perl\\.so$  %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(Apache::Test.*\\)  %global __requires_exclude %__requires_exclude|perl\\(Data::Flow\\)  %global __requires_exclude %__requires_exclude|perl\\(Apache2::FunctionTable\\) @@ -59,7 +65,7 @@ like for it to directly incorporate a Perl interpreter.  %package devel  Summary:        Files needed for building XS modules that use mod_perl  Group:          Development/Libraries -Requires:       mod_perl = %{version}-%{release}, httpd-devel +Requires:       %{name}%{?_isa} = %{version}-%{release}, httpd-devel%{?_isa}  %description devel   The mod_perl-devel package contains the files needed for building XS @@ -69,10 +75,11 @@ modules that use mod_perl.  %prep  %setup -q -n %{name}-%{version}  %patch0 -p1 -%patch1 -p1 -b .inline +%patch1 -p1  %patch2 -p1 -%patch3 -p1 -b .short-name +%patch3 -p1  %patch4 -p1 +%patch5 -p1  %build @@ -104,15 +111,13 @@ CFLAGS="$RPM_OPT_FLAGS -fpic" %{__perl} Makefile.PL </dev/null \           MP_APXS=%{_httpd_apxs} \           MP_APR_CONFIG=%{_bindir}/apr-1-config -  make -C src/modules/perl %{?_smp_mflags} OPTIMIZE="$RPM_OPT_FLAGS -fpic"  make  %install -rm -rf $RPM_BUILD_ROOT -install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/httpd/modules +install -d -m 755 $RPM_BUILD_ROOT%{_httpd_moddir}  make install \ -    MODPERL_AP_LIBEXECDIR=$RPM_BUILD_ROOT%{_libdir}/httpd/modules \ +    MODPERL_AP_LIBEXECDIR=$RPM_BUILD_ROOT%{_httpd_moddir} \      MODPERL_AP_INCLUDEDIR=$RPM_BUILD_ROOT%{_includedir}/httpd  # Remove the temporary files. @@ -125,10 +130,10 @@ find $RPM_BUILD_ROOT -type d -depth -exec rmdir {} 2>/dev/null ';'  chmod -R u+w $RPM_BUILD_ROOT/*  # Install the config file -install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d -install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d -install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ -install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.modules.d/02-perl.conf +install -d -m 755 $RPM_BUILD_ROOT%{_httpd_confdir} +install -d -m 755 $RPM_BUILD_ROOT%{_httpd_modconfdir} +install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_httpd_confdir} +install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_httpd_modconfdir}/02-perl.conf  # Move set of modules to -devel  devmods="ModPerl::Code ModPerl::BuildMM ModPerl::CScan \ @@ -152,14 +157,16 @@ for m in $devmods; do  done | tee devel.files | sed 's/^/%%exclude /' > exclude.files  echo "%%exclude %{_mandir}/man3/Apache::Test*.3pm*" >> exclude.files +# perl build script generates *.orig files, they get installed and later they +# break provides so mod_perl requires mod_perl-devel. We remove them here. +find "$RPM_BUILD_ROOT" -type f -name *.orig -exec rm -f {} \;  %files -f exclude.files -%defattr(-,root,root,-)  %doc Changes LICENSE NOTICE README* STATUS SVN-MOVE docs/ -%config(noreplace) %{_sysconfdir}/httpd/conf.d/*.conf -%config(noreplace) %{_sysconfdir}/httpd/conf.modules.d/*.conf +%config(noreplace) %{_httpd_confdir}/perl.conf +%config(noreplace) %{_httpd_modconfdir}/02-perl.conf  %{_bindir}/* -%{_libdir}/httpd/modules/mod_perl.so +%{_httpd_moddir}/mod_perl.so  %{perl_vendorarch}/auto/*  %dir %{perl_vendorarch}/Apache/  %{perl_vendorarch}/Apache/Reload.pm @@ -172,12 +179,25 @@ echo "%%exclude %{_mandir}/man3/Apache::Test*.3pm*" >> exclude.files  %{_mandir}/man3/*.3*  %files devel -f devel.files -%defattr(-,root,root,-)  %{_includedir}/httpd/*  %{perl_vendorarch}/Apache/Test*.pm  %{_mandir}/man3/Apache::Test*.3pm*  %changelog +* Wed Feb 13 2013 Remi Collet <RPMS@FamilleCollet.com> - 2.0.7-10 +- sync with rawhide, backport for remi repo + +* Tue Nov 20 2012 Jan Kaluza <jkaluza@redhat.com> - 2.0.7-10 +- do not install .orig file generated by make xs_generate +- filter unversioned mod_perl.so from provides + +* Mon Nov 19 2012 Jan Kaluza <jkaluza@redhat.com> - 2.0.7-9 +- clean up spec file +- do not require -devel when installing main package + +* Mon Nov 19 2012 Jan Kaluza <jkaluza@redhat.com> - 2.0.7-8 +- add wrappers for new fields added in httpd-2.4 structures +  * Thu Aug 02 2012 Remi Collet <RPMS@FamilleCollet.com> - 2.0.7-7  - sync with rawhide, backport for remi repo  | 
