diff options
Diffstat (limited to 'CONTRIBUTING')
-rw-r--r-- | CONTRIBUTING | 228 |
1 files changed, 228 insertions, 0 deletions
diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 0000000..b08000b --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,228 @@ +Name + Contributing - instructions for contributing to the project + +Synopsis + Mailing list, patches, lint & check, style guide, bug reports, + and notes + +Description + Mailing list + The main discussions regarding development of the project, + patches, bugs, news, doubts, etc. happen on the mailing list. + To send an email to the project, send it to Alejandro and CC the + mailing list: + + To: Alejandro Colomar <alx@kernel.org> + Cc: <linux-man@vger.kernel.org> + + Please CC any relevant developers and mailing lists that may know + about or be interested in the discussion. If your email + discusses a feature or change, and you know which developers + added the feature or made the change that your email discusses, + please CC them on the email; with luck they may review and + comment on it. If you don't know who the developers are, you may + be able to discover that information from mailing list archives + or from git(1) logs or logs in other version control systems. + Obviously, if you are the developer of the feature being + discussed in a man-pages email, please identify yourself as such. + Relevant mailing lists may include: + + Cc: LKML <linux-kernel@vger.kernel.org> + Cc: Linux API <linux-api@vger.kernel.org> + Cc: Glibc <libc-alpha@sourceware.org> + + For other kernel mailing lists and maintainers, check the + <MAINTAINERS> file in the Linux kernel repository. + + Please don't send HTML email; it will be discarded by the list. + + Archives: + <https://lore.kernel.org/linux-man/> + <https://marc.info/?l=linux-man> + + Subscription: + Send a message to <majordomo@vger.kernel.org> containing + the following body: + + subscribe linux-man + + Unsubscribing: + + unsubscribe linux-man + + Help: + + help + + Patches + If you know how to fix a problem in a manual page (if not, see + "Reporting bugs" below), then send a patch in an email. + + - Follow the instructions for sending mail to the mailing list + above. + + - The subject of the email should contain "[patch]" in the + subject line. + + The above is the minimum needed so that someone might respond to + your patch. If you did that and someone does not respond within + a few days, then ping the email thread, "replying to all". Make + sure to send it to the maintainers in addition to the mailing + list. + + To make your patch even more useful, please note the following + points: + + - Write a suitable subject line. Make sure to mention the + name(s) of the page(s) being patched. Example: + + [patch] shmop.2: Add "(void *)" cast to RETURN VALUE + + - Sign your patch with "Signed-off-by:". Read about the + "Developer's Certificate of Origin" at + <https://www.kernel.org/doc/Documentation/process/submitting-patches.rst>. + When appropriate, other tags documented in that file, such as + "Reported-by:", "Reviewed-by:", "Acked-by:", and + "Suggested-by:" can be added to the patch. The man-pages + project also uses a "Cowritten-by:" tag with the obvious + meaning. Example: + + Signed-off-by: Alejandro Colomar <alx@kernel.org> + + - Describe how you obtained the information in your patch. For + example, was it: + + - by reading (or writing) the relevant kernel or (g)libc + source code? Please provide a pointer to the following + code. + + - from a commit message in the kernel or (g)libc source code + repository? Please provide a commit ID. + + - by writing a test program? Send it with the patch, but + please make sure it's as simple as possible, and provide + instructions on how to use it and/or a demo run. + + - from a standards document? Please name the standard, and + quote the relevant text. + + - from other documentation? Please provide a pointer to that + documentation. + + - from a mailing list or online forum? Please provide a URL + if possible. + + - Send patches in diff -u format, inline inside the email + message. If you're worried about your mailer breaking the + patch, the send it both inline and as an attachment. You may + find it useful to employ git-send-email(1) and + git-format-patch(1). + + - Where relevant, include source code comments that cite commit + hashes for relevant kernel or glibc changes: + + .\" commit <40-character-git-hash> + + - For trivial patches, you can use subject tags: + + - ffix: Formatting fix. + - tfix: Typo fix. + - wfix: Minor wording fix. + - srcfix: Change to manual page source that doesn't affect + the output. + + Example: + + [patch] tcp.7: tfix + + - Send logically separate patches. For unrelated pages, or for + logically-separate issues in the same page, send separate + emails. + + - Make patches against the latest version of the manual page. + Use git(1) for getting the latest version. + + Lint & check + If you plan to patch a manual page, consider running the linters + and checks configured in the build system, to make sure your + change doesn't add new warnings. However, you might still get + warnings that are not your fault. To minimize that, do the + following steps: + + (1) First use make(1)'s -t option, so that make(1) knows that it + only needs to lint & check again pages that you will touch. + + $ make -t lint check >/dev/null + + (2) Run make(1) again, asking it to imagine that the page wou'll + modify has been touched, to see which warnings you'll still + see from that page that are not your fault. + + $ # replace 'man2/membarrier.2' by the page you'll modify + $ make -W man2/membarrier.2 -k lint check + + (3) Apply your changes, and then run make(1) again. You can + ignore warnings that you saw in step (2), but if you see any + new ones, please fix them if you know how, or at least note + them in your patch email. + + $ vi man2/membarrier.2 # do your work + $ make -k lint check + + See <INSTALL> for a list of dependencies that this feature + requires. If you can't meet them all, don't worry; it will still + run the linters and checks that you have available. + + Style guide + For a description of the preferred layout of manual pages, as + well as some style guide notes, see: + + $ man 7 man-pages + + It will also be interesting to consult groff_man(7) and + groff_man_style(7) for understanding and writing good man(7) + source code. + +Reporting bugs + Report bugs to the mailing list, following the instructions above + for sending mails to the list. If you can write a patch (see + instructions for sending patches above), it's preferred. + + If you're unsure if the bug is in the manual page or in the code + being documented (kernel, glibc, ...), it's best to send the + report to both at the same time, that is, CC all the mailing + lists that may be concerned by the report. + + Some distributions (for example Debian) apply patches to the + upstream manual pages. If you suspect the bug is in one of those + patches, report it to your distribution maintainer. + + Send logically separate reports. For unrelated pages, or for + logically-separate issues in the same page, send separate emails. + + There's also a bugzilla, but we don't use it as much as the + mailing list. + +Notes + External and autogenerated pages + A few pages come from external sources. Fixes to the pages + should really go to the upstream source. + + tzfile(5), tzselect(8), zdump(8), and zic(8) come from the tz + project <https://www.iana.org/time-zones>. + + bpf-helpers(7) is autogenerated from the Linux kernel sources + using scripts. See man-pages commits 53666f6c3 and 19c7f7839 for + details. + +Bugs + Bugzilla: + <https://bugzilla.kernel.org/buglist.cgi?component=man-pages> + +See also + man-pages(7) + + <https://www.kernel.org/doc/man-pages/linux-man-ml.html> + <https://www.kernel.org/doc/man-pages/missing_pages.html> + <https://www.kernel.org/doc/man-pages/code_of_conduct.html> + <https://www.kernel.org/doc/Documentation/process/submitting-patches.rst> |