Clarify that we no longer support i586 but require i686+
[grml.org.git] / online-docs / hg-buildpackage.1.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 8.2.2" />\r
7 <style type="text/css">\r
8 /* Debug borders */\r
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {\r
10 /*\r
11   border: 1px solid red;\r
12 */\r
13 }\r
14 \r
15 body {\r
16   margin: 1em 5% 1em 5%;\r
17 }\r
18 \r
19 a {\r
20   color: blue;\r
21   text-decoration: underline;\r
22 }\r
23 a:visited {\r
24   color: fuchsia;\r
25 }\r
26 \r
27 em {\r
28   font-style: italic;\r
29 }\r
30 \r
31 strong {\r
32   font-weight: bold;\r
33 }\r
34 \r
35 tt {\r
36   color: navy;\r
37 }\r
38 \r
39 h1, h2, h3, h4, h5, h6 {\r
40   color: #527bbd;\r
41   font-family: sans-serif;\r
42   margin-top: 1.2em;\r
43   margin-bottom: 0.5em;\r
44   line-height: 1.3;\r
45 }\r
46 \r
47 h1 {\r
48   border-bottom: 2px solid silver;\r
49 }\r
50 h2 {\r
51   border-bottom: 2px solid silver;\r
52   padding-top: 0.5em;\r
53 }\r
54 \r
55 div.sectionbody {\r
56   font-family: serif;\r
57   margin-left: 0;\r
58 }\r
59 \r
60 hr {\r
61   border: 1px solid silver;\r
62 }\r
63 \r
64 p {\r
65   margin-top: 0.5em;\r
66   margin-bottom: 0.5em;\r
67 }\r
68 \r
69 pre {\r
70   padding: 0;\r
71   margin: 0;\r
72 }\r
73 \r
74 span#author {\r
75   color: #527bbd;\r
76   font-family: sans-serif;\r
77   font-weight: bold;\r
78   font-size: 1.1em;\r
79 }\r
80 span#email {\r
81 }\r
82 span#revision {\r
83   font-family: sans-serif;\r
84 }\r
85 \r
86 div#footer {\r
87   font-family: sans-serif;\r
88   font-size: small;\r
89   border-top: 2px solid silver;\r
90   padding-top: 0.5em;\r
91   margin-top: 4.0em;\r
92 }\r
93 div#footer-text {\r
94   float: left;\r
95   padding-bottom: 0.5em;\r
96 }\r
97 div#footer-badges {\r
98   float: right;\r
99   padding-bottom: 0.5em;\r
100 }\r
101 \r
102 div#preamble,\r
103 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,\r
104 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,\r
105 div.admonitionblock {\r
106   margin-right: 10%;\r
107   margin-top: 1.5em;\r
108   margin-bottom: 1.5em;\r
109 }\r
110 div.admonitionblock {\r
111   margin-top: 2.5em;\r
112   margin-bottom: 2.5em;\r
113 }\r
114 \r
115 div.content { /* Block element content. */\r
116   padding: 0;\r
117 }\r
118 \r
119 /* Block element titles. */\r
120 div.title, caption.title {\r
121   font-family: sans-serif;\r
122   font-weight: bold;\r
123   text-align: left;\r
124   margin-top: 1.0em;\r
125   margin-bottom: 0.5em;\r
126 }\r
127 div.title + * {\r
128   margin-top: 0;\r
129 }\r
130 \r
131 td div.title:first-child {\r
132   margin-top: 0.0em;\r
133 }\r
134 div.content div.title:first-child {\r
135   margin-top: 0.0em;\r
136 }\r
137 div.content + div.title {\r
138   margin-top: 0.0em;\r
139 }\r
140 \r
141 div.sidebarblock > div.content {\r
142   background: #ffffee;\r
143   border: 1px solid silver;\r
144   padding: 0.5em;\r
145 }\r
146 \r
147 div.listingblock {\r
148   margin-right: 0%;\r
149 }\r
150 div.listingblock > div.content {\r
151   border: 1px solid silver;\r
152   background: #f4f4f4;\r
153   padding: 0.5em;\r
154 }\r
155 \r
156 div.quoteblock > div.content {\r
157   padding-left: 2.0em;\r
158 }\r
159 \r
160 div.attribution {\r
161   text-align: right;\r
162 }\r
163 div.verseblock + div.attribution {\r
164   text-align: left;\r
165 }\r
166 \r
167 div.admonitionblock .icon {\r
168   vertical-align: top;\r
169   font-size: 1.1em;\r
170   font-weight: bold;\r
171   text-decoration: underline;\r
172   color: #527bbd;\r
173   padding-right: 0.5em;\r
174 }\r
175 div.admonitionblock td.content {\r
176   padding-left: 0.5em;\r
177   border-left: 2px solid silver;\r
178 }\r
179 \r
180 div.exampleblock > div.content {\r
181   border-left: 2px solid silver;\r
182   padding: 0.5em;\r
183 }\r
184 \r
185 div.verseblock div.content {\r
186   white-space: pre;\r
187 }\r
188 \r
189 div.imageblock div.content { padding-left: 0; }\r
190 div.imageblock img { border: 1px solid silver; }\r
191 span.image img { border-style: none; }\r
192 \r
193 dl {\r
194   margin-top: 0.8em;\r
195   margin-bottom: 0.8em;\r
196 }\r
197 dt {\r
198   margin-top: 0.5em;\r
199   margin-bottom: 0;\r
200   font-style: italic;\r
201 }\r
202 dd > *:first-child {\r
203   margin-top: 0;\r
204 }\r
205 \r
206 ul, ol {\r
207     list-style-position: outside;\r
208 }\r
209 ol.olist2 {\r
210   list-style-type: lower-alpha;\r
211 }\r
212 \r
213 div.tableblock > table {\r
214   border: 3px solid #527bbd;\r
215 }\r
216 thead {\r
217   font-family: sans-serif;\r
218   font-weight: bold;\r
219 }\r
220 tfoot {\r
221   font-weight: bold;\r
222 }\r
223 \r
224 div.hlist {\r
225   margin-top: 0.8em;\r
226   margin-bottom: 0.8em;\r
227 }\r
228 div.hlist td {\r
229   padding-bottom: 5px;\r
230 }\r
231 td.hlist1 {\r
232   vertical-align: top;\r
233   font-style: italic;\r
234   padding-right: 0.8em;\r
235 }\r
236 td.hlist2 {\r
237   vertical-align: top;\r
238 }\r
239 \r
240 @media print {\r
241   div#footer-badges { display: none; }\r
242 }\r
243 \r
244 div#toctitle {\r
245   color: #527bbd;\r
246   font-family: sans-serif;\r
247   font-size: 1.1em;\r
248   font-weight: bold;\r
249   margin-top: 1.0em;\r
250   margin-bottom: 0.1em;\r
251 }\r
252 \r
253 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {\r
254   margin-top: 0;\r
255   margin-bottom: 0;\r
256 }\r
257 div.toclevel2 {\r
258   margin-left: 2em;\r
259   font-size: 0.9em;\r
260 }\r
261 div.toclevel3 {\r
262   margin-left: 4em;\r
263   font-size: 0.9em;\r
264 }\r
265 div.toclevel4 {\r
266   margin-left: 6em;\r
267   font-size: 0.9em;\r
268 }\r
269 /* Workarounds for IE6's broken and incomplete CSS2. */\r
270 \r
271 div.sidebar-content {\r
272   background: #ffffee;\r
273   border: 1px solid silver;\r
274   padding: 0.5em;\r
275 }\r
276 div.sidebar-title, div.image-title {\r
277   font-family: sans-serif;\r
278   font-weight: bold;\r
279   margin-top: 0.0em;\r
280   margin-bottom: 0.5em;\r
281 }\r
282 \r
283 div.listingblock div.content {\r
284   border: 1px solid silver;\r
285   background: #f4f4f4;\r
286   padding: 0.5em;\r
287 }\r
288 \r
289 div.quoteblock-content {\r
290   padding-left: 2.0em;\r
291 }\r
292 \r
293 div.exampleblock-content {\r
294   border-left: 2px solid silver;\r
295   padding-left: 0.5em;\r
296 }\r
297 \r
298 /* IE6 sets dynamically generated links as visited. */\r
299 div#toc a:visited { color: blue; }\r
300 </style>\r
301 <title>HG-BUILDPACKAGE(1)</title>\r
302 </head>\r
303 <body>\r
304 <div id="header">\r
305 <h1>HG-BUILDPACKAGE(1)</h1>\r
306 <span id="author">Michael Gebetsroither</span><br />\r
307 <span id="email"><tt>&lt;<a href="mailto:michael.geb@gmx.at">michael.geb@gmx.at</a>&gt;</tt></span><br />\r
308 </div>\r
309 <h2>NAME</h2>\r
310 <div class="sectionbody">\r
311 <p>hg-buildpackage - helper program to maintain Debian packages with mercurial</p>\r
312 </div>\r
313 <h2>SYNOPSIS</h2>\r
314 <div class="sectionbody">\r
315 <p><strong>hg-buildpackage</strong> [ -mq / -mqd / tag ] [ &lt;options_for_dpkg-buildpackage&gt; ]</p>\r
316 </div>\r
317 <h2>DESCRIPTION</h2>\r
318 <div class="sectionbody">\r
319 <p>This manual page documents briefly the <strong>hg-buildpackage</strong> command.</p>\r
320 <p><strong>hg-buildpackage</strong> is a simple wrapper script to maintain Debian packages with mercurial (AKA hg).</p>\r
321 </div>\r
322 <h2>OPTIONS</h2>\r
323 <div class="sectionbody">\r
324 <dl>\r
325 <dt>\r
326 <strong>-mq</strong>\r
327 </dt>\r
328 <dd>\r
329 <p>\r
330 If upstream sources are not found in upstream directory, try to get it out of the repos itself (version must been tagged).\r
331 </p>\r
332 </dd>\r
333 <dt>\r
334 <strong>-mqd</strong>\r
335 </dt>\r
336 <dd>\r
337 <p>\r
338 Additionally to -mq use the available mercurial patch queue (from the default location .hg/patches) for the package and convert it to dpatch for easier package contributions for external developers.\r
339 </p>\r
340 </dd>\r
341 <dt>\r
342 <strong>tag</strong>\r
343 </dt>\r
344 <dd>\r
345 <p>\r
346 This tags the repos, increments the changelog by 1 and sets distribution to unreleased.\r
347 </p>\r
348 </dd>\r
349 </dl>\r
350 </div>\r
351 <h2>USAGE WITH MQ</h2>\r
352 <div class="sectionbody">\r
353 <p>The options -mq and -mqd are intended for non nativ debian package which have a tracking repos and a versioned mercurial patch queue.</p>\r
354 <h3>Prerequisites</h3>\r
355 <p>To keep hg-buildpackage as simple as possible there is a number of prerequisites in this build mode.</p>\r
356 <p>The first patch in the queue should be the debian patch, and it should be applied before execution of hg-buildpackage.</p>\r
357 <p>If commandline option -mpd is given, all patches in the queue which are not allready applied are converted to the dpatch system. The necessarry infrastructure for dpatch should allready be available (best from the allready applied debian patch).</p>\r
358 <p>All patches touching files from upstream should be handled through dpatch (thats the reason why the debian patch should be the first patch in the queue).</p>\r
359 </div>\r
360 <h2>Semi-Automatic tagging</h2>\r
361 <div class="sectionbody">\r
362 <p>If you use <strong>hg-buildpackage</strong> tag some things will happen:</p>\r
363 <ul>\r
364 <li>\r
365 <p>\r
366 Tag the repository with the package version from the changelog\r
367 </p>\r
368 </li>\r
369 <li>\r
370 <p>\r
371 Increase debian release by 1\r
372 </p>\r
373 </li>\r
374 <li>\r
375 <p>\r
376 Set distribution to unreleased\r
377 </p>\r
378 </li>\r
379 </ul>\r
380 </div>\r
381 <h2>FILES</h2>\r
382 <div class="sectionbody">\r
383 <p><strong>~/.hgbuildpackage</strong></p>\r
384 <p>When executing hg-buildpackage it sources the file ~/.hgbuildpackage if it exists. You can overwrite all environment variables used inside\r
385 hg-buildpackage and used for BUILD_COMMAND this way. What you might want to set and adjust are the variables UPSTREAM and BUILD_COMMAND.</p>\r
386 <p>You can use pbuilder or cowbuilder for building packages. If you set\r
387 BUILD_MODE to "pbuilder" or "cowbuilder" the one you choosed will be used, if\r
388 set to "local" dpkg-buildpackage will be used. Per default sudo will be used\r
389 to call pbuilder and cowbuilder, if you don't like this set ROOT_COMMAND\r
390 to the one you like.</p>\r
391 <p>Example for ~/.hgbuildpackage:</p>\r
392 <div class="listingblock">\r
393 <div class="content">\r
394 <pre><tt>  # where the upstream sources are\r
395   UPSTREAM=/home/mika/grml/hg/upstream/\r
396 \r
397   # define the build command\r
398   BUILD_COMMAND="dpkg-buildpackage -k37E272E8 -sa -rfakeroot"\r
399 \r
400   # use cowbuilder\r
401   BUILD_MODE="cowbuilder"\r
402 \r
403   # use sudo for getting root (this is the default)\r
404   ROOT_COMMAND="sudo"\r
405 \r
406   # call lintian after building\r
407   LINTIAN="true"</tt></pre>\r
408 </div></div>\r
409 </div>\r
410 <h2>EXAMPLES WITH MQ</h2>\r
411 <div class="sectionbody">\r
412 <p>Short command sequence to modify a patch from a package (eg. zzuf)</p>\r
413 <div class="listingblock">\r
414 <div class="content">\r
415 <pre><tt>  hg clone http://hg.grml.org/zzuf\r
416   hg clone http://hg.grml.org/zzuf zzuf/.hg/patches\r
417   cd zzuf\r
418   hg qpush\r
419   vi debian/rules\r
420   [make some changes]\r
421   hg qrefresh\r
422   hg qcommit -m 'made some modifications to debian/rules'\r
423   cd .hg/patches\r
424   hg push</tt></pre>\r
425 </div></div>\r
426 </div>\r
427 <h2>SEE ALSO</h2>\r
428 <div class="sectionbody">\r
429 <p>hg(1), hgmergevim(1), hgr(1), hg-mirror(1), hg-cleantree(1)</p>\r
430 </div>\r
431 <h2>AUTHOR</h2>\r
432 <div class="sectionbody">\r
433 <p>hg-buildpackage was written by Alexander Wirt &lt;formorer@grml.org&gt;, with mq support from Michael Gebetsroither &lt;gebi@grml.org&gt;</p>\r
434 <p>This manual page was original written by Michael Prokop &lt;mika@grml.org&gt; and converted to asciidoc from Michael Gebetsroither &lt;gebi@grml.org&gt;</p>\r
435 </div>\r
436 <div id="footer">\r
437 <div id="footer-text">\r
438 Last updated 27-Jul-2008 04:31:32 CEST\r
439 </div>\r
440 </div>\r
441 </body>\r
442 </html>\r