-----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 > <[email protected]> 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 <[email protected]> >> Date: Fri Mar 5 14:44:03 2010 +0100 >> >> gnutls: added 2.8.5, adapted to new staging >> >> Signed-off-by: Marcin Juszkiewicz <[email protected]> >> >> --- >> >> 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 >> [email protected] >> 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----- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
