summaryrefslogtreecommitdiff
path: root/devel.wml
blob: 71d19085a12bf7a3a1599d31ce0995447dbe3b89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include 'common.wml' page="Development"

<h1>Reporting bugs</h1>
To report a bug, in addition to describing the issue, please:
<ul>
<li>Provide the version of the library the bug is present on (the oldest supported release is $(STABLE_OLD_VER).x), and try to detect the version the bug was introduced, e.g., using git-bisect.</li>
<li>Provide a way to reproduce the issue; e.g., a small program which reproduces it.</li>
<li>Use <a href="https://gitlab.com/gnutls/gnutls/issues">our issue tracker</a>
or the <a href="mailto:$(EMAIL)">bug report address</a> for non-public issues.</li>
</ul>
That would help us to address your issue.

<h1>API and ABI</h1>
<p>
Our goal is to deliver a stable API and ABI for the library, but on certain
major releases we have decided to break the ABI in order to deprecate old APIs and avoid clutter.
To ensure API and ABI stability we rely on abi-compliance-checker and other tools, and we maintain
an <a href="abi-tracker/timeline/gnutls/index.html">ABI tracker page for gnutls</a> which visualises
the output of these tools.
<ul>
<li><a href="abi-tracker/timeline/gnutls/index.html">ABI tracker report</a></li>
</ul>
</p>


<h1>Development</h1>
<p>To follow development it is easier to subscribe <a href="support.html">on the mailing lists</a>; the <a href="https://gitlab.com/gnutls/gnutls/wikis/home">wiki pages</a>
may also contain information on new developments and plans.
To browse the source code a web interface exists at <a href="https://gitlab.com/gnutls/gnutls/">gitlab.com</a>.
If you want to build the latest GnuTLS code from the repository, use the following commands:
</p>
<table>
<tr><td><pre>
$ git clone https://gitlab.com/gnutls/gnutls.git
$ cd gnutls
$ git submodule update --init
$ make bootstrap # Will generate ./configure script
$ ./configure --enable-gcc-warnings --enable-gtk-doc --enable-gtk-doc-pdf
$ make
$ make check
</code></td></tr>
</table>

<p>You will need several developer tools, which are listed in
<a href="https://gitlab.com/gnutls/gnutls/blob/master/README-alpha.md">
README-alpha</a>.
</p>

<p>If you wish to contribute, you may read more about 
<a href="https://gitlab.com/gnutls/gnutls/blob/master/CONTRIBUTING.md">
our coding style</a>. 
Note that when contributing code that is not assigned to FSF, you will need to
assert that the contribution is in accordance to the <a href="https://gitlab.com/gnutls/gnutls/blob/master/doc/DCO.txt">Developer's
Certificate of Origin</a>. That can be done by sending a mail with your real name that contains
the DCO to the gnutls-devel mailing list. Then just make sure that your contributions (patches),
contain a "Signed-off-by" line, with your name and e-mail address.
</p>


<p>Some additional resources:
<ul>
<li><a href="https://gitlab.com/gnutls/gnutls/blob/master/NEWS">most recent NEWS</a></li>
<!-- <li><a href="http://hydra.nixos.org/jobset/gnu/gnutls-master">Continously Hydra builds</a></li>-->
</ul>

<!--
<p>
<script type="text/javascript"
src="http://www.ohloh.net/p/5718/widgets/project_basic_stats.js"></script>
</p>
-->

#include 'bottom.wml'