add a default template for Host/Install
[openwrt/svn-archive/archive.git] / docs / submitting-patches.tex
1 \subsection{How to contribute}
2 OpenWrt is constantly being improved. We'd like as many people to contribute
3 to this as we can get. If you find a change useful, by all means try to get
4 it incorporated into the project. This should improve OpenWrt and it should
5 help carry your changes forward into future versions
6
7 This section tries to lay out a procedure to enable people to submit patches
8 in a way that is most effective for all concerned.
9
10 It is important to do all these steps repeatedly:
11
12 \begin{itemize}
13 \item \textit{listen} to what other people think.
14 \item \textit{talk} explaining what problem you are addressing and your
15 proposed solution.
16 \item \textit{do} write useful patches including documentation.
17 \item \textit{test. test. test.}
18 \end{itemize}
19
20 \subsection{Where to listen and talk}
21
22 \begin{itemize}
23 \item google to find things related to your problem
24 \item Mailing lists: \href{http://lists.openwrt.org/}{http://lists.openwrt.org/}
25 \item Wiki: check the wiki: \href{http://wiki.openwrt.org/OpenWrtDocs}{http://wiki.openwrt.org/OpenWrtDocs}
26 \item Forum: \href{http://forum.openwrt.org/}{http://forum.openwrt.org/}
27 \item IRC: \texttt{irc.freenode.net}, channels \texttt{\#openwrt} and
28 \texttt{\#openwrt-devel}
29 \item TRAC: \href{https://dev.openwrt.org/}{https://dev.openwrt.org/} the issue/bug/change tracking system
30 \end{itemize}
31
32 It is often best to document what you are doing before you do it. The process
33 of documentation often exposes possible improvements. Keep your documentation
34 up to date.
35
36 \subsection{Patch Submission Process}
37 \begin{enumerate}
38 \item Use git or svn to create a patch. Creating patches manually with
39 \textit{diff -urN} also works, but is usually unnecessary.
40 \item Send a mail to openwrt-devel@lists.openwrt.org with the following contents:
41 \begin{enumerate}
42 \item \texttt{[PATCH] <short description>} in the Subject, followed by:
43 \item (optional) a longer description of your patch in the message body
44 \item \texttt{Signed-off-by: Your name <your@email.address>}
45 \item Your actual patch, inline, not word wrapped or whitespace mangled.
46 \end{enumerate}
47 \item Please read \href{http://kerneltrap.org/Linux/Email\_Clients\_and\_Patches}{http://kerneltrap.org/Linux/Email\_Clients\_and\_Patches}
48 to find out how to make sure your email client doesn't destroy your patch.
49 \item Please use your real name and email address in the \texttt{Signed-off-by}
50 line, following the same guidelines as in the \href{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches;h=681e2b36195c98ea5271b76383b3a574b190b04f;hb=HEAD}{Linux Kernel patch submission guidelines}
51 \item Example of a properly formatted patch submission: \\
52 \href{http://lists.openwrt.org/pipermail/openwrt-devel/2007-November/001334.html}{http://lists.openwrt.org/pipermail/openwrt-devel/2007-November/001334.html}
53 \end{enumerate}