From 13d724560a04c3ac124356a710f8a2da0cdcf3ab Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 14 Nov 2017 08:28:16 +0100 Subject: patch from https://github.com/horde/Compress/pull/1 --- php-horde-Horde-Compress-pr1.patch | 38 +++++++++++++ php-horde-Horde-Compress-pr219.patch | 103 ----------------------------------- php-horde-Horde-Compress.spec | 11 ++-- 3 files changed, 45 insertions(+), 107 deletions(-) create mode 100644 php-horde-Horde-Compress-pr1.patch delete mode 100644 php-horde-Horde-Compress-pr219.patch diff --git a/php-horde-Horde-Compress-pr1.patch b/php-horde-Horde-Compress-pr1.patch new file mode 100644 index 0000000..4fea729 --- /dev/null +++ b/php-horde-Horde-Compress-pr1.patch @@ -0,0 +1,38 @@ +From 85336803f0d78ce9d5530617898e0809cddb3c50 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Tue, 14 Nov 2017 08:15:39 +0100 +Subject: [PATCH] don't rely on directory order + +--- + test/Horde/Compress/TarTest.php | 3 +++ + test/Horde/Compress/ZipTest.php | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/test/Horde/Compress/TarTest.php b/test/Horde/Compress/TarTest.php +index 1875f8b..af1a2ca 100644 +--- a/test/Horde/Compress/TarTest.php ++++ b/test/Horde/Compress/TarTest.php +@@ -111,6 +111,9 @@ public function testTarDirectory() + $this->assertNotEmpty($tar_data); + + $list = $compress->decompress($tar_data); ++ usort($list, function ($a, $b) { ++ return strcmp($a['name'], $b['name']); ++ }); + $this->assertCount(3, $list); + $this->assertEquals('one.txt', $list[0]['name']); + $this->assertEquals(4, $list[0]['size']); +diff --git a/test/Horde/Compress/ZipTest.php b/test/Horde/Compress/ZipTest.php +index 7e215b2..9a74b59 100644 +--- a/test/Horde/Compress/ZipTest.php ++++ b/test/Horde/Compress/ZipTest.php +@@ -142,6 +142,9 @@ public function testZipDirectory() + $list = $compress->decompress( + $zip_data, array('action' => Horde_Compress_Zip::ZIP_LIST) + ); ++ usort($list, function ($a, $b) { ++ return strcmp($a['name'], $b['name']); ++ }); + $this->assertCount(3, $list); + $this->assertEquals('one.txt', $list[0]['name']); + $this->assertEquals(4, $list[0]['size']); diff --git a/php-horde-Horde-Compress-pr219.patch b/php-horde-Horde-Compress-pr219.patch deleted file mode 100644 index 1fd0c76..0000000 --- a/php-horde-Horde-Compress-pr219.patch +++ /dev/null @@ -1,103 +0,0 @@ -From ea2a862f0a0b3bc8cedb9adf160f18892d152984 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Wed, 3 May 2017 13:29:53 +0200 -Subject: [PATCH] don't rely on directory entries order - ---- - framework/Compress/test/Horde/Compress/TarTest.php | 24 ++++++++++++++-------- - framework/Compress/test/Horde/Compress/ZipTest.php | 24 ++++++++++++++-------- - 2 files changed, 30 insertions(+), 18 deletions(-) - -diff --git a/framework/Compress/test/Horde/Compress/TarTest.php b/framework/Compress/test/Horde/Compress/TarTest.php -index 1875f8b..82ba8a1 100644 ---- a/framework/Compress/test/Horde/Compress/TarTest.php -+++ b/framework/Compress/test/Horde/Compress/TarTest.php -@@ -112,14 +112,20 @@ public function testTarDirectory() - - $list = $compress->decompress($tar_data); - $this->assertCount(3, $list); -- $this->assertEquals('one.txt', $list[0]['name']); -- $this->assertEquals(4, $list[0]['size']); -- $this->assertEquals("One\n", $list[0]['data']); -- $this->assertEquals('sub/three.txt', $list[1]['name']); -- $this->assertEquals(6, $list[1]['size']); -- $this->assertEquals("Three\n", $list[1]['data']); -- $this->assertEquals('two.bin', $list[2]['name']); -- $this->assertEquals(2, $list[2]['size']); -- $this->assertEquals("\x02\x0a", $list[2]['data']); -+ for ($i=0 ; $i<3 ; $i++) { -+ $list[$list[$i]['name']] = $list[$i]; -+ unset($list[$i]); -+ } -+ $this->assertArrayHasKey($k='one.txt', $list); -+ $this->assertEquals(4, $list[$k]['size']); -+ $this->assertEquals("One\n", $list[$k]['data']); -+ -+ $this->assertArrayHasKey($k='sub/three.txt', $list); -+ $this->assertEquals(6, $list[$k]['size']); -+ $this->assertEquals("Three\n", $list[$k]['data']); -+ -+ $this->assertArrayHasKey($k='two.bin', $list); -+ $this->assertEquals(2, $list[$k]['size']); -+ $this->assertEquals("\x02\x0a", $list[$k]['data']); - } - } -diff --git a/framework/Compress/test/Horde/Compress/ZipTest.php b/framework/Compress/test/Horde/Compress/ZipTest.php -index 7e215b2..25729b6 100644 ---- a/framework/Compress/test/Horde/Compress/ZipTest.php -+++ b/framework/Compress/test/Horde/Compress/ZipTest.php -@@ -143,39 +143,45 @@ public function testZipDirectory() - $zip_data, array('action' => Horde_Compress_Zip::ZIP_LIST) - ); - $this->assertCount(3, $list); -- $this->assertEquals('one.txt', $list[0]['name']); -- $this->assertEquals(4, $list[0]['size']); -- $this->assertEquals('sub/three.txt', $list[1]['name']); -- $this->assertEquals(6, $list[1]['size']); -- $this->assertEquals('two.bin', $list[2]['name']); -- $this->assertEquals(2, $list[2]['size']); -+ for ($i=0 ; $i<3 ; $i++) { -+ $index[$list[$i]['name']] = $i; -+ } - -+ $this->assertArrayHasKey($k='one.txt', $index); -+ $this->assertEquals($k, $list[$index[$k]]['name']); -+ $this->assertEquals(4, $list[$index[$k]]['size']); - $data = $compress->decompress( - $zip_data, - array( - 'action' => Horde_Compress_Zip::ZIP_DATA, - 'info' => $list, -- 'key' => 0 -+ 'key' => $index[$k] - ) - ); - $this->assertEquals("One\n", $data); - -+ $this->assertArrayHasKey($k='sub/three.txt', $index); -+ $this->assertEquals($k, $list[$index[$k]]['name']); -+ $this->assertEquals(6, $list[$index[$k]]['size']); - $data = $compress->decompress( - $zip_data, - array( - 'action' => Horde_Compress_Zip::ZIP_DATA, - 'info' => $list, -- 'key' => 1 -+ 'key' => $index[$k] - ) - ); - $this->assertEquals("Three\n", $data); - -+ $this->assertArrayHasKey($k='two.bin', $index); -+ $this->assertEquals('two.bin', $list[$index[$k]]['name']); -+ $this->assertEquals(2, $list[$index[$k]]['size']); - $data = $compress->decompress( - $zip_data, - array( - 'action' => Horde_Compress_Zip::ZIP_DATA, - 'info' => $list, -- 'key' => 2 -+ 'key' => $index[$k] - ) - ); - $this->assertEquals("\x02\x0a", $data); diff --git a/php-horde-Horde-Compress.spec b/php-horde-Horde-Compress.spec index f45a7ed..51cc790 100644 --- a/php-horde-Horde-Compress.spec +++ b/php-horde-Horde-Compress.spec @@ -13,7 +13,7 @@ Name: php-horde-Horde-Compress Version: 2.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Horde Compression API Group: Development/Libraries @@ -21,8 +21,8 @@ License: LGPLv2 URL: http://pear.horde.org Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz -# https://github.com/horde/horde/pull/219 -Patch0: %{name}-pr219.patch +# https://github.com/horde/Compress/pull/1 +Patch0: %{name}-pr1.patch BuildArch: noarch BuildRequires: php-pear(PEAR) >= 1.7.0 @@ -73,7 +73,7 @@ An API for various compression techniques. %prep %setup -q -c cd %{pear_name}-%{version} -%patch0 -p3 -b .pr219 +%patch0 -p1 -b .pr1 # Don't install .po and .pot files # Remove checksum for .mo, as we regenerate them @@ -145,6 +145,9 @@ fi %changelog +* Tue Nov 14 2017 Remi Collet - 2.2.1-2 +- patch from https://github.com/horde/Compress/pull/1 + * Mon Aug 28 2017 Remi Collet - 2.2.1-1 - Update to 2.2.1 -- cgit