]>
Commit | Line | Data |
---|---|---|
c93e2eec AC |
1 | Name |
2 | Contributing - instructions for contributing to the project | |
974845c5 | 3 | |
c93e2eec | 4 | Synopsis |
e2b3164c | 5 | Mailing list, patches, lint, style guide, bug reports, and notes |
974845c5 | 6 | |
c93e2eec AC |
7 | Description |
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 | 173 | Reporting 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 | ||
192 | Notes | |
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 | |
203 | Bugs | |
204 | Bugzilla: | |
205 | <https://bugzilla.kernel.org/buglist.cgi?component=man-pages> | |
bf6c4e00 | 206 | |
c93e2eec AC |
207 | See 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> |