22783036 update libgpg-error to version 1.21
authorJan Friedel <jan.friedel@oracle.com>
Mon, 23 May 2016 23:09:59 -0700
changeset 6050 7adf81b65d0d
parent 6049 d4f828709d1c
child 6051 b82321ce36f1
22783036 update libgpg-error to version 1.21
components/libgpg-error/Makefile
components/libgpg-error/libgpg-error.p5m
components/libgpg-error/patches/10_gpgrt_lock_t-misalignment_1.patch
components/libgpg-error/patches/10_gpgrt_lock_t-misalignment_2.patch
components/libgpg-error/patches/10_gpgrt_lock_t-misalignment_3.patch
components/libgpg-error/patches/libgpg-error-01-gettext.patch
components/libgpg-error/test/results-all.master
--- a/components/libgpg-error/Makefile	Fri May 13 15:40:39 2016 -0500
+++ b/components/libgpg-error/Makefile	Mon May 23 23:09:59 2016 -0700
@@ -26,15 +26,15 @@
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		libgpg-error
-COMPONENT_VERSION=	1.12
+COMPONENT_VERSION=	1.21
 COMPONENT_PROJECT_URL=  ftp://ftp.gnupg.org/gcrypt/$(COMPONENT_NAME)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.bz2
 COMPONENT_ARCHIVE_HASH= \
-    sha256:cafc9ed6a87c53a35175d5a1220a96ca386696eef2fa059cc0306211f246e55f
+    sha256:b7dbdb3cad63a740e9f0c632a1da32d4afdb694ec86c8625c98ea0691713b84d
 COMPONENT_ARCHIVE_URL=  ftp://ftp.gnupg.org/gcrypt/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	library/libgpg-error
 
-TPNO=			7588
+TPNO=			26277
 
 COMPONENT_BUILD_TARGETS = all info
 
@@ -42,6 +42,7 @@
 
 CONFIGURE_OPTIONS += --sysconfdir=$(ETCDIR)
 CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
+CONFIGURE_OPTIONS += --enable-threads=posix
 
 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
 
--- a/components/libgpg-error/libgpg-error.p5m	Fri May 13 15:40:39 2016 -0500
+++ b/components/libgpg-error/libgpg-error.p5m	Mon May 23 23:09:59 2016 -0700
@@ -20,9 +20,10 @@
 #
 
 #
-# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
 #
 
+<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
 set name=pkg.fmri \
     value=pkg:/library/security/libgpg-error@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="Common error codes for GnuPG, libgcrypt"
@@ -41,30 +42,37 @@
 file path=usr/bin/gpg-error
 file usr/bin/$(MACH32)/gpg-error-config path=usr/bin/gpg-error-config
 file path=usr/include/gpg-error.h
-link path=usr/lib/$(MACH64)/libgpg-error.so target=libgpg-error.so.0.10.0
-link path=usr/lib/$(MACH64)/libgpg-error.so.0 target=libgpg-error.so.0.10.0
-file path=usr/lib/$(MACH64)/libgpg-error.so.0.10.0
-link path=usr/lib/libgpg-error.so target=libgpg-error.so.0.10.0
-link path=usr/lib/libgpg-error.so.0 target=libgpg-error.so.0.10.0
-file path=usr/lib/libgpg-error.so.0.10.0
+link path=usr/lib/$(MACH64)/libgpg-error.so target=libgpg-error.so.0.17.0
+link path=usr/lib/$(MACH64)/libgpg-error.so.0 target=libgpg-error.so.0.17.0
+file path=usr/lib/$(MACH64)/libgpg-error.so.0.17.0
+link path=usr/lib/libgpg-error.so target=libgpg-error.so.0.17.0
+link path=usr/lib/libgpg-error.so.0 target=libgpg-error.so.0.17.0
+file path=usr/lib/libgpg-error.so.0.17.0
 file path=usr/share/aclocal/gpg-error.m4
 file path=usr/share/common-lisp/source/gpg-error/gpg-error-codes.lisp
 file path=usr/share/common-lisp/source/gpg-error/gpg-error-package.lisp
 file path=usr/share/common-lisp/source/gpg-error/gpg-error.asd
 file path=usr/share/common-lisp/source/gpg-error/gpg-error.lisp
+file path=usr/share/info/gpgrt.info
 file path=usr/share/locale/cs/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/da/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/de/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/eo/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/fr/LC_MESSAGES/libgpg-error.mo
+file path=usr/share/locale/hu/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/it/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/ja/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/nl/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/pl/LC_MESSAGES/libgpg-error.mo
+file path=usr/share/locale/pt/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/ro/LC_MESSAGES/libgpg-error.mo
+file path=usr/share/locale/ru/LC_MESSAGES/libgpg-error.mo
+file path=usr/share/locale/sr/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/sv/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/uk/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/vi/LC_MESSAGES/libgpg-error.mo
 file path=usr/share/locale/zh_CN/LC_MESSAGES/libgpg-error.mo
+file path=usr/share/locale/zh_TW/LC_MESSAGES/libgpg-error.mo
+file path=usr/share/man/man1/gpg-error-config.1
 license COPYING license=GPLv2
 license COPYING.LIB license=LGPLv2.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libgpg-error/patches/10_gpgrt_lock_t-misalignment_1.patch	Mon May 23 23:09:59 2016 -0700
@@ -0,0 +1,129 @@
+#
+# Partial fix for: https://bugs.gnupg.org/gnupg/issue2144.
+#
+# The patch comes from the upstream. Add support for Solaris, fixing HPPA:
+# http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commitdiff;h=5168b97fb5e2eebdc99b40f96f9b6289647e87d2
+#
+--- a/configure.ac
++++ b/configure.ac
+@@ -274,20 +274,6 @@ if test "$GCC" = yes; then
+ fi
+ 
+ #
+-# Check whether the compiler supports the GCC style aligned attribute
+-#
+-AC_CACHE_CHECK([whether the GCC style aligned attribute is supported],
+-       [gcry_cv_gcc_attribute_aligned],
+-       [gcry_cv_gcc_attribute_aligned=no
+-        AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+-          [[struct { int a; } foo __attribute__ ((aligned (16)));]])],
+-          [gcry_cv_gcc_attribute_aligned=yes])])
+-if test "$gcry_cv_gcc_attribute_aligned" = "yes" ; then
+-   AC_DEFINE(HAVE_GCC_ATTRIBUTE_ALIGNED,1,
+-     [Defined if a GCC style "__attribute__ ((aligned (n))" is supported])
+-fi
+-
+-#
+ # Check for ELF visibility support.
+ #
+ AC_CACHE_CHECK(whether the visibility attribute is supported,
+@@ -416,6 +402,25 @@ else
+   fi
+ fi
+ 
++# Default value for GPG_ERROR_CONFIG_LIBS
++config_libs="-lgpg-error"
++
++#
++# Check for other libraries (now only for -lrt).
++#
++# Save and restore LIBS so e.g., -lrt, isn't added to it.  Otherwise, *all*
++# programs in the package would end up linked with that potentially-shared
++# library, inducing unnecessary run-time overhead.
++LIB_SCHED_YIELD=
++AC_SUBST([LIB_SCHED_YIELD])
++gl_saved_libs=$LIBS
++AC_SEARCH_LIBS([sched_yield], [rt posix4],
++               [if test "$ac_cv_search_sched_yield" != "none required"; then
++                  LIB_SCHED_YIELD=$ac_cv_search_sched_yield
++                  config_libs="$config_libs $LIB_SCHED_YIELD"
++                fi])
++LIBS=$gl_saved_libs
++
+ #
+ # Prepare building of estream
+ #
+@@ -424,7 +429,7 @@ estream_INIT
+ #
+ # Substitution used for gpg-error-config
+ #
+-GPG_ERROR_CONFIG_LIBS="-lgpg-error"
++GPG_ERROR_CONFIG_LIBS="$config_libs"
+ if test "x$LIBTHREAD" != x; then
+   GPG_ERROR_CONFIG_LIBS="${GPG_ERROR_CONFIG_LIBS} ${LIBTHREAD}"
+ fi
+@@ -544,11 +549,3 @@ echo "
+         Revision: mym4_revision  (mym4_revision_dec)
+         Platform: $host$tmp
+ "
+-if test "$gcry_cv_gcc_attribute_aligned" != "yes" ; then
+-cat <<G10EOF
+-***
+-***  Please note that your compiler does not support the GCC style
+-***  aligned attribute.  Using this software may evoke bus errors.
+-***
+-G10EOF
+-fi
+diff --git a/src/gen-posix-lock-obj.c b/src/gen-posix-lock-obj.c
+index 22de456..83356ad 100644
+--- a/src/gen-posix-lock-obj.c
++++ b/src/gen-posix-lock-obj.c
+@@ -43,15 +43,15 @@
+ #endif
+ 
+ /* Special requirements for certain platforms.  */
+-#if defined(__hppa__) && defined(__linux__)
+-# define USE_16BYTE_ALIGNMENT 1
++#if defined(__solaris__) && (defined (__ILP32__) || defined(_ILP32))
++# define USE_DOUBLE_FOR_ALIGNMENT 1
+ #else
+-# define USE_16BYTE_ALIGNMENT 0
++# define USE_DOUBLE_FOR_ALIGNMENT 0
+ #endif
+-
+-
+-#if USE_16BYTE_ALIGNMENT && !HAVE_GCC_ATTRIBUTE_ALIGNED
+-# error compiler is not able to enforce a 16 byte alignment
++#if defined(__hppa__)
++# define USE_LONG_DOUBLE_FOR_ALIGNMENT 1
++#else
++# define USE_LONG_DOUBLE_FOR_ALIGNMENT 0
+ #endif
+ 
+ #ifdef USE_POSIX_THREADS
+@@ -116,8 +116,10 @@ main (void)
+           "\n"
+           "#define GPGRT_LOCK_INITIALIZER {%d,{{",
+           SIZEOF_PTHREAD_MUTEX_T,
+-# if USE_16BYTE_ALIGNMENT
+-          "    int _x16_align __attribute__ ((aligned (16)));\n",
++# if USE_DOUBLE_FOR_ALIGNMENT
++          "    double _xd_align;\n",
++# elif USE_LONG_DOUBLE_FOR_ALIGNMENT
++          "    long double _xld_align;\n",
+ # else
+           "",
+ # endif
+diff --git a/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h b/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
+index b57bb76..3682577 100644
+--- a/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
++++ b/src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h
+@@ -7,7 +7,7 @@ typedef struct
+   long _vers;
+   union {
+     volatile char _priv[48];
+-    int _x16_align __attribute__ ((aligned (16)));
++    long double _xld_align;
+     long _x_align;
+     long *_xp_align;
+   } u;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libgpg-error/patches/10_gpgrt_lock_t-misalignment_2.patch	Mon May 23 23:09:59 2016 -0700
@@ -0,0 +1,18 @@
+#
+# Partial fix for: https://bugs.gnupg.org/gnupg/issue2144.
+#
+# The patch comes from the upstream. Fix for Solaris:
+# http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commitdiff;h=34b07146bbb0863436fc9381a84314b18bdfb807
+#
+--- a/src/gen-posix-lock-obj.c
++++ b/src/gen-posix-lock-obj.c
+@@ -43,7 +43,7 @@
+ #endif
+ 
+ /* Special requirements for certain platforms.  */
+-#if defined(__solaris__) && (defined (__ILP32__) || defined(_ILP32))
++#if defined(__solaris__) && !defined (__LP64__) && !defined(_LP64)
+ # define USE_DOUBLE_FOR_ALIGNMENT 1
+ #else
+ # define USE_DOUBLE_FOR_ALIGNMENT 0
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libgpg-error/patches/10_gpgrt_lock_t-misalignment_3.patch	Mon May 23 23:09:59 2016 -0700
@@ -0,0 +1,18 @@
+#
+# Partial fix for: https://bugs.gnupg.org/gnupg/issue2144.
+#
+# The patch comes from the upstream. Fix detecting Solaris operating system.
+# http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commitdiff;h=f7a77c5c236ecec846de9be46703026f9b01008f
+#
+--- a/src/gen-posix-lock-obj.c
++++ b/src/gen-posix-lock-obj.c
+@@ -43,7 +43,8 @@
+ #endif
+ 
+ /* Special requirements for certain platforms.  */
+-#if defined(__solaris__) && !defined (__LP64__) && !defined(_LP64)
++#if defined(__sun) && !defined (__LP64__) && !defined(_LP64)
++/* Solaris on 32-bit architecture.  */
+ # define USE_DOUBLE_FOR_ALIGNMENT 1
+ #else
+ # define USE_DOUBLE_FOR_ALIGNMENT 0
--- a/components/libgpg-error/patches/libgpg-error-01-gettext.patch	Fri May 13 15:40:39 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-Source:
-Internal
-
-Info:
-https://www.gnu.org/software/gettext/manual/html_node/AM_005fGNU_005fGETTEXT_005fVERSION.html
-The AM_GNU_GETTEXT_VERSION macro declares the version number of the GNU 
-gettext infrastructure that is used by the package.
-The use of this macro is optional; only the autopoint program makes use of 
-it.
-
-Status:
-Need to determine if this patch has been sent upstream.
-
---- libgpg-error-1.12/configure.ac.orig	2010-10-26 17:13:48.000000000 +0800
-+++ libgpg-error-1.12/configure.ac	2010-11-11 17:15:10.972945315 +0800
-@@ -110,11 +110,13 @@
- #define GPG_ERR_ENABLE_ERRNO_MACROS 1
- ])
- 
--
--# Note, that autogen.sh greps for the next line.
--AM_GNU_GETTEXT_VERSION([0.17])
--AM_GNU_GETTEXT([external])
--
-+LTLIBINTL=
-+AC_SUBST(LTLIBINTL)
-+GETTEXT_PACKAGE=libgpg-error
-+AC_SUBST(GETTEXT_PACKAGE)
-+ALL_LINGUAS="cs de es fr hu it ja ko pl pt_BR ro ru sv vi zh_CN zh_HK zh_TW    "
-+AM_GLIB_GNU_GETTEXT
-+ 
- # Checks for header files.
- AC_HEADER_STDC
- AC_CHECK_HEADERS([stdlib.h locale.h])
--- a/components/libgpg-error/test/results-all.master	Fri May 13 15:40:39 2016 -0500
+++ b/components/libgpg-error/test/results-all.master	Mon May 23 23:09:59 2016 -0700
@@ -1,19 +1,23 @@
-make[1]: Entering directory `$(@D)'
+make[1]: Entering directory '$(@D)'
 Making check in m4
-make[2]: Entering directory `$(@D)/m4'
-make[2]: Nothing to be done for `check'.
-make[2]: Leaving directory `$(@D)/m4'
+make[2]: Entering directory '$(@D)/m4'
+make[2]: Nothing to be done for 'check'.
+make[2]: Leaving directory '$(@D)/m4'
 Making check in src
-make[2]: Entering directory `$(@D)/src'
+make[2]: Entering directory '$(@D)/src'
 /usr/gnu/bin/make  check-am
-make[3]: Entering directory `$(@D)/src'
-make[3]: Nothing to be done for `check-am'.
-make[3]: Leaving directory `$(@D)/src'
-make[2]: Leaving directory `$(@D)/src'
+make[3]: Entering directory '$(@D)/src'
+make[3]: Nothing to be done for 'check-am'.
+make[3]: Leaving directory '$(@D)/src'
+make[2]: Leaving directory '$(@D)/src'
+Making check in doc
+make[2]: Entering directory '$(@D)/doc'
+make[2]: Nothing to be done for 'check'.
+make[2]: Leaving directory '$(@D)/doc'
 Making check in tests
-make[2]: Entering directory `$(@D)/tests'
+make[2]: Entering directory '$(@D)/tests'
 /usr/gnu/bin/make  check-TESTS
-make[3]: Entering directory `$(@D)/tests'
+make[3]: Entering directory '$(@D)/tests'
 PASS: t-version
 Unspecified source: Success
 gcrypt: Invalid length specifier in S-expression
@@ -23,27 +27,31 @@
 Pinentry: Operation cancelled
 SCD: Card removed
 GPGME: Bad secret key
-Keybox: Unknown error code
+Keybox: Too late to cancel LDAP
 PASS: t-strerror
 PASS: t-syserror
+PASS: t-lock
+PASS: t-printf
+PASS: t-poll
 ==================
-All 3 tests passed
+All 6 tests passed
 ==================
-make[3]: Leaving directory `$(@D)/tests'
-make[2]: Leaving directory `$(@D)/tests'
+make[3]: Leaving directory '$(@D)/tests'
+make[2]: Leaving directory '$(@D)/tests'
 Making check in po
-make[2]: Entering directory `$(@D)/po'
-make[2]: Leaving directory `$(@D)/po'
+make[2]: Entering directory '$(@D)/po'
+make[2]: Nothing to be done for 'check'.
+make[2]: Leaving directory '$(@D)/po'
 Making check in lang
-make[2]: Entering directory `$(@D)/lang'
+make[2]: Entering directory '$(@D)/lang'
 Making check in cl
-make[3]: Entering directory `$(@D)/lang/cl'
-make[3]: Nothing to be done for `check'.
-make[3]: Leaving directory `$(@D)/lang/cl'
-make[3]: Entering directory `$(@D)/lang'
-make[3]: Nothing to be done for `check-am'.
-make[3]: Leaving directory `$(@D)/lang'
-make[2]: Leaving directory `$(@D)/lang'
-make[2]: Entering directory `$(@D)'
-make[2]: Leaving directory `$(@D)'
-make[1]: Leaving directory `$(@D)'
+make[3]: Entering directory '$(@D)/lang/cl'
+make[3]: Nothing to be done for 'check'.
+make[3]: Leaving directory '$(@D)/lang/cl'
+make[3]: Entering directory '$(@D)/lang'
+make[3]: Nothing to be done for 'check-am'.
+make[3]: Leaving directory '$(@D)/lang'
+make[2]: Leaving directory '$(@D)/lang'
+make[2]: Entering directory '$(@D)'
+make[2]: Leaving directory '$(@D)'
+make[1]: Leaving directory '$(@D)'