- add minimal PHP extension load test
- add upstream patch for PHP 5.6 (fix #1111478)
This commit is contained in:
parent
4ee0f4c576
commit
417e6936e1
85
mapserver-6.2.1-php56.patch
Normal file
85
mapserver-6.2.1-php56.patch
Normal file
@ -0,0 +1,85 @@
|
||||
From fc99472b8b2fc837148f71755f23349a71e307bf Mon Sep 17 00:00:00 2001
|
||||
From: Bas Couwenberg <sebastic@xs4all.nl>
|
||||
Date: Sat, 26 Apr 2014 13:46:41 +0200
|
||||
Subject: [PATCH] Use php://input instead of raw_post_data to support PHP 5.6.
|
||||
|
||||
php_stream handling largely taken from PECL HTTP:
|
||||
|
||||
http://git.php.net/?p=pecl/http/pecl_http.git;a=blob;f=php_http_env.c;h=30ee32d7c68b3341aeaeb24c909b102537caccdf;hb=8ec2c825719482e62222163a300b0e18319591d0#l229
|
||||
|
||||
Copyright (c) 2004-2014, Michael Wallner <mike@iworks.at>.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Bug-Debian: https://bugs.debian.org/745600
|
||||
---
|
||||
.travis.yml | 1 +
|
||||
mapscript/php/owsrequest.c | 23 +++++++++++++++++++++++
|
||||
2 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/mapscript/php/owsrequest.c b/mapscript/php/owsrequest.c
|
||||
index 428c8dd..f01d361 100644
|
||||
--- a/mapscript/php/owsrequest.c
|
||||
+++ b/mapscript/php/owsrequest.c
|
||||
@@ -32,6 +32,9 @@
|
||||
#include "php_mapscript.h"
|
||||
#include "SAPI.h"
|
||||
#include "php_variables.h"
|
||||
+#if PHP_VERSION_ID >= 50600
|
||||
+#include "php_streams.h"
|
||||
+#endif
|
||||
|
||||
char *owsrequest_getenv(const char *name, void *thread_context);
|
||||
|
||||
@@ -193,9 +196,29 @@ PHP_METHOD(OWSRequestObj, loadParams)
|
||||
cgirequestObj_loadParams(php_owsrequest->cgirequest, owsrequest_getenv, NULL, 0, thread_context);
|
||||
}
|
||||
} else {
|
||||
+#if PHP_VERSION_ID >= 50600
|
||||
+ php_stream *s = php_stream_temp_new();
|
||||
+ php_stream *input = php_stream_open_wrapper("php://input", "r", 0, NULL);
|
||||
+
|
||||
+ /* php://input does not support stat */
|
||||
+ php_stream_copy_to_stream_ex(input, s, -1, NULL);
|
||||
+ php_stream_close(input);
|
||||
+
|
||||
+ php_stream_rewind(s);
|
||||
+
|
||||
+ char *raw_post_data = NULL;
|
||||
+ long raw_post_data_length = 0;
|
||||
+
|
||||
+ raw_post_data_length = php_stream_copy_to_mem(s, raw_post_data, -1, 0);
|
||||
+
|
||||
+ cgirequestObj_loadParams(php_owsrequest->cgirequest, owsrequest_getenv,
|
||||
+ raw_post_data,
|
||||
+ raw_post_data_length, thread_context);
|
||||
+#else
|
||||
cgirequestObj_loadParams(php_owsrequest->cgirequest, owsrequest_getenv,
|
||||
SG(request_info).raw_post_data,
|
||||
SG(request_info).raw_post_data_length, thread_context);
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
@ -22,6 +22,8 @@ Patch2: %{name}-%{version}-python-%{MS_REL}.patch
|
||||
%endif
|
||||
# Fix check for libgd version (to be reported upstream)
|
||||
Patch3: %{name}-6.2.1-gdver.patch
|
||||
# upstream patch for PHP 5.6
|
||||
Patch4: %{name}-6.2.1-php56.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
@ -97,6 +99,7 @@ within the Java programming language.
|
||||
%patch2 -p1 -b .python
|
||||
%endif
|
||||
%patch3 -p1 -b .gdver
|
||||
%patch4 -p1 -b .php56
|
||||
|
||||
# fix spurious perm bits
|
||||
chmod -x mapscript/python/examples/*.py
|
||||
@ -189,8 +192,8 @@ popd
|
||||
rm -rf %{buildroot}
|
||||
|
||||
mkdir -p %{buildroot}%{_libexecdir}
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/php.d
|
||||
mkdir -p %{buildroot}%{_libdir}/php/modules
|
||||
mkdir -p %{buildroot}%{php_inidir}
|
||||
mkdir -p %{buildroot}%{php_extdir}
|
||||
mkdir -p %{buildroot}/%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||
install -p -m 755 .libs/mapserv %{buildroot}%{_libexecdir}/mapserver%{MS_REL}
|
||||
@ -209,7 +212,7 @@ install -p -m 755 .libs/libmapserver-%{version}.so %{buildroot}%{_libdir}/
|
||||
install -p -m 644 xmlmapfile/mapfile.xsd %{buildroot}%{_datadir}/%{name}
|
||||
install -p -m 644 xmlmapfile/mapfile.xsl %{buildroot}%{_datadir}/%{name}
|
||||
|
||||
install -p -m 755 mapscript/php/.libs/php_mapscript-%{version}.so %{buildroot}/%{_libdir}/php/modules/php_mapscript%{MS_REL}.so
|
||||
install -p -m 755 mapscript/php/.libs/php_mapscript-%{version}.so %{buildroot}/%{php_extdir}/php_mapscript%{MS_REL}.so
|
||||
|
||||
# install perl module
|
||||
pushd mapscript/perl
|
||||
@ -227,8 +230,8 @@ install -p -m 644 mapscript/java/mapscript%{MS_REL}.jar %{buildroot}%{_javadir}/
|
||||
install -p -m 755 mapscript/java/.libs/libjavamapscript-%{version}.so %{buildroot}%{_libdir}/
|
||||
|
||||
# install php config file
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/php.d/
|
||||
cat > %{buildroot}%{_sysconfdir}/php.d/%{ini_name} <<EOF
|
||||
mkdir -p %{buildroot}%{php_inidir}
|
||||
cat > %{buildroot}%{php_inidir}/%{ini_name} <<EOF
|
||||
; Enable %{name} extension module
|
||||
extension=php_mapscript%{MS_REL}.so
|
||||
EOF
|
||||
@ -241,6 +244,14 @@ done
|
||||
# fix some exec bits
|
||||
chmod 755 %{buildroot}%{perl_vendorarch}/auto/mapscript%{MS_REL}/mapscript%{MS_REL}.so
|
||||
|
||||
|
||||
%check
|
||||
: Minimal load test for PHP extension
|
||||
%{_bindir}/php \
|
||||
-n -d extension=%{buildroot}%{php_extdir}/php_mapscript%{MS_REL}.so \
|
||||
-m | grep MapScript
|
||||
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc README COMMITERS GD-COPYING HISTORY.TXT
|
||||
@ -265,8 +276,8 @@ chmod 755 %{buildroot}%{perl_vendorarch}/auto/mapscript%{MS_REL}/mapscript%{MS_R
|
||||
%defattr(-,root,root)
|
||||
%doc mapscript/php/README
|
||||
%doc mapscript/php/examples
|
||||
%config(noreplace) %{_sysconfdir}/php.d/%{ini_name}
|
||||
%{_libdir}/php/modules/php_mapscript%{MS_REL}.so
|
||||
%config(noreplace) %{php_inidir}/%{ini_name}
|
||||
%{php_extdir}/php_mapscript%{MS_REL}.so
|
||||
|
||||
%files perl
|
||||
%defattr(-,root,root)
|
||||
@ -294,6 +305,8 @@ chmod 755 %{buildroot}%{perl_vendorarch}/auto/mapscript%{MS_REL}/mapscript%{MS_R
|
||||
* Fri Jun 20 2014 Remi Collet <rcollet@redhat.com> - 6.2.1-7
|
||||
- rebuild for https://fedoraproject.org/wiki/Changes/Php56
|
||||
- add numerical prefix to extension configuration file
|
||||
- add minimal PHP extension load test
|
||||
- add upstream patch for PHP 5.6 (fix #1111478)
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
Loading…
Reference in New Issue
Block a user