diff options
| -rw-r--r-- | gnupg-gpg1.patch | 13 | ||||
| -rw-r--r-- | gnupg-php54.patch | 113 | ||||
| -rw-r--r-- | gnupg-svn.patch | 21 | ||||
| -rw-r--r-- | gnupg-tests.patch | 28 | ||||
| -rw-r--r-- | php-pecl-gnupg.spec | 48 | 
5 files changed, 44 insertions, 179 deletions
diff --git a/gnupg-gpg1.patch b/gnupg-gpg1.patch deleted file mode 100644 index 8b079bc..0000000 --- a/gnupg-gpg1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up gnupg-1.3.2/gnupg.c.orig gnupg-1.3.2/gnupg.c ---- gnupg-1.3.2/gnupg.c.orig	2012-01-28 10:24:09.763192106 +0100 -+++ gnupg-1.3.2/gnupg.c	2012-01-28 10:25:36.644195977 +0100 -@@ -137,6 +137,9 @@ static void gnupg_res_init(gnupg_object - 	gpgme_ctx_t	ctx; - 	gpgme_check_version			(NULL); - 	gpgme_new					(&ctx); -+#ifdef GNUPG_PATH -+	gpgme_ctx_set_engine_info(ctx, GPGME_PROTOCOL_OpenPGP, GNUPG_PATH, NULL); -+#endif - 	gpgme_set_armor				(ctx,1); - 	intern->ctx				=	ctx; - 	intern->encryptkeys		=	NULL; diff --git a/gnupg-php54.patch b/gnupg-php54.patch deleted file mode 100644 index 47f7e95..0000000 --- a/gnupg-php54.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff -up gnupg-1.3.2/gnupg.c.php54 gnupg-1.3.2/gnupg.c ---- gnupg-1.3.2/gnupg.c.php54	1970-01-01 10:13:08.000000000 +0100 -+++ gnupg-1.3.2/gnupg.c	2012-05-06 09:36:28.377935185 +0200 -@@ -18,6 +18,7 @@ -  - #include "php.h" - #include "php_ini.h" -+#include "zend_exceptions.h" - #include "ext/standard/info.h" - #include "php_gnupg.h" -  -@@ -53,7 +54,7 @@ static zend_object_handlers gnupg_object - 				php_error_docref(NULL TSRMLS_CC, E_WARNING, (char*)error); \ - 				break; \ - 			case 2: \ --				zend_throw_exception(zend_exception_get_default(), (char*) error, 0 TSRMLS_CC); \ -+				zend_throw_exception(zend_exception_get_default(TSRMLS_C), (char*) error, 0 TSRMLS_CC); \ - 				break; \ - 			default: \ - 				intern->errortxt = (char*)error; \ -@@ -170,7 +171,9 @@ static void gnupg_obj_dtor(gnupg_object - /* {{{ objects_new */ - zend_object_value gnupg_obj_new(zend_class_entry *class_type TSRMLS_DC){ - 	gnupg_object *intern; -+#if PHP_VERSION_ID < 50400 - 	zval *tmp; -+#endif - 	zend_object_value retval; - 	 - 	intern					=	emalloc(sizeof(gnupg_object)); -@@ -179,7 +182,12 @@ zend_object_value gnupg_obj_new(zend_cla - 	 - 	ALLOC_HASHTABLE	(intern->zo.properties); - 	zend_hash_init	(intern->zo.properties, 0, NULL, ZVAL_PTR_DTOR, 0); -+ -+#if PHP_VERSION_ID < 50400 - 	zend_hash_copy	(intern->zo.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); -+#else -+	object_properties_init( (zend_object*)intern, class_type ); -+#endif - 	 - 	retval.handle		=	zend_objects_store_put(intern,NULL,(zend_objects_free_object_storage_t) gnupg_obj_dtor,NULL TSRMLS_CC); - 	retval.handlers		=	(zend_object_handlers *) & gnupg_object_handlers; -@@ -379,7 +387,7 @@ PHP_MINFO_FUNCTION(gnupg) - /* {{{ callback func for setting the passphrase */ -  - gpgme_error_t passphrase_cb (gnupg_object *intern, const char *uid_hint, const char *passphrase_info,int last_was_bad, int fd TSRMLS_DC){ --	char uid[16]; -+	char uid[17]; - 	int idx; - 	char *passphrase = NULL; - 	zval *return_value = NULL; -@@ -407,7 +415,7 @@ gpgme_error_t passphrase_cb (gnupg_objec - } -  - gpgme_error_t passphrase_decrypt_cb (gnupg_object *intern, const char *uid_hint, const char *passphrase_info,int last_was_bad, int fd TSRMLS_DC){ --    char uid[16]; -+    char uid[17]; -     int idx; -     char *passphrase = NULL; - 	zval *return_value = NULL; -@@ -1244,7 +1252,6 @@ PHP_FUNCTION(gnupg_decryptverify){ -     gpgme_data_t            in, out; - 	gpgme_decrypt_result_t	decrypt_result; - 	gpgme_verify_result_t	verify_result; --	gpgme_signature_t       gpg_signatures; -  - 	GNUPG_GETOBJ(); -  -@@ -1472,13 +1479,12 @@ PHP_FUNCTION(gnupg_gettrustlist){ - /* {{{ proto array gnupg_listsignatures(string keyid) */ - PHP_FUNCTION(gnupg_listsignatures){ - 	char	*keyid; --	char	keyid_len; -+	int	keyid_len; -  - 	zval	*sub_arr; - 	zval	*sig_arr; -  - 	gpgme_key_t		gpgme_key; --	gpgme_subkey_t	gpgme_subkey; - 	gpgme_user_id_t	gpgme_userid; - 	gpgme_key_sig_t	gpgme_signature; -  -diff -up gnupg-1.3.2/gnupg_keylistiterator.c.php54 gnupg-1.3.2/gnupg_keylistiterator.c ---- gnupg-1.3.2/gnupg_keylistiterator.c.php54	1970-01-01 10:13:08.000000000 +0100 -+++ gnupg-1.3.2/gnupg_keylistiterator.c	2012-05-06 09:35:59.584823512 +0200 -@@ -23,6 +23,7 @@ - #include "php_ini.h" - #include "ext/standard/info.h" - #include "zend_interfaces.h" -+#include "zend_exceptions.h" - #include "php_gnupg.h" - #include "php_gnupg_keylistiterator.h" -  -@@ -148,7 +149,7 @@ PHP_METHOD(gnupg_keylistiterator,next){ - 		gpgme_key_release(intern->gpgkey); - 	} -  --	if(intern->err = gpgme_op_keylist_next(intern->ctx, &intern->gpgkey)){ -+	if((intern->err = gpgme_op_keylist_next(intern->ctx, &intern->gpgkey))){ - 		gpgme_key_release(intern->gpgkey); - 		intern->gpgkey = NULL; - 	} -@@ -159,7 +160,7 @@ PHP_METHOD(gnupg_keylistiterator,rewind) - 	GNUPG_GET_ITERATOR(); -  - 	if((intern->err = gpgme_op_keylist_start(intern->ctx, Z_STRVAL(intern->pattern), 0)) != GPG_ERR_NO_ERROR){ --		zend_throw_exception(zend_exception_get_default(),gpg_strerror(intern->err),1 TSRMLS_CC); -+		zend_throw_exception(zend_exception_get_default(TSRMLS_C),gpg_strerror(intern->err),1 TSRMLS_CC); - 	} - 	if((intern->err = gpgme_op_keylist_next(intern->ctx, &intern->gpgkey))!=GPG_ERR_NO_ERROR){ - 		RETURN_FALSE; diff --git a/gnupg-svn.patch b/gnupg-svn.patch new file mode 100644 index 0000000..2df6cee --- /dev/null +++ b/gnupg-svn.patch @@ -0,0 +1,21 @@ +--- pecl/gnupg/trunk/php_gnupg.h	2013/07/17 11:48:09	330949 ++++ pecl/gnupg/trunk/php_gnupg.h	2013/07/17 11:55:40	330950 +@@ -19,7 +19,7 @@ + extern zend_module_entry gnupg_module_entry; + #define phpext_gnupg_ptr &gnupg_module_entry +  +-#define PHP_GNUPG_VERSION "1.3.3-dev" ++#define PHP_GNUPG_VERSION "1.3.3" +  + #ifdef PHP_WIN32 + #define PHP_GNUPG_API __declspec(dllexport) +--- pecl/gnupg/trunk/gnupg.c	2013/07/17 12:00:06	330953 ++++ pecl/gnupg/trunk/gnupg.c	2013/07/17 12:11:24	330954 +@@ -1307,7 +1307,6 @@ + 	if(!verify_result->signatures){ +         GNUPG_ERR           ("no signature found"); + 		gpgme_data_release(in); +-		free(out); +         return; +     } + 	gnupg_fetchsignatures   (verify_result->signatures, return_value); diff --git a/gnupg-tests.patch b/gnupg-tests.patch deleted file mode 100644 index f26b53e..0000000 --- a/gnupg-tests.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up gnupg-1.3.2/tests/gnupg_oo_export.phpt.orig gnupg-1.3.2/tests/gnupg_oo_export.phpt ---- gnupg-1.3.2/tests/gnupg_oo_export.phpt.orig	2012-01-28 08:43:44.138922329 +0100 -+++ gnupg-1.3.2/tests/gnupg_oo_export.phpt	2012-01-28 08:44:44.152924641 +0100 -@@ -11,8 +11,8 @@ $ret = $gpg -> export($fingerprint); - var_dump($ret); - ?> - --EXPECTF-- --string(1336) "-----BEGIN PGP PUBLIC KEY BLOCK----- --Version: GnuPG v1.4.3 (GNU/Linux) -+string(%d) "-----BEGIN PGP PUBLIC KEY BLOCK----- -+Version: GnuPG v%d.%d.%d (GNU/Linux) -  - mQGiBENQAKwRBADpy828KU+0SuoetJTrJ5dR86PiO3CsH8K6QRP7wY82Eh/9NTJ3 - afRj0FNPaVSP0NciPeM4G4uFoQ3lsIf+FBEPXH1D97/XigWObU8K6ha2/s8wU98z -diff -up gnupg-1.3.2/tests/gnupg_res_export.phpt.orig gnupg-1.3.2/tests/gnupg_res_export.phpt ---- gnupg-1.3.2/tests/gnupg_res_export.phpt.orig	2012-01-28 08:43:54.576921963 +0100 -+++ gnupg-1.3.2/tests/gnupg_res_export.phpt	2012-01-28 08:44:40.582924190 +0100 -@@ -9,8 +9,8 @@ $ret = gnupg_export($gpg, $fingerprint); - var_dump($ret); - ?> - --EXPECTF-- --string(1336) "-----BEGIN PGP PUBLIC KEY BLOCK----- --Version: GnuPG v1.4.3 (GNU/Linux) -+string(%d) "-----BEGIN PGP PUBLIC KEY BLOCK----- -+Version: GnuPG v%d.%d.%d (GNU/Linux) -  - mQGiBENQAKwRBADpy828KU+0SuoetJTrJ5dR86PiO3CsH8K6QRP7wY82Eh/9NTJ3 - afRj0FNPaVSP0NciPeM4G4uFoQ3lsIf+FBEPXH1D97/XigWObU8K6ha2/s8wU98z diff --git a/php-pecl-gnupg.spec b/php-pecl-gnupg.spec index 4269576..85a90c2 100644 --- a/php-pecl-gnupg.spec +++ b/php-pecl-gnupg.spec @@ -11,22 +11,17 @@  Summary:      Wrapper around the gpgme library  Name:         php-pecl-gnupg -Version:      1.3.2 -Release:      4%{?dist} +Version:      1.3.3 +Release:      1%{?dist}.1  License:      BSD  Group:        Development/Languages  URL:          http://pecl.php.net/package/gnupg  Source0:      http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -# http://svn.php.net/viewvc/pecl/gnupg/trunk/tests/vars.inc?view=co -Source1:      vars.inc -# https://bugs.php.net/60915 PHP 5.4 build -Patch0:       gnupg-php54.patch -# https://bugs.php.net/60913 Fix test suite -Patch1:       gnupg-tests.patch -# https://bugs.php.net/60916 Force use of /usr/bin/gpg -Patch2:       gnupg-gpg1.patch +# http://svn.php.net/viewvc?view=revision&revision=330950 Fix version +# http://svn.php.net/viewvc?view=revision&revision=330954 Fix double-free +Patch0:       %{pecl_name}-svn.patch  BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)  BuildRequires: php-devel @@ -69,32 +64,27 @@ Documentation : http://www.php.net/gnupg  %prep   %setup -c -q -cp %{SOURCE1} %{pecl_name}-%{version}/tests -%patch0 -p0 -b .php54 -%patch1 -p0 -b .tests -%patch2 -p0 -b .gpg1 -  # Create configuration file  cat >%{pecl_name}.ini << 'EOF'  ; Enable %{pecl_name} extension module  extension=%{pecl_name}.so  EOF +cd %{pecl_name}-%{version}/ +%patch0 -p3 -b .svn +  %if 0%{?rhel} == 5  # GnuPG seems to old -rm -f %{pecl_name}-%{version}/tests/gnupg_{oo,res}_listsignatures.phpt +rm -f tests/gnupg_{oo,res}_listsignatures.phpt  %endif -# Fix version for phpinfo() -# https://bugs.php.net/60914 -sed -i -e /PHP_GNUPG_VERSION/s/1.3.2-dev/1.3.2/ %{pecl_name}-%{version}/php_gnupg.h -  # Check extension version -extver=$(sed -n '/#define PHP_GNUPG_VERSION/{s/.* "//;s/".*$//;p}' %{pecl_name}-%{version}/php_gnupg.h) +extver=$(sed -n '/#define PHP_GNUPG_VERSION/{s/.* "//;s/".*$//;p}' php_gnupg.h)  if test "x${extver}" != "x%{version}"; then     : Error: Upstream extension version is ${extver}, expecting %{version}.     exit 1  fi +cd ..  # Build ZTS extension if ZTS devel available (fedora >= 17)  cp -r %{pecl_name}-%{version} %{pecl_name}-zts @@ -121,8 +111,6 @@ make %{?_smp_mflags}  %install  rm -rf %{buildroot} -# for short-circuit -rm -rf %{pecl_name}-*/modules/{json,mysqlnd}.so  make install -C %{pecl_name}-%{version} \       INSTALL_ROOT=%{buildroot} @@ -157,9 +145,16 @@ cd %{pecl_name}-%{version}  unset GPG_AGENT_INFO +# ignore test result on EL-6 which only have gnupg2 +%if 0%{?rhel} == 6 +status=0 +%else +status=1 +%endif +  # run full test suite  TEST_PHP_EXECUTABLE=%{_bindir}/php \ -REPORT_EXIT_STATUS=0 \ +REPORT_EXIT_STATUS=$status \  NO_INTERACTION=1 \  php run-tests.php \      -n -q \ @@ -170,7 +165,7 @@ cd ../%{pecl_name}-zts  # run full test suite  TEST_PHP_EXECUTABLE=%{__ztsphp} \ -REPORT_EXIT_STATUS=0 \ +REPORT_EXIT_STATUS=$status \  NO_INTERACTION=1 \  %{__ztsphp} run-tests.php \      -n -q \ @@ -191,6 +186,9 @@ NO_INTERACTION=1 \  %changelog +* Wed Jul 17 2013 Remi Collet <remi@fedoraproject.org> - 1.3.3-1 +- update to 1.3.3 +  * Sun Jun 30 2013 Remi Collet <remi@fedoraproject.org> - 1.3.2-4  - ignore test result  | 
