]> git.ipfire.org Git - thirdparty/man-pages.git/blame - CONTRIBUTING
Many pages: Add '\" t' comment where necessary
[thirdparty/man-pages.git] / CONTRIBUTING
CommitLineData
c93e2eec
AC
1Name
2 Contributing - instructions for contributing to the project
974845c5 3
c93e2eec 4Synopsis
e2b3164c 5 Mailing list, patches, lint, style guide, bug reports, and notes
974845c5 6
c93e2eec
AC
7Description
8 Mailing list
9 The main discussions regarding development of the project, patches,
10 bugs, news, doubts, etc. happen on the mailing list. To send an email
11 to the project, send it to both maintainers and CC the mailing list:
0fd4a9ef 12
c93e2eec 13 To: Alejandro Colomar <alx@kernel.org>
c93e2eec 14 Cc: <linux-man@vger.kernel.org>
0fd4a9ef 15
c93e2eec
AC
16 Please CC any relevant developers and mailing lists that may know about
17 or be interestend in the discussion. If your email discusses a feature
18 or change, and you know which developers added the feature or made the
19 change that your email discusses, please CC them on the email; with
20 luck they may review and comment on it. If you don't know who the
21 developers are, you may be able to discover that information from
22 mailing list archives or from git(1) logs or logs in other version
23 control systems. Obviously, if you are the developer of the feature
24 being discussed in a man-pages email, please identify yourself as such.
25 Relevant mailing lists may include:
0fd4a9ef 26
c93e2eec
AC
27 Cc: LKML <linux-kernel@vger.kernel.org>
28 Cc: Glibc <libc-alpha@sourceware.org>
29
30 For other kernel mailing lists and maintainers, check the <MAINTAINERS>
31 file in the Linux kernel repository.
32
33 Please don't send HTML email; it will be discarded by the list.
34
35 Archives:
36 <https://lore.kernel.org/linux-man/>
37 <https://marc.info/?l=linux-man>
38
39 Subscription:
40 Send a message to <majordomo@vger.kernel.org> containing the
41 following body:
42
43 subscribe linux-man
44
45 Unsubscribing:
46
47 unsubscribe linux-man
48
49 Help:
50
51 help
52
53 Patches
54 If you know how to fix a problem in a manual page (if not, see
55 "Reporting bugs" below), then send a patch in an email.
56
57 - Follow the instructions for sending mail to the mailing list above.
58
59 - The subject of the email should contain "[patch]" in the subject line.
60
61 The above is the minimum needed so that someone might respond to your
62 patch. If you did that and someone does not respond within a few days,
63 then ping the email thread, "replying to all". Make sure to send it to
64 the maintainers in addition to the mailing list.
65
66 To make your patch even more useful, please note the following points:
67
68 - Write a suitable subject line. Make sure to mention the name(s) of
69 the page(s) being patched. Example:
70
71 [patch] shmop.2: Add "(void *)" cast to RETURN VALUE
72
e5381b41 73 - Sign your patch with "Signed-off-by:". Read about the "Developer's
c93e2eec
AC
74 Certificate of Origin" at
75 <https://www.kernel.org/doc/Documentation/process/submitting-patches.rst>.
76 When appropriate, other tags documented in that file, such as
77 "Reported-by:", "Reviewed-by:", "Acked-by:", and "Suggested-by:" can
78 be added to the patch. The man-pages project also uses a
79 "Cowritten-by:" tag with the obvious meaning. Example:
80
81 Signed-off-by: Alejandro Colomar <alx@kernel.org>
82
83 - Describe how you obtained the information in your patch. For
84 example, was it:
85
86 - by reading (or writing) the relevant kernel or (g)libc source
87 code? Please provide a pointer to the following code.
88
89 - from a commit message in the kernel or (g)libc source code
90 repository? Please provide a commit ID.
91
92 - by writing a test program? Send it with the patch, but please
93 make sure it's as simple as possible, and provide instructions on
94 how to use it and/or a demo run.
95
96 - from a standards document? Please name the standard, and quote
97 the relevant text.
98
99 - from other documentation? Please provide a pointer to that
100 documentation.
101
102 - from a mailing list or online forum? Please provide a URL if
103 possible.
104
105 - Send patches in diff -u format, inline inside the email message. If
106 you're worried about your mailer breaking the patch, the send it
107 both inline and as an attachment. You may find it useful to employ
108 git-send-email(1) and git-format-patch(1).
109
110 - Where relevant, include source code comments that cite commit hashes
111 for relevant kernel or glibc changes:
112
113 .\" commit <40-character-git-hash>
114
115 - For trivial patches, you can use subject tags:
116
117 - ffix: Formatting fix.
118 - tfix: Typo fix.
119 - wfix: Minor wording fix.
120 - srcfix: Change to manual page source that doesn't affect output.
121
122 Example:
123
124 [patch] tcp.7: tfix
125
126 - Send logically separate patches. For unrelated pages, or for
127 logically-separate issues in the same page, send separate emails.
128
129 - Make patches against the latest version of the manual page. Use
130 git(1) for getting the latest version.
0fd4a9ef 131
1b55aca6
AC
132 Lint
133 If you plan to patch a manual page, consider running the linters
134 configured in the build system, to make sure your change doesn't add
135 new warnings. However, you might still get warnings that are not your
136 fault. To minimize that, do the following steps:
137
138 (1) Lint first all of the pages, so that make(1) knows that it only
139 needs to lint again pages that you will touch. This example is
140 shown with '-j' because it would take a long time (around a couple
141 of minutes) to run without parallel execution.
142
143 $ make -ij lint >/dev/null 2>&1
144
145 (2) Touch the page that you'll edit, and run make(1) again, to see
146 which warnings you'll still see from that page that are not your
147 fault.
148
e626e485 149 $ touch man2/membarrier.2 # replace by the page you'll modify
1b55aca6
AC
150 $ make -k lint
151
152 (3) Apply your changes, and then run make(1) again. You can ignore
153 warnings that you saw in step (2), but if you see any new ones,
154 please fix them if you know how, or at least note them in your
155 patch email.
156
e626e485 157 $ vi man2/membarrier.2 # do your work
1b55aca6
AC
158 $ make -k lint
159
160 See <INSTALL> for a list of dependencies that this feature requires.
161 If you can't meet them all, don't worry; it will still run the linters
162 that you have available.
163
e2b3164c
AC
164 Style guide
165 For a description of the preferred layout of manual pages, as well as
166 some style guide notes, see:
167
168 $ man 7 man-pages
169
170 It will also be interesting to consult groff_man(7) and
171 groff_man_style(7) for understanding and writing good man(7) source code.
172
bf6c4e00 173Reporting bugs
c93e2eec
AC
174 Report bugs to the mailing list, following the instructions above for
175 sending mails to the list. If you can write a patch (see instructions
176 for sending patches above), it's preferred.
177
178 If you're unsure if the bug is in the manual page or in the code being
179 documented (kernel, glibc, ...), it's best to send the report to both
180 at the same time, that is, CC all the mailing lists that may be
181 concerned by the report.
182
183 Some distributions (for example Debian) apply patches to the upstream
184 manual pages. If you suspect the bug is in one of those patches,
185 report it to your distribution maintainer.
186
187 Send logically separate reports. For unrelated pages, or for
188 logically-separate issues in the same page, send separate emails.
189
190 There's also a bugzilla, but we don't use it as much as the mailing list.
191
192Notes
bb108fd0
AC
193 External and autogenerated pages
194 A few pages come from external sources. Fixes to the pages should
195 really go to the upstream source.
196
197 tzfile(5), zdump(8), and zic(8) come from the tz project
198 <https://www.iana.org/time-zones>.
199
200 bpf-helpers(7) is autogenerated from the Linux kernel sources using
201 scripts. See man-pages commits 53666f6c3 and 19c7f7839 for details.
c93e2eec
AC
202
203Bugs
204 Bugzilla:
205 <https://bugzilla.kernel.org/buglist.cgi?component=man-pages>
bf6c4e00 206
c93e2eec
AC
207See also
208 man-pages(7)
974845c5 209
c93e2eec
AC
210 <https://www.kernel.org/doc/man-pages/contributing.html>
211 <https://www.kernel.org/doc/man-pages/linux-man-ml.html>
212 <https://www.kernel.org/doc/man-pages/patches.html>
213 <https://www.kernel.org/doc/man-pages/reporting_bugs.html>
214 <https://www.kernel.org/doc/man-pages/reporting_code_bugs.html>
215 <https://www.kernel.org/doc/man-pages/missing_pages.html>
216 <https://www.kernel.org/doc/man-pages/code_of_conduct.html>
217 <https://www.kernel.org/doc/Documentation/process/submitting-patches.rst>