Root/
1 | Email clients info for Linux |
2 | ====================================================================== |
3 | |
4 | General Preferences |
5 | ---------------------------------------------------------------------- |
6 | Patches for the Linux kernel are submitted via email, preferably as |
7 | inline text in the body of the email. Some maintainers accept |
8 | attachments, but then the attachments should have content-type |
9 | "text/plain". However, attachments are generally frowned upon because |
10 | it makes quoting portions of the patch more difficult in the patch |
11 | review process. |
12 | |
13 | Email clients that are used for Linux kernel patches should send the |
14 | patch text untouched. For example, they should not modify or delete tabs |
15 | or spaces, even at the beginning or end of lines. |
16 | |
17 | Don't send patches with "format=flowed". This can cause unexpected |
18 | and unwanted line breaks. |
19 | |
20 | Don't let your email client do automatic word wrapping for you. |
21 | This can also corrupt your patch. |
22 | |
23 | Email clients should not modify the character set encoding of the text. |
24 | Emailed patches should be in ASCII or UTF-8 encoding only. |
25 | If you configure your email client to send emails with UTF-8 encoding, |
26 | you avoid some possible charset problems. |
27 | |
28 | Email clients should generate and maintain References: or In-Reply-To: |
29 | headers so that mail threading is not broken. |
30 | |
31 | Copy-and-paste (or cut-and-paste) usually does not work for patches |
32 | because tabs are converted to spaces. Using xclipboard, xclip, and/or |
33 | xcutsel may work, but it's best to test this for yourself or just avoid |
34 | copy-and-paste. |
35 | |
36 | Don't use PGP/GPG signatures in mail that contains patches. |
37 | This breaks many scripts that read and apply the patches. |
38 | (This should be fixable.) |
39 | |
40 | It's a good idea to send a patch to yourself, save the received message, |
41 | and successfully apply it with 'patch' before sending patches to Linux |
42 | mailing lists. |
43 | |
44 | |
45 | Some email client (MUA) hints |
46 | ---------------------------------------------------------------------- |
47 | Here are some specific MUA configuration hints for editing and sending |
48 | patches for the Linux kernel. These are not meant to be complete |
49 | software package configuration summaries. |
50 | |
51 | Legend: |
52 | TUI = text-based user interface |
53 | GUI = graphical user interface |
54 | |
55 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
56 | Alpine (TUI) |
57 | |
58 | Config options: |
59 | In the "Sending Preferences" section: |
60 | |
61 | - "Do Not Send Flowed Text" must be enabled |
62 | - "Strip Whitespace Before Sending" must be disabled |
63 | |
64 | When composing the message, the cursor should be placed where the patch |
65 | should appear, and then pressing CTRL-R let you specify the patch file |
66 | to insert into the message. |
67 | |
68 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
69 | Evolution (GUI) |
70 | |
71 | Some people use this successfully for patches. |
72 | |
73 | When composing mail select: Preformat |
74 | from Format->Heading->Preformatted (Ctrl-7) |
75 | or the toolbar |
76 | |
77 | Then use: |
78 | Insert->Text File... (Alt-n x) |
79 | to insert the patch. |
80 | |
81 | You can also "diff -Nru old.c new.c | xclip", select Preformat, then |
82 | paste with the middle button. |
83 | |
84 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
85 | Kmail (GUI) |
86 | |
87 | Some people use Kmail successfully for patches. |
88 | |
89 | The default setting of not composing in HTML is appropriate; do not |
90 | enable it. |
91 | |
92 | When composing an email, under options, uncheck "word wrap". The only |
93 | disadvantage is any text you type in the email will not be word-wrapped |
94 | so you will have to manually word wrap text before the patch. The easiest |
95 | way around this is to compose your email with word wrap enabled, then save |
96 | it as a draft. Once you pull it up again from your drafts it is now hard |
97 | word-wrapped and you can uncheck "word wrap" without losing the existing |
98 | wrapping. |
99 | |
100 | At the bottom of your email, put the commonly-used patch delimiter before |
101 | inserting your patch: three hyphens (---). |
102 | |
103 | Then from the "Message" menu item, select insert file and choose your patch. |
104 | As an added bonus you can customise the message creation toolbar menu |
105 | and put the "insert file" icon there. |
106 | |
107 | You can safely GPG sign attachments, but inlined text is preferred for |
108 | patches so do not GPG sign them. Signing patches that have been inserted |
109 | as inlined text will make them tricky to extract from their 7-bit encoding. |
110 | |
111 | If you absolutely must send patches as attachments instead of inlining |
112 | them as text, right click on the attachment and select properties, and |
113 | highlight "Suggest automatic display" to make the attachment inlined to |
114 | make it more viewable. |
115 | |
116 | When saving patches that are sent as inlined text, select the email that |
117 | contains the patch from the message list pane, right click and select |
118 | "save as". You can use the whole email unmodified as a patch if it was |
119 | properly composed. There is no option currently to save the email when you |
120 | are actually viewing it in its own window -- there has been a request filed |
121 | at kmail's bugzilla and hopefully this will be addressed. Emails are saved |
122 | as read-write for user only so you will have to chmod them to make them |
123 | group and world readable if you copy them elsewhere. |
124 | |
125 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
126 | Lotus Notes (GUI) |
127 | |
128 | Run away from it. |
129 | |
130 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
131 | Mutt (TUI) |
132 | |
133 | Plenty of Linux developers use mutt, so it must work pretty well. |
134 | |
135 | Mutt doesn't come with an editor, so whatever editor you use should be |
136 | used in a way that there are no automatic linebreaks. Most editors have |
137 | an "insert file" option that inserts the contents of a file unaltered. |
138 | |
139 | To use 'vim' with mutt: |
140 | set editor="vi" |
141 | |
142 | If using xclip, type the command |
143 | :set paste |
144 | before middle button or shift-insert or use |
145 | :r filename |
146 | |
147 | if you want to include the patch inline. |
148 | (a)ttach works fine without "set paste". |
149 | |
150 | Config options: |
151 | It should work with default settings. |
152 | However, it's a good idea to set the "send_charset" to: |
153 | set send_charset="us-ascii:utf-8" |
154 | |
155 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
156 | Pine (TUI) |
157 | |
158 | Pine has had some whitespace truncation issues in the past, but these |
159 | should all be fixed now. |
160 | |
161 | Use alpine (pine's successor) if you can. |
162 | |
163 | Config options: |
164 | - quell-flowed-text is needed for recent versions |
165 | - the "no-strip-whitespace-before-send" option is needed |
166 | |
167 | |
168 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
169 | Sylpheed (GUI) |
170 | |
171 | - Works well for inlining text (or using attachments). |
172 | - Allows use of an external editor. |
173 | - Is slow on large folders. |
174 | - Won't do TLS SMTP auth over a non-SSL connection. |
175 | - Has a helpful ruler bar in the compose window. |
176 | - Adding addresses to address book doesn't understand the display name |
177 | properly. |
178 | |
179 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
180 | Thunderbird (GUI) |
181 | |
182 | By default, thunderbird likes to mangle text, but there are ways to |
183 | coerce it into being nice. |
184 | |
185 | - Under account settings, composition and addressing, uncheck "Compose |
186 | messages in HTML format". |
187 | |
188 | - Edit your Thunderbird config settings to tell it not to wrap lines: |
189 | user_pref("mailnews.wraplength", 0); |
190 | |
191 | - Edit your Thunderbird config settings so that it won't use format=flowed: |
192 | user_pref("mailnews.send_plaintext_flowed", false); |
193 | |
194 | - You need to get Thunderbird into preformat mode: |
195 | . If you compose HTML messages by default, it's not too hard. Just select |
196 | "Preformat" from the drop-down box just under the subject line. |
197 | . If you compose in text by default, you have to tell it to compose a new |
198 | message in HTML (just as a one-off), and then force it from there back to |
199 | text, else it will wrap lines. To do this, use shift-click on the Write |
200 | icon to compose to get HTML compose mode, then select "Preformat" from |
201 | the drop-down box just under the subject line. |
202 | |
203 | - Allows use of an external editor: |
204 | The easiest thing to do with Thunderbird and patches is to use an |
205 | "external editor" extension and then just use your favorite $EDITOR |
206 | for reading/merging patches into the body text. To do this, download |
207 | and install the extension, then add a button for it using |
208 | View->Toolbars->Customize... and finally just click on it when in the |
209 | Compose dialog. |
210 | |
211 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
212 | TkRat (GUI) |
213 | |
214 | Works. Use "Insert file..." or external editor. |
215 | |
216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
217 | Gmail (Web GUI) |
218 | |
219 | Does not work for sending patches. |
220 | |
221 | Gmail web client converts tabs to spaces automatically. |
222 | |
223 | At the same time it wraps lines every 78 chars with CRLF style line breaks |
224 | although tab2space problem can be solved with external editor. |
225 | |
226 | Another problem is that Gmail will base64-encode any message that has a |
227 | non-ASCII character. That includes things like European names. |
228 | |
229 | ### |
230 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9