Hi Simon,

Simon Josefsson wrote:
Hi!  Quite some time ago, I posted the following:

http://mailman.uclinux.org/pipermail/uclinux-dev/2005-August/034484.html

For some reason, this was never integrated into uClinux CVS.  A customer
recently requested updated information about the status of this work.
So I updated the patch for the latest versions of these tools.  Is there
interest in committing this to CVS at this time?

The problem that I have currently is related to crypto code in
the dist, and that fact that I/we are effectively exporting it.
I know the restrictions on such things have been eased in recent
years, but it still makes lawyers at my end nervous.

That is why the dist doesn't contain the openssl library code
for example. Even though it is very simple to add it yourself
(and the master tree has it in it - just not publicly visible).

Regards
Greg



See complete instructions for building libgpg-error, libgcrypt, gnutls
and gsasl under uClinux below.

/Simon

Installation of libgpg-error, libgcrypt, gnutls and gsasl under uClinux
=======================================================================

Written by Simon Josefsson on 2007-06-07.  Last updated 2007-06-07.
See link:http://josefsson.org/uclinux/[] and
link:http://josefsson.org/uclinux/[] for more information.

Download the uClinux distribution
---------------------------------

   Get it from http://uclinux.org/pub/uClinux/dist/

   This was written for the 20070130 version,
   MD5 72926ff263c0499abd9004f631a2bb82.

   Unpack it as follows:

   ...........
   $ tar xfj uClinux-dist-20070130.tar.bz2
   ...........

Download the m68k/Coldfire cross compiler
-----------------------------------------

   Get it from http://www.uclinux.org/pub/uClinux/m68k-elf-tools/

   This was written for the 20061214 version,
   MD5 24776e2bc5fe27b35fac0c989029ee68.

   Install it as follows

   ...........
   # sh ./m68k-uclinux-tools-20061214.sh
   ...........

Download libgpg-error, libgcrypt, gnutls, gsasl.
------------------------------------------------

   ...........
   $ cd uClinux-dist/lib
   ...........

   ...........
   $ wget -q ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.5.tar.bz2
   $ sha1sum libgpg-error-1.5.tar.bz2
   1f83d9af8e8ed3bcbf3a5e9018db257dc6336655  libgpg-error-1.5.tar.bz2
   $ tar xfj libgpg-error-1.5.tar.bz2
   $ mv libgpg-error-1.5 libgpg-error
   ...........

   ...........
   $ wget -q ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.4.tar.gz
   $ sha1sum libgcrypt-1.2.4.tar.gz
   d279e7a4464cccf0cc4e29c374a1e8325fc65b9a  libgcrypt-1.2.4.tar.gz
   $ tar xfz libgcrypt-1.2.4.tar.gz
   $ mv libgcrypt-1.2.4 libgcrypt
   ...........

   ...........
   $ wget -q http://josefsson.org/gnutls/releases/gnutls-1.6.3.tar.bz2
   $ sha1sum gnutls-1.6.3.tar.bz2
   7553b9f7ddd4982c0759b814bc6d9bf892cf7347  gnutls-1.6.3.tar.bz2
   $ tar xfj gnutls-1.6.3.tar.bz2
   $ mv gnutls-1.6.3 gnutls
   ...........

   ...........
   $ wget -q http://josefsson.org/gsasl/releases/gsasl-0.2.18.tar.gz
   $ sha1sum gsasl-0.2.18.tar.gz
   4447b365d34b2e4c605c16c8bd6819be3c404679  gsasl-0.2.18.tar.gz
   $ tar xfz gsasl-0.2.18.tar.gz
   $ mv gsasl-0.2.18 gsasl
   ...........

Download patch
--------------

   Get it from http://josefsson.org/uclinux/

   This was written for the 20070607 version,
   SHA-1 01022c6fba6f9c480cb29ba35ba73bfbf2db3cdb.

   Apply it as follows:

   ...........
   $ patch -p 0 < 20070607.diff
   patching file uClinux-dist/config/Configure.help
   patching file uClinux-dist/config/config.in
   patching file uClinux-dist/lib/Makefile
   patching file uClinux-dist/lib/libgpg-error/makefile
   patching file uClinux-dist/lib/libgcrypt/makefile
   patching file uClinux-dist/lib/gnutls/makefile
   patching file uClinux-dist/lib/gsasl/makefile
   $
   ...........

Build uClinux
-------------

   ...........
   $ cd uClinux-dist
   $ make menuconfig
   ...........

   I changed the kernel to 'linux-2.4' and CPU to Freescale/M5407C3.

   Be sure to toggle 'Customize Vendor/User Settings' under
   'Kernel/Library/Defaults Selection' in the first dialog.

   Be sure to toggle libgpg-error, libgcrypt, gnutls and/or gsasl under
   'Library Configuration' in the second dialog.

   ...........
   $ make dep
   $ make
   ...........

   If you get build failures during ./configure of gnutls or gsasl
   related to missing 'libgcrypt-config' you need to do:

   ...........
   $ cd uClinux-dist/lib/libgcrypt/inst/bin
   $ ln -s m68k-elf-linux-libgcrypt-config libgcrypt-config
   ...........

Finished
--------

The packages, including in particular the libraries, should now be
available from:

   ...........
             uClinux-dist/lib/libgpg-error/inst/
             uClinux-dist/lib/libgcrypt/inst/
             uClinux-dist/lib/gnutls/inst/
             uClinux-dist/lib/gsasl/inst/
   ...........



------------------------------------------------------------------------

--- uClinux-dist.orig/config/Configure.help     2006-11-15 03:03:58.000000000 
+0100
+++ uClinux-dist/config/Configure.help  2007-06-04 14:46:48.000000000 +0200
@@ -762,6 +762,24 @@
   set up by init during system boot.  This means that changes to the
   time zone take effect immediately instead of requiring a reboot.
+CONFIG_LIB_LIBGPGERROR_FORCE
+  The libgpg-error library, error handling for the GnuPG components.
+  Needed by GnuTLS.
+
+CONFIG_LIB_LIBGCRYPT_FORCE
+  Low-level cryptographic library.  This library requires (and
+  enables) libgpg-error.  Needed by GnuTLS and GNU SASL.
+
+CONFIG_LIB_GNUTLS_FORCE
+  Library for the Transport Layer Security (TLS) network security
+  protocol.  This library requires (and enables) libgpg-error and
+  libgcrypt.
+
+CONFIG_LIB_GSASL_FORCE
+  Library for the Simple Authentication and Security Layer (SASL)
+  network security protocol.  This library requires (and enables)
+  libgpg-error and libgcrypt.
+
 CONFIG_USER_BOA_EMERG
   If enabled, boa will syslog all messages at the emergency level
--- uClinux-dist.orig/config/config.in 2007-01-30 03:10:39.000000000 +0100
+++ uClinux-dist/config/config.in       2007-06-04 14:47:35.000000000 +0200
@@ -135,6 +135,21 @@
        define_bool CONFIG_LIB_LIBSSL y
 fi
 bool 'Build libcrypt_old'      CONFIG_LIB_LIBCRYPT_OLD_FORCE
+bool 'Build libgpg-error'      CONFIG_LIB_LIBGPGERROR_FORCE
+bool 'Build libgcrypt'         CONFIG_LIB_LIBGCRYPT_FORCE
+if [ "$CONFIG_LIB_LIBGCRYPT_FORCE" = "y" ]; then
+       define_bool CONFIG_LIB_LIBGPGERROR y
+fi
+bool 'Build gnutls'            CONFIG_LIB_GNUTLS_FORCE
+if [ "$CONFIG_LIB_GNUTLS_FORCE" = "y" ]; then
+       define_bool CONFIG_LIB_LIBGPGERROR y
+       define_bool CONFIG_LIB_LIBGCRYPT y
+fi
+bool 'Build gsasl'             CONFIG_LIB_GSASL_FORCE
+if [ "$CONFIG_LIB_GSASL_FORCE" = "y" ]; then
+       define_bool CONFIG_LIB_LIBGPGERROR y
+       define_bool CONFIG_LIB_LIBGCRYPT y
+fi
comment 'Library Configuration'
 bool 'Support time zones'      CONFIG_LIB_UC_LIBC_TIMEZONE
--- uClinux-dist.orig/lib/Makefile      2006-10-31 06:21:43.000000000 +0100
+++ uClinux-dist/lib/Makefile   2007-06-04 15:04:08.000000000 +0200
@@ -100,12 +100,20 @@
 dir_4_$(CONFIG_LIB_NETFILTER_CONNTRACK) += libnetfilter_conntrack
 dir_4_$(CONFIG_LIB_LIBPNG)       += libpng
 dir_4_$(CONFIG_LIB_LIBPNG_FORCE) += libpng
+dir_3_$(CONFIG_LIB_LIBGPGERROR) += libgpg-error
+dir_3_$(CONFIG_LIB_LIBGPGERROR_FORCE) += libgpg-error
+dir_4_$(CONFIG_LIB_LIBGCRYPT)    += libgcrypt
+dir_4_$(CONFIG_LIB_LIBGCRYPT_FORCE) += libgcrypt
+dir_5_$(CONFIG_LIB_GNUTLS)       += gnutls
+dir_5_$(CONFIG_LIB_GNUTLS_FORCE) += gnutls
+dir_6_$(CONFIG_LIB_GSASL)        += gsasl
+dir_6_$(CONFIG_LIB_GSASL_FORCE)  += gsasl
# And build libraries in the prop directory last
-dir_5_y = $(ROOTDIR)/prop
+dir_7_y = $(ROOTDIR)/prop
-DIRS_y = $(foreach n,1 2 3 4 5,$(sort $(dir_$(n)_y)))
-DIRS_all = $(foreach n,1 2 3 4 5,$(sort $(dir_$(n)_y) $(dir_$(n)_n) 
$(dir_$(n)_)))
+DIRS_y   = $(foreach n,1 2 3 4 5 6 7,$(sort $(dir_$(n)_y)))
+DIRS_all = $(foreach n,1 2 3 4 5 6 7,$(sort $(dir_$(n)_y) $(dir_$(n)_n) 
$(dir_$(n)_)))
############################################################################## @@ -131,6 +139,14 @@
                $(MAKE) -j$(HOST_NCPU) $(sort $(dir_5_y)) || exit $$?
        $(MAKE) -j1 -C ../include
        $(MAKE) make_links                        || exit $$?
+       [ -z "$(dir_6_y)" ] ||\
+               $(MAKE) -j$(HOST_NCPU) $(sort $(dir_6_y)) || exit $$?
+       $(MAKE) -j1 -C ../include
+       $(MAKE) make_links                        || exit $$?
+       [ -z "$(dir_7_y)" ] ||\
+               $(MAKE) -j$(HOST_NCPU) $(sort $(dir_7_y)) || exit $$?
+       $(MAKE) -j1 -C ../include
+       $(MAKE) make_links                        || exit $$?
# the actual dir target
 .PHONY: $(DIRS_y)
--- uClinux-dist.orig/lib/libgpg-error/makefile 1970-01-01 01:00:00.000000000 
+0100
+++ uClinux-dist/lib/libgpg-error/makefile      2007-06-07 14:14:34.000000000 
+0200
@@ -0,0 +1,28 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform.  If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/libgpg-error/inst \
+       --disable-shared
+
+all: build/build
+       $(MAKE) -C build install
+
+build/build: makefile
+       chmod u+x configure
+       rm -rf build
+       mkdir build
+       cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+       touch build/build
+
+clean:
+       rm -rf build
+
+romfs:
--- uClinux-dist.orig/lib/libgcrypt/makefile    1970-01-01 01:00:00.000000000 
+0100
+++ uClinux-dist/lib/libgcrypt/makefile 2007-06-07 14:14:30.000000000 +0200
@@ -0,0 +1,30 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform.  If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/libgcrypt/inst \
+       --disable-shared \
+       --with-gpg-error-prefix=$(ROOTDIR)/lib/libgpg-error/inst \
+       --disable-asm
+
+all: build/build
+       $(MAKE) -C build install
+
+build/build: makefile
+       chmod u+x configure
+       rm -rf build
+       mkdir build
+       cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+       touch build/build
+
+clean:
+       rm -rf build
+
+romfs:
--- uClinux-dist.orig/lib/gnutls/makefile       1970-01-01 01:00:00.000000000 
+0100
+++ uClinux-dist/lib/gnutls/makefile    2007-06-07 14:14:17.000000000 +0200
@@ -0,0 +1,32 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform.  If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/gnutls/inst \
+       --disable-shared \
+       --with-libgcrypt-prefix=$(ROOTDIR)/lib/libgcrypt/inst \
+       --with-included-opencdk \
+       --with-included-libtasn1 \
+       --disable-cxx
+
+all: build/build
+       $(MAKE) -C build install
+
+build/build: makefile
+       chmod u+x configure
+       rm -rf build
+       mkdir build
+       cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+       touch build/build
+
+clean:
+       rm -rf build
+
+romfs:
--- uClinux-dist.orig/lib/gsasl/makefile        1970-01-01 01:00:00.000000000 
+0100
+++ uClinux-dist/lib/gsasl/makefile     2007-06-07 14:30:11.000000000 +0200
@@ -0,0 +1,32 @@
+# Copyright (C) 2005, 2007 Simon Josefson
+#
+# This file is free software; the author gives unlimited permission to
+# copy and/or distribute it, with or without modifications, as long as
+# this notice is preserved.
+#
+# This work was sponsored by a company using GNU SASL and GNU TLS on
+# a uClinux platform.  If you need commercial help with Libgpg-error,
+# Libgcrypt, GNU SASL or GNU TLS, please contact Simon Josefsson
+# <[EMAIL PROTECTED]>.
+
+CONFOPTS := --prefix=$(ROOTDIR)/lib/gsasl/inst \
+       --disable-shared \
+       --with-libgcrypt \
+       --with-libgcrypt-prefix=$(ROOTDIR)/lib/libgcrypt/inst \
+       --disable-gssapi \
+       --disable-obsolete
+
+all: build/build
+       $(MAKE) -C build install
+
+build/build: makefile
+       chmod u+x configure
+       rm -rf build
+       mkdir build
+       cd build && ../configure $(CONFIGURE_OPTS) $(CONFOPTS)
+       touch build/build
+
+clean:
+       rm -rf build
+
+romfs:


------------------------------------------------------------------------

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

--
------------------------------------------------------------------------
Greg Ungerer  --  Chief Software Dude       EMAIL:     [EMAIL PROTECTED]
Secure Computing Corporation                PHONE:       +61 7 3435 2888
825 Stanley St,                             FAX:         +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia         WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to