packages: libgcrypt/libgcrypt.spec, libgcrypt/libgcrypt-poll.patch (NEW) - ...

qboosh qboosh at pld-linux.org
Sun Jul 3 11:23:43 CEST 2011


Author: qboosh                       Date: Sun Jul  3 09:23:43 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- updated to 1.5.0 (new stable version; some API changes without soname change)
- added poll patch (switch rndlinux implementation to poll - with select() it could overrun fdset on stack if open returned fd>1024)

---- Files affected:
packages/libgcrypt:
   libgcrypt.spec (1.70 -> 1.71) , libgcrypt-poll.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/libgcrypt/libgcrypt.spec
diff -u packages/libgcrypt/libgcrypt.spec:1.70 packages/libgcrypt/libgcrypt.spec:1.71
--- packages/libgcrypt/libgcrypt.spec:1.70	Fri Aug  6 09:00:31 2010
+++ packages/libgcrypt/libgcrypt.spec	Sun Jul  3 11:23:37 2011
@@ -8,25 +8,27 @@
 Summary(pl.UTF-8):	Biblioteka kryptograficzna oparta na kodzie GnuPG
 Summary(pt_BR.UTF-8):	libgcrypt é uma biblioteca de criptografia de uso geral baseada no GnuPG
 Name:		libgcrypt
-Version:	1.4.6
+Version:	1.5.0
 Release:	1
 License:	LGPL v2.1+
 Group:		Libraries
 # devel versions:
 #Source0:	ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/%{name}-%{version}.tar.gz
 Source0:	ftp://ftp.gnupg.org/gcrypt/libgcrypt/%{name}-%{version}.tar.bz2
-# Source0-md5:	dbf99425a4fe9217c84ce3a35d938634
+# Source0-md5:	693f9c64d50c908bc4d6e01da3ff76d8
 Patch0:		%{name}-info.patch
 Patch1:		%{name}-libgcrypt_config.patch
+Patch2:		%{name}-poll.patch
 URL:		http://www.gnu.org/directory/security/libgcrypt.html
 BuildRequires:	autoconf >= 2.60
 BuildRequires:	automake >= 1:1.10
 BuildRequires:	binutils >= 2:2.12
 %{?with_dietlibc:BuildRequires:	dietlibc-static >= 2:0.31-5}
 BuildRequires:	gcc >= 5:3.2
-BuildRequires:	libgpg-error-devel >= 1.4
-BuildRequires:	libtool >= 1:1.4.3
+BuildRequires:	libgpg-error-devel >= 1.8
+BuildRequires:	libtool >= 2:2.2.6
 BuildRequires:	texinfo
+Requires:	libgpg-error >= 1.8
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # for some reason known only to rpm there must be "\\|" not "\|" here
@@ -62,7 +64,7 @@
 Summary(pt_BR.UTF-8):	Arquivos de desenvolvimento da libgcrypt
 Group:		Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	libgpg-error-devel >= 1.4
+Requires:	libgpg-error-devel >= 1.8
 
 %description devel
 Header files etc to develop libgcrypt applications.
@@ -106,6 +108,7 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %{__rm} m4/libtool.m4
@@ -121,6 +124,7 @@
 	--disable-shared
 
 # libtool sucks, build just the libs
+%{__make} -C compat
 %{__make} -C cipher
 %{__make} -C mpi
 %{__make} -C random
@@ -194,6 +198,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.71  2011/07/03 09:23:37  qboosh
+- updated to 1.5.0 (new stable version; some API changes without soname change)
+- added poll patch (switch rndlinux implementation to poll - with select() it could overrun fdset on stack if open returned fd>1024)
+
 Revision 1.70  2010/08/06 07:00:31  qboosh
 - updated to 1.4.6
 

================================================================
Index: packages/libgcrypt/libgcrypt-poll.patch
diff -u /dev/null packages/libgcrypt/libgcrypt-poll.patch:1.1
--- /dev/null	Sun Jul  3 11:23:43 2011
+++ packages/libgcrypt/libgcrypt-poll.patch	Sun Jul  3 11:23:37 2011
@@ -0,0 +1,39 @@
+--- libgcrypt-1.5.0/random/rndlinux.c.orig	2011-02-04 20:16:03.000000000 +0100
++++ libgcrypt-1.5.0/random/rndlinux.c	2011-07-03 11:04:00.391674161 +0200
+@@ -32,6 +32,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <poll.h>
+ #include "types.h"
+ #include "g10lib.h"
+ #include "rand-internal.h"
+@@ -130,15 +131,12 @@
+                  return with something we will actually use 100ms. */
+   while (length)
+     {
+-      fd_set rfds;
+-      struct timeval tv;
++      struct pollfd fds;
+       int rc;
+ 
+-      FD_ZERO(&rfds);
+-      FD_SET(fd, &rfds);
+-      tv.tv_sec = delay;
+-      tv.tv_usec = delay? 0 : 100000;
+-      if ( !(rc=select(fd+1, &rfds, NULL, NULL, &tv)) )
++      fds.fd = fd;
++      fds.events = POLLIN;
++      if ( !(rc=poll(&fds, 1, delay ? (delay*1000) : 100)) )
+         {
+           if (!any_need_entropy || last_so_far != (want - length) )
+             {
+@@ -152,7 +150,7 @@
+ 	}
+       else if( rc == -1 )
+         {
+-          log_error ("select() error: %s\n", strerror(errno));
++          log_error ("poll() error: %s\n", strerror(errno));
+           if (!delay)
+             delay = 1; /* Use 1 second if we encounter an error before
+                           we have ever blocked.  */
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/libgcrypt/libgcrypt.spec?r1=1.70&r2=1.71&f=u



More information about the pld-cvs-commit mailing list