Requirements ============ If you use a GIT version of strace source code, please refer to INSTALL-git.md file for building and installation instructions. No more ChangeLog file ====================== Do not create or modify the ChangeLog files. Starting at 2009-07-09, the policy changed. Before, we would insert the exact same text (or worse, sometimes slightly differing) into both the ChangeLog file and the commit log. Now we put that information only in the commit log, and generate the top-level ChangeLog file from logs at "make dist" time. As such, there are strict requirements on the form of the commit log messages. Commit requirements =================== Each commit message should always start with a one-line summary, the second line should be blank, and the remaining lines are usually ChangeLog-style entries for all affected files, except the leading TABs which should be omitted. Changes must not introduce whitespace errors in git sense (trailing whitespace, spaces before tabs, spaces for indentation, blank lines at the end of file), this can be checked with the following command: git -c core.whitespace=space-before-tab,trailing-space diff-index \ --check 4b825dc642cb6eb9a060e54bf8d69288fbee4904 It is also preferred (but not required) that commit patches pass scripts/checkpatch.pl script from the Linux kernel[1], as currently established coding style quite closely resembles the one used in Linux kernel[2], with some exceptions. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/scripts/checkpatch.pl [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/process/coding-style.rst Documentation ============= All noteworthy changes should be mentioned in NEWS. All changes in strace command interface should be reflected in the man page. New options should be documented both in -h output and in the man page.