From be61addff50fc89fa0d30c57df2cd45cc1bbaa95 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 10 Apr 2014 18:54:46 +0200 Subject: php-pecl-jsonc: missing __sync_val_compare_and_swap_4 in el5 i386 --- jsonc-el5-32.patch | 12 ++++++++++++ php-pecl-jsonc.spec | 25 +++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 jsonc-el5-32.patch diff --git a/jsonc-el5-32.patch b/jsonc-el5-32.patch new file mode 100644 index 0000000..bd61b95 --- /dev/null +++ b/jsonc-el5-32.patch @@ -0,0 +1,12 @@ +diff -up jsonc-1.3.5/json-c/linkhash.c.el5 jsonc-1.3.5/json-c/linkhash.c +--- jsonc-1.3.5/json-c/linkhash.c.el5 2014-04-10 18:36:50.000000000 +0200 ++++ jsonc-1.3.5/json-c/linkhash.c 2014-04-10 18:37:07.000000000 +0200 +@@ -405,7 +405,7 @@ unsigned long lh_char_hash(const void *k + int seed; + /* we can't use -1 as it is the unitialized sentinel */ + while ((seed = json_c_get_random_seed()) == -1); +-#if defined __GNUC__ ++#if 0 + __sync_val_compare_and_swap(&random_seed, -1, seed); + #elif defined _MSC_VER + InterlockedCompareExchange(&random_seed, seed, -1); diff --git a/php-pecl-jsonc.spec b/php-pecl-jsonc.spec index 2270611..dca409c 100644 --- a/php-pecl-jsonc.spec +++ b/php-pecl-jsonc.spec @@ -33,12 +33,14 @@ Summary: Support for JSON serialization Name: php-pecl-%{proj_name} Version: 1.3.5 -Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}.1 License: PHP Group: Development/Languages URL: http://pecl.php.net/package/%{proj_name} Source0: http://pecl.php.net/get/%{proj_name}-%{version}.tgz +Patch0: %{proj_name}-el5-32.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: php-devel >= 5.4 BuildRequires: php-pear @@ -108,6 +110,12 @@ Only used to be the best provider for php-json. %setup -q -c cd %{proj_name}-%{version} +%ifarch i386 +%if 0%{?rhel} == 5 +%patch0 -p1 -b .el5 +%endif +%endif + # Sanity check, really often broken extver=$(sed -n '/#define PHP_JSON_VERSION/{s/.* "//;s/".*$//;p}' php_json.h ) if test "x${extver}" != "x%{version}%{?prever:-%{prever}}"; then @@ -183,6 +191,16 @@ done %check cd %{proj_name}-%{version} +: Minimal load test for NTS extension +%{__php} --no-php-ini \ + --define extension=%{buildroot}%{php_extdir}/%{ext_name}.so \ + -m | grep %{pecl_name} + +: Minimal load test for ZTS extension +%{__ztsphp} --no-php-ini \ + --define extension=%{buildroot}%{php_ztsextdir}/%{ext_name}.so \ + -m | grep %{pecl_name} + TEST_PHP_EXECUTABLE=%{_bindir}/php \ TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{ext_name}.so" \ NO_INTERACTION=1 \ @@ -237,8 +255,11 @@ rm -rf %{buildroot} # Note to remi : remember to always build in remi-php55(56) first # %changelog +* Thu Apr 10 2014 Remi Collet - 1.3.5-1.1 +- missing __sync_val_compare_and_swap_4 in el5 i386 + * Thu Apr 10 2014 Remi Collet - 1.3.5-1 -- release 1.3.4 (stable) - security +- release 1.3.5 (stable) - security * Wed Apr 9 2014 Remi Collet - 1.3.4-2 - add numerical prefix to extension configuration file -- cgit