gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnunet] branch master updated: documentation


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: documentation
Date: Thu, 26 Oct 2017 14:36:25 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new e2f0870ad documentation
e2f0870ad is described below

commit e2f0870adf4baad5dfefaefd92c122ee9e1e0e5a
Author: ng0 <address@hidden>
AuthorDate: Thu Oct 26 12:28:28 2017 +0000

    documentation
---
 doc/documentation/chapters/developer.texi | 169 +++++++++++++++++-------------
 doc/documentation/gnunet-c-tutorial.texi  |  51 ++++++---
 doc/documentation/htmlxref.cnf            |   2 +-
 3 files changed, 131 insertions(+), 91 deletions(-)

diff --git a/doc/documentation/chapters/developer.texi 
b/doc/documentation/chapters/developer.texi
index 996474359..9459068a9 100644
--- a/doc/documentation/chapters/developer.texi
+++ b/doc/documentation/chapters/developer.texi
@@ -4,11 +4,14 @@
 
 This book is intended to be an introduction for programmers that want to
 extend the GNUnet framework. GNUnet is more than a simple peer-to-peer
-application. For developers, GNUnet is:
+application.
+
+For developers, GNUnet is:
 
 @itemize @bullet
address@hidden Free software under the GNU General Public License, with a 
community
-that believes in the GNU philosophy
address@hidden developed by a community that believes in the GNU philosophy
address@hidden Free Software (Free as in Freedom), licensed under the
address@hidden General Public License}
 @item A set of standards, including coding conventions and
 architectural rules
 @item A set of layered protocols, both specifying the communication
@@ -20,17 +23,19 @@ writing extensions
 
 In particular, the architecture specifies that a peer consists of many
 processes communicating via protocols. Processes can be written in almost
-any language. C and Java APIs exist for accessing existing services and
-for writing extensions. It is possible to write extensions in other
-languages by implementing the necessary IPC protocols.
+any language.
+C and Java APIs exist for accessing existing services and for writing
+extensions. It is possible to write extensions in other languages by
+implementing the necessary IPC protocols.
 
 GNUnet can be extended and improved along many possible dimensions, and
 anyone interested in Free Software and Freedom-enhancing Networking is
 welcome to join the effort. This Developer Handbook attempts to provide
 an initial introduction to some of the key design choices and central
-components of the system. This part of the GNUNet documentation
-is far from complete, and we welcome informed contributions,
-be it in the form of new chapters or insightful comments.
+components of the system.
+This part of the GNUNet documentation is far from complete,
+and we welcome informed contributions, be it in the form of
+new chapters, sections or insightful comments.
 
 @menu
 * Developer Introduction::
@@ -92,11 +97,13 @@ following links:
 @item GNUnet Java tutorial
 @end itemize
 
-In addition to this book, the GNUnet server contains various resources for
-GNUnet developers. They are all conveniently reachable via the "Developer"
+In addition to the GNUnet Reference Documentation you are reading,
+the GNUnet server contains various resources for GNUnet
+developers and those who aspire to become regular contributors.
+They are all conveniently reachable via the "Developer"
 entry in the navigation menu. Some additional tools (such as static
 analysis reports) require a special developer access to perform certain
-operations. If you feel you need access, you should contact
+operations. If you want (or require) access, you should contact
 @uref{http://grothoff.org/christian/, Christian Grothoff},
 GNUnet's maintainer.
 
@@ -104,20 +111,26 @@ The public subsystems on the GNUnet server that help 
developers are:
 
 @itemize @bullet
 
address@hidden The Version control system (git) keeps our code and enables
address@hidden The version control system (git) keeps our code and enables
 distributed development.
+It is pubclicly accessible at @uref{https://gnunet.org/git/}.
 Only developers with write access can commit code, everyone else is
 encouraged to submit patches to the
address@hidden://lists.gnu.org/mailman/listinfo/gnunet-developers, 
GNUnet-developers mailinglist}
-.
-
address@hidden The GNUnet bugtracking system (Mantis) is used to track
-feature requests, open bug reports and their resolutions.
-Anyone can report bugs, only developers can claim to have fixed them.
-
address@hidden A site installation of the CI system "Buildbot" is used to check
-GNUnet builds automatically on a range of platforms.
-Builds are triggered automatically after 30 minutes of no changes to Git.
address@hidden://lists.gnu.org/mailman/listinfo/gnunet-developers, 
GNUnet-developers mailinglist}.
+
address@hidden The bugtracking system (Mantis).
+We use it to track feature requests, open bug reports and their
+resolutions.
+It can be accessed at @uref{https://gnunet.org/bugs/}.
+Anyone can report bugs, but only developers can claim to have fixed them.
+
address@hidden Our site installation of the
address@hidden Integration} system "@code{Buildbot}" is used
+to check GNUnet builds automatically on a range of platforms.
+The web interface of this CI is exposed at
address@hidden://gnunet.org/buildbot/}.
+Builds are triggered automatically 30 minutes after the last commit to
+our repository was made.
 
 @item The current quality of our automated test suite is assessed using
 Code coverage analysis. This analysis is run daily; however the webpage
@@ -163,34 +176,41 @@ GNUnet sub-projects in order of likely relevance are 
currently:
 
 @table @asis
 
address@hidden gnunet
address@hidden @command{gnunet}
 Core of the P2P framework, including file-sharing, VPN and
-chat applications; this is what the developer handbook covers mostly
address@hidden gnunet-gtk Gtk+-based user interfaces, including gnunet-fs-gtk
-(file-sharing), gnunet-statistics-gtk (statistics over time),
-gnunet-peerinfo-gtk (information about current connections and known
-peers), gnunet-chat-gtk (chat GUI) and gnunet-setup (setup tool for
-"everything")
address@hidden gnunet-fuse
+chat applications; this is what the Developer Handbook covers mostly
address@hidden @command{gnunet-gtk}
+Gtk+-based user interfaces, including:
+
address@hidden @bullet
address@hidden @command{gnunet-fs-gtk} (file-sharing),
address@hidden @command{gnunet-statistics-gtk} (statistics over time),
address@hidden @command{gnunet-peerinfo-gtk}
+(information about current connections and known peers),
address@hidden @command{gnunet-chat-gtk} (chat GUI) and
address@hidden @command{gnunet-setup} (setup tool for "everything")
address@hidden itemize
+
address@hidden @command{gnunet-fuse}
 Mounting directories shared via GNUnet's file-sharing
-on Linux
address@hidden gnunet-update
+on GNU/Linux distributions
address@hidden @command{gnunet-update}
 Installation and update tool
address@hidden gnunet-ext
address@hidden @command{gnunet-ext}
 Template for starting 'external' GNUnet projects
address@hidden gnunet-java
address@hidden @command{gnunet-java}
 Java APIs for writing GNUnet services and applications
 @c ** FIXME: Point to new website repository once we have it:
 @c ** @item svn/gnunet-www/ Code and media helping drive the GNUnet
 @c website
address@hidden eclectic
address@hidden @command{eclectic}
 Code to run GNUnet nodes on testbeds for research, development,
 testing and evaluation
 @c ** FIXME: Solve the status and location of gnunet-qt
address@hidden gnunet-qt
-Qt-based GNUnet GUI (dead?)
address@hidden gnunet-cocoa
-cocoa-based GNUnet GUI (dead?)
address@hidden @command{gnunet-qt}
+Qt-based GNUnet GUI (is it depreacated?)
address@hidden @command{gnunet-cocoa}
+cocoa-based GNUnet GUI (is it depreacated?)
 
 @end table
 
@@ -198,19 +218,19 @@ We are also working on various supporting libraries and 
tools:
 @c ** FIXME: What about gauger, and what about libmwmodem?
 
 @table @asis
address@hidden libextractor
address@hidden @command{libextractor}
 GNU libextractor (meta data extraction)
address@hidden libmicrohttpd
address@hidden @command{libmicrohttpd}
 GNU libmicrohttpd (embedded HTTP(S) server library)
address@hidden gauger
address@hidden @command{gauger}
 Tool for performance regression analysis
address@hidden monkey
address@hidden @command{monkey}
 Tool for automated debugging of distributed systems
address@hidden libmwmodem
address@hidden @command{libmwmodem}
 Library for accessing satellite connection quality
 reports
address@hidden libgnurl
-gnURL (feature restricted variant of cURL/libcurl)
address@hidden @command{libgnurl}
+gnURL (feature-restricted variant of cURL/libcurl)
 @end table
 
 Finally, there are various external projects (see links for a list of
@@ -247,7 +267,7 @@ type defines a particular format and how that binary format 
is to be
 linked to a hash code (the key for the DHT and for databases). The block
 library is a wapper around block plugins which provide the necessary
 functions for each block type.
address@hidden @file{statistics/}
address@hidden @file{statistics/} --- statistics service
 The statistics service enables associating
 values (of type uint64_t) with a componenet name and a string. The main
 uses is debugging (counting events), performance tracking and user
@@ -257,7 +277,7 @@ The automatic-restart-manager (ARM) service
 is the GNUnet master service. Its role is to start gnunet-services, to
 re-start them when they crashed and finally to shut down the system when
 requested.
address@hidden @file{peerinfo/}
address@hidden @file{peerinfo/} --- peerinfo service
 The peerinfo service keeps track of which peers are known
 to the local peer and also tracks the validated addresses for each peer
 (in the form of a HELLO message) for each of those peers. The peer is not
@@ -269,17 +289,17 @@ The datacache library provides (temporary) block storage 
for the DHT.
 Existing plugins can store blocks in Sqlite, Postgres or MySQL databases.
 All data stored in the cache is lost when the peer is stopped or
 restarted (datacache uses temporary tables).
address@hidden @file{datastore/}
address@hidden @file{datastore/} --- datastore service
 The datastore service stores file-sharing blocks in
 databases for extended periods of time. In contrast to the datacache, data
 is not lost when peers restart. However, quota restrictions may still
 cause old, expired or low-priority data to be eventually discarded.
 Existing plugins can store blocks in Sqlite, Postgres or MySQL databases.
address@hidden @file{template/}
address@hidden @file{template/} --- service template
 Template for writing a new service. Does nothing.
 @item @file{ats/} --- Automatic Transport Selection
-The automatic transport
-selection (ATS) service is responsible for deciding which address (i.e.
+The automatic transport selection (ATS) service
+is responsible for deciding which address (i.e.
 which transport plugin) should be used for communication with other peers,
 and at what bandwidth.
 @item @file{nat/} --- libgnunetnat
@@ -295,14 +315,14 @@ transfer unit (MTU) for packets. The fragmentation 
library can be used to
 break larger packets into chunks of at most 1k and transmit the resulting
 fragments reliabily (with acknowledgement, retransmission, timeouts,
 etc.).
address@hidden @file{transport/}
address@hidden @file{transport/} --- transport service
 The transport service is responsible for managing the
 basic P2P communication. It uses plugins to support P2P communication
 over TCP, UDP, HTTP, HTTPS and other protocols.The transport service
 validates peer addresses, enforces bandwidth restrictions, limits the
 total number of connections and enforces connectivity restrictions (i.e.
 friends-only).
address@hidden @file{peerinfo-tool/}
address@hidden @file{peerinfo-tool/} --- gnunet-peerinfo
 This directory contains the gnunet-peerinfo binary which can be used to
 inspect the peers and HELLOs known to the peerinfo service.
 @item @file{core/}
@@ -315,7 +335,7 @@ for writing testcases.
 It also supports automatic generation of configurations for peers
 ensuring that the ports and paths are disjoint. libgnunettesting is also
 the foundation for the testbed service
address@hidden @file{testbed/}
address@hidden @file{testbed/} --- testbed service
 The testbed service is used for creating small or large scale deployments
 of GNUnet peers for evaluation of protocols.
 It facilitates peer depolyments on multiple
@@ -329,13 +349,13 @@ P2P network.
 The distributed hash table (DHT) service provides a
 distributed implementation of a hash table to store blocks under hash
 keys in the P2P network.
address@hidden @file{hostlist/}
address@hidden @file{hostlist/} --- hostlist service
 The hostlist service allows learning about
 other peers in the network by downloading HELLO messages from an HTTP
 server, can be configured to run such an HTTP server and also implements
 a P2P protocol to advertise and automatically learn about other peers
 that offer a public hostlist server.
address@hidden @file{topology/}
address@hidden @file{topology/} --- topology service
 The topology service is responsible for
 maintaining the mesh topology. It tries to maintain connections to friends
 (depending on the configuration) and also tries to ensure that the peer
@@ -349,7 +369,7 @@ connections are permitted (for friend-to-friend networking)
 The file-sharing (FS) service implements GNUnet's
 file-sharing application. Both anonymous file-sharing (using gap) and
 non-anonymous file-sharing (using dht) are supported.
address@hidden @file{cadet/}
address@hidden @file{cadet/} --- cadet service
 The CADET service provides a general-purpose routing abstraction to create
 end-to-end encrypted tunnels in mesh networks. We wrote a paper
 documenting key aspects of the design.
@@ -368,7 +388,7 @@ Service that allows intercepting and modifying DNS requests 
of
 the local machine. Currently used for IPv4-IPv6 protocol translation
 (DNS-ALG) as implemented by "pt/" and for the GNUnet naming system. The
 service can also be configured to offer an exit service for DNS traffic.
address@hidden @file{vpn/}
address@hidden @file{vpn/} --- VPN service
 The virtual public network (VPN) service provides a virtual
 tunnel interface (VTUN) for IP routing over GNUnet.
 Needs some other peers to run an "exit" service to work.
@@ -741,6 +761,7 @@ libgnunet_plugin_transport_tcp)
 @node Coding style
 @subsection Coding style
 
address@hidden XXX: Adjust examples to GNU Standards!
 @itemize @bullet
 @item We follow the GNU Coding Standards (@pxref{Top, The GNU Coding 
Standards,, standards, The GNU Coding Standards});
 @item Indentation is done with spaces, two per level, no tabs;
@@ -1346,31 +1367,31 @@ shell program. For e.g:
 
 @example
 export GNUNET_TESTBED_RSH_CMD="ssh -o BatchMode=yes \
--o NoHostAuthenticationForLocalhost=yes %h"@
+-o NoHostAuthenticationForLocalhost=yes %h"
 @end example
 
-Substitutions are allowed int the above command string also allows for
-substitions. through placemarks which begin with a `%'. At present the
-following substitutions are supported
+Substitutions are allowed in the command string above,
+this allows for substitutions through placemarks which begin with a `%'.
+At present the following substitutions are supported
 
 @itemize @bullet
address@hidden
-%h: hostname
address@hidden
-%u: username
address@hidden
-%p: port
address@hidden %h: hostname
address@hidden %u: username
address@hidden %p: port
 @end itemize
 
 Note that the substitution placemark is replaced only when the
 corresponding field is available and only once. Specifying
+
 @example
 address@hidden
 @end example
-doesn't work either.
-If you want to user username substitutions for SSH
-use the argument @code{-l} before the username substitution.
-For exmaple:
+
+doesn't work either. If you want to user username substitutions for
address@hidden, use the argument @code{-l} before the
+username substitution.
+
+For example:
 @example
 ssh -l %u -p %p %h
 @end example
diff --git a/doc/documentation/gnunet-c-tutorial.texi 
b/doc/documentation/gnunet-c-tutorial.texi
index aca40d2ef..b62db7855 100644
--- a/doc/documentation/gnunet-c-tutorial.texi
+++ b/doc/documentation/gnunet-c-tutorial.texi
@@ -160,6 +160,16 @@ $ gpg --keyserver keys.gnupg.net --recv-keys 48426C7E
 @noindent
 and rerun the @code{gpg --verify-files} command.
 
address@hidden:}@
address@hidden pub key to sign the 0.10.1 release has been
+revoked}. You will get an error message stating that
address@hidden is no known public key or that it has been revoked}.
+The next release of GNUnet will have a valid signature
+again. We are sorry for the inconvenience this causes.
+Another possible source you could use is our
+"gnunet" git repository which has mandatory signed commits
+by every developer.
+
 Now you can extract the tarball and rename the resulting
 directory to @i{gnunet} which we will be using in the
 remainder of this document.
@@ -178,14 +188,19 @@ from @uref{https://gnunet.org/git/, git}.
 @node  Installing Build Tool Chain and Dependencies
 @section Installing Build Tool Chain and Dependencies
 
-To successfully compile GNUnet you need the tools to build GNUnet and
-the required dependencies. Please have a look at
address@hidden://gnunet.org/dependencies} for a list of required dependencies
-and @uref{https://gnunet.org/generic_installation} for specific
-instructions for your operating system. Please check the notes at
-the end of the configure process about required dependencies.
-
-For GNUnet bootstrapping support and the http(s) plugin you should
+To successfully compile GNUnet, you need the tools to build GNUnet and
+the required dependencies. Please take a look at the
+GNUnet Reference Documentation
+(@pxref{Dependencies, The GNUnet Reference Documentation,, gnunet, The GNUnet 
Reference Documentation})
+for a list of required dependencies
+and
+(@pxref{Generic installation instructions, The GNUnet Reference 
Documentation,, gnunet, The GNUnet Reference Documentation})
+read its Installation chapter for specific instructions for
+your operating system.
+Please check the notes at the end of the configure process about
+required dependencies.
+
+For GNUnet bootstrapping support and the HTTP(S) plugin you should
 install @uref{https://gnunet.org/gnurl, libgnurl}.
 For the filesharing service you should install at least one of the
 datastore backends. MySQL, SQlite and PostgreSQL are supported.
@@ -194,8 +209,8 @@ datastore backends. MySQL, SQlite and PostgreSQL are 
supported.
 @section Obtaining the latest version from Git
 
 The latest development version can obtained from our Git repository.
-To obtain the code you need Git installed and checkout the repository
-using:
+To obtain the code you need to have @code{Git} installed, which is
+required for obtaining the repository via:
 
 @example
 $ git clone https://gnunet.org/git/gnunet
@@ -203,21 +218,25 @@ $ git clone https://gnunet.org/git/gnunet
 
 @noindent
 After cloning the repository you have to execute the @file{bootstrap}
-script in the directory:
+script in the new directory:
 
 @example
-$ cd gnunet ; ./bootstrap
+$ cd gnunet
+$ ./bootstrap
 @end example
 
 @noindent
-The remainder of this tutorial assumes that you have the Git branch
-``master'' checked out.
+The remainder of this tutorial will assume that you have the
+Git branch ``master'' checked out.
 
 @node Compiling and Installing GNUnet
 @section Compiling and Installing GNUnet
 
-First, you need to install at least libgnupgerror 1.27 and
-libgcrypt 1.7.6.
+Note: This section is a duplication of the more in depth
address@hidden Installation Handbook, The GNUnet Reference Documentation,, 
gnunet, The GNUnet Reference Documentation}.
+
+First, you need to install libgnupgerror @geq{} 1.27 and
+libgcrypt @geq{} 1.7.6:
 
 @example
 $ export GNUPGFTP="https://www.gnupg.org/ftp/gcrypt";
diff --git a/doc/documentation/htmlxref.cnf b/doc/documentation/htmlxref.cnf
index 9ab9e4158..a4928f6fe 100644
--- a/doc/documentation/htmlxref.cnf
+++ b/doc/documentation/htmlxref.cnf
@@ -2,7 +2,7 @@
 # Modified by Ludovic Courtès <address@hidden> for the GNU Guix manual.
 # Modified by ng0 <address@hidden> for the GNUnet manual.
 
-htmlxrefversion=2017-10-25.16; # UTC
+htmlxrefversion=2017-10-26.06; # UTC
 
 # Copyright 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
 # 

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]