]>
Commit | Line | Data |
---|---|---|
a6cd6bf9 RD |
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 | ||
5d3687d7 LC |
107 | Make the the composer window wide enough so that no lines wrap. As of |
108 | KMail 1.13.5 (KDE 4.5.4), KMail will apply word wrapping when sending | |
109 | the email if the lines wrap in the composer window. Having word wrapping | |
110 | disabled in the Options menu isn't enough. Thus, if your patch has very | |
111 | long lines, you must make the composer window very wide before sending | |
112 | the email. See: https://bugs.kde.org/show_bug.cgi?id=174034 | |
113 | ||
a6cd6bf9 RD |
114 | You can safely GPG sign attachments, but inlined text is preferred for |
115 | patches so do not GPG sign them. Signing patches that have been inserted | |
116 | as inlined text will make them tricky to extract from their 7-bit encoding. | |
117 | ||
118 | If you absolutely must send patches as attachments instead of inlining | |
119 | them as text, right click on the attachment and select properties, and | |
120 | highlight "Suggest automatic display" to make the attachment inlined to | |
121 | make it more viewable. | |
122 | ||
123 | When saving patches that are sent as inlined text, select the email that | |
124 | contains the patch from the message list pane, right click and select | |
125 | "save as". You can use the whole email unmodified as a patch if it was | |
126 | properly composed. There is no option currently to save the email when you | |
127 | are actually viewing it in its own window -- there has been a request filed | |
128 | at kmail's bugzilla and hopefully this will be addressed. Emails are saved | |
129 | as read-write for user only so you will have to chmod them to make them | |
130 | group and world readable if you copy them elsewhere. | |
131 | ||
132 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
133 | Lotus Notes (GUI) | |
134 | ||
135 | Run away from it. | |
136 | ||
137 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
138 | Mutt (TUI) | |
139 | ||
140 | Plenty of Linux developers use mutt, so it must work pretty well. | |
141 | ||
142 | Mutt doesn't come with an editor, so whatever editor you use should be | |
143 | used in a way that there are no automatic linebreaks. Most editors have | |
144 | an "insert file" option that inserts the contents of a file unaltered. | |
145 | ||
146 | To use 'vim' with mutt: | |
147 | set editor="vi" | |
148 | ||
149 | If using xclip, type the command | |
150 | :set paste | |
151 | before middle button or shift-insert or use | |
152 | :r filename | |
153 | ||
154 | if you want to include the patch inline. | |
155 | (a)ttach works fine without "set paste". | |
156 | ||
157 | Config options: | |
158 | It should work with default settings. | |
159 | However, it's a good idea to set the "send_charset" to: | |
160 | set send_charset="us-ascii:utf-8" | |
161 | ||
162 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
163 | Pine (TUI) | |
164 | ||
165 | Pine has had some whitespace truncation issues in the past, but these | |
166 | should all be fixed now. | |
167 | ||
168 | Use alpine (pine's successor) if you can. | |
169 | ||
170 | Config options: | |
171 | - quell-flowed-text is needed for recent versions | |
172 | - the "no-strip-whitespace-before-send" option is needed | |
173 | ||
174 | ||
175 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
176 | Sylpheed (GUI) | |
177 | ||
178 | - Works well for inlining text (or using attachments). | |
179 | - Allows use of an external editor. | |
a6cd6bf9 RD |
180 | - Is slow on large folders. |
181 | - Won't do TLS SMTP auth over a non-SSL connection. | |
182 | - Has a helpful ruler bar in the compose window. | |
183 | - Adding addresses to address book doesn't understand the display name | |
184 | properly. | |
185 | ||
186 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
187 | Thunderbird (GUI) | |
188 | ||
e0e34e97 RL |
189 | Thunderbird is an Outlook clone that likes to mangle text, but there are ways |
190 | to coerce it into behaving. | |
a6cd6bf9 RD |
191 | |
192 | - Allows use of an external editor: | |
193 | The easiest thing to do with Thunderbird and patches is to use an | |
194 | "external editor" extension and then just use your favorite $EDITOR | |
195 | for reading/merging patches into the body text. To do this, download | |
196 | and install the extension, then add a button for it using | |
197 | View->Toolbars->Customize... and finally just click on it when in the | |
198 | Compose dialog. | |
199 | ||
e0e34e97 RL |
200 | To beat some sense out of the internal editor, do this: |
201 | ||
e0e34e97 RL |
202 | - Edit your Thunderbird config settings so that it won't use format=flowed. |
203 | Go to "edit->preferences->advanced->config editor" to bring up the | |
204 | thunderbird's registry editor, and set "mailnews.send_plaintext_flowed" to | |
205 | "false". | |
206 | ||
6989b5bb PM |
207 | - Disable HTML Format: Set "mail.identity.id1.compose_html" to "false". |
208 | ||
209 | - Enable "preformat" mode: Set "editor.quotesPreformatted" to "true". | |
210 | ||
211 | - Enable UTF8: Set "prefs.converted-to-utf8" to "true". | |
e0e34e97 RL |
212 | |
213 | - Install the "toggle wordwrap" extension. Download the file from: | |
214 | https://addons.mozilla.org/thunderbird/addon/2351/ | |
215 | Then go to "tools->add ons", select "install" at the bottom of the screen, | |
216 | and browse to where you saved the .xul file. This adds an "Enable | |
217 | Wordwrap" entry under the Options menu of the message composer. | |
218 | ||
a6cd6bf9 RD |
219 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
220 | TkRat (GUI) | |
221 | ||
222 | Works. Use "Insert file..." or external editor. | |
223 | ||
1b6bcdbe TH |
224 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
225 | Gmail (Web GUI) | |
226 | ||
5ce9f07b DY |
227 | Does not work for sending patches. |
228 | ||
229 | Gmail web client converts tabs to spaces automatically. | |
230 | ||
231 | At the same time it wraps lines every 78 chars with CRLF style line breaks | |
232 | although tab2space problem can be solved with external editor. | |
233 | ||
234 | Another problem is that Gmail will base64-encode any message that has a | |
235 | non-ASCII character. That includes things like European names. | |
1b6bcdbe | 236 | |
a6cd6bf9 | 237 | ### |