forked from pool/apache2-mod_perl
Accepting request 319123 from home:pgajdos:apache2
- updated to 2.0.9: see Changes for details * dropped patches: - lfs-perl-5.14.patch - apache2-mod_perl-2.0.4-tests.diff - apache24-mod_authz_host.patch - turn off inlining for functions which need to be real symbols because they are called in a DSO OBS-URL: https://build.opensuse.org/request/show/319123 OBS-URL: https://build.opensuse.org/package/show/Apache:Modules/apache2-mod_perl?expand=0&rev=55
This commit is contained in:
committed by
Git OBS Bridge
parent
c57f989a60
commit
7014709e01
@@ -1,70 +0,0 @@
|
||||
Index: t/hooks/authen_basic.t
|
||||
===================================================================
|
||||
--- t/hooks/authen_basic.t.orig 2007-11-12 06:34:00.000000000 +0100
|
||||
+++ t/hooks/authen_basic.t 2010-03-05 12:38:56.000000000 +0100
|
||||
@@ -4,7 +4,7 @@ use warnings FATAL => 'all';
|
||||
use Apache::Test;
|
||||
use Apache::TestRequest;
|
||||
|
||||
-plan tests => 4, need need_lwp, need_auth, 'HTML::HeadParser';
|
||||
+plan tests => 2, need need_lwp, need_auth, 'HTML::HeadParser';
|
||||
|
||||
my $location = "/TestHooks__authen_basic";
|
||||
|
||||
@@ -17,13 +17,13 @@ sok {
|
||||
$rc == 401;
|
||||
};
|
||||
|
||||
-sok {
|
||||
- GET_OK $location, username => 'dougm', password => 'foo';
|
||||
-};
|
||||
-
|
||||
-sok {
|
||||
- ! GET_OK $location, username => 'dougm', password => 'wrong';
|
||||
-};
|
||||
+#sok {
|
||||
+# GET_OK $location, username => 'dougm', password => 'foo';
|
||||
+#};
|
||||
+
|
||||
+#sok {
|
||||
+# ! GET_OK $location, username => 'dougm', password => 'wrong';
|
||||
+#};
|
||||
|
||||
|
||||
|
||||
Index: t/hooks/authz.t
|
||||
===================================================================
|
||||
--- t/hooks/authz.t.orig 2007-11-12 06:34:00.000000000 +0100
|
||||
+++ t/hooks/authz.t 2010-03-05 12:38:56.000000000 +0100
|
||||
@@ -4,7 +4,7 @@ use warnings FATAL => 'all';
|
||||
use Apache::Test;
|
||||
use Apache::TestRequest;
|
||||
|
||||
-plan tests => 4, need need_lwp, 'HTML::HeadParser';
|
||||
+plan tests => 2, need need_lwp, 'HTML::HeadParser';
|
||||
|
||||
my $location = "/TestHooks__authz";
|
||||
|
||||
@@ -14,8 +14,8 @@ my $rc = GET_RC $location;
|
||||
|
||||
ok $rc == 401;
|
||||
|
||||
-ok GET_OK $location, username => 'dougm', password => 'foo';
|
||||
+#ok GET_OK $location, username => 'dougm', password => 'foo';
|
||||
|
||||
-ok ! GET_OK $location, username => 'jobbob', password => 'whatever';
|
||||
+#ok ! GET_OK $location, username => 'jobbob', password => 'whatever';
|
||||
|
||||
|
||||
Index: Apache-Test/lib/Apache/TestConfig.pm
|
||||
===================================================================
|
||||
--- Apache-Test/lib/Apache/TestConfig.pm.orig 2007-12-31 08:50:45.000000000 +0100
|
||||
+++ Apache-Test/lib/Apache/TestConfig.pm 2010-03-05 12:39:35.000000000 +0100
|
||||
@@ -1769,6 +1769,7 @@ sub apxs {
|
||||
# return an untainted PATH
|
||||
sub untaint_path {
|
||||
my $path = shift;
|
||||
+ return $path unless defined $path;
|
||||
($path) = ( $path =~ /(.*)/ );
|
||||
# win32 uses ';' for a path separator, assume others use ':'
|
||||
my $sep = WIN32 ? ';' : ':';
|
@@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 28 14:08:01 UTC 2015 - pgajdos@suse.com
|
||||
|
||||
- updated to 2.0.9: see Changes for details
|
||||
* dropped patches:
|
||||
- lfs-perl-5.14.patch
|
||||
- apache2-mod_perl-2.0.4-tests.diff
|
||||
- apache24-mod_authz_host.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 16 07:22:02 UTC 2015 - pgajdos@suse.com
|
||||
|
||||
@@ -5,6 +14,12 @@ Thu Jul 16 07:22:02 UTC 2015 - pgajdos@suse.com
|
||||
This will pull this module to the update (in released distribution)
|
||||
when apache maintainer thinks it is good (due api/abi changes).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 26 16:53:54 UTC 2015 - tjcw@physics.org
|
||||
|
||||
- turn off inlining for functions which need to be real symbols because they
|
||||
are called in a DSO
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 3 09:08:50 UTC 2014 - pgajdos@suse.com
|
||||
|
||||
|
@@ -16,19 +16,18 @@
|
||||
#
|
||||
|
||||
|
||||
%define srcname mod_perl
|
||||
|
||||
Name: apache2-mod_perl
|
||||
Version: 2.0.8
|
||||
Version: 2.0.9
|
||||
Release: 0
|
||||
Summary: Embedded Perl for Apache
|
||||
License: Apache-2.0
|
||||
Group: Productivity/Networking/Web/Servers
|
||||
Url: http://perl.apache.org/
|
||||
Source0: http://ftp.de.debian.org/debian/pool/main/liba/libapache2-mod-perl2/libapache2-mod-perl2_2.0.8+httpd24-r1449661.orig.tar.gz
|
||||
Patch0: %{name}-2.0.4-tests.diff
|
||||
# PATCH-NEEDS-REBASE
|
||||
Patch1: lfs-perl-5.14.patch
|
||||
Patch2: avoid-broken-provides.diff
|
||||
Patch3: apache24-mod_authz_host.patch
|
||||
Source0: http://apache.miloslavbrada.cz/perl/%{srcname}-%{version}.tar.gz
|
||||
Patch0: inline.patch
|
||||
Patch1: avoid-broken-provides.diff
|
||||
BuildRequires: apache-rpm-macros
|
||||
BuildRequires: apache2-devel
|
||||
BuildRequires: db-devel
|
||||
@@ -53,10 +52,7 @@ Requires: perl(Linux::Pid)
|
||||
Obsoletes: mod_perl_2
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Conflicts: mod_perl
|
||||
Icon: mod_perl.xpm
|
||||
%if 0%{?sles_version} == 9
|
||||
BuildRequires: openldap2-devel
|
||||
%endif
|
||||
Icon: mod_perl.xpm
|
||||
|
||||
%description
|
||||
The Apache/Perl integration project brings together the full power of
|
||||
@@ -104,127 +100,39 @@ This package contains the include files useful for developing new
|
||||
software depending on apache2-mod_perl.
|
||||
|
||||
%prep
|
||||
#%setup -q -n modperl-2.0 -a 1
|
||||
%setup -q -n httpd24
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
#%patch1 -p1
|
||||
find -name ".svn" -type d | xargs rm -rfv
|
||||
%setup -q -n %{srcname}-%{version}
|
||||
%patch0
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
perl Makefile.PL INSTALLDIRS=vendor MP_APXS=`which %{apache_apxs}` MP_APR_CONFIG=%{_bindir}/apr-1-config MP_CCOPTS="%{apache_cflags}"
|
||||
ln -s Apache-mod_perl_guide-1.29/bin bin
|
||||
perl Makefile.PL INSTALLDIRS=vendor MP_APXS=%{apache_apxs} MP_APR_CONFIG=%{_bindir}/apr-1-config MP_CCOPTS="%{apache_cflags}"
|
||||
make %{?_smp_mflags}
|
||||
# XXX mod_include/SSI does not include files when they are not named .shtml
|
||||
mv t/htdocs/includes-registry/test.pl t/htdocs/includes-registry/test.shtml
|
||||
mv t/htdocs/includes-registry/cgipm.pl t/htdocs/includes-registry/cgipm.shtml
|
||||
sed 's/\.pl/.shtml/' t/htdocs/includes/test.shtml > tmpfile && mv tmpfile t/htdocs/includes/test.shtml
|
||||
%ifnarch %{arm}
|
||||
#
|
||||
# Run tests
|
||||
#
|
||||
# Don't use sendfile because most systems on which this package will be built don't run a
|
||||
# kernel that has it implemented, actually
|
||||
# (Files smaller than 256 bytes will be delivered via conventional read/write, so most of the tests would pass nevertheless.)
|
||||
echo -e '\n\nEnableSendfile off' >> t/conf/extra.conf.in
|
||||
#
|
||||
# fix for bad_scripts.t in 1.99_12
|
||||
# [Tue Mar 02 17:28:26 2004] [error] file permissions deny server execution/usr/src/packages/BUILD/modperl-2.0/ModPerl-Registry/t/cgi-bin/r_inherited.pl
|
||||
if test -e ModPerl-Registry/t/cgi-bin/r_inherited.pl; then chmod +x ModPerl-Registry/t/cgi-bin/r_inherited.pl; fi
|
||||
#
|
||||
# 1.99_12_20040302 fix for t/hooks/cleanup.t and t/hooks/cleanup2.t
|
||||
# [Tue Mar 02 18:38:41 2004] [error] [client 127.0.0.1] can't open /usr/src/packages/BUILD/modperl-2.0/t/htdocs/hooks/cleanup2: Permission denied at /usr/src/packages/BUILD/modperl-2.0/Apache-Test/lib/Apache/TestUtil.pm line 82.
|
||||
#
|
||||
# enable more apache modules
|
||||
# we can't simply use a2enmod, since we are not root.
|
||||
%ifnarch %{arm}
|
||||
mkdir t/run
|
||||
# workaround for 32-bit where /usr/lib64/apache2-prefork is hardcoded?
|
||||
cat >> t/conf/extra.conf.in <<-EOF
|
||||
#LoadModule access_compat_module %{_prefix}/%_lib/apache2-prefork/mod_access_compat.so
|
||||
LoadModule authn_core_module %{_libdir}/apache2-prefork/mod_authn_core.so
|
||||
LoadModule authz_core_module %{_libdir}/apache2-prefork/mod_authz_core.so
|
||||
#LoadModule unixd_module %{_prefix}/%_lib/apache2-prefork/mod_unixd.so
|
||||
LoadModule authz_user_module %{_libdir}/apache2-prefork/mod_authz_user.so
|
||||
LoadModule deflate_module %{_libdir}/apache2-prefork/mod_deflate.so
|
||||
LoadModule proxy_module %{_libdir}/apache2-prefork/mod_proxy.so
|
||||
LoadModule proxy_http_module %{_libdir}/apache2-prefork/mod_proxy_http.so
|
||||
EOF
|
||||
mkdir -p t/htdocs/hooks
|
||||
chmod 2770 t/htdocs/hooks
|
||||
#
|
||||
# run test suite:
|
||||
#
|
||||
#make TEST_VERBOSE=1 APACHE_TEST_PORT=select APACHE_TEST_STARTUP_TIMEOUT=360 test || {
|
||||
# ps aufx | grep "/usr/sbin/httpd2-prefork -d /usr/src/packages/BUILD/modperl-2.0" \
|
||||
# | grep -v grep | awk '{print $2}' | xargs -r kill
|
||||
# exit 1
|
||||
#}
|
||||
mkdir t/run
|
||||
t/TEST -start-httpd -port select -startup_timeout 720
|
||||
t/TEST -run-tests || true
|
||||
#t/TEST -run-tests || {
|
||||
# t/TEST -stop-httpd
|
||||
# exit 1
|
||||
#}
|
||||
t/TEST -stop-httpd
|
||||
# in case of failures, see http://perl.apache.org/docs/2.0/user/help/help.html#_C_make_test___Failures
|
||||
# then, debug like this:
|
||||
# t/TEST -start-httpd
|
||||
# tail -F t/logs/*&
|
||||
# t/TEST -run-tests -verbose $failed_test
|
||||
# t/TEST -stop-httpd
|
||||
%endif
|
||||
exit 0
|
||||
|
||||
%install
|
||||
%perl_make_install
|
||||
### since 11.4 perl_process_packlist
|
||||
### removes .packlist, perllocal.pod files
|
||||
%if 0%{?suse_version} > 1130
|
||||
%perl_process_packlist
|
||||
%else
|
||||
# do not perl_process_packlist
|
||||
# remove .packlist file
|
||||
find %{buildroot}%{perl_vendorarch}/auto -name .packlist -print0 | xargs -0 -r rm ;
|
||||
# remove perllocal.pod file
|
||||
rm -f %{buildroot}%{perl_archlib}/perllocal.pod
|
||||
%endif
|
||||
|
||||
#mkdir -p $RPM_BUILD_ROOT/%{apache_libexecdir}
|
||||
#cp -p src/modules/perl/mod_perl.so $RPM_BUILD_ROOT/%{apache_libexecdir}
|
||||
install -D src/modules/perl/mod_perl.so \
|
||||
%{buildroot}/%{apache_libexecdir}/mod_perl.so
|
||||
|
||||
#mkdir -p $RPM_BUILD_ROOT/%{apache_includedir}/modules/perl
|
||||
install -d %{buildroot}/%{apache_includedir}/modules/perl
|
||||
cp src/modules/perl/*.h %{buildroot}/%{apache_includedir}/modules/perl/
|
||||
|
||||
#mkdir -p $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d
|
||||
install -d %{buildroot}/%{apache_sysconfdir}/conf.d
|
||||
|
||||
cat > %{buildroot}/%{apache_sysconfdir}/mod_perl-startup.pl <<-EOF
|
||||
# Taken from http://perl.apache.org/docs/2.0/user/handlers/server.html#Startup_File
|
||||
if ( ! \$ENV{MOD_PERL}) { die "GATEWAY_INTERFACE not Perl!"; }
|
||||
use lib qw(/srv/www/perl-lib);
|
||||
# enable if the mod_perl 1.0 compatibility is needed
|
||||
# use Apache2::compat ();
|
||||
# preload all mp2 modules
|
||||
# use ModPerl::MethodLookup;
|
||||
# ModPerl::MethodLookup::preload_all_modules();
|
||||
use ModPerl::Util (); #for CORE::GLOBAL::exit
|
||||
use Apache2::RequestRec ();
|
||||
use Apache2::RequestIO ();
|
||||
use Apache2::RequestUtil ();
|
||||
use Apache2::ServerRec ();
|
||||
use Apache2::ServerUtil ();
|
||||
use Apache2::Connection ();
|
||||
use Apache2::Log ();
|
||||
use APR::Table ();
|
||||
use ModPerl::Registry ();
|
||||
use Apache2::Const -compile => ':common';
|
||||
use APR::Const -compile => ':common';
|
||||
1;
|
||||
EOF
|
||||
|
||||
#mkdir -p $RPM_BUILD_ROOT/%{apache_serverroot}/perl-lib
|
||||
# install /srv/www/perl-lib
|
||||
install -d %{buildroot}/%{apache_serverroot}/perl-lib
|
||||
|
||||
# install /etc/apache2/conf.d/mod_perl.conf
|
||||
install -d %{buildroot}/%{apache_sysconfdir}/conf.d
|
||||
cat > %{buildroot}/%{apache_sysconfdir}/conf.d/mod_perl.conf <<EOF
|
||||
<Directory "%{apache_serverroot}/perl-lib">
|
||||
AllowOverride None
|
||||
@@ -258,16 +166,50 @@ cat > %{buildroot}/%{apache_sysconfdir}/conf.d/mod_perl.conf <<EOF
|
||||
# The /cgi-bin/ ScriptAlias is already set up in httpd.conf
|
||||
</IfModule>
|
||||
EOF
|
||||
# install /etc/apache2/mod_perl-startup.pl
|
||||
cat > %{buildroot}/%{apache_sysconfdir}/mod_perl-startup.pl <<-EOF
|
||||
# Taken from http://perl.apache.org/docs/2.0/user/handlers/server.html#Startup_File
|
||||
if ( ! \$ENV{MOD_PERL}) { die "GATEWAY_INTERFACE not Perl!"; }
|
||||
use lib qw(/srv/www/perl-lib);
|
||||
# enable if the mod_perl 1.0 compatibility is needed
|
||||
# use Apache2::compat ();
|
||||
# preload all mp2 modules
|
||||
# use ModPerl::MethodLookup;
|
||||
# ModPerl::MethodLookup::preload_all_modules();
|
||||
use ModPerl::Util (); #for CORE::GLOBAL::exit
|
||||
use Apache2::RequestRec ();
|
||||
use Apache2::RequestIO ();
|
||||
use Apache2::RequestUtil ();
|
||||
use Apache2::ServerRec ();
|
||||
use Apache2::ServerUtil ();
|
||||
use Apache2::Connection ();
|
||||
use Apache2::Log ();
|
||||
use APR::Table ();
|
||||
use ModPerl::Registry ();
|
||||
use Apache2::Const -compile => ':common';
|
||||
use APR::Const -compile => ':common';
|
||||
1;
|
||||
EOF
|
||||
# install documentation files alongside perl modules, where applicable
|
||||
cp -av docs/api/*.pod %{buildroot}/%{perl_vendorarch}/
|
||||
cp -av docs/api/APR/*.pod %{buildroot}/%{perl_vendorarch}/APR/
|
||||
cp -av docs/api/Apache2/*.pod %{buildroot}/%{perl_vendorarch}/Apache2/
|
||||
cp -av docs/api/ModPerl/*.pod %{buildroot}/%{perl_vendorarch}/ModPerl/
|
||||
find %{buildroot} -type f -name '*.orig' -delete -print
|
||||
### since 11.4 perl_process_packlist
|
||||
### removes .packlist, perllocal.pod files
|
||||
%if 0%{?suse_version} > 1130
|
||||
%perl_process_packlist
|
||||
%else
|
||||
# do not perl_process_packlist
|
||||
# remove .packlist file
|
||||
find %{buildroot}%{perl_vendorarch}/auto -name .packlist -print0 | xargs -0 -r rm ;
|
||||
# remove perllocal.pod file
|
||||
rm -f %{buildroot}%{perl_archlib}/perllocal.pod
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc Changes INSTALL LICENSE README RELEASE STATUS
|
||||
%doc Changes LICENSE README RELEASE STATUS
|
||||
%doc docs
|
||||
%dir %{apache_libexecdir}
|
||||
%{apache_libexecdir}/mod_perl.so
|
||||
@@ -281,8 +223,6 @@ find %{buildroot} -type f -name '*.orig' -delete -print
|
||||
%{perl_vendorarch}/APR.pm
|
||||
%{perl_vendorarch}/Bundle
|
||||
%{perl_vendorarch}/ModPerl
|
||||
#%{perl_vendorarch}/MyTest
|
||||
#%dir %{perl_sitearch}/auto
|
||||
%{perl_vendorarch}/auto/*
|
||||
%{perl_vendorarch}/mod_perl2.pm
|
||||
%{perl_vendorarch}/*.pod
|
||||
@@ -291,6 +231,5 @@ find %{buildroot} -type f -name '*.orig' -delete -print
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{apache_includedir}/*
|
||||
%{perl_vendorarch}/MyTest/
|
||||
|
||||
%changelog
|
||||
|
@@ -1,80 +0,0 @@
|
||||
diff --git a/t/filter/TestFilter/both_str_req_proxy.pm b/t/filter/TestFilter/both_str_req_proxy.pm
|
||||
index 9e2ba81..4d0b72b 100644
|
||||
--- a/t/filter/TestFilter/both_str_req_proxy.pm
|
||||
+++ b/t/filter/TestFilter/both_str_req_proxy.pm
|
||||
@@ -62,9 +62,7 @@ __DATA__
|
||||
<IfModule mod_proxy.c>
|
||||
<Proxy http://@servername@:@port@/*>
|
||||
<IfModule @ACCESS_MODULE@>
|
||||
- Order Deny,Allow
|
||||
- Deny from all
|
||||
- Allow from @servername@
|
||||
+ Require host @servername@
|
||||
</IfModule>
|
||||
</Proxy>
|
||||
|
||||
diff --git a/t/protocol/TestProtocol/pseudo_http.pm b/t/protocol/TestProtocol/pseudo_http.pm
|
||||
index bb49ec8..1b8e93b 100644
|
||||
--- a/t/protocol/TestProtocol/pseudo_http.pm
|
||||
+++ b/t/protocol/TestProtocol/pseudo_http.pm
|
||||
@@ -154,9 +154,9 @@ __END__
|
||||
|
||||
<Location TestProtocol::pseudo_http>
|
||||
|
||||
+ <RequireAny>
|
||||
<IfModule @ACCESS_MODULE@>
|
||||
- Order Deny,Allow
|
||||
- Allow from @servername@
|
||||
+ Require host @servername@
|
||||
</IfModule>
|
||||
|
||||
<IfModule @AUTH_MODULE@>
|
||||
@@ -168,7 +168,7 @@ __END__
|
||||
AuthName TestProtocol::pseudo_http
|
||||
AuthType Basic
|
||||
Require user stas
|
||||
- Satisfy any
|
||||
+ </RequireAny>
|
||||
|
||||
</Location>
|
||||
|
||||
diff --git a/t/response/TestAPI/access2.pm b/t/response/TestAPI/access2.pm
|
||||
index 718800e..836d54a 100644
|
||||
--- a/t/response/TestAPI/access2.pm
|
||||
+++ b/t/response/TestAPI/access2.pm
|
||||
@@ -101,9 +101,10 @@ PerlAddAuthzProvider my-group TestAPI::access2->authz_handler
|
||||
PerlResponseHandler Apache::TestHandler::ok1
|
||||
SetHandler modperl
|
||||
|
||||
+ <RequireAll>
|
||||
<IfModule @ACCESS_MODULE@>
|
||||
# needed to test $r->satisfies
|
||||
- Allow from All
|
||||
+ Require all granted
|
||||
</IfModule>
|
||||
AuthType Basic
|
||||
AuthName "Access"
|
||||
@@ -112,7 +113,7 @@ PerlAddAuthzProvider my-group TestAPI::access2->authz_handler
|
||||
<Limit POST>
|
||||
Require valid-user
|
||||
</Limit>
|
||||
- Satisfy All
|
||||
+ </RequireAll>
|
||||
<IfModule @AUTH_MODULE@>
|
||||
# htpasswd -mbc auth-users goo foo
|
||||
# htpasswd -mb auth-users bar mar
|
||||
diff --git a/t/response/TestModules/proxy.pm b/t/response/TestModules/proxy.pm
|
||||
index ab59026..91e251e 100644
|
||||
--- a/t/response/TestModules/proxy.pm
|
||||
+++ b/t/response/TestModules/proxy.pm
|
||||
@@ -47,9 +47,7 @@ __END__
|
||||
<IfModule mod_proxy.c>
|
||||
<Proxy http://@servername@:@port@/*>
|
||||
<IfModule @ACCESS_MODULE@>
|
||||
- Order Deny,Allow
|
||||
- Deny from all
|
||||
- Allow from @servername@
|
||||
+ Require host @servername@
|
||||
</IfModule>
|
||||
</Proxy>
|
||||
|
11
inline.patch
Normal file
11
inline.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- src/modules/perl/modperl_common_util.h.orig 2015-06-26 17:41:33.538000834 +0100
|
||||
+++ src/modules/perl/modperl_common_util.h 2015-06-26 17:42:14.524052878 +0100
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifdef MP_DEBUG
|
||||
#define MP_INLINE
|
||||
#else
|
||||
-#define MP_INLINE APR_INLINE
|
||||
+#define MP_INLINE
|
||||
#endif
|
||||
|
||||
#ifdef CYGWIN
|
@@ -1,136 +0,0 @@
|
||||
Index: mod_perl-2.0.6/lib/Apache2/Build.pm
|
||||
===================================================================
|
||||
--- mod_perl-2.0.6.orig/lib/Apache2/Build.pm 2012-05-31 13:03:22.969922364 +0200
|
||||
+++ mod_perl-2.0.6/lib/Apache2/Build.pm 2012-05-31 13:03:28.940642765 +0200
|
||||
@@ -643,7 +643,7 @@ sub cmp_tuples {
|
||||
sub perl_ccopts {
|
||||
my $self = shift;
|
||||
|
||||
- my $cflags = $self->strip_lfs(" $Config{ccflags} ");
|
||||
+ my $cflags = " $Config{ccflags} ";
|
||||
|
||||
my $fixup = \&{"ccopts_$^O"};
|
||||
if (defined &$fixup) {
|
||||
@@ -2137,94 +2137,6 @@ sub inc {
|
||||
"@includes";
|
||||
}
|
||||
|
||||
-### Picking the right LFS support flags for mod_perl, by Joe Orton ###
|
||||
-#
|
||||
-# on Unix systems where by default off_t is a "long", a 32-bit integer,
|
||||
-# there are two different ways to get "large file" support, i.e. the
|
||||
-# ability to manipulate files bigger than 2Gb:
|
||||
-#
|
||||
-# 1) you compile using -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64. This
|
||||
-# makes sys/types.h expose off_t as a "long long", a 64-bit integer, and
|
||||
-# changes the size of a few other types too. The C library headers
|
||||
-# automatically arrange to expose a correct implementation of functions
|
||||
-# like lseek() which take off_t parameters.
|
||||
-#
|
||||
-# 2) you compile using -D_LARGEFILE64_SOURCE, and use what is called the
|
||||
-# "transitional" interface. This means that the system headers expose a
|
||||
-# new type, "off64_t", which is a long long, but the size of off_t is not
|
||||
-# changed. A bunch of new functions like lseek64() are exposed by the C
|
||||
-# library headers, which take off64_t parameters in place of off_t.
|
||||
-#
|
||||
-# Perl built with -Duselargefiles uses approach (1).
|
||||
-#
|
||||
-# APR HEAD uses (2) by default. APR 0.9 does not by default use either
|
||||
-# approach, but random users can take a httpd-2.0.49 tarball, and do:
|
||||
-#
|
||||
-# export CPPFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
-# ./configure
|
||||
-#
|
||||
-# to build a copy of apr/httpd which uses approach (1), though this
|
||||
-# isn't really a supported configuration.
|
||||
-#
|
||||
-# The problem that mod_perl has to work around is when you take a
|
||||
-# package built with approach (1), i.e. Perl, and any package which was
|
||||
-# *not* built with (1), i.e. APR, and want to interface between
|
||||
-# them. [1]
|
||||
-#
|
||||
-# So what you want to know is whether APR was built using approach (1)
|
||||
-# or not. APR_HAS_LARGE_FILES in HEAD just tells you whether APR was
|
||||
-# built using approach (2) or not, which isn't useful in solving this
|
||||
-# problem.
|
||||
-#
|
||||
-# [1]: In some cases, it may be OK to interface between packages which
|
||||
-# use (1) and packages which use (2). APR HEAD is currently not such a
|
||||
-# case, since the size of apr_ino_t is still changing when
|
||||
-# _FILE_OFFSET_BITS is defined.
|
||||
-#
|
||||
-# If you want to see how this matters, get some httpd function to do at
|
||||
-# the very beginning of main():
|
||||
-#
|
||||
-# printf("sizeof(request_rec) = %lu, sizeof(apr_finfo_t) = %ul",
|
||||
-# sizeof(request_rec), sizeof(apr_finfo_t));
|
||||
-#
|
||||
-# and then put the same printf in mod_perl somewhere, and see the
|
||||
-# differences. This is why it is a really terribly silly idea to ever
|
||||
-# use approach (1) in anything other than an entirely self-contained
|
||||
-# application.
|
||||
-#
|
||||
-# there is no conflict if both libraries either have or don't have
|
||||
-# large files support enabled
|
||||
-sub has_large_files_conflict {
|
||||
- my $self = shift;
|
||||
-
|
||||
- my $apxs_flags = join $self->apxs_extra_cflags, $self->apxs_extra_cppflags;
|
||||
- my $apr_lfs64 = $apxs_flags =~ /-D_FILE_OFFSET_BITS=64/;
|
||||
- my $perl_lfs64 = $Config{ccflags} =~ /-D_FILE_OFFSET_BITS=64/;
|
||||
-
|
||||
- # XXX: we don't really deal with the case where APR was built with
|
||||
- # -D_FILE_OFFSET_BITS=64 but perl wasn't, since currently we strip
|
||||
- # only perl's ccflags, not apr's flags. the reason we don't deal
|
||||
- # with it is that we didn't have such a case yet, but may need to
|
||||
- # deal with it later
|
||||
-
|
||||
- return $perl_lfs64 ^ $apr_lfs64;
|
||||
-}
|
||||
-
|
||||
-# if perl is built with uselargefiles, but apr not, the build won't
|
||||
-# work together as it uses two binary incompatible libraries, so
|
||||
-# reduce the functionality to the greatest common denominator (C code
|
||||
-# will have to make sure to prevent any operations that may rely on
|
||||
-# effects created by uselargefiles, e.g. Off_t=8 instead of Off_t=4)
|
||||
-sub strip_lfs {
|
||||
- my ($self, $cflags) = @_;
|
||||
- return $cflags unless $self->has_large_files_conflict();
|
||||
-
|
||||
- my $lf = $Config{ccflags_uselargefiles}
|
||||
- || '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64';
|
||||
- $cflags =~ s/$lf//;
|
||||
- $cflags;
|
||||
-}
|
||||
-
|
||||
sub define {
|
||||
my $self = shift;
|
||||
|
||||
Index: mod_perl-2.0.6/xs/APR/PerlIO/Makefile.PL
|
||||
===================================================================
|
||||
--- mod_perl-2.0.6.orig/xs/APR/PerlIO/Makefile.PL 2012-05-31 13:03:22.969922364 +0200
|
||||
+++ mod_perl-2.0.6/xs/APR/PerlIO/Makefile.PL 2012-05-31 13:03:28.940642765 +0200
|
||||
@@ -8,23 +8,6 @@ my $build = Apache2::Build->build_config
|
||||
|
||||
my $ccopts = $build->ccopts;
|
||||
|
||||
-# when uselargefiles is on, -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
-# are needed to get the right 'Off_t', without which perlio compiled
|
||||
-# with Off_t as 'long long int', doesn't quite work with apr_perlio.c
|
||||
-# compiled with Off_t as 'long int'
|
||||
-#
|
||||
-# On the other handl if apr is built without large files support, we
|
||||
-# have binary compatibility problems, if we try to build mod_perl with
|
||||
-# -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
|
||||
-#
|
||||
-# XXX: it seems that enabling these flags only for apr_perlio/PerlIO
|
||||
-# seems to do the trick
|
||||
-if ($build->has_large_files_conflict) {
|
||||
- $ccopts .= $Config{uselargefiles}
|
||||
- ? ' ' . $Config{ccflags_uselargefiles}
|
||||
- : '';
|
||||
-}
|
||||
-
|
||||
ModPerl::BuildMM::WriteMakefile(
|
||||
NAME => 'APR::PerlIO',
|
||||
VERSION_FROM => 'PerlIO.pm',
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47c8f079fac7b2fa0f15096607a8ad0eff293d01527b65c1e8cbe4ed5e7b69ad
|
||||
size 3803732
|
3
mod_perl-2.0.9.tar.gz
Normal file
3
mod_perl-2.0.9.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0260f26ab771c1c95fadc67544b3400e420bb30b8a77565d2d02ad05498ef52b
|
||||
size 3846584
|
Reference in New Issue
Block a user