From 62819c03c515797898c1ab6d36021d5e5ed7dba8 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 23 Jun 2017 14:31:32 +0200 Subject: add upstreampatch for 7.2 --- 1b1435c135c69d81b47f1f0662633867c5c289b5.patch | 209 +++++++++++++++++++++++++ php-pecl-http.spec | 9 +- 2 files changed, 217 insertions(+), 1 deletion(-) create mode 100644 1b1435c135c69d81b47f1f0662633867c5c289b5.patch diff --git a/1b1435c135c69d81b47f1f0662633867c5c289b5.patch b/1b1435c135c69d81b47f1f0662633867c5c289b5.patch new file mode 100644 index 0000000..c0f1741 --- /dev/null +++ b/1b1435c135c69d81b47f1f0662633867c5c289b5.patch @@ -0,0 +1,209 @@ +From 1b1435c135c69d81b47f1f0662633867c5c289b5 Mon Sep 17 00:00:00 2001 +From: Michael Wallner +Date: Tue, 24 Jan 2017 08:38:58 +0100 +Subject: [PATCH] fix querystring object conversion on master + +--- + tests/querystring001.phpt | 1 + + tests/querystring001_a.phpt | 180 ++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 181 insertions(+) + create mode 100644 tests/querystring001_a.phpt + +diff --git a/tests/querystring001.phpt b/tests/querystring001.phpt +index 203be33..e2e563d 100644 +--- a/tests/querystring001.phpt ++++ b/tests/querystring001.phpt +@@ -3,6 +3,7 @@ query string + --SKIPIF-- + + --GET-- + str=abc&num=-123&dec=123.123&bool=1&arr[]=1&arr[]=2&ma[l1][l2]=2&ma[l2][l3][l4]=3 +diff --git a/tests/querystring001_a.phpt b/tests/querystring001_a.phpt +new file mode 100644 +index 0000000..24994f2 +--- /dev/null ++++ b/tests/querystring001_a.phpt +@@ -0,0 +1,180 @@ ++--TEST-- ++query string ++--SKIPIF-- ++=") or die("skip only for PHP >= 7.2.0"); ++?> ++--GET-- ++str=abc&num=-123&dec=123.123&bool=1&arr[]=1&arr[]=2&ma[l1][l2]=2&ma[l2][l3][l4]=3 ++--FILE-- ++getString("str")); ++var_dump($q->getInt("num")); ++var_dump($q->getFloat("dec")); ++var_dump($q->getInt("dec")); ++var_dump($q->getFloat("dec")); ++var_dump($q->getBool("bool")); ++var_dump($q->getInt("bool")); ++var_dump($q->getBool("num")); ++var_dump($q->getInt("num")); ++var_dump($q->getArray("arr")); ++var_dump($q->getArray("ma")); ++var_dump($q->getObject("arr")); ++var_dump($q->getObject("ma")); ++ ++$s = $q->toString(); ++ ++printf("\nClone modifications do not alter global instance:\n"); ++$q->mod(array("arr" => array(3 => 3))); ++printf("%s\n", $q); ++ ++printf("\nClone modifications do not alter standard instance:\n"); ++$q2 = new http\QueryString($s); ++$q3 = $q2->mod(array("arr" => array(3 => 3))); ++printf("%s\n%s\n", $q2, $q3); ++#var_dump($q2, $q3); ++ ++printf("\nIterator:\n"); ++$it = new RecursiveIteratorIterator($q2, RecursiveIteratorIterator::SELF_FIRST); ++foreach ($it as $k => $v) { ++ $i = $it->getDepth()*8; ++ @printf("%{$i}s: %s\n", $k, $v); ++} ++ ++printf("\nReplace a multi dimensional key:\n"); ++printf("%s\n", $q2->mod(array("ma" => null))->set(array("ma" => array("l1" => false)))); ++ ++printf("\nXlate:\n"); ++$qu = new http\QueryString("ü=ö"); ++printf("utf8: %s\n", $qu); ++printf("latin1: %s\n", method_exists($qu, "xlate") ? $qu->xlate("utf-8", "latin1") : "%FC=%F6"); ++ ++printf("\nOffsets:\n"); ++var_dump($q2["ma"]); ++$q2["ma"] = array("bye"); ++var_dump($q2["ma"]); ++var_dump(isset($q2["ma"])); ++unset($q2["ma"]); ++var_dump(isset($q2["ma"])); ++ ++echo "Done\n"; ++?> ++--EXPECTF-- ++Test ++ ++Global instance: ++str=abc&num=-123&dec=123.123&bool=1&arr%5B0%5D=1&arr%5B1%5D=2&ma%5Bl1%5D%5Bl2%5D=2&ma%5Bl2%5D%5Bl3%5D%5Bl4%5D=3 ++ ++Standard getters: ++string(3) "abc" ++int(-123) ++float(123.123) ++int(123) ++float(123.123) ++bool(true) ++int(1) ++bool(true) ++int(-123) ++array(2) { ++ [0]=> ++ string(1) "1" ++ [1]=> ++ string(1) "2" ++} ++array(2) { ++ ["l1"]=> ++ array(1) { ++ ["l2"]=> ++ string(1) "2" ++ } ++ ["l2"]=> ++ array(1) { ++ ["l3"]=> ++ array(1) { ++ ["l4"]=> ++ string(1) "3" ++ } ++ } ++} ++object(stdClass)#%d (2) { ++ ["0"]=> ++ string(1) "1" ++ ["1"]=> ++ string(1) "2" ++} ++object(stdClass)#%d (2) { ++ ["l1"]=> ++ array(1) { ++ ["l2"]=> ++ string(1) "2" ++ } ++ ["l2"]=> ++ array(1) { ++ ["l3"]=> ++ array(1) { ++ ["l4"]=> ++ string(1) "3" ++ } ++ } ++} ++ ++Clone modifications do not alter global instance: ++str=abc&num=-123&dec=123.123&bool=1&arr%5B0%5D=1&arr%5B1%5D=2&ma%5Bl1%5D%5Bl2%5D=2&ma%5Bl2%5D%5Bl3%5D%5Bl4%5D=3 ++ ++Clone modifications do not alter standard instance: ++str=abc&num=-123&dec=123.123&bool=1&arr%5B0%5D=1&arr%5B1%5D=2&ma%5Bl1%5D%5Bl2%5D=2&ma%5Bl2%5D%5Bl3%5D%5Bl4%5D=3 ++str=abc&num=-123&dec=123.123&bool=1&arr%5B0%5D=1&arr%5B1%5D=2&arr%5B3%5D=3&ma%5Bl1%5D%5Bl2%5D=2&ma%5Bl2%5D%5Bl3%5D%5Bl4%5D=3 ++ ++Iterator: ++str: abc ++num: -123 ++dec: 123.123 ++bool: 1 ++arr: Array ++ 0: 1 ++ 1: 2 ++ma: Array ++ l1: Array ++ l2: 2 ++ l2: Array ++ l3: Array ++ l4: 3 ++ ++Replace a multi dimensional key: ++str=abc&num=-123&dec=123.123&bool=1&arr%5B0%5D=1&arr%5B1%5D=2&ma%5Bl1%5D= ++ ++Xlate: ++utf8: %C3%BC=%C3%B6 ++latin1: %FC=%F6 ++ ++Offsets: ++array(2) { ++ ["l1"]=> ++ array(1) { ++ ["l2"]=> ++ string(1) "2" ++ } ++ ["l2"]=> ++ array(1) { ++ ["l3"]=> ++ array(1) { ++ ["l4"]=> ++ string(1) "3" ++ } ++ } ++} ++array(1) { ++ [0]=> ++ string(3) "bye" ++} ++bool(true) ++bool(false) ++Done diff --git a/php-pecl-http.spec b/php-pecl-http.spec index bf9ceb8..3fcacab 100644 --- a/php-pecl-http.spec +++ b/php-pecl-http.spec @@ -43,7 +43,7 @@ Version: 3.1.0 Release: 0.2.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz %else -Release: 4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 5%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Source0: http://pecl.php.net/get/%{proj_name}-%{version}%{?prever}.tgz %endif Summary: Extended HTTP support @@ -55,6 +55,8 @@ URL: http://pecl.php.net/package/pecl_http # From http://www.php.net/manual/en/http.configuration.php Source1: %{proj_name}.ini +Patch0: 1b1435c135c69d81b47f1f0662633867c5c289b5.patch + BuildRequires: %{?scl_prefix}php-devel >= 7 BuildRequires: %{?scl_prefix}php-hash BuildRequires: %{?scl_prefix}php-spl @@ -163,6 +165,8 @@ mv %{proj_name}-%{version}%{?prever} NTS %{?_licensedir:sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml} cd NTS +%patch0 -p1 -b .upstream + extver=$(sed -n '/#define PHP_PECL_HTTP_VERSION/{s/.* "//;s/".*$//;p}' php_http.h) if test "x${extver}" != "x%{version}%{?prever}%{?gh_date:dev}"; then : Error: Upstream HTTP version is now ${extver}, expecting %{version}%{?prever}%{?gh_date:dev}. @@ -337,6 +341,9 @@ fi %changelog +* Fri Jun 23 2017 Remi Collet - 3.1.0-5 +- add upstream patch for 7.2 + * Tue May 9 2017 Remi Collet - 3.1.0-4 - drop dependency on libidn, only use libicu, #1449142 -- cgit