Hello community,

here is the log from the commit of package npth for openSUSE:Factory checked in 
at 2014-11-04 17:29:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/npth (Old)
 and      /work/SRC/openSUSE:Factory/.npth.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "npth"

Changes:
--------
--- /work/SRC/openSUSE:Factory/npth/npth.changes        2014-09-26 
11:21:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.npth.new/npth.changes   2014-11-04 
17:29:49.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Nov  2 21:10:41 UTC 2014 - andreas.stie...@gmx.de
+
+- npth 1.1:
+  * fixes for platforms other than GNU/Linux
+
+-------------------------------------------------------------------

Old:
----
  npth-1.0.tar.bz2
  npth-1.0.tar.bz2.sig

New:
----
  npth-1.1.tar.bz2
  npth-1.1.tar.bz2.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ npth.spec ++++++
--- /var/tmp/diff_new_pack.hb12Tk/_old  2014-11-04 17:29:50.000000000 +0100
+++ /var/tmp/diff_new_pack.hb12Tk/_new  2014-11-04 17:29:50.000000000 +0100
@@ -18,7 +18,7 @@
 
 Name:           npth
 %define lname  libnpth0
-Version:        1.0
+Version:        1.1
 Release:        0
 Summary:        New GNU Portable Threads library
 License:        LGPL-3.0+ or GPL-2.0+

++++++ npth-1.0.tar.bz2 -> npth-1.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/npth-1.0/ChangeLog new/npth-1.1/ChangeLog
--- old/npth-1.0/ChangeLog      2014-09-18 08:09:54.000000000 +0200
+++ new/npth-1.1/ChangeLog      2014-10-31 07:52:35.000000000 +0100
@@ -1,3 +1,18 @@
+2014-10-31  Werner Koch  <w...@gnupg.org>
+
+       Release 1.1.
+       * configure.ac: Set LT version to C0/A0/R4.
+
+2014-10-29  Werner Koch  <w...@gnupg.org>
+
+       Allow use on systems which return ENOSYS for sem_init.
+       * src/npth.c: Include some more headers.
+       (sceptre_buffer): New.
+       (sceptre): Change to a pointer and init to sceptre_buffer.
+       (enter_npth, leave_npth): Adjust.
+       (try_sem_open): New.
+       (npth_init): Check for ENOSYS and use sem_open.
+
 2014-09-18  Werner Koch  <w...@gnupg.org>
 
        Release 1.0.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/npth-1.0/NEWS new/npth-1.1/NEWS
--- old/npth-1.0/NEWS   2014-09-18 08:05:46.000000000 +0200
+++ new/npth-1.1/NEWS   2014-10-31 07:47:09.000000000 +0100
@@ -1,3 +1,9 @@
+Noteworthy changes in version 1.1 (2014-10-31)
+----------------------------------------------
+
+ * Make it work on OS X and some other systems.
+
+
 Noteworthy changes in version 1.0 (2014-09-18)
 ----------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/npth-1.0/VERSION new/npth-1.1/VERSION
--- old/npth-1.0/VERSION        2014-09-18 08:09:54.000000000 +0200
+++ new/npth-1.1/VERSION        2014-10-31 07:52:35.000000000 +0100
@@ -1 +1 @@
-1.0
+1.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/npth-1.0/configure new/npth-1.1/configure
--- old/npth-1.0/configure      2014-09-18 08:09:08.000000000 +0200
+++ new/npth-1.1/configure      2014-10-31 07:52:07.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for npth 1.0.
+# Generated by GNU Autoconf 2.69 for npth 1.1.
 #
 # Report bugs to <gnupg-de...@gnupg.org>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='npth'
 PACKAGE_TARNAME='npth'
-PACKAGE_VERSION='1.0'
-PACKAGE_STRING='npth 1.0'
+PACKAGE_VERSION='1.1'
+PACKAGE_STRING='npth 1.1'
 PACKAGE_BUGREPORT='gnupg-de...@gnupg.org'
 PACKAGE_URL=''
 
@@ -1347,7 +1347,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures npth 1.0 to adapt to many kinds of systems.
+\`configure' configures npth 1.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1417,7 +1417,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of npth 1.0:";;
+     short | recursive ) echo "Configuration of npth 1.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1523,7 +1523,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-npth configure 1.0
+npth configure 1.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1946,7 +1946,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by npth $as_me 1.0, which was
+It was created by npth $as_me 1.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2304,7 +2304,7 @@
 #
 LIBNPTH_LT_CURRENT=0
 LIBNPTH_LT_AGE=0
-LIBNPTH_LT_REVISION=3
+LIBNPTH_LT_REVISION=4
 
 # If the API is changed in an incompatible way: increment the next counter.
 NPTH_CONFIG_API_VERSION=1
@@ -12794,7 +12794,7 @@
     BUILD_TIMESTAMP=`date --iso-8601=minutes`
     BUILD_ISODATE=`date --iso-8601`
         BUILD_FILEVERSION=`echo "$VERSION" | sed 
's/\([0-9.]*\).*/\1./;s/\./,/g'`
-        BUILD_FILEVERSION="${BUILD_FILEVERSION}31227"
+        BUILD_FILEVERSION="${BUILD_FILEVERSION}31281"
 fi
 
 
@@ -13950,7 +13950,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by npth $as_me 1.0, which was
+This file was extended by npth $as_me 1.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14016,7 +14016,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-npth config.status 1.0
+npth config.status 1.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -16012,6 +16012,6 @@
 echo "
         $PACKAGE_NAME-$PACKAGE_VERSION prepared for make
 
-        Revision: 79fbdce  (31227)
+        Revision: 7a3175b  (31281)
         Platform: $host
 "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/npth-1.0/configure.ac new/npth-1.1/configure.ac
--- old/npth-1.0/configure.ac   2014-09-18 08:04:42.000000000 +0200
+++ new/npth-1.1/configure.ac   2014-10-31 07:49:11.000000000 +0100
@@ -35,7 +35,7 @@
 # the version number immediately after the release and do another
 # commit and push so that the git magic is able to work.
 # See below for the LT versions.
-m4_define(my_version, [1.0])
+m4_define(my_version, [1.1])
 
 # Below is m4 magic to extract and compute the git revision number,
 # the decimalized short revision number, a beta version string and a
@@ -61,7 +61,7 @@
 #
 LIBNPTH_LT_CURRENT=0
 LIBNPTH_LT_AGE=0
-LIBNPTH_LT_REVISION=3
+LIBNPTH_LT_REVISION=4
 
 # If the API is changed in an incompatible way: increment the next counter.
 NPTH_CONFIG_API_VERSION=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/npth-1.0/npth.spec new/npth-1.1/npth.spec
--- old/npth-1.0/npth.spec      2014-09-18 08:09:54.000000000 +0200
+++ new/npth-1.1/npth.spec      2014-10-31 07:52:35.000000000 +0100
@@ -1,7 +1,7 @@
 # This is a template.  The dist target uses it to create the real file.
 Summary: NPTH - the new GNU Portable Threads Library
 Name: npth
-Version: 1.0
+Version: 1.1
 Release: 1
 URL: http://www.gnupg.org/
 Source: ftp://ftp.gnupg.org/gcrypt/alpha
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/npth-1.0/src/npth.c new/npth-1.1/src/npth.c
--- old/npth-1.0/src/npth.c     2014-06-26 15:08:30.000000000 +0200
+++ new/npth-1.1/src/npth.c     2014-10-29 12:20:38.000000000 +0100
@@ -32,9 +32,13 @@
 #endif
 
 #include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
 #include <assert.h>
 #include <errno.h>
 #include <pthread.h>
+#include <fcntl.h>
+#include <sys/stat.h>
 #include <semaphore.h>
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
@@ -51,8 +55,11 @@
    the application or other libraries call fork(), including from a
    signal handler.  sem_post is async-signal-safe.  (The reason a
    semaphore is safe and a mutex is not safe is that a mutex has an
-   owner, while a semaphore does not.)  */
-static sem_t sceptre;
+   owner, while a semaphore does not.)  We init sceptre to a static
+   buffer for use by sem_init; in case sem_open is used instead
+   SCEPTRE will changed to the value returned by sem_open.  */
+static sem_t sceptre_buffer;
+static sem_t *sceptre = &sceptre_buffer;
 
 /* The main thread is the active thread at the time pth_init was
    called.  As of now it is only useful for debugging.  The volatile
@@ -112,7 +119,7 @@
 {
   int res;
 
-  res = sem_post (&sceptre);
+  res = sem_post (sceptre);
   assert (res == 0);
 }
 
@@ -123,7 +130,7 @@
   int res;
 
   do {
-    res = sem_wait (&sceptre);
+    res = sem_wait (sceptre);
   } while (res < 0 && errno == EINTR);
 
   assert (!res);
@@ -133,6 +140,34 @@
 #define LEAVE() leave_npth ()
 
 
+static int
+try_sem_open (sem_t **r_sem)
+{
+  sem_t *sem;
+  char name [256];
+  int counter = 0;
+
+  do
+    {
+      snprintf (name, sizeof name - 1, "/npth-sceptre-%lu-%u",
+                (unsigned long)getpid (), counter);
+      name[sizeof name -1] = 0;
+      counter++;
+
+      sem = sem_open (name, (O_CREAT | O_EXCL), (S_IRUSR | S_IWUSR), 1);
+      if (sem != SEM_FAILED)
+        {
+          *r_sem = sem;
+          return 0;
+        }
+      fprintf (stderr, " semOpen(%s): %s\n", name, strerror (errno));
+    }
+  while (errno == EEXIST);
+
+  return -1;
+}
+
+
 int
 npth_init (void)
 {
@@ -140,16 +175,32 @@
 
   main_thread = pthread_self();
 
+  /* Better reset ERRNO so that we know that it has been set by
+     sem_init.  */
+  errno = 0;
+
   /* The semaphore is not shared and binary.  */
-  res = sem_init(&sceptre, 0, 1);
+  res = sem_init (sceptre, 0, 1);
   if (res < 0)
     {
-      /* POSIX.1-2001 defines the semaphore interface but does not
-         specify the return value for success.  Thus we better bail
-         out on error only on a POSIX.1-2008 system.  */
+      /* Mac OSX and some AIX versions have sem_init but return
+         ENOSYS.  This is allowed according to some POSIX versions but
+         the informative section is quite fuzzy about it.  We resort
+         to sem_open in this case.  */
+      if (errno == ENOSYS)
+        {
+          if (try_sem_open (&sceptre))
+            return errno;
+        }
+      else
+        {
+          /* POSIX.1-2001 defines the semaphore interface but does not
+             specify the return value for success.  Thus we better
+             bail out on error only on a POSIX.1-2008 system.  */
 #if _POSIX_C_SOURCE >= 200809L
-      return errno;
+          return errno;
 #endif
+        }
     }
 
   LEAVE();

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to