summaryrefslogtreecommitdiff
path: root/README-alpha
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-06 17:12:09 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-06 17:13:38 +0100
commitd03a49e328fba990b3e159a37cce9531a7021195 (patch)
tree9f6f21316db9ed8b0f62ae874b1e8d3cf439bd53 /README-alpha
parent19c6f3e0f5b4b00d63edebf6248cc04756a124ca (diff)
downloadgnutls-d03a49e328fba990b3e159a37cce9531a7021195.tar.gz
README: converted to mark-down
Diffstat (limited to 'README-alpha')
-rw-r--r--README-alpha81
1 files changed, 46 insertions, 35 deletions
diff --git a/README-alpha b/README-alpha
index e2968ff954..ea70faa340 100644
--- a/README-alpha
+++ b/README-alpha
@@ -1,89 +1,100 @@
-GnuTLS README-alpha -- Information for developers. -*- outline -*-
-Copyright (C) 2009-2012 Free Software Foundation, Inc.
-See the end for copying conditions.
+GnuTLS README-alpha -- Information for developers
+=================================================
This file contains instructions for developers and advanced users that
want to build from version controlled sources.
We require several tools to check out and build the software, including:
-- Make <http://www.gnu.org/software/make/>
-- Automake <http://www.gnu.org/software/automake/> (use 1.11.3 or later)
-- Autoconf <http://www.gnu.org/software/autoconf/>
-- Autogen <http://www.gnu.org/software/autogen/> (use 5.16 or later)
-- Libtool <http://www.gnu.org/software/libtool/>
-- Gettext <http://www.gnu.org/software/gettext/>
-- Texinfo <http://www.gnu.org/software/texinfo/>
-- Tar <http://www.gnu.org/software/tar/>
-- Gzip <http://www.gnu.org/software/gzip/>
-- Texlive & epsf <http://www.tug.org/texlive/> (for PDF manual)
-- CVS <http://www.gnu.org/software/cvs/> (for gettext autopoint)
-- GTK-DOC <http://www.gtk.org/gtk-doc/> (for API manual)
-- Git <http://git-scm.com/>
-- Perl <http://www.cpan.org/>
-- Valgrind <http://valgrind.org/> (optional)
-- Nettle <http://www.lysator.liu.se/~nisse/nettle/>
-- Guile <http://www.gnu.org/software/guile/>
-- p11-kit <http://p11-glue.freedesktop.org/p11-kit.html>
-- gperf <http://www.gnu.org/software/gperf/>
-- libtasn1 <http://josefsson.org/libtasn1/> (optional)
-- datefudge <http://packages.debian.org/datefudge> (optional)
-- Libidn <http://www.gnu.org/software/libidn/> (optional, for crywrap)
-- AWK <http://www.gnu.org/software/awk/> (for make dist, pmccabe2html)
-- git2cl <http://savannah.nongnu.org/projects/git2cl/> (for make dist, ChangeLog)
-- softhsm <http://www.opendnssec.org/softhsm/> (for testing smart card support)
-- dieharder <http://www.phy.duke.edu/~rgb/General/dieharder.php> (for testing PRNG)
-- bison <http://www.gnu.org/software/bison> (for datetime parser in certtool)
-- libunbound <https://unbound.net/> (for DANE support)
-- nodejs <http://nodejs.org/> (needed for certain test cases)
-- abi-compliance-checker <http://ispras.linuxbase.org/index.php/ABI_compliance_checker> (for make dist)
+* Make <http://www.gnu.org/software/make/>
+* Automake <http://www.gnu.org/software/automake/> (use 1.11.3 or later)
+* Autoconf <http://www.gnu.org/software/autoconf/>
+* Autogen <http://www.gnu.org/software/autogen/> (use 5.16 or later)
+* Libtool <http://www.gnu.org/software/libtool/>
+* Gettext <http://www.gnu.org/software/gettext/>
+* Texinfo <http://www.gnu.org/software/texinfo/>
+* Tar <http://www.gnu.org/software/tar/>
+* Gzip <http://www.gnu.org/software/gzip/>
+* Texlive & epsf <http://www.tug.org/texlive/> (for PDF manual)
+* CVS <http://www.gnu.org/software/cvs/> (for gettext autopoint)
+* GTK-DOC <http://www.gtk.org/gtk-doc/> (for API manual)
+* Git <http://git-scm.com/>
+* Perl <http://www.cpan.org/>
+* Valgrind <http://valgrind.org/> (optional)
+* Nettle <http://www.lysator.liu.se/~nisse/nettle/>
+* Guile <http://www.gnu.org/software/guile/>
+* p11-kit <http://p11-glue.freedesktop.org/p11-kit.html>
+* gperf <http://www.gnu.org/software/gperf/>
+* libtasn1 <http://josefsson.org/libtasn1/> (optional)
+* datefudge <http://packages.debian.org/datefudge> (optional)
+* Libidn <http://www.gnu.org/software/libidn/> (optional, for internationalization of DNS)
+* AWK <http://www.gnu.org/software/awk/> (for make dist, pmccabe2html)
+* git2cl <http://savannah.nongnu.org/projects/git2cl/> (for make dist, ChangeLog)
+* softhsm <http://www.opendnssec.org/softhsm/> (for testing smart card support)
+* dieharder <http://www.phy.duke.edu/~rgb/General/dieharder.php> (for testing PRNG)
+* bison <http://www.gnu.org/software/bison> (for datetime parser in certtool)
+* libunbound <https://unbound.net/> (for DANE support)
+* nodejs <http://nodejs.org/> (needed for certain test cases)
+* abi-compliance-checker <http://ispras.linuxbase.org/index.php/ABI_compliance_checker> (for make dist)
The required software is typically distributed with your operating
system, and the instructions for installing them differ. Here are
some hints:
gNewSense/Debian/Ubuntu:
+```
apt-get install git-core autoconf libtool gettext autopoint
apt-get install texinfo texlive texlive-generic-recommended texlive-extra-utils
apt-get install help2man gtk-doc-tools valgrind
apt-get install guile-2.0-dev libtasn1-6-dev
apt-get install libidn11-dev gawk gperf
apt-get install libunbound-dev dns-root-data bison
+```
You will sometimes need to install more recent versions of Automake,
Nettle, P11-kit and Autogen, which you will need to build from
sources. If your system has the recent versions, you could do:
+```
apt-get install automake autogen nettle-dev libp11-kit-dev
-
+```
For basic interoperability testing you may want to install openssl
and polarssl. The packages below are used during make check.
+```
apt-get install libpolarssl-runtime openssl
apt-get install nodejs softhsm datefudge
-
+```
To download the version controlled sources:
+```
$ git clone git://gitorious.org/gnutls/gnutls.git
$ cd gnutls
+```
The next step is to run autoreconf (etc) and then ./configure:
+```
$ make bootstrap
+```
When built this way, some developer defaults will be enabled. See
cfg.mk for details.
Then build the project normally:
+```
$ make
$ make check
+```
Individual tests that may require additional hardware (e.g., smart cards)
are:
+```
$ sh tests/suite/testpkcs11
+```
If you wish to contribute, you may read more about our coding style in
doc/README.CODING_STYLE. Note that when contributing code that is not