blob: 168ab640a1b0a1a0b53440ff7bb29a18c7235995 [file] [log] [blame]
Cyrill Gorcunov24053442010-10-03 21:02:08 +04001How to submit patches into the NASM
2===================================
3
4Actually the rules are pretty simple
5
6Obtaining the source code
7-------------------------
8
9The NASM sources are tracked by Git SCM at http://repo.or.cz/w/nasm.git
10repository. You either could download packed sources or use git tool itself
11
12 git clone git://repo.or.cz/nasm.git
13
14Changin the source code
15-----------------------
16
17When you change the NASM source code keep in mind -- we prefer tabs and
18indentations to be 4 characters width, space filled.
19
20Other "rules" could be learned from NASM sources -- just make your code
21to look similar.
22
23Producing patch
24---------------
25
26There are at least two ways to make it right.
27
28 1) git format-patch
29
30 You might need to read documentation on Git SCM how to prepare patch
31 for mail submission. Take a look on http://book.git-scm.com/ and/or
32 http://git-scm.com/documentation for details. It should not be hard
33 at all.
34
35 2) Use "diff -up"
36
37 Use "diff -up" or "diff -uprN" to create patches.
38
39Signing your work
40-----------------
41
42To improve tracking of who did what we've introduced a "sign-off" procedure
43on patches that are being emailed around.
44
45The sign-off is a simple line at the end of the explanation for the
46patch, which certifies that you wrote it or otherwise have the right to
47pass it on as a open-source patch. The rules are pretty simple: if you
48can certify the below:
49
50 Developer's Certificate of Origin 1.1
51
52 By making a contribution to this project, I certify that:
53
54 (a) The contribution was created in whole or in part by me and I
55 have the right to submit it under the open source license
56 indicated in the file; or
57
58 (b) The contribution is based upon previous work that, to the best
59 of my knowledge, is covered under an appropriate open source
60 license and I have the right under that license to submit that
61 work with modifications, whether created in whole or in part
62 by me, under the same open source license (unless I am
63 permitted to submit under a different license), as indicated
64 in the file; or
65
66 (c) The contribution was provided directly to me by some other
67 person who certified (a), (b) or (c) and I have not modified
68 it.
69
70 (d) I understand and agree that this project and the contribution
71 are public and that a record of the contribution (including all
72 personal information I submit with it, including my sign-off) is
73 maintained indefinitely and may be redistributed consistent with
74 this project or the open source license(s) involved.
75
76then you just add a line saying
77
78 Signed-off-by: Random J Developer <random@developer.example.org>
79
80using your real name (please, no pseudonyms or anonymous contributions if
81it possible)
82
83An example of patch message
84---------------------------
85
86From: Random J Developer <random@developer.example.org>
87Subject: [PATCH] Short patch description
88
89Long patch description (could be skipped if patch
90is trivial enough)
91
92Signed-off-by: Random J Developer <random@developer.example.org>
93---
94Patch body here
95
96Mailing patches
97---------------
98
99The patches should be sent to NASM development mailing list
100
101 nasm-devel@lists.sourceforge.net
102
103Please make sure the email client you're using doesn't screw
104your patch (line wrapping and so on).
105
106Wait for response
107-----------------
108
109Be patient. Most NASM developers are pretty busy people so if
110there is no immediate response on your patch -- don't
111be surprised, sometimes a patch may fly around a week(s) before
112gets reviewed. But definitely the patches will not go to /dev/null.
113
114 ---
115 With best regards,
116 NASM-team