All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [oe-commits] Marcin Juszkiewicz : gnutls: added 2.8.5, adapted to  new staging
       [not found] <E1NnZxZ-0006br-Jk@melo.openembedded.org>
@ 2010-03-05 16:59 ` James Lancaster
  2010-03-05 19:59   ` Koen Kooi
  0 siblings, 1 reply; 3+ messages in thread
From: James Lancaster @ 2010-03-05 16:59 UTC (permalink / raw)
  To: openembedded-devel

I'm having this fail, it appears to be a problem with install-info
(ask if you want the whole log):

 install-info --info-dir='/home/james/OE/angstrom-dev/work/armv5te-angstrom-linux-gnueabi/gnutls-2.8.5-r0/image/usr/share/info'
'/home/james/OE/angstrom-dev/work/armv5te-angstrom-linux-gnueabi/gnutls-2.8.5-r0/image/usr/share/info/gnutls.info'
This is not dpkg install-info anymore, but GNU install-info
See the man page for ginstall-info for command line argument
make[4]: Leaving directory
`/home/james/OE/angstrom-dev/work/armv5te-angstrom-linux-gnueabi/gnutls-2.8.5-r0/gnutls-2.8.5/doc'

James


On Fri, Mar 5, 2010 at 10:01 AM, git version control
<git@git.openembedded.org> wrote:
> Module: openembedded.git
> Branch: org.openembedded.dev
> Commit: c7bf984e0df86fb5c935edafdcd42b736c276f26
> URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=c7bf984e0df86fb5c935edafdcd42b736c276f26
>
> Author: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
> Date:   Fri Mar  5 14:44:03 2010 +0100
>
> gnutls: added 2.8.5, adapted to new staging
>
> Signed-off-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
>
> ---
>
>  recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch   |  149 ++++++++++++++++++++
>  .../gnutls-2.8.5/gnutls-replace-siginterrupt.patch |   51 +++++++
>  recipes/gnutls/gnutls.inc                          |   19 +--
>  recipes/gnutls/gnutls_1.4.5.bb                     |    9 +-
>  recipes/gnutls/gnutls_1.6.3.bb                     |    9 +-
>  recipes/gnutls/gnutls_2.4.2.bb                     |    9 +-
>  recipes/gnutls/gnutls_2.8.5.bb                     |   17 +++
>  7 files changed, 249 insertions(+), 14 deletions(-)
>
> diff --git a/recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch b/recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch
> new file mode 100644
> index 0000000..596bd01
> --- /dev/null
> +++ b/recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch
> @@ -0,0 +1,149 @@
> +---
> + libextra/gnutls_openssl.c          |   58 +++++++++++++++++++++++++++++++++++++
> + libextra/includes/gnutls/openssl.h |    5 +++
> + 2 files changed, 63 insertions(+)
> +
> +--- gnutls-2.8.5.orig/libextra/gnutls_openssl.c
> ++++ gnutls-2.8.5/libextra/gnutls_openssl.c
> +@@ -256,16 +256,21 @@ SSL_new (SSL_CTX * ctx)
> +   ssl->options = ctx->options;
> +
> +   ssl->rfd = (gnutls_transport_ptr_t) - 1;
> +   ssl->wfd = (gnutls_transport_ptr_t) - 1;
> +
> ++  ssl->ssl_peek_buffer = NULL;
> ++  ssl->ssl_peek_buffer_size = ssl->ssl_peek_avail = 0;
> ++
> +   return ssl;
> + }
> +
> + void
> + SSL_free (SSL * ssl)
> + {
> ++  if (ssl->ssl_peek_buffer)
> ++    free(ssl->ssl_peek_buffer);
> +   gnutls_certificate_free_credentials (ssl->gnutls_cred);
> +   gnutls_deinit (ssl->gnutls_state);
> +   free (ssl);
> + }
> +
> +@@ -285,10 +290,11 @@ SSL_get_error (SSL * ssl, int ret)
> +
> + int
> + SSL_set_fd (SSL * ssl, int fd)
> + {
> +   gnutls_transport_set_ptr (ssl->gnutls_state, GNUTLS_INT_TO_POINTER (fd));
> ++  ssl->rfd = ssl->wfd = fd;
> +   return 1;
> + }
> +
> + int
> + SSL_set_rfd (SSL * ssl, int fd)
> +@@ -310,10 +316,21 @@ SSL_set_wfd (SSL * ssl, int fd)
> +     gnutls_transport_set_ptr2 (ssl->gnutls_state, ssl->rfd, ssl->wfd);
> +
> +   return 1;
> + }
> +
> ++int SSL_get_rfd(SSL *ssl)
> ++{
> ++  return ssl->rfd;
> ++}
> ++
> ++int SSL_get_wfd(SSL *ssl)
> ++{
> ++  return ssl->wfd;
> ++}
> ++
> ++
> + void
> + SSL_set_bio (SSL * ssl, BIO * rbio, BIO * wbio)
> + {
> +   gnutls_transport_set_ptr2 (ssl->gnutls_state, rbio->fd, wbio->fd);
> +   /*    free(BIO); ? */
> +@@ -325,10 +342,12 @@ SSL_set_connect_state (SSL * ssl)
> + }
> +
> + int
> + SSL_pending (SSL * ssl)
> + {
> ++  if (ssl->ssl_peek_avail)
> ++    return ssl->ssl_peek_avail;
> +   return gnutls_record_check_pending (ssl->gnutls_state);
> + }
> +
> + void
> + SSL_set_verify (SSL * ssl, int verify_mode,
> +@@ -480,15 +499,54 @@ SSL_shutdown (SSL * ssl)
> +
> +   /* FIXME */
> +   return 1;
> + }
> +
> ++int SSL_peek(SSL *ssl, void *buf, int len)
> ++{
> ++  if (len > ssl->ssl_peek_buffer_size) {
> ++    ssl->ssl_peek_buffer = realloc (ssl->ssl_peek_buffer, len);
> ++    ssl->ssl_peek_buffer_size = len;
> ++  }
> ++
> ++  if (ssl->ssl_peek_avail == 0) {
> ++
> ++    int ret;
> ++
> ++    ret = gnutls_record_recv(ssl->gnutls_state, ssl->ssl_peek_buffer, len);
> ++    ssl->last_error = ret;
> ++
> ++    if (ret > 0)
> ++      ssl->ssl_peek_avail += ret;
> ++  }
> ++
> ++  if (len > ssl->ssl_peek_avail)
> ++    len = ssl->ssl_peek_avail;
> ++
> ++  memcpy (buf, ssl->ssl_peek_buffer, len);
> ++
> ++  return len;
> ++}
> ++
> + int
> + SSL_read (SSL * ssl, void *buf, int len)
> + {
> +   int ret;
> +
> ++  if (ssl->ssl_peek_avail) {
> ++    int n = (ssl->ssl_peek_avail > len) ? len : ssl->ssl_peek_avail;
> ++
> ++    memcpy (buf, ssl->ssl_peek_buffer, n);
> ++
> ++    if (ssl->ssl_peek_avail > n)
> ++      memmove (ssl->ssl_peek_buffer, ssl->ssl_peek_buffer + n, ssl->ssl_peek_avail - n);
> ++
> ++    ssl->ssl_peek_avail -= n;
> ++
> ++    return n;
> ++  }
> ++
> +   ret = gnutls_record_recv (ssl->gnutls_state, buf, len);
> +   ssl->last_error = ret;
> +
> +   if (ret < 0)
> +     {
> +--- gnutls-2.8.5.orig/libextra/includes/gnutls/openssl.h
> ++++ gnutls-2.8.5/libextra/includes/gnutls/openssl.h
> +@@ -162,10 +162,15 @@ extern "C"
> +     int (*verify_callback) (int, X509_STORE_CTX *);
> +     int verify_mode;
> +
> +     gnutls_transport_ptr_t rfd;
> +     gnutls_transport_ptr_t wfd;
> ++
> ++    char *ssl_peek_buffer;
> ++    size_t ssl_peek_buffer_size;
> ++    size_t ssl_peek_avail;
> ++
> +   };
> +
> + #define rbio gnutls_state
> +
> +   typedef struct {
> diff --git a/recipes/gnutls/gnutls-2.8.5/gnutls-replace-siginterrupt.patch b/recipes/gnutls/gnutls-2.8.5/gnutls-replace-siginterrupt.patch
> new file mode 100644
> index 0000000..b34930f
> --- /dev/null
> +++ b/recipes/gnutls/gnutls-2.8.5/gnutls-replace-siginterrupt.patch
> @@ -0,0 +1,51 @@
> +---
> + src/tests.c |   12 ++++++++++--
> + 1 file changed, 10 insertions(+), 2 deletions(-)
> +
> +--- gnutls-2.8.5.orig/src/tests.c
> ++++ gnutls-2.8.5/src/tests.c
> +@@ -491,10 +491,11 @@ test_bye (gnutls_session_t session)
> +   int ret;
> +   char data[20];
> +   int old, secs = 6;
> +
> + #ifndef _WIN32
> ++  struct sigaction act;
> +   signal (SIGALRM, got_alarm);
> + #endif
> +
> +   ADD_ALL_CIPHERS (session);
> +   ADD_ALL_COMP (session);
> +@@ -511,11 +512,13 @@ test_bye (gnutls_session_t session)
> +   ret = gnutls_bye (session, GNUTLS_SHUT_WR);
> +   if (ret < 0)
> +     return TEST_FAILED;
> +
> + #ifndef _WIN32
> +-  old = siginterrupt (SIGALRM, 1);
> ++  (void) sigaction(SIGALRM, NULL, &act);
> ++  act.sa_flags &= ~SA_RESTART;
> ++  old = sigaction(SIGALRM, &act, NULL);
> +   alarm (secs);
> + #else
> +   setsockopt ((int) gnutls_transport_get_ptr (session), SOL_SOCKET,
> +             SO_RCVTIMEO, (char *) &secs, sizeof (int));
> + #endif
> +@@ -525,11 +528,16 @@ test_bye (gnutls_session_t session)
> +       ret = gnutls_record_recv (session, data, sizeof (data));
> +     }
> +   while (ret > 0);
> +
> + #ifndef _WIN32
> +-  siginterrupt (SIGALRM, old);
> ++  (void) sigaction(SIGALRM, NULL, &act);
> ++  if (old)
> ++    act.sa_flags &= ~SA_RESTART;
> ++  else
> ++    act.sa_flags |= SA_RESTART;
> ++  sigaction(SIGALRM, &act, NULL);
> + #else
> +   if (WSAGetLastError () == WSAETIMEDOUT ||
> +       WSAGetLastError () == WSAECONNABORTED)
> +     alrm = 1;
> + #endif
> diff --git a/recipes/gnutls/gnutls.inc b/recipes/gnutls/gnutls.inc
> index 004161a..071e925 100644
> --- a/recipes/gnutls/gnutls.inc
> +++ b/recipes/gnutls/gnutls.inc
> @@ -1,23 +1,20 @@
>  DESCRIPTION = "GNU Transport Layer Security Library"
>  HOMEPAGE = "http://www.gnu.org/software/gnutls/"
> -DEPENDS = "zlib libgcrypt lzo guile-native"
> +DEPENDS = "zlib libgcrypt lzo guile-native gettext"
>  LICENSE = "LGPL"
>
> -SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.bz2"
> +SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.bz2;name=gnutls"
>
>  inherit autotools binconfig pkgconfig
>
> -EXTRA_OECONF = "--with-included-opencdk --with-included-libtasn1"
> +INC_PR = "r7"
>
> -do_stage() {
> -    oe_libinstall -C lib/.libs -so -a libgnutls ${STAGING_LIBDIR}
> -    oe_libinstall -C libextra/.libs -so -a libgnutls-extra ${STAGING_LIBDIR}
> -    oe_libinstall -C libextra/.libs -so -a libgnutls-openssl ${STAGING_LIBDIR}
> -    autotools_stage_includes
> +EXTRA_OECONF = "--with-included-opencdk --with-included-libtasn1"
> +do_install_append() {
>
> -    install -d ${STAGING_DATADIR}/aclocal
> -    cp ${S}/lib/libgnutls.m4 ${STAGING_DATADIR}/aclocal/
> -    cp ${S}/libextra/libgnutls-extra.m4 ${STAGING_DATADIR}/aclocal/
> +    install -d ${D}${datadir}/aclocal
> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
>  }
>
>  PACKAGES =+ "${PN}-openssl ${PN}-extra ${PN}-bin ${PN}-xx"
> diff --git a/recipes/gnutls/gnutls_1.4.5.bb b/recipes/gnutls/gnutls_1.4.5.bb
> index a5e5873..bda7994 100644
> --- a/recipes/gnutls/gnutls_1.4.5.bb
> +++ b/recipes/gnutls/gnutls_1.4.5.bb
> @@ -5,4 +5,11 @@ do_configure_prepend() {
>     sed -i s,gcrypt,libgcrypt, lib/gnutls.pc.in
>  }
>
> -PR = "r3"
> +PR = "${INC_PR}.0"
> +
> +do_install_append() {
> +
> +    install -d ${D}${datadir}/aclocal
> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
> +}
> diff --git a/recipes/gnutls/gnutls_1.6.3.bb b/recipes/gnutls/gnutls_1.6.3.bb
> index 7a89835..6b7c24a 100644
> --- a/recipes/gnutls/gnutls_1.6.3.bb
> +++ b/recipes/gnutls/gnutls_1.6.3.bb
> @@ -11,4 +11,11 @@ do_configure_prepend() {
>     sed -i s,gcrypt,libgcrypt, lib/gnutls.pc.in
>  }
>
> -PR = "r6"
> +PR = "${INC_PR}.0"
> +
> +do_install_append() {
> +
> +    install -d ${D}${datadir}/aclocal
> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
> +}
> diff --git a/recipes/gnutls/gnutls_2.4.2.bb b/recipes/gnutls/gnutls_2.4.2.bb
> index d8266c2..0748887 100644
> --- a/recipes/gnutls/gnutls_2.4.2.bb
> +++ b/recipes/gnutls/gnutls_2.4.2.bb
> @@ -8,4 +8,11 @@ SRC_URI += "\
>        file://gnutls-replace-siginterrupt.patch;patch=1 \
>        "
>
> -PR = "r4"
> +PR = "${INC_PR}.0"
> +
> +do_install_append() {
> +
> +    install -d ${D}${datadir}/aclocal
> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
> +}
> diff --git a/recipes/gnutls/gnutls_2.8.5.bb b/recipes/gnutls/gnutls_2.8.5.bb
> new file mode 100644
> index 0000000..ec8a118
> --- /dev/null
> +++ b/recipes/gnutls/gnutls_2.8.5.bb
> @@ -0,0 +1,17 @@
> +require gnutls.inc
> +LICENSE_${PN}-extra = "GPLv3"
> +
> +SRC_URI += "\
> +       file://gnutls-openssl.patch;patch=1 \
> +       file://gnutls-replace-siginterrupt.patch;patch=1 \
> +       "
> +
> +EXTRA_OECONF += " --without-libgcrypt-prefix "
> +
> +do_configure_prepend() {
> +
> +    cd ${S} && rm -rf m4/ aclocal.m4 lib/m4/libtool.m4 lib/m4/lt*m4
> +}
> +
> +SRC_URI[gnutls.md5sum] = "e3b2788b79bfc82acbe717e3c54d4e92"
> +SRC_URI[gnutls.sha256sum] = "9249c29df71551e302e0186f4e1876dd6cc4c6cf2974b432c22525dde815cae8"
>
>
> _______________________________________________
> Openembedded-commits mailing list
> Openembedded-commits@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [oe-commits] Marcin Juszkiewicz : gnutls: added 2.8.5, adapted to new staging
  2010-03-05 16:59 ` [oe-commits] Marcin Juszkiewicz : gnutls: added 2.8.5, adapted to new staging James Lancaster
@ 2010-03-05 19:59   ` Koen Kooi
  2010-03-05 20:56     ` Marcin Juszkiewicz
  0 siblings, 1 reply; 3+ messages in thread
From: Koen Kooi @ 2010-03-05 19:59 UTC (permalink / raw)
  To: openembedded-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05-03-10 17:59, James Lancaster wrote:
> I'm having this fail, it appears to be a problem with install-info
> (ask if you want the whole log):
> 
>  install-info --info-dir='/home/james/OE/angstrom-dev/work/armv5te-angstrom-linux-gnueabi/gnutls-2.8.5-r0/image/usr/share/info'
> '/home/james/OE/angstrom-dev/work/armv5te-angstrom-linux-gnueabi/gnutls-2.8.5-r0/image/usr/share/info/gnutls.info'
> This is not dpkg install-info anymore, but GNU install-info
> See the man page for ginstall-info for command line argument
> make[4]: Leaving directory
> `/home/james/OE/angstrom-dev/work/armv5te-angstrom-linux-gnueabi/gnutls-2.8.5-r0/gnutls-2.8.5/doc'

I haven't seen that problem, but there are more problems with 2.8.5:

* doesn't ship the .m4 the do_install_append looks for -> build breakage
* doesn't ship a binconfig file anymore -> build breakage for dependant
recipes

I don't have the time or motivation to update all gnutls dependants, so
for angstrom I locked down the version to 2.4.2.

regards,

Koen


> 
> James
> 
> 
> On Fri, Mar 5, 2010 at 10:01 AM, git version control
> <git@git.openembedded.org> wrote:
>> Module: openembedded.git
>> Branch: org.openembedded.dev
>> Commit: c7bf984e0df86fb5c935edafdcd42b736c276f26
>> URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=c7bf984e0df86fb5c935edafdcd42b736c276f26
>>
>> Author: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
>> Date:   Fri Mar  5 14:44:03 2010 +0100
>>
>> gnutls: added 2.8.5, adapted to new staging
>>
>> Signed-off-by: Marcin Juszkiewicz <marcin@juszkiewicz.com.pl>
>>
>> ---
>>
>>  recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch   |  149 ++++++++++++++++++++
>>  .../gnutls-2.8.5/gnutls-replace-siginterrupt.patch |   51 +++++++
>>  recipes/gnutls/gnutls.inc                          |   19 +--
>>  recipes/gnutls/gnutls_1.4.5.bb                     |    9 +-
>>  recipes/gnutls/gnutls_1.6.3.bb                     |    9 +-
>>  recipes/gnutls/gnutls_2.4.2.bb                     |    9 +-
>>  recipes/gnutls/gnutls_2.8.5.bb                     |   17 +++
>>  7 files changed, 249 insertions(+), 14 deletions(-)
>>
>> diff --git a/recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch b/recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch
>> new file mode 100644
>> index 0000000..596bd01
>> --- /dev/null
>> +++ b/recipes/gnutls/gnutls-2.8.5/gnutls-openssl.patch
>> @@ -0,0 +1,149 @@
>> +---
>> + libextra/gnutls_openssl.c          |   58 +++++++++++++++++++++++++++++++++++++
>> + libextra/includes/gnutls/openssl.h |    5 +++
>> + 2 files changed, 63 insertions(+)
>> +
>> +--- gnutls-2.8.5.orig/libextra/gnutls_openssl.c
>> ++++ gnutls-2.8.5/libextra/gnutls_openssl.c
>> +@@ -256,16 +256,21 @@ SSL_new (SSL_CTX * ctx)
>> +   ssl->options = ctx->options;
>> +
>> +   ssl->rfd = (gnutls_transport_ptr_t) - 1;
>> +   ssl->wfd = (gnutls_transport_ptr_t) - 1;
>> +
>> ++  ssl->ssl_peek_buffer = NULL;
>> ++  ssl->ssl_peek_buffer_size = ssl->ssl_peek_avail = 0;
>> ++
>> +   return ssl;
>> + }
>> +
>> + void
>> + SSL_free (SSL * ssl)
>> + {
>> ++  if (ssl->ssl_peek_buffer)
>> ++    free(ssl->ssl_peek_buffer);
>> +   gnutls_certificate_free_credentials (ssl->gnutls_cred);
>> +   gnutls_deinit (ssl->gnutls_state);
>> +   free (ssl);
>> + }
>> +
>> +@@ -285,10 +290,11 @@ SSL_get_error (SSL * ssl, int ret)
>> +
>> + int
>> + SSL_set_fd (SSL * ssl, int fd)
>> + {
>> +   gnutls_transport_set_ptr (ssl->gnutls_state, GNUTLS_INT_TO_POINTER (fd));
>> ++  ssl->rfd = ssl->wfd = fd;
>> +   return 1;
>> + }
>> +
>> + int
>> + SSL_set_rfd (SSL * ssl, int fd)
>> +@@ -310,10 +316,21 @@ SSL_set_wfd (SSL * ssl, int fd)
>> +     gnutls_transport_set_ptr2 (ssl->gnutls_state, ssl->rfd, ssl->wfd);
>> +
>> +   return 1;
>> + }
>> +
>> ++int SSL_get_rfd(SSL *ssl)
>> ++{
>> ++  return ssl->rfd;
>> ++}
>> ++
>> ++int SSL_get_wfd(SSL *ssl)
>> ++{
>> ++  return ssl->wfd;
>> ++}
>> ++
>> ++
>> + void
>> + SSL_set_bio (SSL * ssl, BIO * rbio, BIO * wbio)
>> + {
>> +   gnutls_transport_set_ptr2 (ssl->gnutls_state, rbio->fd, wbio->fd);
>> +   /*    free(BIO); ? */
>> +@@ -325,10 +342,12 @@ SSL_set_connect_state (SSL * ssl)
>> + }
>> +
>> + int
>> + SSL_pending (SSL * ssl)
>> + {
>> ++  if (ssl->ssl_peek_avail)
>> ++    return ssl->ssl_peek_avail;
>> +   return gnutls_record_check_pending (ssl->gnutls_state);
>> + }
>> +
>> + void
>> + SSL_set_verify (SSL * ssl, int verify_mode,
>> +@@ -480,15 +499,54 @@ SSL_shutdown (SSL * ssl)
>> +
>> +   /* FIXME */
>> +   return 1;
>> + }
>> +
>> ++int SSL_peek(SSL *ssl, void *buf, int len)
>> ++{
>> ++  if (len > ssl->ssl_peek_buffer_size) {
>> ++    ssl->ssl_peek_buffer = realloc (ssl->ssl_peek_buffer, len);
>> ++    ssl->ssl_peek_buffer_size = len;
>> ++  }
>> ++
>> ++  if (ssl->ssl_peek_avail == 0) {
>> ++
>> ++    int ret;
>> ++
>> ++    ret = gnutls_record_recv(ssl->gnutls_state, ssl->ssl_peek_buffer, len);
>> ++    ssl->last_error = ret;
>> ++
>> ++    if (ret > 0)
>> ++      ssl->ssl_peek_avail += ret;
>> ++  }
>> ++
>> ++  if (len > ssl->ssl_peek_avail)
>> ++    len = ssl->ssl_peek_avail;
>> ++
>> ++  memcpy (buf, ssl->ssl_peek_buffer, len);
>> ++
>> ++  return len;
>> ++}
>> ++
>> + int
>> + SSL_read (SSL * ssl, void *buf, int len)
>> + {
>> +   int ret;
>> +
>> ++  if (ssl->ssl_peek_avail) {
>> ++    int n = (ssl->ssl_peek_avail > len) ? len : ssl->ssl_peek_avail;
>> ++
>> ++    memcpy (buf, ssl->ssl_peek_buffer, n);
>> ++
>> ++    if (ssl->ssl_peek_avail > n)
>> ++      memmove (ssl->ssl_peek_buffer, ssl->ssl_peek_buffer + n, ssl->ssl_peek_avail - n);
>> ++
>> ++    ssl->ssl_peek_avail -= n;
>> ++
>> ++    return n;
>> ++  }
>> ++
>> +   ret = gnutls_record_recv (ssl->gnutls_state, buf, len);
>> +   ssl->last_error = ret;
>> +
>> +   if (ret < 0)
>> +     {
>> +--- gnutls-2.8.5.orig/libextra/includes/gnutls/openssl.h
>> ++++ gnutls-2.8.5/libextra/includes/gnutls/openssl.h
>> +@@ -162,10 +162,15 @@ extern "C"
>> +     int (*verify_callback) (int, X509_STORE_CTX *);
>> +     int verify_mode;
>> +
>> +     gnutls_transport_ptr_t rfd;
>> +     gnutls_transport_ptr_t wfd;
>> ++
>> ++    char *ssl_peek_buffer;
>> ++    size_t ssl_peek_buffer_size;
>> ++    size_t ssl_peek_avail;
>> ++
>> +   };
>> +
>> + #define rbio gnutls_state
>> +
>> +   typedef struct {
>> diff --git a/recipes/gnutls/gnutls-2.8.5/gnutls-replace-siginterrupt.patch b/recipes/gnutls/gnutls-2.8.5/gnutls-replace-siginterrupt.patch
>> new file mode 100644
>> index 0000000..b34930f
>> --- /dev/null
>> +++ b/recipes/gnutls/gnutls-2.8.5/gnutls-replace-siginterrupt.patch
>> @@ -0,0 +1,51 @@
>> +---
>> + src/tests.c |   12 ++++++++++--
>> + 1 file changed, 10 insertions(+), 2 deletions(-)
>> +
>> +--- gnutls-2.8.5.orig/src/tests.c
>> ++++ gnutls-2.8.5/src/tests.c
>> +@@ -491,10 +491,11 @@ test_bye (gnutls_session_t session)
>> +   int ret;
>> +   char data[20];
>> +   int old, secs = 6;
>> +
>> + #ifndef _WIN32
>> ++  struct sigaction act;
>> +   signal (SIGALRM, got_alarm);
>> + #endif
>> +
>> +   ADD_ALL_CIPHERS (session);
>> +   ADD_ALL_COMP (session);
>> +@@ -511,11 +512,13 @@ test_bye (gnutls_session_t session)
>> +   ret = gnutls_bye (session, GNUTLS_SHUT_WR);
>> +   if (ret < 0)
>> +     return TEST_FAILED;
>> +
>> + #ifndef _WIN32
>> +-  old = siginterrupt (SIGALRM, 1);
>> ++  (void) sigaction(SIGALRM, NULL, &act);
>> ++  act.sa_flags &= ~SA_RESTART;
>> ++  old = sigaction(SIGALRM, &act, NULL);
>> +   alarm (secs);
>> + #else
>> +   setsockopt ((int) gnutls_transport_get_ptr (session), SOL_SOCKET,
>> +             SO_RCVTIMEO, (char *) &secs, sizeof (int));
>> + #endif
>> +@@ -525,11 +528,16 @@ test_bye (gnutls_session_t session)
>> +       ret = gnutls_record_recv (session, data, sizeof (data));
>> +     }
>> +   while (ret > 0);
>> +
>> + #ifndef _WIN32
>> +-  siginterrupt (SIGALRM, old);
>> ++  (void) sigaction(SIGALRM, NULL, &act);
>> ++  if (old)
>> ++    act.sa_flags &= ~SA_RESTART;
>> ++  else
>> ++    act.sa_flags |= SA_RESTART;
>> ++  sigaction(SIGALRM, &act, NULL);
>> + #else
>> +   if (WSAGetLastError () == WSAETIMEDOUT ||
>> +       WSAGetLastError () == WSAECONNABORTED)
>> +     alrm = 1;
>> + #endif
>> diff --git a/recipes/gnutls/gnutls.inc b/recipes/gnutls/gnutls.inc
>> index 004161a..071e925 100644
>> --- a/recipes/gnutls/gnutls.inc
>> +++ b/recipes/gnutls/gnutls.inc
>> @@ -1,23 +1,20 @@
>>  DESCRIPTION = "GNU Transport Layer Security Library"
>>  HOMEPAGE = "http://www.gnu.org/software/gnutls/"
>> -DEPENDS = "zlib libgcrypt lzo guile-native"
>> +DEPENDS = "zlib libgcrypt lzo guile-native gettext"
>>  LICENSE = "LGPL"
>>
>> -SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.bz2"
>> +SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.bz2;name=gnutls"
>>
>>  inherit autotools binconfig pkgconfig
>>
>> -EXTRA_OECONF = "--with-included-opencdk --with-included-libtasn1"
>> +INC_PR = "r7"
>>
>> -do_stage() {
>> -    oe_libinstall -C lib/.libs -so -a libgnutls ${STAGING_LIBDIR}
>> -    oe_libinstall -C libextra/.libs -so -a libgnutls-extra ${STAGING_LIBDIR}
>> -    oe_libinstall -C libextra/.libs -so -a libgnutls-openssl ${STAGING_LIBDIR}
>> -    autotools_stage_includes
>> +EXTRA_OECONF = "--with-included-opencdk --with-included-libtasn1"
>> +do_install_append() {
>>
>> -    install -d ${STAGING_DATADIR}/aclocal
>> -    cp ${S}/lib/libgnutls.m4 ${STAGING_DATADIR}/aclocal/
>> -    cp ${S}/libextra/libgnutls-extra.m4 ${STAGING_DATADIR}/aclocal/
>> +    install -d ${D}${datadir}/aclocal
>> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
>> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
>>  }
>>
>>  PACKAGES =+ "${PN}-openssl ${PN}-extra ${PN}-bin ${PN}-xx"
>> diff --git a/recipes/gnutls/gnutls_1.4.5.bb b/recipes/gnutls/gnutls_1.4.5.bb
>> index a5e5873..bda7994 100644
>> --- a/recipes/gnutls/gnutls_1.4.5.bb
>> +++ b/recipes/gnutls/gnutls_1.4.5.bb
>> @@ -5,4 +5,11 @@ do_configure_prepend() {
>>     sed -i s,gcrypt,libgcrypt, lib/gnutls.pc.in
>>  }
>>
>> -PR = "r3"
>> +PR = "${INC_PR}.0"
>> +
>> +do_install_append() {
>> +
>> +    install -d ${D}${datadir}/aclocal
>> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
>> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
>> +}
>> diff --git a/recipes/gnutls/gnutls_1.6.3.bb b/recipes/gnutls/gnutls_1.6.3.bb
>> index 7a89835..6b7c24a 100644
>> --- a/recipes/gnutls/gnutls_1.6.3.bb
>> +++ b/recipes/gnutls/gnutls_1.6.3.bb
>> @@ -11,4 +11,11 @@ do_configure_prepend() {
>>     sed -i s,gcrypt,libgcrypt, lib/gnutls.pc.in
>>  }
>>
>> -PR = "r6"
>> +PR = "${INC_PR}.0"
>> +
>> +do_install_append() {
>> +
>> +    install -d ${D}${datadir}/aclocal
>> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
>> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
>> +}
>> diff --git a/recipes/gnutls/gnutls_2.4.2.bb b/recipes/gnutls/gnutls_2.4.2.bb
>> index d8266c2..0748887 100644
>> --- a/recipes/gnutls/gnutls_2.4.2.bb
>> +++ b/recipes/gnutls/gnutls_2.4.2.bb
>> @@ -8,4 +8,11 @@ SRC_URI += "\
>>        file://gnutls-replace-siginterrupt.patch;patch=1 \
>>        "
>>
>> -PR = "r4"
>> +PR = "${INC_PR}.0"
>> +
>> +do_install_append() {
>> +
>> +    install -d ${D}${datadir}/aclocal
>> +    install -m 0644 ${S}/lib/libgnutls.m4 ${D}${datadir}/aclocal/
>> +    install -m 0644 ${S}/libextra/libgnutls-extra.m4 ${D}${datadir}/aclocal/
>> +}
>> diff --git a/recipes/gnutls/gnutls_2.8.5.bb b/recipes/gnutls/gnutls_2.8.5.bb
>> new file mode 100644
>> index 0000000..ec8a118
>> --- /dev/null
>> +++ b/recipes/gnutls/gnutls_2.8.5.bb
>> @@ -0,0 +1,17 @@
>> +require gnutls.inc
>> +LICENSE_${PN}-extra = "GPLv3"
>> +
>> +SRC_URI += "\
>> +       file://gnutls-openssl.patch;patch=1 \
>> +       file://gnutls-replace-siginterrupt.patch;patch=1 \
>> +       "
>> +
>> +EXTRA_OECONF += " --without-libgcrypt-prefix "
>> +
>> +do_configure_prepend() {
>> +
>> +    cd ${S} && rm -rf m4/ aclocal.m4 lib/m4/libtool.m4 lib/m4/lt*m4
>> +}
>> +
>> +SRC_URI[gnutls.md5sum] = "e3b2788b79bfc82acbe717e3c54d4e92"
>> +SRC_URI[gnutls.sha256sum] = "9249c29df71551e302e0186f4e1876dd6cc4c6cf2974b432c22525dde815cae8"
>>
>>
>> _______________________________________________
>> Openembedded-commits mailing list
>> Openembedded-commits@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
>>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFLkWK+MkyGM64RGpERAoAbAJ9yYwVnzJnm78dZ07mwkNr15wVcUwCgm3CV
CDYtPGl/k+JagH9mQEElN/w=
=mCSn
-----END PGP SIGNATURE-----




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [oe-commits] Marcin Juszkiewicz : gnutls: added 2.8.5, adapted to new staging
  2010-03-05 19:59   ` Koen Kooi
@ 2010-03-05 20:56     ` Marcin Juszkiewicz
  0 siblings, 0 replies; 3+ messages in thread
From: Marcin Juszkiewicz @ 2010-03-05 20:56 UTC (permalink / raw)
  To: openembedded-devel

Dnia piątek, 5 marca 2010 o 20:59:58 Koen Kooi napisał(a):
> I haven't seen that problem, but there are more problems with 2.8.5:
> 
> * doesn't ship the .m4 the do_install_append looks for -> build breakage

fixed.

> * doesn't ship a binconfig file anymore -> build breakage for dependant
> recipes

From gnutls 2.8.0 release notes:

>> ** Old libgnutls.m4 and libgnutls-config scripts removed. Please use 
>> pkg-config instead.


Regards, 
-- 
JID:      hrw@jabber.org
Website:  http://marcin.juszkiewicz.com.pl/
LinkedIn: http://www.linkedin.com/in/marcinjuszkiewicz





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-03-05 20:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1NnZxZ-0006br-Jk@melo.openembedded.org>
2010-03-05 16:59 ` [oe-commits] Marcin Juszkiewicz : gnutls: added 2.8.5, adapted to new staging James Lancaster
2010-03-05 19:59   ` Koen Kooi
2010-03-05 20:56     ` Marcin Juszkiewicz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.