Add gnutls package
authorNicolas Thill <nico@openwrt.org>
Wed, 15 Jun 2005 02:35:48 +0000 (02:35 +0000)
committerNicolas Thill <nico@openwrt.org>
Wed, 15 Jun 2005 02:35:48 +0000 (02:35 +0000)
SVN-Revision: 1253

openwrt/package/Config.in
openwrt/package/Makefile
openwrt/package/gnutls/Config.in [new file with mode: 0644]
openwrt/package/gnutls/Makefile [new file with mode: 0644]
openwrt/package/gnutls/ipkg/gnutls-utils.control [new file with mode: 0644]
openwrt/package/gnutls/ipkg/libgnutls-openssl.control [new file with mode: 0644]
openwrt/package/gnutls/ipkg/libgnutls.control [new file with mode: 0644]
openwrt/package/gnutls/patches/500-cross-compile.patch [new file with mode: 0644]
openwrt/package/gnutls/patches/501-certtool-libs.patch [new file with mode: 0644]

index 0a50369ed15b95c0efc55dd49d451862e2c46028..0811317f6053e3d6a1d942962dbac861cabf639f 100644 (file)
@@ -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
index 4551b0d2e519b2f75a17e99a955acaac84ebd526..0cc914fa19952717eb93ca7673c8b975f73eaefe 100644 (file)
@@ -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/openwrt/package/gnutls/Config.in b/openwrt/package/gnutls/Config.in
new file mode 100644 (file)
index 0000000..fe1e458
--- /dev/null
@@ -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/openwrt/package/gnutls/Makefile b/openwrt/package/gnutls/Makefile
new file mode 100644 (file)
index 0000000..fdb3b13
--- /dev/null
@@ -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/openwrt/package/gnutls/ipkg/gnutls-utils.control b/openwrt/package/gnutls/ipkg/gnutls-utils.control
new file mode 100644 (file)
index 0000000..aa08f66
--- /dev/null
@@ -0,0 +1,9 @@
+Package: gnutls-utils
+Priority: optional
+Section: admin
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developers Team <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/gnutls/
+Description: GNU TLS utilities
+Depends: libgnutls
diff --git a/openwrt/package/gnutls/ipkg/libgnutls-openssl.control b/openwrt/package/gnutls/ipkg/libgnutls-openssl.control
new file mode 100644 (file)
index 0000000..0acd300
--- /dev/null
@@ -0,0 +1,9 @@
+Package: libgnutls-openssl
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developers Team <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/gnutls/
+Description: GNU TLS OpenSSL compatibility layer library
+Depends: libgnutls
diff --git a/openwrt/package/gnutls/ipkg/libgnutls.control b/openwrt/package/gnutls/ipkg/libgnutls.control
new file mode 100644 (file)
index 0000000..824a153
--- /dev/null
@@ -0,0 +1,9 @@
+Package: libgnutls
+Priority: optional
+Section: libs
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: OpenWrt Developers Team <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/gnutls/
+Description: GNU TLS library
+Depends: libgcrypt, libopencdk, libtasn1
diff --git a/openwrt/package/gnutls/patches/500-cross-compile.patch b/openwrt/package/gnutls/patches/500-cross-compile.patch
new file mode 100644 (file)
index 0000000..5694bb2
--- /dev/null
@@ -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/openwrt/package/gnutls/patches/501-certtool-libs.patch b/openwrt/package/gnutls/patches/501-certtool-libs.patch
new file mode 100644 (file)
index 0000000..db39f88
--- /dev/null
@@ -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