Hi! This update gnutls to v2.0.0 and generally clean up the freewrt build situation for gnutls. Highlights:
* New packages 'libgnutlsxx' for C++ library. * New packages 'libgnutls-extra' for extra library (not needed by most programs). * Fixed dependencies * Enable zlib + lzo compression support * No need for freewrt patches * Add srptool and psktool to gnutls-utils * Enable SRP and anonymous ciphers (usually a good idea) Btw, compiled for x86 I get the following package sizes: GnuTLS: zlib 33kb libtasn1 26kb libgpg-error 5kb libgcrypt 140kb libgnutls 156kb => total 360kb For comparison, OpenSSL is 596kb. /Simon Index: package/gnutls/patches/patch-doc_examples_Makefile_in =================================================================== --- package/gnutls/patches/patch-doc_examples_Makefile_in (revision 3566) +++ package/gnutls/patches/patch-doc_examples_Makefile_in (working copy) @@ -1,19 +0,0 @@ -$FreeWRT$ ---- gnutls-1.6.2.orig/doc/examples/Makefile.in 2007-04-18 14:35:11.000000000 +0200 -+++ gnutls-1.6.2/doc/examples/Makefile.in 2007-05-14 20:35:44.000000000 +0200 -@@ -54,11 +54,11 @@ POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ - target_triplet = @target@ --noinst_PROGRAMS = ex-cert-select$(EXEEXT) ex-client1$(EXEEXT) \ -+noinst_PROGRAMS = ex-cert-select$(EXEEXT) \ - ex-client2$(EXEEXT) ex-client-resume$(EXEEXT) \ -- ex-client-tlsia$(EXEEXT) ex-crq$(EXEEXT) ex-serv1$(EXEEXT) \ -- ex-serv-anon$(EXEEXT) ex-serv-export$(EXEEXT) \ -- ex-serv-pgp$(EXEEXT) $(am__EXEEXT_1) -+ ex-crq$(EXEEXT) ex-serv1$(EXEEXT) \ -+ ex-serv-export$(EXEEXT) \ -+ $(am__EXEEXT_1) - subdir = doc/examples - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 Index: package/gnutls/ipkg/libgnutls.control =================================================================== --- package/gnutls/ipkg/libgnutls.control (revision 3566) +++ package/gnutls/ipkg/libgnutls.control (working copy) @@ -2,4 +2,4 @@ Priority: optional Section: libs Description: GNU TLS library -Depends: libgcrypt, libtasn1, opencdk +Depends: libgcrypt, libtasn1, zlib Index: package/gnutls/ipkg/gnutls-utils.control =================================================================== --- package/gnutls/ipkg/gnutls-utils.control (revision 3566) +++ package/gnutls/ipkg/gnutls-utils.control (working copy) @@ -2,4 +2,4 @@ Priority: optional Section: admin Description: GNU TLS utilities -Depends: libgnutls +Depends: libgnutls, libgnutls-extra Index: package/gnutls/Config.in =================================================================== --- package/gnutls/Config.in (revision 3566) +++ package/gnutls/Config.in (working copy) @@ -9,8 +9,8 @@ default n select FWRT_COMPILE_GNUTLS select FWRT_PACKAGE_LIBGCRYPT - select FWRT_PACKAGE_LIBOPENCDK select FWRT_PACKAGE_LIBTASN1 + select FWRT_PACKAGE_ZLIB help GnuTLS is a project that aims to develop a library which provides a secure layer, over a reliable transport layer. Currently the GnuTLS @@ -35,13 +35,15 @@ http://www.gnu.org/software/gnutls/ - This packages contains the GnuTLS shared libraries, needed by other programs. + This packages contains the core GnuTLS shared library, + needed by other programs. config FWRT_PACKAGE_GNUTLS_UTILS - prompt "gnutls-utils.................... The GNU TLS utilities" + prompt "gnutls-utils...................... The GNU TLS utilities" tristate default n depends FWRT_PACKAGE_LIBGNUTLS + depends FWRT_PACKAGE_LIBGNUTLS_EXTRA help GnuTLS is a project that aims to develop a library which provides a secure layer, over a reliable transport layer. Currently the GnuTLS @@ -66,10 +68,45 @@ http://www.gnu.org/software/gnutls/ - This packages contains some GnuTLS utilities. + This packages contains some GnuTLS command line utilities. +config FWRT_PACKAGE_LIBGNUTLS_EXTRA + prompt "libgnutls-extra................... The GNU TLS extra library" + tristate + default n + depends FWRT_PACKAGE_LIBGNUTLS + depends FWRT_PACKAGE_LIBOPENCDK + depends FWRT_PACKAGE_LIBLZO + help + GnuTLS is a project that aims to develop a library which provides a + secure layer, over a reliable transport layer. Currently the GnuTLS + library implements the proposed standards by the IETF's TLS working + group. + + Quoting from RFC2246 - the TLS 1.0 protocol specification: + + "The TLS protocol provides communications privacy over the Internet. + The protocol allows client/server applications to communicate in a + way that is designed to prevent eavesdropping, tampering, or message + forgery." + + Features + + * Support for TLS 1.1 and SSL 3.0 protocols + * Support for TLS extensions + * Support for authentication using the SRP protocol + * Support for authentication using both X.509 certificates + * and OpenPGP keys Support for X.509 and OpenPGP certificate handling. + * Supports all the strong encryption algorithms + + http://www.gnu.org/software/gnutls/ + + This packages contains the optional "extra" GnuTLS shared + library, needed by other programs, which contains OpenPGP, + TLS/IA and LZO2 compression. + config FWRT_PACKAGE_LIBGNUTLS_OPENSSL - prompt "libgnutls-openssl............... The GNU TLS OpenSSL compatibility layer library" + prompt "libgnutls-openssl................. The GNU TLS OpenSSL compatibility layer library" tristate default n depends FWRT_PACKAGE_LIBGNUTLS @@ -97,4 +134,36 @@ http://www.gnu.org/software/gnutls/ - This packages contains the GnuTLS OpenSSL compatibility layer shared library. + This packages contains the GnuTLS OpenSSL compatibility + layer shared library. + +config FWRT_PACKAGE_LIBGNUTLSXX + prompt "libgnutlsxx....................... The GNU TLS C++ library" + tristate + default n + depends FWRT_PACKAGE_LIBGNUTLS + help + GnuTLS is a project that aims to develop a library which provides a + secure layer, over a reliable transport layer. Currently the GnuTLS + library implements the proposed standards by the IETF's TLS working + group. + + Quoting from RFC2246 - the TLS 1.0 protocol specification: + + "The TLS protocol provides communications privacy over the Internet. + The protocol allows client/server applications to communicate in a + way that is designed to prevent eavesdropping, tampering, or message + forgery." + + Features + + * Support for TLS 1.1 and SSL 3.0 protocols + * Support for TLS extensions + * Support for authentication using the SRP protocol + * Support for authentication using both X.509 certificates + * and OpenPGP keys Support for X.509 and OpenPGP certificate handling. + * Supports all the strong encryption algorithms + + http://www.gnu.org/software/gnutls/ + + This packages contains the GnuTLS C++ shared library. Index: package/gnutls/Makefile =================================================================== --- package/gnutls/Makefile (revision 3566) +++ package/gnutls/Makefile (working copy) @@ -7,10 +7,10 @@ include ${TOPDIR}/rules.mk PKG_NAME:= gnutls -PKG_VERSION:= 1.6.2 -PKG_RELEASE:= 3 -PKG_MD5SUM:= 1b224e4de5ac5ab89a2e53c7af9cf6b0 -DISTFILES:= gnutls-1.6.2.tar.bz2 +PKG_VERSION:= 2.0.0 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 181b2ff554a83e6cf85505ea16699d39 +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2 MASTER_SITES:= ftp://ftp.gnutls.org/pub/gnutls/ \ ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/ \ http://www.mirrors.wiretapped.net/security/network-security/gnutls/ \ @@ -21,26 +21,23 @@ $(eval $(call PKG_template,LIBGNUTLS,libgnutls,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) $(eval $(call PKG_template,GNUTLS_UTILS,gnutls-utils,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) +$(eval $(call PKG_template,LIBGNUTLS_EXTRA,libgnutls-extra,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) $(eval $(call PKG_template,LIBGNUTLS_OPENSSL,libgnutls-openssl,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) +$(eval $(call PKG_template,LIBGNUTLSXX,libgnutlsxx,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) CONFIGURE_STYLE= gnu -CONFIGURE_ARGS+= --disable-srp-authentication \ - --disable-anon-authentication \ - --disable-openpgp-authentication \ - --with-included-libcfg=yes \ - --without-zlib \ - --without-lzo +CONFIGURE_ARGS+= --without-libopencdk-prefix \ + --without-libz-prefix BUILD_STYLE= auto INSTALL_STYLE= auto post-install: - ${INSTALL_DIR} ${IDIR_LIBGNUTLS}/usr/lib - ${CP} ${WRKINST}/usr/lib/libgnutls{,-extra}.so.* ${IDIR_LIBGNUTLS}/usr/lib/ - ${INSTALL_DIR} ${IDIR_LIBGNUTLS_OPENSSL}/usr/lib - ${CP} ${WRKINST}/usr/lib/libgnutls-openssl.so.* \ - ${IDIR_LIBGNUTLS_OPENSSL}/usr/lib/ - ${INSTALL_DIR} ${IDIR_GNUTLS_UTILS}/usr/bin - ${CP} ${WRKINST}/usr/bin/certtool ${IDIR_GNUTLS_UTILS}/usr/bin/ - ${CP} ${WRKINST}/usr/bin/gnutls-{cli,serv} ${IDIR_GNUTLS_UTILS}/usr/bin/ + cd ${WRKINST} && ${PCP} usr/lib/libgnutls.so.* ${IDIR_LIBGNUTLS}/ + cd ${WRKINST} && ${PCP} usr/lib/libgnutls-extra.so.* ${IDIR_LIBGNUTLS_EXTRA}/ + cd ${WRKINST} && ${PCP} usr/lib/libgnutls-openssl.so.* ${IDIR_LIBGNUTLS_OPENSSL}/ + cd ${WRKINST} && ${PCP} usr/lib/libgnutlsxx.so.* ${IDIR_LIBGNUTLSXX}/ + cd ${WRKINST} && ${PCP} usr/bin/certtool ${IDIR_GNUTLS_UTILS} + cd ${WRKINST} && ${PCP} usr/bin/{srp,psk}tool ${IDIR_GNUTLS_UTILS} + cd ${WRKINST} && ${PCP} usr/bin/gnutls-{cli,serv} ${IDIR_GNUTLS_UTILS} include ${TOPDIR}/mk/pkg-bottom.mk _______________________________________________ freewrt-developers mailing list freewrt-developers@freewrt.org https://www.freewrt.org/lists/listinfo/freewrt-developers