X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=README;h=69ab78d76c84991c233b7ecb733efe32635347bd;hb=3fb8304e9126eabd1b6fd4d080946b0dbdc613a2;hp=0a9e51c87cb9d0fe2ffe718f372d5aefccaea1c9;hpb=aad3915b2760018c1b48b028db363c8ffbe0949f;p=oweals%2Fgnunet.git diff --git a/README b/README index 0a9e51c87..69ab78d76 100644 --- a/README +++ b/README @@ -1,5 +1,26 @@ Welcome to GNUnet +ToC +=== + +* ToC +* What is GNUnet? +* Dependencies + o direct dependencies + o test suite dependencies + o optional dependencies + o autotools +* Requirements +* How to install + o binary packages + o Scope of Operating System support + o Building GNUnet from source +* Configuration +* Usage +* Hacking GNUnet +* Running HTTP on port 80 and HTTPS on port 443 +* Further Reading +* Stay tuned What is GNUnet? =============== @@ -31,12 +52,15 @@ Dependencies: ============= These are the direct dependencies for running GNUnet: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- libmicrohttpd >= 0.9.42 +- libmicrohttpd >= 0.9.52 - libgcrypt >= 1.6 -- libgnurl >= 7.35.0 (recommended, available from +- A curl build against gnutls, or gnurl: + - libgnurl >= 7.35.0 (recommended, available from https://gnunet.org/en/gnurl.html) -- libcurl >= 7.35.0 (alternative to libgnurl) + or + - libcurl >= 7.35.0 (alternative to libgnurl) - libunistring >= 0.9.2 - gnutls >= 3.2.12 (highly recommended a gnutls linked against libunbound) @@ -44,33 +68,34 @@ These are the direct dependencies for running GNUnet: - libidn2 (prefered) or - libidn >= 1.0 -- libextractor >= 0.6.1 (highly recommended) - openssl >= 1.0 (binary, used to generate X.509 certificate for gnunet-gns-proxy-setup-ca) - nss (certutil binary, for gnunet-gns-proxy-setup-ca) - libltdl >= 2.2 (part of GNU libtool) -- sqlite >= 3.8 (default database, required) -- mysql >= 5.1 (alternative to sqlite) -- postgres >= 9.5 (alternative to sqlite) +- 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) - Texinfo >= 5.2 [*1] - makeinfo >= 4.8 - make[*3] - which (contrib/apparmor(?), gnunet-bugreport, - tests (dns, gns, namestore, - scalarproduct) and possibly more) + and possibly more) - gettext - zlib - Posix shell (for some scripts) - Bash (for some scripts) These are the dependencies for GNUnet's testsuite: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Posix Shell (for some tests) - Bash (for some tests[*4]) - python >= 3.7 (only python 3.7 is supported) -- python-future >= 3.7 (only python 3.7 is supported) - base tools - mostly: - which, @@ -80,8 +105,11 @@ These are the dependencies for GNUnet's testsuite: These are the optional dependencies: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Bash (for Docker and Vagrant) +- libextractor >= 0.6.1 (highly recommended[*5]) +- libjansson - libopus >= 1.0.1 (for experimental conversation tool) - libpulse >= 2.0 (for experimental conversation tool) - libogg >= 1.3.0 (for experimental conversation tool) @@ -109,6 +137,7 @@ These are the optional dependencies: https://github.com/schanzen/libgabe) Recommended autotools for compiling the Git version are: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - autoconf >= 2.59 - automake >= 1.11.1 @@ -141,6 +170,24 @@ Recommended autotools for compiling the Git version are: in the process of being rewritten to comply with this requirement. +[*5] While libextractor is optional, it is recommended to + build gnunet against it. If you install it later, + you won't benefit from libextractor. + If you are a distributor, we recommend to split + LE into basis + plugins rather than making LE + an option as an afterthought by the user. + LE itself is very small, but its dependency chain + on first, second, third etc level can be big. + There is a small effect on privacy if your LE build + differs from one which includes all + plugins (plugins are build as shared objects): + if users publish a directory with a mixture of file + types (for example mpeg, jpeg, png, gif) the + configuration of LE could leak which plugins are + installed for which filetypes are not providing + more details. + However, this leak is just a minor concern. + Requirements ============ @@ -422,8 +469,8 @@ $ make install $ export $GNUNET_PREFIX=$SOMEWHERE $ make check -Some of the testcases require python >= 3.7, and the python modules -"python-future" (http://python-future.org/) and "pexpect" to be installed. +Some of the testcases require python >= 3.7, and the python module +"pexpect" to be installed. If any testcases fail to pass on your system, run "contrib/scripts/gnunet-bugreport" (in the repository) or "gnunet-bugreport" when you already have GNUnet installed and report its output together with @@ -492,7 +539,7 @@ Further Reading https://old.gnunet.org/bibliography The Drupal access will be replaced by a new interface to our - bibliography in 2019. + bibliography in the foreseeable future. Stay tuned