From d0ae6bcd1a3bb766574303802a14f5725853e819 Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Wed, 15 Jun 2005 02:35:48 +0000 Subject: [PATCH] Add gnutls package git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1253 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/Config.in | 1 + package/Makefile | 2 + package/gnutls/Config.in | 103 ++++++++++++++ package/gnutls/Makefile | 130 ++++++++++++++++++ package/gnutls/ipkg/gnutls-utils.control | 9 ++ package/gnutls/ipkg/libgnutls-openssl.control | 9 ++ package/gnutls/ipkg/libgnutls.control | 9 ++ .../gnutls/patches/500-cross-compile.patch | 68 +++++++++ .../gnutls/patches/501-certtool-libs.patch | 24 ++++ 9 files changed, 355 insertions(+) create mode 100644 package/gnutls/Config.in create mode 100644 package/gnutls/Makefile create mode 100644 package/gnutls/ipkg/gnutls-utils.control create mode 100644 package/gnutls/ipkg/libgnutls-openssl.control create mode 100644 package/gnutls/ipkg/libgnutls.control create mode 100644 package/gnutls/patches/500-cross-compile.patch create mode 100644 package/gnutls/patches/501-certtool-libs.patch diff --git a/package/Config.in b/package/Config.in index 0a50369ed1..0811317f60 100644 --- a/package/Config.in +++ b/package/Config.in @@ -96,6 +96,7 @@ source "package/libgcrypt/Config.in" source "package/libgd/Config.in" source "package/libgdbm/Config.in" source "package/gmp/Config.in" # libgmp +source "package/gnutls/Config.in" ## libgnutls source "package/libgpg-error/Config.in" source "package/libtool/Config.in" # libltdl source "package/lzo/Config.in" # liblzo diff --git a/package/Makefile b/package/Makefile index 4551b0d2e5..0cc914fa19 100644 --- a/package/Makefile +++ b/package/Makefile @@ -28,6 +28,7 @@ package-$(BR2_PACKAGE_FUSE) += fuse package-$(BR2_PACKAGE_GDB) += gdb package-$(BR2_PACKAGE_GLIB) += glib package-$(BR2_PACKAGE_GMP) += gmp +package-$(BR2_PACKAGE_GNUTLS) += gnutls package-$(BR2_PACKAGE_HASERL) += haserl package-$(BR2_PACKAGE_HOWL) += howl package-$(BR2_PACKAGE_HTPDATE) += htpdate @@ -141,6 +142,7 @@ dropbear-compile: zlib-compile dsniff-compile: libnids-compile openssl-compile libgdbm-compile fprobe-compile: libpcap-compile gdb-compile: ncurses-compile +gnutls-compile: libgcrypt-compile opencdk-compile libtasn1-compile kismet-compile: uclibc++-compile libpcap-compile ncurses-compile lcd4linux-compile: ncurses-compile libgcrypt-compile: libgpg-error-compile diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in new file mode 100644 index 0000000000..fe1e4580fe --- /dev/null +++ b/package/gnutls/Config.in @@ -0,0 +1,103 @@ +config BR2_PACKAGE_GNUTLS + default n + depends BR2_PACKAGE_LIBGNUTLS + +config BR2_PACKAGE_LIBGNUTLS + tristate "libgnutls - The GNU TLS library" +# default m if CONFIG_DEVEL + default n + select BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBOPENCDK + select BR2_PACKAGE_LIBTASN1 + 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 shared libraries, needed by other programs. + + +config BR2_PACKAGE_GNUTLS_UTILS + tristate "gnutls-utils - The GNU TLS utilities" +# default m if CONFIG_DEVEL + default n + depends BR2_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 some GnuTLS utilities. + + +config BR2_PACKAGE_LIBGNUTLS_OPENSSL + tristate "libgnutls-openssl - The GNU TLS OpenSSL compatibility layer library" +# default m if CONFIG_DEVEL + default n + depends BR2_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 OpenSSL compatibility layer shared library. + + diff --git a/package/gnutls/Makefile b/package/gnutls/Makefile new file mode 100644 index 0000000000..fdb3b13b0c --- /dev/null +++ b/package/gnutls/Makefile @@ -0,0 +1,130 @@ +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=gnutls +PKG_VERSION:=1.0.25 +PKG_RELEASE:=0 +PKG_MD5SUM:=3585b5b204135e51e0efc9084b3e028b + +PKG_SOURCE_URL:=ftp://ftp.gnutls.org/pub/gnutls/ \ + ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/ \ + http://www.mirrors.wiretapped.net/security/network-security/gnutls/ \ + ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/ \ + http://josefsson.org/gnutls/releases/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_CAT:=zcat + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install + +include $(TOPDIR)/package/rules.mk + +$(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_OPENSSL,libgnutls-openssl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) + +$(PKG_BUILD_DIR)/.configured: + (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \ + touch configure.in ; \ + touch acinclude.m4 ; \ + touch aclocal.m4 ; \ + touch Makefile.in ; \ + touch config.h.in ; \ + touch configure ; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + CPPFLAGS="-I$(STAGING_DIR)/usr/include" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --datadir=/usr/share \ + --includedir=/usr/include \ + --infodir=/usr/share/info \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc \ + $(DISABLE_NLS) \ + $(DISABLE_LARGEFILE) \ + --enable-shared \ + --enable-static \ + --disable-rpath \ + --disable-srp-authentication \ + --disable-anon-authentication \ + --disable-openpgp-authentication \ + --with-libgcrypt-prefix="$(STAGING_DIR)/usr" \ + --with-libopencdk-prefix="$(STAGING_DIR)/usr" \ + --with-libtasn1-prefix="$(STAGING_DIR)/usr" \ + --with-included-libcfg \ + --without-zlib \ + --without-lzo \ + ); + touch $@ + +$(PKG_BUILD_DIR)/.built: + rm -rf $(PKG_INSTALL_DIR) + mkdir -p $(PKG_INSTALL_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + all install + touch $@ + +$(IPKG_LIBGNUTLS): + install -m0755 -d $(IDIR_LIBGNUTLS)/usr/lib + cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libgnutls{,-extra}.so.* $(IDIR_LIBGNUTLS)/usr/lib/ + $(RSTRIP) $(IDIR_LIBGNUTLS) + $(IPKG_BUILD) $(IDIR_LIBGNUTLS) $(PACKAGE_DIR) + +$(IPKG_LIBGNUTLS_OPENSSL): + install -m0755 -d $(IDIR_LIBGNUTLS_OPENSSL)/usr/lib + cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libgnutls-openssl.so.* $(IDIR_LIBGNUTLS_OPENSSL)/usr/lib/ + $(RSTRIP) $(IDIR_LIBGNUTLS_OPENSSL) + $(IPKG_BUILD) $(IDIR_LIBGNUTLS_OPENSSL) $(PACKAGE_DIR) + +$(IPKG_GNUTLS_UTILS): + install -m0755 -d $(IDIR_GNUTLS_UTILS)/usr/bin + cp -fpR $(PKG_INSTALL_DIR)/usr/bin/certtool $(IDIR_GNUTLS_UTILS)/usr/bin/ + cp -fpR $(PKG_INSTALL_DIR)/usr/bin/gnutls-{cli,serv} $(IDIR_GNUTLS_UTILS)/usr/bin/ + $(RSTRIP) $(IDIR_GNUTLS_UTILS) + $(IPKG_BUILD) $(IDIR_GNUTLS_UTILS) $(PACKAGE_DIR) + +$(STAGING_DIR)/usr/lib/libgnutls.so: $(PKG_BUILD_DIR)/.built + mkdir -p $(STAGING_DIR)/usr/bin + cp -fpR $(PKG_INSTALL_DIR)/usr/bin/libgnutls{,-extra}-config $(STAGING_DIR)/usr/bin/ + mkdir -p $(STAGING_DIR)/usr/include + cp -fpR $(PKG_INSTALL_DIR)/usr/include/gnutls $(STAGING_DIR)/usr/include/ + mkdir -p $(STAGING_DIR)/usr/lib + cp -fpR $(PKG_INSTALL_DIR)/usr/lib/libgnutls{,-extra,-openssl}.{a,so*} $(STAGING_DIR)/usr/lib/ + mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig + cp -fpR $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls{,-extra}.pc $(STAGING_DIR)/usr/lib/pkgconfig/ + mkdir -p $(STAGING_DIR)/usr/share/aclocal + cp -fpR $(PKG_INSTALL_DIR)/usr/share/aclocal/libgnutls{,-extra}.m4 $(STAGING_DIR)/usr/share/aclocal/ + touch $@ + +install-dev: $(STAGING_DIR)/usr/lib/libgnutls.so + +uninstall-dev: + rm -rf \ + $(STAGING_DIR)/usr/bin/libgnutls{,-extra}-config \ + $(STAGING_DIR)/usr/include/gnutls \ + $(STAGING_DIR)/usr/lib/libgnutls{,-extra,-openssl}.{a,so*} \ + $(STAGING_DIR)/usr/lib/pkgconfig/gnutls{,-extra}.pc \ + $(STAGING_DIR)/usr/share/aclocal/libgnutls{,-extra}.m4 \ + +compile: install-dev + +clean: uninstall-dev + +mostlyclean: + make -C $(PKG_BUILD_DIR) clean + rm -f $(PKG_BUILD_DIR)/.built diff --git a/package/gnutls/ipkg/gnutls-utils.control b/package/gnutls/ipkg/gnutls-utils.control new file mode 100644 index 0000000000..aa08f66bce --- /dev/null +++ b/package/gnutls/ipkg/gnutls-utils.control @@ -0,0 +1,9 @@ +Package: gnutls-utils +Priority: optional +Section: admin +Version: [TBDL] +Architecture: [TBDL] +Maintainer: OpenWrt Developers Team +Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/gnutls/ +Description: GNU TLS utilities +Depends: libgnutls diff --git a/package/gnutls/ipkg/libgnutls-openssl.control b/package/gnutls/ipkg/libgnutls-openssl.control new file mode 100644 index 0000000000..0acd300aa0 --- /dev/null +++ b/package/gnutls/ipkg/libgnutls-openssl.control @@ -0,0 +1,9 @@ +Package: libgnutls-openssl +Priority: optional +Section: libs +Version: [TBDL] +Architecture: [TBDL] +Maintainer: OpenWrt Developers Team +Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/gnutls/ +Description: GNU TLS OpenSSL compatibility layer library +Depends: libgnutls diff --git a/package/gnutls/ipkg/libgnutls.control b/package/gnutls/ipkg/libgnutls.control new file mode 100644 index 0000000000..824a153e71 --- /dev/null +++ b/package/gnutls/ipkg/libgnutls.control @@ -0,0 +1,9 @@ +Package: libgnutls +Priority: optional +Section: libs +Version: [TBDL] +Architecture: [TBDL] +Maintainer: OpenWrt Developers Team +Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/gnutls/ +Description: GNU TLS library +Depends: libgcrypt, libopencdk, libtasn1 diff --git a/package/gnutls/patches/500-cross-compile.patch b/package/gnutls/patches/500-cross-compile.patch new file mode 100644 index 0000000000..5694bb25f4 --- /dev/null +++ b/package/gnutls/patches/500-cross-compile.patch @@ -0,0 +1,68 @@ +diff -ruN gnutls-1.0.24-orig/configure gnutls-1.0.24-1/configure +--- gnutls-1.0.24-orig/configure 2005-01-18 19:31:03.000000000 +0100 ++++ gnutls-1.0.24-1/configure 2005-03-15 23:23:12.000000000 +0100 +@@ -3633,7 +3633,7 @@ + if test x$opt_developer_mode = xyes; then + CFLAGS="${CFLAGS} -g -Wno-format-y2k -Wall -Wcast-align -W -Wpointer-arith -Wchar-subscripts -Wformat-security -Wmissing-braces -Winline -Wstrict-prototypes" + else +- CFLAGS="${CFLAGS} -O2 -finline-functions" ++ CFLAGS="${CFLAGS} -finline-functions" + fi + + if test x$opt_dmalloc_mode = xyes; then +@@ -25004,8 +25004,8 @@ + + + +-LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" +-LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}" ++LIBGNUTLS_LIBS="-lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" ++LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS" + + CFLAGS="${CFLAGS} ${LIBGCRYPT_CFLAGS}" + +@@ -25015,8 +25015,8 @@ + SERV_LIBS="$LIBS $SERV_LIBS" + + +-LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" +-LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS -I${includedir}" ++LIBGNUTLS_EXTRA_LIBS="-lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" ++LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS $LIBGNUTLS_CFLAGS" + + + +diff -ruN gnutls-1.0.24-orig/configure.in gnutls-1.0.24-1/configure.in +--- gnutls-1.0.24-orig/configure.in 2004-11-14 00:06:57.000000000 +0100 ++++ gnutls-1.0.24-1/configure.in 2005-03-15 23:24:35.000000000 +0100 +@@ -137,7 +137,7 @@ + if test x$opt_developer_mode = xyes; then + CFLAGS="${CFLAGS} -g -Wno-format-y2k -Wall -Wcast-align -W -Wpointer-arith -Wchar-subscripts -Wformat-security -Wmissing-braces -Winline -Wstrict-prototypes" + else +- CFLAGS="${CFLAGS} -O2 -finline-functions" ++ CFLAGS="${CFLAGS} -finline-functions" + fi + + if test x$opt_dmalloc_mode = xyes; then +@@ -489,8 +489,8 @@ + ]) + AM_PROG_LIBTOOL + +-LIBGNUTLS_LIBS="-L${libdir} -lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" +-LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS -I${includedir}" ++LIBGNUTLS_LIBS="-lgnutls $LIBTASN1_LIBS $LIBGCRYPT_LIBS $LIBS" ++LIBGNUTLS_CFLAGS="$LIBGCRYPT_CFLAGS $LIBTASN1_CFLAGS" + + CFLAGS="${CFLAGS} ${LIBGCRYPT_CFLAGS}" + +@@ -500,8 +500,8 @@ + SERV_LIBS="$LIBS $SERV_LIBS" + AC_SUBST(SERV_LIBS) + +-LIBGNUTLS_EXTRA_LIBS="-L${libdir} -lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" +-LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS -I${includedir}" ++LIBGNUTLS_EXTRA_LIBS="-lgnutls-extra $LIBOPENCDK_LIBS $LZO_LIBS $LIBGNUTLS_LIBS" ++LIBGNUTLS_EXTRA_CFLAGS="$LIBOPENCDK_CFLAGS $LIBGNUTLS_CFLAGS" + + AC_SUBST(LIBGNUTLS_EXTRA_LIBS) + AC_SUBST(LIBGNUTLS_EXTRA_CFLAGS) diff --git a/package/gnutls/patches/501-certtool-libs.patch b/package/gnutls/patches/501-certtool-libs.patch new file mode 100644 index 0000000000..db39f88a92 --- /dev/null +++ b/package/gnutls/patches/501-certtool-libs.patch @@ -0,0 +1,24 @@ +diff -ruN gnutls-1.0.24-orig/src/Makefile.am gnutls-1.0.24-1/src/Makefile.am +--- gnutls-1.0.24-orig/src/Makefile.am 2004-09-17 11:08:24.000000000 +0200 ++++ gnutls-1.0.24-1/src/Makefile.am 2005-03-15 23:28:19.000000000 +0100 +@@ -31,7 +31,7 @@ + cfg/cfg+.c cfg/cfgfile.c cfg/cmdline.c cfg/parse.c cfg/props.c \ + cfg/shared.c cfg/platon/str/dynfgets.c cfg/platon/str/strctype.c \ + cfg/platon/str/strdyn.c cfg/platon/str/strplus.c +-certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) ++certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) + endif + + +diff -ruN gnutls-1.0.24-orig/src/Makefile.in gnutls-1.0.24-1/src/Makefile.in +--- gnutls-1.0.24-orig/src/Makefile.in 2005-01-18 19:31:14.000000000 +0100 ++++ gnutls-1.0.24-1/src/Makefile.in 2005-03-15 23:28:41.000000000 +0100 +@@ -308,7 +308,7 @@ + @HAVE_LIBCFG_FALSE@ cfg/platon/str/strdyn.c cfg/platon/str/strplus.c + + @HAVE_LIBCFG_TRUE@certtool_SOURCES = certtool-gaa.c certtool.c prime.c getpass.c certtool-cfg.c +-@HAVE_LIBCFG_FALSE@certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) ++@HAVE_LIBCFG_FALSE@certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) + @HAVE_LIBCFG_TRUE@certtool_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) $(LIBTASN1_LIBS) -lcfg+ + all: all-recursive +