Browse Source

-update dependencies in README

Martin Schanzenbach 3 years ago
parent
commit
39456ab75c
1 changed files with 56 additions and 46 deletions
  1. 56 46
      README

+ 56 - 46
README

@@ -6,10 +6,11 @@ ToC
 * ToC
 * What is GNUnet?
 * Dependencies
-  o direct dependencies
-  o test suite dependencies
-  o optional dependencies
-  o autotools
+  o Build tools
+  o Dependencies of GNUnet
+  o Dependencies of optional components/functionality
+  o Test suite dependencies
+  o Recommended developer tools
 * Notes on setuid
 * Scope of Operating System support
 * How to install
@@ -56,8 +57,20 @@ The dependencies for building GNUnet will require around 0.74 GiB
 diskspace. GNUnet itself will require 8 - 9.2 MiB depending on
 configuration.
 
-These are the direct dependencies for running GNUnet:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Build tools for compiling GNUnet from source:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- gcc or clang
+- autoconf           >= 2.59        (building from git)
+- automake           >= 1.11.1      (building from git)
+- libtool            >= 2.2
+- makeinfo           >= 4.8
+- make[*3]
+- pkgconf or pkg-config
+- Texinfo            >= 5.2         [*1]
+
+Direct dependencies of GNUnet:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 - Bash                              (for some scripts)
 - gettext
@@ -71,35 +84,57 @@ These are the direct dependencies for running GNUnet:
 - libgcrypt          >= 1.6
 - libunistring       >= 0.9.2
 - libidn:
-  * libidn2 (prefered)
+  * libidn2 (preferred)
   or
   * libidn           >= 1.0
 - libmicrohttpd      >= 0.9.63
 - libjansson
-- makeinfo           >= 4.8
-- make[*3]
 - nss                               (certutil binary, for
                                      gnunet-gns-proxy-setup-ca)
 - openssl            >= 1.0         (binary, used to generate
                                      X.509 certificate
                                      for gnunet-gns-proxy-setup-ca)
-- pkgconf or pkg-config
-- A Posix shell                       (for some scripts)
-- Texinfo            >= 5.2         [*1]
 - libltdl            >= 2.2         (part of GNU libtool)
-- 1 or more databases:
-  * sqlite           >= 3.8         (default database, required)
-  and/or
-  * mysql            >= 5.1         (alternative to sqlite)
-  and/or
-  * postgres         >= 9.5         (alternative to sqlite)
+- sqlite           >= 3.8           (default database, required)
 - which                             (contrib/apparmor(?), gnunet-bugreport,
                                      and possibly more)
 - zlib
 - libsodium          >= 1.0.17      (for elliptic curve cryptography)
+- certtool (gnutls or openssl)      (certtool binary (for convenient
+                                     installation of GNS proxy))
 
-These are the dependencies for GNUnet's testsuite:
+Dependencies of optional components/functionality:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+- Database plugins (alternatives to sqlite):
+  * mysql            >= 5.1
+  * postgres         >= 9.5
+- Transport plugins:
+  * bluez (bluetooth transport)
+- Conversation service:
+  * libopus            >= 1.0.1
+  * libpulse           >= 2.0
+  * libogg             >= 1.3.0
+- File-sharing metadata (highly recommended[*5]):
+  * libextractor       >= 0.6.1
+- NAT uPnP support:
+  * miniupnpc
+- gnunet-qr (Read/write GNUnet URIs from/to QR codes):
+  * libzbar            >= 0.10
+- gnunet-bcd (GNS business card generator):
+  * TeX Live           >= 2012        (for gnunet-bcd[*])
+- Documentation:
+  * TeX Live           >= 2012        (for gnunet-bcd[*])
+  * texi2mdoc                         (for automatic mdoc generation [*2], not
+                                      the texi2mdoc script distributed with
+                                      autogen but the texi2mdoc C application)
+- Attribute-Based Encryption (experimental):
+  * libpbc             >= 0.5.14
+  * libgabe
+
+
+
+Additional dependencies to run the GNUnet testsuite:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 - Bash                              (for some tests[*4])
 - A Posix Shell                     (for some tests)
@@ -114,41 +149,16 @@ These are the dependencies for GNUnet's testsuite:
     - which
 
 
-These are the optional dependencies:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Recommended software for developer tools:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 - awk                               (for linting tests)
 - Bash                              (for Docker and Vagrant)
-- bluez                             (for bluetooth support)
 - grof                              (for linting of man pages)
-- libextractor       >= 0.6.1       (highly recommended[*5])
-- libopus            >= 1.0.1       (for conversation tool)
-- libpulse           >= 2.0         (for conversation tool)
-- libogg             >= 1.3.0       (for conversation tool)
-- libnss                            (certtool binary (for convenient
-                                     installation of GNS proxy))
-- libzbar            >= 0.10        (for gnunet-qr)
-- libpbc             >= 0.5.14      (for Attribute-Based Encryption and
-                                     Identity Provider functionality)
-- libgabe                           (for Attribute-Based Encryption and
-                                     Identity Provider functionality, from
-                                     https://github.com/schanzen/libgabe)
 - mandoc                            (for linting of man pages, generation of
                                      html output of man pages (not part of
                                      the regular build))
-- miniupnpc
 - perl5                             (for some utilities)
-- TeX Live           >= 2012        (for gnunet-bcd[*])
-- texi2mdoc                         (for automatic mdoc generation [*2], not
-                                     the texi2mdoc script distributed with
-                                     autogen but the texi2mdoc C application)
-
-Recommended autotools for compiling the Git version are:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-- autoconf           >= 2.59
-- automake           >= 1.11.1
-- libtool            >= 2.2
 
 
 [*] Mandatory for compiling the info output of the documentation,