NEWS: Update for 0.3.1 release
[libjaylink.git] / HACKING
blob01753787501172879960d4ee6cf98027e798b3c6
1 Hacking
2 =======
4 This document describes how to start hacking on the libjaylink project.
5 Make sure you read through the README.md file before continuing.
8 Coding style
9 ------------
11 This project uses the Linux kernel coding style where appropiate, see
12 <https://www.kernel.org/doc/Documentation/CodingStyle> for details.
14 Amendments to the Linux kernel coding style:
16  - Do not use goto statements.
17  - Always declare variables at the beginng of a function.
18  - Do not assign values to variables at declaration time.
21 Contributions
22 -------------
24 The following ways can be used to submit a contribution to the libjaylink
25 project:
27  - Send patches generated with `git format-patch`.
28  - Push your changes to a public Git repository and send the URL where to pull
29    them from.
31 In any case, send directly to <dev@zapb.de>.
32 Before submitting, please consider the following:
34  - Every single patch must be compilable.
35  - Your contribution must work on all operating systems supported by
36    libjaylink.
37  - Develop your contribution against the current Git master branch.
38  - Check your contribution for memory leaks and similar errors by using
39    *valgrind*.
42 Bug reports
43 -----------
45 Send bug reports directly to <dev@zapb.de>.
46 Please try to include all of the following information in your report:
48  - Instructions to reproduce the bug (e.g., command-line invocations)
49  - Debug log output of libjaylink
50  - Information about your environment:
51    - Version of libjaylink
52    - Debug hardware, including hardware and firmware version (e.g.,
53      J-Link Ultra V4 compiled Sep  4 2015 18:12:49)
54    - Operating system (e.g., Debian GNU/Linux 8.4)
55  - Backtraces if the application using libjaylink is crashing.
57 If the bug report is for a regression, additionally include the information
58 above about the working version where appropiate.
60 Please develop and attach a patch that solves the reported bug, if possible.
61 See the guidelines for contributions above.
64 Random notes
65 ------------
67  - Always use `log_err()`, `log_warn()`, `log_info()` and `log_dbg()` to output
68    messages. Never use `printf()` or similar functions directly.