summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--php-horde-Horde-Compress-pr219.patch103
-rw-r--r--php-horde-Horde-Compress.spec37
3 files changed, 130 insertions, 17 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1ab5c4f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+package-*.xml
+*.tgz
+*.tar.gz
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/php-horde-Horde-Compress-pr219.patch b/php-horde-Horde-Compress-pr219.patch
new file mode 100644
index 0000000..1fd0c76
--- /dev/null
+++ b/php-horde-Horde-Compress-pr219.patch
@@ -0,0 +1,103 @@
+From ea2a862f0a0b3bc8cedb9adf160f18892d152984 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+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 7781b40..8d299f3 100644
--- a/php-horde-Horde-Compress.spec
+++ b/php-horde-Horde-Compress.spec
@@ -12,7 +12,7 @@
%global pear_channel pear.horde.org
Name: php-horde-Horde-Compress
-Version: 2.1.6
+Version: 2.2.0
Release: 1%{?dist}
Summary: Horde Compression API
@@ -21,7 +21,9 @@ License: LGPLv2
URL: http://pear.horde.org
Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+# https://github.com/horde/horde/pull/219
+Patch0: %{name}-pr219.patch
+
BuildArch: noarch
BuildRequires: php-pear(PEAR) >= 1.7.0
BuildRequires: php-channel(%{pear_channel})
@@ -29,6 +31,11 @@ BuildRequires: gettext
# To run unit tests
BuildRequires: php-pear(%{pear_channel}/Horde_Test) >= 2.1.0
BuildRequires: php-pear(%{pear_channel}/Horde_Stream_Filter) >= 2.0.0
+BuildRequires: php-pear(%{pear_channel}/Horde_Mime) >= 2.5.0
+BuildRequires: php-pear(%{pear_channel}/Horde_Icalendar) >= 2.0.0
+BuildRequires: php-pear(%{pear_channel}/Horde_Mapi) >= 1.0.0
+# avoid Math_Biginteger native implementation
+BuildRequires: php-gmp
Requires(post): %{__pear}
Requires(postun): %{__pear}
@@ -66,11 +73,13 @@ An API for various compression techniques.
%prep
%setup -q -c
cd %{pear_name}-%{version}
+%patch0 -p3 -b .pr219
# Don't install .po and .pot files
# Remove checksum for .mo, as we regenerate them
sed -e '/%{pear_name}.po/d' \
-e '/%{pear_name}.mo/s/md5sum=.*name=/name=/' \
+ -e '/role="test"/s/md5sum=.*name=/name=/' \
../package.xml >%{name}.xml
touch -r ../package.xml %{name}.xml
@@ -106,21 +115,12 @@ done | tee ../%{pear_name}.lang
%check
cd %{pear_name}-%{version}/test/$(echo %{pear_name} | sed -e s:_:/:g)
-# remirepo:11
-run=0
ret=0
-if which php56; then
- php56 %{_bindir}/phpunit . || ret=1
- run=1
-fi
-if which php71; then
- php71 %{_bindir}/phpunit . || ret=1
- run=1
-fi
-if [ $run -eq 0 ]; then
-%{_bindir}/phpunit --verbose .
-# remirepo:2
-fi
+for cmd in php php56 php70 php71 php72; do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit . --verbose || ret=1
+ fi
+done
exit $ret
@@ -135,7 +135,6 @@ if [ $1 -eq 0 ] ; then
fi
%files -f %{pear_name}.lang
-%defattr(-,root,root,-)
%doc %{pear_docdir}/%{pear_name}
%{pear_xmldir}/%{name}.xml
%{pear_phpdir}/Horde/Compress
@@ -146,6 +145,10 @@ fi
%changelog
+* Wed May 3 2017 Remi Collet <remi@remirepo.net> - 2.2.0-1
+- Update to 2.2.0
+- open https://github.com/horde/horde/pull/219 - fix tests
+
* Tue Dec 20 2016 Remi Collet <remi@fedoraproject.org> - 2.1.6-1
- Update to 2.1.6