aboutsummaryrefslogtreecommitdiff
path: root/doc/handbook/chapters/developer.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/handbook/chapters/developer.texi')
-rw-r--r--doc/handbook/chapters/developer.texi42
1 files changed, 18 insertions, 24 deletions
diff --git a/doc/handbook/chapters/developer.texi b/doc/handbook/chapters/developer.texi
index ca76a5f2b..6d8ddd3c2 100644
--- a/doc/handbook/chapters/developer.texi
+++ b/doc/handbook/chapters/developer.texi
@@ -92,33 +92,25 @@ introduction, each of the GNUnet subsystems (directories in the
92addition to this documentation, GNUnet developers should be aware of the 92addition to this documentation, GNUnet developers should be aware of the
93services available on the GNUnet server to them. 93services available on the GNUnet server to them.
94 94
95New developers can have a look a the GNUnet tutorials for C and java 95New developers can have a look a the @uref{https://docs.gnunet.org/tutorial/gnunet-tutorial.html, GNUnet C tutorial}.
96available in the @file{src/} directory of the repository or under the
97following links:
98 96
99@c ** FIXME: Link to files in source, not online. 97@c ** FIXME: Link to files in source, not online.
100@c ** FIXME: Where is the Java tutorial? 98@c ** FIXME: Where is the Java tutorial?
101@itemize @bullet
102@item @xref{Top, Introduction,, gnunet-c-tutorial, The GNUnet C Tutorial}.
103@item @uref{https://docs.gnunet.org/tutorial/gnunet-tutorial.html, GNUnet C tutorial}
104@item GNUnet Java tutorial
105@end itemize
106 99
107In addition to the GNUnet Reference Documentation you are reading, 100In addition to the GNUnet Reference Documentation you are reading,
108the GNUnet server at @uref{https://gnunet.org} contains 101the GNUnet server at @uref{https://gnunet.org} contains
109various resources for GNUnet developers and those 102various resources for GNUnet developers and those
110who aspire to become regular contributors. 103who aspire to become regular contributors.
111They are all conveniently reachable via the "Developer" 104They are all conveniently reachable via the "Developer"
112entry in the navigation menu. Some additional tools (such as static 105entry in the navigation menu. Some additional tools (such as continuous
113analysis reports) require a special developer access to perform certain 106integration) require a special developer access to perform certain
114operations. If you want (or require) access, you should contact 107operations. If you want (or require) access, you should contact
115@uref{http://grothoff.org/christian/, Christian Grothoff}, 108GNUnet's maintainers.
116GNUnet's maintainer.
117 109
118@c FIXME: A good part of this belongs on the website or should be 110@c FIXME: A good part of this belongs on the website or should be
119@c extended in subsections explaining usage of this. A simple list 111@c extended in subsections explaining usage of this. A simple list
120@c is just taking space people have to read. 112@c is just taking space people have to read.
121The public subsystems on the GNUnet server that help developers are: 113The developer services on the GNUnet project infrastructure are:
122 114
123@itemize @bullet 115@itemize @bullet
124 116
@@ -136,19 +128,21 @@ It can be accessed at
136@uref{https://bugs.gnunet.org/, https://bugs.gnunet.org/}. 128@uref{https://bugs.gnunet.org/, https://bugs.gnunet.org/}.
137Anyone can report bugs. 129Anyone can report bugs.
138 130
139@item The current quality of our automated test suite is assessed using 131@item Continuous integration (Buildbot).
140code coverage analysis. Testcases that 132Used to build gnunet and its websites upon new commits.
141improve our code coverage are always welcome. 133It can be accessed at
134@uref{https://buildbot.gnunet.org/, https://buildbot.gnunet.org/}.
135Anyone can see the builds.
142 136
143@item We try to automatically find bugs using a static analysis using 137@item Regularly we make use of static analysis tools.
144various tools. Note that not everything that is flagged by the 138Note that not everything that is flagged by the
145analysis is a bug, sometimes even good code can be marked as possibly 139analysis is a bug, sometimes even good code can be marked as possibly
146problematic. Nevertheless, developers are encouraged to at least be 140problematic. Nevertheless, developers are encouraged to at least be
147aware of all issues in their code that are listed. 141aware of all issues in their code that are listed.
148 142
149@item We use Gauger for automatic performance regression visualization. 143@c @item We use Gauger for automatic performance regression visualization.
150@c FIXME: LINK! 144@c FIXME: LINK!
151Details on how to use Gauger are here. 145@c Details on how to use Gauger are here.
152 146
153@end itemize 147@end itemize
154 148
@@ -515,6 +509,9 @@ without exposing the private input vectors of the peers to each other.
515@item @file{consensus/} 509@item @file{consensus/}
516The consensus service will allow a set of peers to agree 510The consensus service will allow a set of peers to agree
517on a set of values via a distributed set union computation. 511on a set of values via a distributed set union computation.
512@item @file{reclaim/}
513A decentralized personal data sharing service used to realize a decentralized
514identity provider. Supports OpenID Connect. See also @uref{https://reclaim.gnunet.org}.
518@item @file{rest/} 515@item @file{rest/}
519The rest API allows access to GNUnet services using RESTful interaction. 516The rest API allows access to GNUnet services using RESTful interaction.
520The services provide plugins that can exposed by the rest server. 517The services provide plugins that can exposed by the rest server.
@@ -640,7 +637,7 @@ respective protocols or APIs:
640@item testbed @tab n/a @tab testing @tab testing 637@item testbed @tab n/a @tab testing @tab testing
641@item testing @tab n/a @tab n/a @tab testing 638@item testing @tab n/a @tab n/a @tab testing
642@item topology @tab n/a @tab n/a @tab n/a 639@item topology @tab n/a @tab n/a @tab n/a
643@item transport @tab stable @tab stable @tab stable 640@item transport @tab experimental @tab experimental @tab experimental
644@item tun @tab n/a @tab n/a @tab stable 641@item tun @tab n/a @tab n/a @tab stable
645@item vpn @tab testing @tab n/a @tab n/a 642@item vpn @tab testing @tab n/a @tab n/a
646@end multitable 643@end multitable
@@ -1219,9 +1216,6 @@ accordingly with your own Operating System environment.
1219For the full list of dependencies, consult the appropriate, up-to-date 1216For the full list of dependencies, consult the appropriate, up-to-date
1220section in the @file{README} file. 1217section in the @file{README} file.
1221 1218
1222First, we need to build or install (depending on your OS) the following
1223packages. If you build them from source, build them in this exact order:
1224
1225@example 1219@example
1226libgpgerror, libgcrypt, libnettle, libunbound, GnuTLS (with libunbound 1220libgpgerror, libgcrypt, libnettle, libunbound, GnuTLS (with libunbound
1227support) 1221support)