[oe] [oe-commits] Marcin Juszkiewicz : gnutls: added 2.8.5, adapted to new staging

James Lancaster deathstalker at gmail.com
Fri Mar 5 16:59:57 UTC 2010


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 at 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 at 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 at 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 at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
>




More information about the Openembedded-devel mailing list