summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElan Ruusamäe2014-05-14 16:26:32 (GMT)
committerElan Ruusamäe2014-05-14 16:26:32 (GMT)
commit4cf8a2f74892c75ceb847683157a88a3e9c114b6 (patch)
tree5b3f132c167b876dffe418f5a43b32748e412015
parent7a1353301dad78b3925d94f3e795109826b2f303 (diff)
downloadphp-pear-PEAR-4cf8a2f74892c75ceb847683157a88a3e9c114b6.zip
php-pear-PEAR-4cf8a2f74892c75ceb847683157a88a3e9c114b6.tar.gz
check required php extensions early, before PEAR monstrocity gives uninformative errors
-rw-r--r--ext-check.patch19
-rw-r--r--php-pear-PEAR.spec8
2 files changed, 24 insertions, 3 deletions
diff --git a/ext-check.patch b/ext-check.patch
new file mode 100644
index 0000000..440c847
--- /dev/null
+++ b/ext-check.patch
@@ -0,0 +1,19 @@
+--- PEAR-1.9.4/usr/share/pear/pearcmd.php~ 2014-05-14 19:21:49.000000000 +0300
++++ PEAR-1.9.4/usr/share/pear/pearcmd.php 2014-05-14 19:21:53.064418441 +0300
+@@ -45,6 +45,16 @@
+
+ $pear_package_version = "1.9.4";
+
++// before trying anything deep, ensure base extensions are present
++// this avoids debugging problems with bogus error messages, which really are
++// caused by missing extension
++foreach (array('pcre', 'zlib', 'xml2') as $ext) {
++ if (!extension_loaded($ext)) {
++ error_log("$argv[0] requires PHP extension $ext.");
++ exit(1);
++ }
++}
++
+ require_once 'PEAR.php';
+ require_once 'PEAR/Frontend.php';
+ require_once 'PEAR/Config.php';
diff --git a/php-pear-PEAR.spec b/php-pear-PEAR.spec
index 5ee4188..f665ce7 100644
--- a/php-pear-PEAR.spec
+++ b/php-pear-PEAR.spec
@@ -12,7 +12,7 @@ Summary: PEAR Base System
Summary(pl.UTF-8): Podstawowy system PEAR
Name: php-pear-%{_pearname}
Version: 1.9.4
-Release: 4
+Release: 5
Epoch: 1
License: New BSD License
Group: Development/Languages/PHP
@@ -23,7 +23,8 @@ Source1: http://pear.php.net/get/Console_Getopt-1.2.3.tgz
Source2: http://pear.php.net/get/Structures_Graph-1.0.3.tgz
# Source2-md5: d2d8db74818be5cb0af7def3fc285bfc
Patch0: %{name}-sysconfdir.patch
-Patch5: %{name}-FHS.patch
+Patch1: ext-check.patch
+Patch2: %{name}-FHS.patch
URL: http://pear.php.net/package/PEAR
BuildRequires: /usr/bin/php
BuildRequires: php-pcre
@@ -118,7 +119,8 @@ oraz klasy dla PHP 5:
%pear_package_setup -z -D -n %{_pearname}-%{version}%{?_rc}
%patch0 -p1
-%{?with_FHS:%patch5 -p1}
+%patch1 -p1
+%{?with_FHS:%patch2 -p1}
find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v