[mapserver] 01/02: Add patch to support building mapscript for PHP 5.6.

Bas Couwenberg sebastic at xs4all.nl
Tue Apr 29 23:59:25 UTC 2014


This is an automated email from the git hooks/post-receive script.

sebastic-guest pushed a commit to branch master
in repository mapserver.

commit ad389e08947716a39f63f9e4947a9f7e430f4fd5
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sat Apr 26 13:30:12 2014 +0200

    Add patch to support building mapscript for PHP 5.6.
---
 debian/changelog           |  7 +++++
 debian/patches/php56.patch | 73 ++++++++++++++++++++++++++++++++++++++++++++++
 debian/patches/series      |  1 +
 3 files changed, 81 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 0bdf56f..8b5c6d9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+mapserver (6.4.1-4) UNRELEASED; urgency=low
+
+  * Add patch to support building mapscript for PHP 5.6.
+    (closes: #745600)
+
+ -- Bas Couwenberg <sebastic at xs4all.nl>  Sat, 26 Apr 2014 13:29:33 +0200
+
 mapserver (6.4.1-3) unstable; urgency=medium
 
   * Also build mapscript for Java.
diff --git a/debian/patches/php56.patch b/debian/patches/php56.patch
new file mode 100644
index 0000000..cdfd1fd
--- /dev/null
+++ b/debian/patches/php56.patch
@@ -0,0 +1,73 @@
+Description: 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 at 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.
+Author: Bas Couwenberg <sebastic at xs4all.nl>
+Bug-Debian: https://bugs.debian.org/745600
+Forwarded: https://github.com/mapserver/mapserver/issues/4911
+Applied-Upstream: https://github.com/mapserver/mapserver/commit/fc99472b8b2fc837148f71755f23349a71e307bf
+--- 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
+     }
+   }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 58ac143..1fd50e2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@ perl-mapscript-install.patch
 ruby-mapscript-install.patch
 cmake-mapserver-export.patch
 java-hardening.patch
+php56.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/mapserver.git



More information about the Pkg-grass-devel mailing list