improve title in french. Credit translators on title page
[packaging-tutorial.git] / po4a / po / packaging-tutorial.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2011-10-19 01:23+0300\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=CHARSET\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: Plain text
20 #: packaging-tutorial.tex:4
21 msgid "\\mode<presentation> \\usetheme{debian}"
22 msgstr ""
23
24 #. Translators:
25 #. change debiantutorial to debiantutorial.$lang to use translated file, and
26 #. append to this string all commands to load localisation packages, e.g.:
27 #. \\usepackage{debiantutorial.fr} \\usepackage[french]{babel} \\frenchsetup{...}
28 #. type: Plain text
29 #: packaging-tutorial.tex:10
30 msgid "\\usepackage{debiantutorial}"
31 msgstr ""
32
33 #. type: title{#2}
34 #: packaging-tutorial.tex:20
35 msgid "Debian Packaging Tutorial"
36 msgstr ""
37
38 #. type: author{#2}
39 #: packaging-tutorial.tex:20
40 msgid "Lucas Nussbaum\\\\{\\small\\texttt{lucas@debian.org}}"
41 msgstr ""
42
43 #. Translators:
44 #. leave \\version unchanged: this will a variable containing the actual version
45 #. To translate the date, use \\today or a string containing \\year, \\month, \\day
46 #. (numeric values).
47 #. type: date{#1}
48 #: packaging-tutorial.tex:26
49 msgid "version \\version{} -- \\year-\\month-\\day"
50 msgstr ""
51
52 #. type: frame{#2}
53 #: packaging-tutorial.tex:58
54 msgid "About this tutorial"
55 msgstr ""
56
57 #. type: itemize
58 #: packaging-tutorial.tex:58
59 msgid "Goal: \\textbf{tell you what you really need to know about Debian packaging}"
60 msgstr ""
61
62 #. type: itemize
63 #: packaging-tutorial.tex:58
64 msgid "Modify existing packages"
65 msgstr ""
66
67 #. type: itemize
68 #: packaging-tutorial.tex:58
69 msgid "Create your own packages"
70 msgstr ""
71
72 #. type: itemize
73 #: packaging-tutorial.tex:58
74 msgid "Interact with the Debian community"
75 msgstr ""
76
77 #. type: itemize
78 #: packaging-tutorial.tex:58
79 msgid "Become a Debian power-user"
80 msgstr ""
81
82 #. type: itemize
83 #: packaging-tutorial.tex:58
84 msgid "Covers the most important points, but is not complete"
85 msgstr ""
86
87 #. type: itemize
88 #: packaging-tutorial.tex:58
89 msgid "You will need to read more documentation"
90 msgstr ""
91
92 #. type: itemize
93 #: packaging-tutorial.tex:58
94 msgid "Most of the content also applies to Debian derivatives distributions"
95 msgstr ""
96
97 #. type: itemize
98 #: packaging-tutorial.tex:58
99 msgid "That includes Ubuntu"
100 msgstr ""
101
102 #. type: frame{#2}
103 #: packaging-tutorial.tex:62 debiantutorial.sty:41
104 msgid "Outline"
105 msgstr ""
106
107 #. type: section{#2}
108 #: packaging-tutorial.tex:64
109 msgid "Introduction"
110 msgstr ""
111
112 #. type: frame{#2}
113 #: packaging-tutorial.tex:66 packaging-tutorial.tex:90
114 msgid "Debian"
115 msgstr ""
116
117 #. type: textbf{#1}
118 #: packaging-tutorial.tex:90
119 msgid "GNU/Linux distribution"
120 msgstr ""
121
122 #. type: itemize
123 #: packaging-tutorial.tex:90
124 msgid "1st major distro developed ``openly in the spirit of GNU''"
125 msgstr ""
126
127 #. type: itemize
128 #: packaging-tutorial.tex:90
129 msgid "\\textbf{Non-commercial}, built collaboratively by over 1,000 volunteers"
130 msgstr ""
131
132 #. type: itemize
133 #: packaging-tutorial.tex:90
134 msgid "3 main features:"
135 msgstr ""
136
137 #. type: itemize
138 #: packaging-tutorial.tex:90
139 msgid ""
140 "\\textbf{Quality} -- culture of technical excellence\\\\ {\\small\\sl We "
141 "release when it's ready}"
142 msgstr ""
143
144 #. type: itemize
145 #: packaging-tutorial.tex:90
146 msgid ""
147 "\\textbf{Freedom} -- devs and users bound by the \\textsl{Social "
148 "Contract}\\\\ Promoting the culture of Free Software since 1993"
149 msgstr ""
150
151 #. type: itemize
152 #: packaging-tutorial.tex:90
153 msgid ""
154 "\\textbf{Independence} -- no (single) company babysitting Debian\\\\ And "
155 "open decision-making process (\\textsl{do-ocracy} + \\textsl{democracy})"
156 msgstr ""
157
158 #. type: itemize
159 #: packaging-tutorial.tex:90
160 msgid "\\textbf{Amateur} in the best sense: done for the love of it"
161 msgstr ""
162
163 #. type: frame{#2}
164 #: packaging-tutorial.tex:111 packaging-tutorial.tex:111
165 msgid "Debian packages"
166 msgstr ""
167
168 #. type: itemize
169 #: packaging-tutorial.tex:111
170 msgid "\\textbf{.deb} files (binary packages)"
171 msgstr ""
172
173 #. type: itemize
174 #: packaging-tutorial.tex:111
175 msgid "A very powerful and convenient way to distribute software to users"
176 msgstr ""
177
178 #. type: itemize
179 #: packaging-tutorial.tex:111
180 msgid "One of the two most common packages format (with RPM)"
181 msgstr ""
182
183 #. type: itemize
184 #: packaging-tutorial.tex:111
185 msgid "Universal:"
186 msgstr ""
187
188 #. type: itemize
189 #: packaging-tutorial.tex:111
190 msgid ""
191 "30,000 binary packages in Debian\\\\ $\\rightarrow$ most of the available "
192 "free software is packaged in Debian!"
193 msgstr ""
194
195 #. type: itemize
196 #: packaging-tutorial.tex:111
197 msgid "For 12 ports (architectures), including 2 non-Linux (Hurd; KFreeBSD)"
198 msgstr ""
199
200 #. type: itemize
201 #: packaging-tutorial.tex:111
202 msgid "Also used by 120 Debian derivatives distributions"
203 msgstr ""
204
205 #. type: frame{#2}
206 #: packaging-tutorial.tex:114 packaging-tutorial.tex:139
207 msgid "The Deb package format"
208 msgstr ""
209
210 #. type: itemize
211 #: packaging-tutorial.tex:139
212 msgid "\\texttt{.deb} file: an \\texttt{ar} archive"
213 msgstr ""
214
215 #. type: lstlisting
216 #: packaging-tutorial.tex:139
217 #, no-wrap
218 msgid ""
219 "[basicstyle=\\ttfamily\\footnotesize]\n"
220 "$ ar tv wget_1.12-2.1_i386.deb\n"
221 "rw-r--r-- 0/0      4 Sep  5 15:43 2010 debian-binary\n"
222 "rw-r--r-- 0/0   2403 Sep  5 15:43 2010 control.tar.gz\n"
223 "rw-r--r-- 0/0 751613 Sep  5 15:43 2010 data.tar.gz\n"
224 "    "
225 msgstr ""
226
227 #.  $
228 #. type: itemize
229 #: packaging-tutorial.tex:139
230 msgid ""
231 "\\texttt{debian-binary}: version of the deb file format, "
232 "\\texttt{\"2.0\\textbackslash{}n\"}"
233 msgstr ""
234
235 #. type: itemize
236 #: packaging-tutorial.tex:139
237 msgid ""
238 "\\texttt{control.tar.gz}: metadata about the package\\\\ {\\small "
239 "\\texttt{\\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, "
240 "\\ldots}"
241 msgstr ""
242
243 #. type: itemize
244 #: packaging-tutorial.tex:139
245 msgid "\\texttt{data.tar.gz}: data files of the package"
246 msgstr ""
247
248 #. type: itemize
249 #: packaging-tutorial.tex:139
250 msgid ""
251 "You could create your \\texttt{.deb} files manually\\\\ {\\footnotesize "
252 "\\url{http://tldp.org/HOWTO/html\\_single/Debian-Binary-Package-Building-HOWTO/}}"
253 msgstr ""
254
255 #. type: itemize
256 #: packaging-tutorial.tex:139
257 msgid "But most people don't do it that way"
258 msgstr ""
259
260 #. type: textbf{#1}
261 #: packaging-tutorial.tex:139
262 msgid "This tutorial: create Debian packages, the Debian way"
263 msgstr ""
264
265 #. type: frame{#2}
266 #: packaging-tutorial.tex:159 packaging-tutorial.tex:159
267 msgid "Tools you will need"
268 msgstr ""
269
270 #. type: itemize
271 #: packaging-tutorial.tex:159
272 msgid "A Debian (or Ubuntu) system (with root access)"
273 msgstr ""
274
275 #. type: itemize
276 #: packaging-tutorial.tex:159
277 msgid "Some packages:"
278 msgstr ""
279
280 #. type: itemize
281 #: packaging-tutorial.tex:159
282 msgid ""
283 "\\textbf{build-essential}: has dependencies on the packages that will be "
284 "assumed to be available on the developers' machine (no need to specify them "
285 "in the \\texttt{Build-Depends:} control field of your package)"
286 msgstr ""
287
288 #. type: itemize
289 #: packaging-tutorial.tex:159
290 msgid ""
291 "includes a dependency on \\textbf{dpkg-dev}, which contains basic "
292 "Debian-specific tools to create packages"
293 msgstr ""
294
295 #. type: itemize
296 #: packaging-tutorial.tex:159
297 msgid "\\textbf{devscripts}: contains many useful scripts for Debian maintainers"
298 msgstr ""
299
300 #. type: frame
301 #: packaging-tutorial.tex:167
302 msgid ""
303 "Many other tools will also be mentioned later, such as \\textbf{debhelper}, "
304 "\\textbf{cdbs}, \\textbf{quilt}, \\textbf{pbuilder}, \\textbf{sbuild}, "
305 "\\textbf{lintian}, \\textbf{svn-buildpackage}, \\textbf{git-buildpackage}, "
306 "\\ldots\\\\ Install them when you need them."
307 msgstr ""
308
309 #. type: frame{#2}
310 #: packaging-tutorial.tex:174 packaging-tutorial.tex:174
311 msgid "General packaging workflow"
312 msgstr ""
313
314 #.      \draw[arr,->] (bin) -- (-1,-6) node[pos=0.5,left] {upload (\textttc{dput})};
315 #.  hack hack hack
316 #. type: tikzpicture
317 #: packaging-tutorial.tex:194
318 msgid ""
319 "\\node[node1] (www) at (0, 0) {Web}; \\node[node1] (us) at (2.5, 0) "
320 "{upstream source}; \\node[node1] (da) at (-2.5, 0) {Debian mirror}; "
321 "\\node[node1] (sp) at (0, -2) {source package}; \\draw[arr,<-,dashed,thick] "
322 "(sp) -- (2.5,-2) node[right=0cm,text width=2.98cm,text "
323 "centered,font=\\small\\sl] {where most of the manual work is done}; "
324 "\\node[node1] (bin) at (0, -4) {one or several binary packages}; "
325 "\\draw[arr,<-,dashed,thick] (bin) -- (3.5,-4) node[right,text "
326 "centered,font=\\small\\ttfamily\\sl] {.deb\\normalfont}; \\draw[arr,->] (us) "
327 "-- (sp) node[pos=0.5,right,command] {dh\\_make}; \\draw[arr,->] (da) -- (sp) "
328 "node[pos=0.5,left,command] {apt-get source}; \\draw[arr,->] (www) -- (sp) "
329 "node[pos=0.5,left,command] {dget}; \\draw[arr,->] (sp) -- (bin) "
330 "node[pos=0.5,right,text width=6cm] {\\textttc{debuild} (build and test with "
331 "\\textttc{lintian}) or \\textttc{dpkg-buildpackage}}; \\draw[arr,->] (bin) "
332 "-- (1,-6) node[pos=0.5,right] {install (\\textttc{debi})}; "
333 "\\draw[transparent] (bin) -- (-1,-6) node[pos=0.5,left,opaque] {upload "
334 "(\\textttc{dput})}; \\draw[arr,->,rounded corners] (bin) -- (-1,-6) -- "
335 "(-4.5,-6) -- (-4.5,0) -- (da); \\useasboundingbox (-4,-6) rectangle (6,0);"
336 msgstr ""
337
338 #. type: subsection{#2}
339 #: packaging-tutorial.tex:211
340 msgid "Rebuilding dash"
341 msgstr ""
342
343 #. type: frame{#2}
344 #: packaging-tutorial.tex:211
345 msgid "Example: rebuilding dash"
346 msgstr ""
347
348 #. type: enumerate
349 #: packaging-tutorial.tex:211
350 msgid ""
351 "Install packages needed to build dash, and devscripts\\\\ {\\texttt{apt-get "
352 "build-dep dash}}\\\\ {\\texttt{apt-get install -{}-no-install-recommends "
353 "devscripts}}"
354 msgstr ""
355
356 #. type: enumerate
357 #: packaging-tutorial.tex:211
358 msgid ""
359 "Create a working directory, and get in it:\\\\ \\texttt{mkdir "
360 "/tmp/debian-tutorial ; cd /tmp/debian-tutorial}"
361 msgstr ""
362
363 #. type: enumerate
364 #: packaging-tutorial.tex:211
365 msgid ""
366 "Grab the \\texttt{dash} source package\\\\ \\texttt{apt-get source dash}\\\\ "
367 "{\\small (This needs you to have \\texttt{deb-src} lines in your "
368 "\\texttt{/etc/apt/sources.list})}"
369 msgstr ""
370
371 #. type: enumerate
372 #: packaging-tutorial.tex:211
373 msgid "Build the package\\\\ {\\texttt{cd dash-*\\\\ debuild -us -uc}}"
374 msgstr ""
375
376 #. type: enumerate
377 #: packaging-tutorial.tex:224
378 msgid "Check that it worked"
379 msgstr ""
380
381 #. type: itemize
382 #: packaging-tutorial.tex:224
383 msgid "There are some new \\texttt{.deb} files in the parent directory"
384 msgstr ""
385
386 #. type: enumerate
387 #: packaging-tutorial.tex:224
388 msgid "Look at the \\texttt{debian/} directory"
389 msgstr ""
390
391 #. type: itemize
392 #: packaging-tutorial.tex:224
393 msgid "That's where the packaging work is done"
394 msgstr ""
395
396 #. type: section{#2}
397 #: packaging-tutorial.tex:262
398 msgid "Creating source packages"
399 msgstr ""
400
401 #. type: subsection{#2}
402 #: packaging-tutorial.tex:262
403 msgid "Source packages basics"
404 msgstr ""
405
406 #. type: frame{#2}
407 #: packaging-tutorial.tex:262
408 msgid "Source package"
409 msgstr ""
410
411 #. type: itemize
412 #: packaging-tutorial.tex:262
413 msgid ""
414 "One source package can generate several binary packages\\\\ {\\small e.g the "
415 "\\texttt{\\bfseries libtar} source generates the \\texttt{\\bfseries "
416 "libtar0} and \\texttt{\\bfseries libtar-dev} binary packages}"
417 msgstr ""
418
419 #. type: itemize
420 #: packaging-tutorial.tex:262
421 msgid "Two kinds of packages: (if unsure, use non-native)"
422 msgstr ""
423
424 #. type: itemize
425 #: packaging-tutorial.tex:262
426 msgid ""
427 "Native packages: normally for Debian specific software (\\textsl{dpkg}, "
428 "\\textsl{apt})"
429 msgstr ""
430
431 #. type: itemize
432 #: packaging-tutorial.tex:262
433 msgid "Non-native packages: software developed outside Debian"
434 msgstr ""
435
436 #. type: itemize
437 #: packaging-tutorial.tex:262
438 msgid "Main file: \\texttt{.dsc} (meta-data)"
439 msgstr ""
440
441 #. type: itemize
442 #: packaging-tutorial.tex:262
443 msgid "Other files depending on the version of the source format"
444 msgstr ""
445
446 #. type: itemize
447 #: packaging-tutorial.tex:262
448 msgid "1.0 -- native: \\texttt{package\\_version.tar.gz}"
449 msgstr ""
450
451 #. type: itemize
452 #: packaging-tutorial.tex:262
453 msgid "1.0 -- non-native:"
454 msgstr ""
455
456 #. type: itemize
457 #: packaging-tutorial.tex:262 packaging-tutorial.tex:262
458 msgid "\\texttt{pkg\\_ver.orig.tar.gz} : upstream source"
459 msgstr ""
460
461 #. type: itemize
462 #: packaging-tutorial.tex:262
463 msgid "\\texttt{pkg\\_debver.diff.gz} : patch to add Debian-specific changes"
464 msgstr ""
465
466 #. type: itemize
467 #: packaging-tutorial.tex:262
468 msgid "3.0 (quilt):"
469 msgstr ""
470
471 #. type: itemize
472 #: packaging-tutorial.tex:262
473 msgid "\\texttt{pkg\\_debver.debian.tar.gz} : tarball with the Debian changes"
474 msgstr ""
475
476 #. type: frame
477 #: packaging-tutorial.tex:262
478 msgid "(See \\texttt{dpkg-source(1)} for exact details)"
479 msgstr ""
480
481 #. type: frame{#2}
482 #: packaging-tutorial.tex:286
483 msgid "Source package example (wget\\_1.12-2.1.dsc)"
484 msgstr ""
485
486 #. type: lstlisting
487 #: packaging-tutorial.tex:286
488 #, no-wrap
489 msgid ""
490 "[basicstyle=\\ttfamily\\small]\n"
491 "Format: 3.0 (quilt)\n"
492 "Source: wget\n"
493 "Binary: wget\n"
494 "Architecture: any\n"
495 "Version: 1.12-2.1\n"
496 "Maintainer: Noel Kothe <noel@debian.org>\n"
497 "Homepage: http://www.gnu.org/software/wget/\n"
498 "Standards-Version: 3.8.4\n"
499 "Build-Depends: debhelper (>> 5.0.0), gettext, texinfo,\n"
500 " libssl-dev (>= 0.9.8), dpatch, info2man\n"
501 "Checksums-Sha1: \n"
502 " 50d4ed2441e67[..]1ee0e94248 2464747 wget_1.12.orig.tar.gz\n"
503 " d4c1c8bbe431d[..]dd7cef3611 48308 wget_1.12-2.1.debian.tar.gz\n"
504 "Checksums-Sha256: \n"
505 " 7578ed0974e12[..]dcba65b572 2464747 wget_1.12.orig.tar.gz\n"
506 " 1e9b0c4c00eae[..]89c402ad78 48308 wget_1.12-2.1.debian.tar.gz\n"
507 "Files: \n"
508 " 141461b9c04e4[..]9d1f2abf83 2464747 wget_1.12.orig.tar.gz\n"
509 " e93123c934e3c[..]2f380278c2 48308 wget_1.12-2.1.debian.tar.gz"
510 msgstr ""
511
512 #. type: subsection{#2}
513 #: packaging-tutorial.tex:314
514 msgid "Retrieving source packages"
515 msgstr ""
516
517 #. type: frame{#2}
518 #: packaging-tutorial.tex:314
519 msgid "Retrieving an existing source package"
520 msgstr ""
521
522 #. type: itemize
523 #: packaging-tutorial.tex:314
524 msgid "From the Debian archive:"
525 msgstr ""
526
527 #. type: itemize
528 #: packaging-tutorial.tex:314
529 msgid "\\texttt{apt-get source \\textsl{package}}"
530 msgstr ""
531
532 #. type: itemize
533 #: packaging-tutorial.tex:314
534 msgid "\\texttt{apt-get source \\textsl{package=version}}"
535 msgstr ""
536
537 #. type: itemize
538 #: packaging-tutorial.tex:314
539 msgid "\\texttt{apt-get source \\textsl{package/release}}"
540 msgstr ""
541
542 #. type: itemize
543 #: packaging-tutorial.tex:314
544 msgid "(You need \\texttt{deb-src} lines in \\texttt{sources.list})"
545 msgstr ""
546
547 #. type: itemize
548 #: packaging-tutorial.tex:314
549 msgid "From the Internet:"
550 msgstr ""
551
552 #. type: itemize
553 #: packaging-tutorial.tex:314
554 msgid "\\texttt{dget \\textsl{url-to.dsc}}"
555 msgstr ""
556
557 #. type: itemize
558 #: packaging-tutorial.tex:314
559 msgid ""
560 "\\texttt{dget "
561 "http://snapshot.debian.org/archive/debian-archive/\\\\20090802T004153Z/debian/dists/bo/main/source/web/\\\\ "
562 "wget\\_1.4.4-6.dsc}\\\\ (\\href{http://snapshot.debian.org/}{\\ttfamily "
563 "snapshot.d.o} provides all packages from Debian since 2005)"
564 msgstr ""
565
566 #. type: itemize
567 #: packaging-tutorial.tex:314
568 msgid "From the (declared) version control system:"
569 msgstr ""
570
571 #. type: itemize
572 #: packaging-tutorial.tex:314
573 msgid "\\texttt{debcheckout \\textsl{package}}"
574 msgstr ""
575
576 #. type: itemize
577 #: packaging-tutorial.tex:314
578 msgid "Once downloaded, extract with \\texttt{dpkg-source -x \\textsl{file.dsc}}"
579 msgstr ""
580
581 #. type: frame{#2}
582 #: packaging-tutorial.tex:333 packaging-tutorial.tex:333
583 msgid "Creating a basic source package"
584 msgstr ""
585
586 #. type: itemize
587 #: packaging-tutorial.tex:333
588 msgid ""
589 "Download the upstream source\\\\ (\\textsl{upstream source} = the one from "
590 "the software's original developers)"
591 msgstr ""
592
593 #. type: itemize
594 #: packaging-tutorial.tex:333
595 msgid ""
596 "Rename to "
597 "\\texttt{<\\textsl{source\\_package}>\\_<\\textsl{upstream\\_version}>.orig.tar.gz}\\\\ "
598 "(example: \\texttt{simgrid\\_3.6.orig.tar.gz})"
599 msgstr ""
600
601 #. type: itemize
602 #: packaging-tutorial.tex:333
603 msgid "Untar it"
604 msgstr ""
605
606 #. type: itemize
607 #: packaging-tutorial.tex:333
608 msgid ""
609 "\\texttt{cd \\textsl{upstream\\_source} \\&\\& dh\\_make} (from the "
610 "\\textbf{dh-make} package)"
611 msgstr ""
612
613 #. type: itemize
614 #: packaging-tutorial.tex:333
615 msgid ""
616 "There are some alternatives to \\texttt{dh\\_make} for specific sets of "
617 "packages: \\textbf{dh-make-perl}, \\textbf{dh-make-php}, \\ldots"
618 msgstr ""
619
620 #. type: itemize
621 #: packaging-tutorial.tex:333
622 msgid "\\texttt{debian/} directory created, with a lot of files in it"
623 msgstr ""
624
625 #. type: frame{#2}
626 #: packaging-tutorial.tex:362 packaging-tutorial.tex:362
627 msgid "Files in debian/"
628 msgstr ""
629
630 #. type: frame
631 #: packaging-tutorial.tex:362
632 msgid ""
633 "All the packaging work should be made by modifying files in "
634 "\\texttt{debian/}"
635 msgstr ""
636
637 #. type: itemize
638 #: packaging-tutorial.tex:362
639 msgid "Main files:"
640 msgstr ""
641
642 #. type: itemize
643 #: packaging-tutorial.tex:362
644 msgid "\\textbf{control} -- meta-data about the package (dependencies, etc)"
645 msgstr ""
646
647 #. type: itemize
648 #: packaging-tutorial.tex:362
649 msgid "\\textbf{rules} -- specifies how to build the package"
650 msgstr ""
651
652 #. type: itemize
653 #: packaging-tutorial.tex:362
654 msgid "\\textbf{copyright} -- copyright information for the package"
655 msgstr ""
656
657 #. type: itemize
658 #: packaging-tutorial.tex:362
659 msgid "\\textbf{changelog} -- history of the Debian package"
660 msgstr ""
661
662 #. type: itemize
663 #: packaging-tutorial.tex:362
664 msgid "Other files:"
665 msgstr ""
666
667 #. type: itemize
668 #: packaging-tutorial.tex:362
669 msgid "compat"
670 msgstr ""
671
672 #. type: itemize
673 #: packaging-tutorial.tex:362
674 msgid "watch"
675 msgstr ""
676
677 #. type: itemize
678 #: packaging-tutorial.tex:362
679 msgid "dh\\_install* targets\\\\ {\\small *.dirs, *.docs, *.manpages, \\ldots}"
680 msgstr ""
681
682 #. type: itemize
683 #: packaging-tutorial.tex:362
684 msgid "maintainer scripts\\\\ {\\small *.postinst, *.prerm, \\ldots}"
685 msgstr ""
686
687 #. type: itemize
688 #: packaging-tutorial.tex:362
689 msgid "source/format"
690 msgstr ""
691
692 #. type: itemize
693 #: packaging-tutorial.tex:362
694 msgid "patches/ -- if you need to modify the upstream sources"
695 msgstr ""
696
697 #. type: itemize
698 #: packaging-tutorial.tex:362
699 msgid "Several files use a format based on RFC 822 (mail headers)"
700 msgstr ""
701
702 #. type: frame{#2}
703 #: packaging-tutorial.tex:374
704 msgid "debian/changelog"
705 msgstr ""
706
707 #. type: itemize
708 #: packaging-tutorial.tex:374
709 msgid "Lists the Debian packaging changes"
710 msgstr ""
711
712 #. type: itemize
713 #: packaging-tutorial.tex:374
714 msgid "Gives the current version of the package"
715 msgstr ""
716
717 #. type: tikzpicture
718 #: packaging-tutorial.tex:374
719 msgid ""
720 "\\draw (0,0) node[above right] {\\large 1.2.1.1-5}; \\draw "
721 "[decorate,decoration={brace}] (2,0) -- (1.45,0) node[at start,below,text "
722 "width=1.6cm,text centered] {\\small Debian revision}; \\draw "
723 "[decorate,decoration={brace}] (1.4,0) -- (0,0) node[midway,below,text "
724 "width=1.6cm,text centered] { \\small Upstream version};"
725 msgstr ""
726
727 #. %
728 #. type: itemize
729 #: packaging-tutorial.tex:385
730 msgid "Edited manually or with \\texttt{dch}"
731 msgstr ""
732
733 #. type: itemize
734 #: packaging-tutorial.tex:385
735 msgid ""
736 "Special format to automatically close Debian or Ubuntu bugs\\\\ Debian: "
737 "\\texttt{Closes:~\\#595268}; Ubuntu: \\texttt{LP:~\\#616929}"
738 msgstr ""
739
740 #. type: itemize
741 #: packaging-tutorial.tex:385
742 msgid "Installed as \\texttt{/usr/share/doc/\\textit{package}/changelog.Debian.gz}"
743 msgstr ""
744
745 #. type: lstlisting
746 #: packaging-tutorial.tex:385
747 #, no-wrap
748 msgid ""
749 "[basicstyle=\\ttfamily\\footnotesize]\n"
750 "mpich2 (1.2.1.1-5) unstable; urgency=low\n"
751 "\n"
752 msgstr ""
753
754 #. type: lstlisting
755 #: packaging-tutorial.tex:391
756 #, no-wrap
757 msgid ""
758 "  * Use /usr/bin/python instead of /usr/bin/python2.5. Allow\n"
759 "    to drop dependency on python2.5.  Closes: #595268\n"
760 "  * Make /usr/bin/mpdroot setuid. This is the default after\n"
761 "    the installation of mpich2 from source, too. LP: #616929\n"
762 "    + Add corresponding lintian override.\n"
763 "\n"
764 msgstr ""
765
766 #. type: lstlisting
767 #: packaging-tutorial.tex:393
768 #, no-wrap
769 msgid " -- Lucas Nussbaum <lucas@debian.org>  Wed, 15 Sep 2010 18:13:44 +0200"
770 msgstr ""
771
772 #. type: frame{#2}
773 #: packaging-tutorial.tex:420
774 msgid "debian/control"
775 msgstr ""
776
777 #. type: itemize
778 #: packaging-tutorial.tex:420
779 msgid "Package metadata"
780 msgstr ""
781
782 #. type: itemize
783 #: packaging-tutorial.tex:420
784 msgid "For the source package itself"
785 msgstr ""
786
787 #. type: itemize
788 #: packaging-tutorial.tex:420
789 msgid "For each binary package built from this source"
790 msgstr ""
791
792 #. type: itemize
793 #: packaging-tutorial.tex:420
794 msgid ""
795 "Package name, section, priority, maintainer, uploaders, build-dependencies, "
796 "dependencies, description, homepage, \\ldots"
797 msgstr ""
798
799 #. type: itemize
800 #: packaging-tutorial.tex:420
801 msgid ""
802 "Documentation: Debian Policy chapter 5\\\\ "
803 "\\url{http://www.debian.org/doc/debian-policy/ch-controlfields.html}"
804 msgstr ""
805
806 #. type: lstlisting
807 #: packaging-tutorial.tex:420
808 #, no-wrap
809 msgid ""
810 "[basicstyle=\\ttfamily\\footnotesize]\n"
811 "Source: wget\n"
812 "Section: web\n"
813 "Priority: important\n"
814 "Maintainer: Noel Kothe <noel@debian.org>\n"
815 "Build-Depends: debhelper (>> 5.0.0), gettext, texinfo,\n"
816 " libssl-dev (>= 0.9.8), dpatch, info2man\n"
817 "Standards-Version: 3.8.4\n"
818 "Homepage: http://www.gnu.org/software/wget/\n"
819 "\n"
820 msgstr ""
821
822 #. type: lstlisting
823 #: packaging-tutorial.tex:426
824 #, no-wrap
825 msgid ""
826 "Package: wget\n"
827 "Architecture: any\n"
828 "Depends: ${shlibs:Depends}, ${misc:Depends}\n"
829 "Description: retrieves files from the web\n"
830 " Wget is a network utility to retrieve files from the Web"
831 msgstr ""
832
833 #. type: frame{#2}
834 #: packaging-tutorial.tex:455
835 msgid "Architecture: all or any"
836 msgstr ""
837
838 #. type: frame
839 #: packaging-tutorial.tex:455
840 msgid "Two kinds of binary packages:"
841 msgstr ""
842
843 #. type: itemize
844 #: packaging-tutorial.tex:455
845 msgid "Packages with different contents on each Debian architecture"
846 msgstr ""
847
848 #. type: itemize
849 #: packaging-tutorial.tex:455
850 msgid "Example: C program"
851 msgstr ""
852
853 #. type: itemize
854 #: packaging-tutorial.tex:455
855 msgid "\\texttt{Architecture:\\ any} in \\texttt{debian/control}"
856 msgstr ""
857
858 #. type: itemize
859 #: packaging-tutorial.tex:455
860 msgid ""
861 "Or, if it only works on a subset of architectures:\\\\ "
862 "\\texttt{Architecture:\\ amd64 i386 ia64 hurd-i386}"
863 msgstr ""
864
865 #. type: itemize
866 #: packaging-tutorial.tex:455
867 msgid "buildd.debian.org: builds all the other architectures for you on upload"
868 msgstr ""
869
870 #. type: itemize
871 #: packaging-tutorial.tex:455
872 msgid ""
873 "Named "
874 "\\texttt{\\textsl{package}\\_\\textsl{version}\\_\\textsl{architecture}.deb}"
875 msgstr ""
876
877 #. type: itemize
878 #: packaging-tutorial.tex:455
879 msgid "Packages with the same content on all architectures"
880 msgstr ""
881
882 #. type: itemize
883 #: packaging-tutorial.tex:455
884 msgid "Example: Perl library"
885 msgstr ""
886
887 #. type: itemize
888 #: packaging-tutorial.tex:455
889 msgid "\\texttt{Architecture:\\ all} in \\texttt{debian/control}"
890 msgstr ""
891
892 #. type: itemize
893 #: packaging-tutorial.tex:455
894 msgid "Named \\texttt{\\textsl{package}\\_\\textsl{version}\\_\\textbf{all}.deb}"
895 msgstr ""
896
897 #. type: frame
898 #: packaging-tutorial.tex:455
899 msgid ""
900 "A source package can generate a mix of \\texttt{Architecture:\\ any} and "
901 "\\texttt{Architecture:\\ all} binary packages"
902 msgstr ""
903
904 #. type: frame{#2}
905 #: packaging-tutorial.tex:481
906 msgid "debian/rules"
907 msgstr ""
908
909 #. type: itemize
910 #: packaging-tutorial.tex:481
911 msgid "Makefile"
912 msgstr ""
913
914 #. type: itemize
915 #: packaging-tutorial.tex:481
916 msgid "Interface used to build Debian packages"
917 msgstr ""
918
919 #. type: itemize
920 #: packaging-tutorial.tex:481
921 msgid ""
922 "Documented in Debian Policy, chapter 4.8\\\\ {\\small "
923 "\\texttt{http://www.debian.org/doc/debian-policy/ch-source.html\\#s-debianrules}}"
924 msgstr ""
925
926 #. type: itemize
927 #: packaging-tutorial.tex:481
928 msgid "Five required targets:"
929 msgstr ""
930
931 #. type: itemize
932 #: packaging-tutorial.tex:481
933 msgid "\\texttt{build}: should perform all the configuration and compilation"
934 msgstr ""
935
936 #. type: itemize
937 #: packaging-tutorial.tex:481
938 msgid "\\texttt{binary, binary-arch, binary-indep}: build the binary packages"
939 msgstr ""
940
941 #. type: itemize
942 #: packaging-tutorial.tex:481
943 msgid ""
944 "\\texttt{dpkg-buildpackage} will call \\texttt{binary} to build all the "
945 "packages, or \\texttt{binary-arch} to build only the "
946 "\\texttt{Architecture:~any} packages"
947 msgstr ""
948
949 #. type: itemize
950 #: packaging-tutorial.tex:481
951 msgid "\\texttt{clean}: clean up the source directory"
952 msgstr ""
953
954 #. type: subsection{#2}
955 #: packaging-tutorial.tex:515
956 msgid "Packaging helpers"
957 msgstr ""
958
959 #. type: frame{#2}
960 #: packaging-tutorial.tex:515
961 msgid "Packaging helpers -- debhelper"
962 msgstr ""
963
964 #. type: itemize
965 #: packaging-tutorial.tex:515
966 msgid "You could write shell code in \\texttt{debian/rules} directly"
967 msgstr ""
968
969 #. type: itemize
970 #: packaging-tutorial.tex:515
971 msgid "See the \\texttt{adduser} package for example"
972 msgstr ""
973
974 #. type: itemize
975 #: packaging-tutorial.tex:515
976 msgid "Better practice (used by most packages): use a \\textsl{Packaging helper}"
977 msgstr ""
978
979 #. type: itemize
980 #: packaging-tutorial.tex:515
981 msgid "Most popular one: \\textbf{debhelper} (used by 98\\% of packages)"
982 msgstr ""
983
984 #. type: itemize
985 #: packaging-tutorial.tex:515
986 msgid "Goals:"
987 msgstr ""
988
989 #. type: itemize
990 #: packaging-tutorial.tex:515
991 msgid "Factor the common tasks in standard tools used by all packages"
992 msgstr ""
993
994 #. type: itemize
995 #: packaging-tutorial.tex:515
996 msgid "Fix some packaging bugs once for all packages"
997 msgstr ""
998
999 #. type: itemize
1000 #: packaging-tutorial.tex:515
1001 msgid ""
1002 "{\\footnotesize dh\\_installdirs, dh\\_installchangelogs, dh\\_installdocs, "
1003 "dh\\_installexamples, dh\\_install, dh\\_installdebconf, dh\\_installinit, "
1004 "dh\\_link, dh\\_strip, dh\\_compress, dh\\_fixperms, dh\\_perl, "
1005 "dh\\_makeshlibs, dh\\_installdeb, dh\\_shlibdeps, dh\\_gencontrol, "
1006 "dh\\_md5sums, dh\\_builddeb, \\ldots}"
1007 msgstr ""
1008
1009 #. type: itemize
1010 #: packaging-tutorial.tex:515
1011 msgid "Called from \\texttt{debian/rules}"
1012 msgstr ""
1013
1014 #. type: itemize
1015 #: packaging-tutorial.tex:515
1016 msgid "Configurable using command parameters or files in \\texttt{debian/}"
1017 msgstr ""
1018
1019 #. type: itemize
1020 #: packaging-tutorial.tex:515
1021 msgid ""
1022 "{\\footnotesize \\ttfamily \\textsl{package}.docs, "
1023 "\\textsl{package}.examples, \\textsl{package}.install, "
1024 "\\textsl{package}.manpages, \\ldots}"
1025 msgstr ""
1026
1027 #. type: itemize
1028 #: packaging-tutorial.tex:515
1029 msgid ""
1030 "Third-party helpers for sets of packages: \\textbf{python-support}, "
1031 "\\textbf{dh\\_ocaml}, \\ldots"
1032 msgstr ""
1033
1034 #. type: itemize
1035 #: packaging-tutorial.tex:515
1036 msgid "Gotcha: \\texttt{debian/compat}: Debhelper compatibility version (use \"7\")"
1037 msgstr ""
1038
1039 #. type: frame{#2}
1040 #: packaging-tutorial.tex:519
1041 msgid "debian/rules using debhelper (1/2)"
1042 msgstr ""
1043
1044 #. type: lstlisting
1045 #: packaging-tutorial.tex:519
1046 #, no-wrap
1047 msgid ""
1048 "[basicstyle=\\ttfamily\\footnotesize,escapeinside=\\{\\}]\n"
1049 "#!/usr/bin/make -f\n"
1050 "\n"
1051 msgstr ""
1052
1053 #. type: lstlisting
1054 #: packaging-tutorial.tex:522
1055 #, no-wrap
1056 msgid ""
1057 "# Uncomment this to turn on verbose mode.\n"
1058 "#export DH_VERBOSE=1\n"
1059 "\n"
1060 msgstr ""
1061
1062 #. type: lstlisting
1063 #: packaging-tutorial.tex:526
1064 #, no-wrap
1065 msgid ""
1066 "build: \n"
1067 "        $(MAKE)\n"
1068 "        #docbook-to-man debian/packagename.sgml > packagename.1\n"
1069 "\n"
1070 msgstr ""
1071
1072 #. type: lstlisting
1073 #: packaging-tutorial.tex:533
1074 #, no-wrap
1075 msgid ""
1076 "clean: \n"
1077 "        dh_testdir\n"
1078 "        dh_testroot\n"
1079 "        rm -f build-stamp configure-stamp\n"
1080 "        $(MAKE) clean\n"
1081 "        dh_clean \n"
1082 "\n"
1083 msgstr ""
1084
1085 #. type: lstlisting
1086 #: packaging-tutorial.tex:541
1087 #, no-wrap
1088 msgid ""
1089 "install: build\n"
1090 "        dh_testdir\n"
1091 "        dh_testroot\n"
1092 "        dh_clean -k \n"
1093 "        dh_installdirs\n"
1094 "        # Add here commands to install the package into "
1095 "debian/packagename.\n"
1096 "        $(MAKE) DESTDIR=$(CURDIR)/debian/packagename install"
1097 msgstr ""
1098
1099 #. type: frame{#2}
1100 #: packaging-tutorial.tex:546
1101 msgid "debian/rules using debhelper (2/2)"
1102 msgstr ""
1103
1104 #. type: lstlisting
1105 #: packaging-tutorial.tex:546
1106 #, no-wrap
1107 msgid ""
1108 "[basicstyle=\\ttfamily\\footnotesize,escapeinside=\\{\\}]\n"
1109 "\n"
1110 msgstr ""
1111
1112 #. type: lstlisting
1113 #: packaging-tutorial.tex:549
1114 #, no-wrap
1115 msgid ""
1116 "# Build architecture-independent files here.\n"
1117 "binary-indep: build install\n"
1118 "\n"
1119 msgstr ""
1120
1121 #. type: lstlisting
1122 #: packaging-tutorial.tex:568
1123 #, no-wrap
1124 msgid ""
1125 "# Build architecture-dependent files here.\n"
1126 "binary-arch: build install\n"
1127 "        dh_testdir\n"
1128 "        dh_testroot\n"
1129 "        dh_installchangelogs \n"
1130 "        dh_installdocs\n"
1131 "        dh_installexamples\n"
1132 "        dh_install\n"
1133 "        dh_installman\n"
1134 "        dh_link\n"
1135 "        dh_strip\n"
1136 "        dh_compress\n"
1137 "        dh_fixperms\n"
1138 "        dh_installdeb\n"
1139 "        dh_shlibdeps\n"
1140 "        dh_gencontrol\n"
1141 "        dh_md5sums\n"
1142 "        dh_builddeb\n"
1143 "\n"
1144 msgstr ""
1145
1146 #. type: lstlisting
1147 #: packaging-tutorial.tex:571
1148 #, no-wrap
1149 msgid ""
1150 "binary: binary-indep binary-arch\n"
1151 ".PHONY: build clean binary-indep binary-arch binary install configure"
1152 msgstr ""
1153
1154 #. type: frame{#2}
1155 #: packaging-tutorial.tex:602
1156 msgid "CDBS"
1157 msgstr ""
1158
1159 #. type: itemize
1160 #: packaging-tutorial.tex:602
1161 msgid "With debhelper, still a lot of redundancy between packages"
1162 msgstr ""
1163
1164 #. type: itemize
1165 #: packaging-tutorial.tex:602
1166 msgid "Second-level helpers that factor common functionality"
1167 msgstr ""
1168
1169 #. type: itemize
1170 #: packaging-tutorial.tex:602
1171 msgid ""
1172 "E.g building with \\texttt{./configure \\&\\& make \\&\\& make install} or "
1173 "CMake"
1174 msgstr ""
1175
1176 #. type: itemize
1177 #: packaging-tutorial.tex:602
1178 msgid "CDBS:"
1179 msgstr ""
1180
1181 #. type: itemize
1182 #: packaging-tutorial.tex:602
1183 msgid "Introduced in 2005, based on advanced \\textsl{GNU make} magic"
1184 msgstr ""
1185
1186 #. type: itemize
1187 #: packaging-tutorial.tex:602
1188 msgid "Documentation: \\texttt{/usr/share/doc/cdbs/}"
1189 msgstr ""
1190
1191 #. type: itemize
1192 #: packaging-tutorial.tex:602
1193 msgid "Support for Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \\ldots"
1194 msgstr ""
1195
1196 #. type: itemize
1197 #: packaging-tutorial.tex:602
1198 msgid "But some people hate it:"
1199 msgstr ""
1200
1201 #. type: itemize
1202 #: packaging-tutorial.tex:602
1203 msgid ""
1204 "Sometimes difficult to customize package builds:\\\\ \"\\textsl{twisty maze "
1205 "of makefiles and environment variables}\""
1206 msgstr ""
1207
1208 #. type: itemize
1209 #: packaging-tutorial.tex:602
1210 msgid "Slower than plain debhelper (many useless calls to \\texttt{dh\\_*})"
1211 msgstr ""
1212
1213 #. type: lstlisting
1214 #: packaging-tutorial.tex:602
1215 #, no-wrap
1216 msgid ""
1217 "[basicstyle=\\ttfamily\\footnotesize,escapeinside=\\{\\}]\n"
1218 "#!/usr/bin/make -f\n"
1219 "include /usr/share/cdbs/1/rules/debhelper.mk\n"
1220 "include /usr/share/cdbs/1/class/autotools.mk\n"
1221 "\n"
1222 msgstr ""
1223
1224 #. type: lstlisting
1225 #: packaging-tutorial.tex:606
1226 #, no-wrap
1227 msgid ""
1228 "# add an action after the build\n"
1229 "build/mypackage::\n"
1230 "    /bin/bash debian/scripts/foo.sh\n"
1231 "      "
1232 msgstr ""
1233
1234 #. type: frame{#2}
1235 #: packaging-tutorial.tex:627
1236 msgid "Dh (aka Debhelper 7, or dh7)"
1237 msgstr ""
1238
1239 #. type: itemize
1240 #: packaging-tutorial.tex:627
1241 msgid "Introduced in 2008 as a \\textsl{CDBS killer}"
1242 msgstr ""
1243
1244 #. type: itemize
1245 #: packaging-tutorial.tex:627
1246 msgid "\\textbf{dh} command that calls \\texttt{dh\\_*}"
1247 msgstr ""
1248
1249 #. type: itemize
1250 #: packaging-tutorial.tex:627
1251 msgid "Simple \\textsl{debian/rules}, listing only overrides"
1252 msgstr ""
1253
1254 #. type: itemize
1255 #: packaging-tutorial.tex:627
1256 msgid "Easier to customize than CDBS"
1257 msgstr ""
1258
1259 #. type: itemize
1260 #: packaging-tutorial.tex:627
1261 msgid ""
1262 "Doc: manpages (\\texttt{debhelper(7)}, \\texttt{dh(1)}) + slides from "
1263 "DebConf9 talk\\\\ "
1264 "\\url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}"
1265 msgstr ""
1266
1267 #. type: lstlisting
1268 #: packaging-tutorial.tex:627
1269 #, no-wrap
1270 msgid ""
1271 "[basicstyle=\\ttfamily\\footnotesize]\n"
1272 "#!/usr/bin/make -f\n"
1273 "%:\n"
1274 "    dh $@\n"
1275 "\n"
1276 msgstr ""
1277
1278 #. type: lstlisting
1279 #: packaging-tutorial.tex:630
1280 #, no-wrap
1281 msgid ""
1282 "override_dh_auto_configure:\n"
1283 "     dh_auto_configure -- --with-kitchen-sink\n"
1284 "\n"
1285 msgstr ""
1286
1287 #. type: lstlisting
1288 #: packaging-tutorial.tex:633
1289 #, no-wrap
1290 msgid ""
1291 "override_dh_auto_build:\n"
1292 "     make world\n"
1293 "\n"
1294 msgstr ""
1295
1296 #. type: lstlisting
1297 #: packaging-tutorial.tex:634
1298 #, no-wrap
1299 msgid "    "
1300 msgstr ""
1301
1302 #. type: frame{#2}
1303 #: packaging-tutorial.tex:655
1304 msgid "Classic debhelper vs CDBS vs dh"
1305 msgstr ""
1306
1307 #. type: itemize
1308 #: packaging-tutorial.tex:655
1309 msgid ""
1310 "Mind shares:\\\\ Classic debhelper: 36\\% \\hskip 1em CDBS: 21\\% \\hskip "
1311 "1em dh: 41\\%"
1312 msgstr ""
1313
1314 #. type: itemize
1315 #: packaging-tutorial.tex:655
1316 msgid "Which one should I learn?"
1317 msgstr ""
1318
1319 #. type: itemize
1320 #: packaging-tutorial.tex:655
1321 msgid "Probably a bit of all of them"
1322 msgstr ""
1323
1324 #. type: itemize
1325 #: packaging-tutorial.tex:655
1326 msgid "You need to know debhelper to use dh and CDBS"
1327 msgstr ""
1328
1329 #. type: itemize
1330 #: packaging-tutorial.tex:655
1331 msgid "You might have to modify CDBS packages"
1332 msgstr ""
1333
1334 #. type: itemize
1335 #: packaging-tutorial.tex:655
1336 msgid "Which one should I use for a new package?"
1337 msgstr ""
1338
1339 #. type: itemize
1340 #: packaging-tutorial.tex:655
1341 msgid "\\textbf{dh} (only solution with an increasing mind share)"
1342 msgstr ""
1343
1344 #. type: axis[#1]
1345 #: packaging-tutorial.tex:669
1346 msgid ""
1347 "small,label style={font=\\footnotesize},xlabel={\\small "
1348 "Time},ylabel={\\small Market share (\\%)}, date coordinates "
1349 "in=x,height=4.85cm,width=9cm,xticklabel={\\month/\\year}, legend "
1350 "style={font=\\footnotesize,at={(1.02,1)},anchor=north west},max space "
1351 "between ticks=82,try min ticks=5,ymin=0"
1352 msgstr ""
1353
1354 #. type: axis
1355 #: packaging-tutorial.tex:669
1356 msgid ""
1357 "\\addplot[mark=none,blue,thick,style=densely dotted] table[x=date,y=dh] "
1358 "{cdbs-dh7.txt}; \\addplot[mark=none,red,thick,style=dashed] "
1359 "table[x=date,y=dh7] {cdbs-dh7.txt}; \\addplot[mark=none,green,thick] "
1360 "table[x=date,y=cdbs] {cdbs-dh7.txt}; \\legend{debhelper, dh, CDBS}"
1361 msgstr ""
1362
1363 #. type: section{#2}
1364 #: packaging-tutorial.tex:678
1365 msgid "Building and testing packages"
1366 msgstr ""
1367
1368 #. type: frame{#2}
1369 #: packaging-tutorial.tex:678 packaging-tutorial.tex:678
1370 msgid "Building packages"
1371 msgstr ""
1372
1373 #. type: itemize
1374 #: packaging-tutorial.tex:678
1375 msgid ""
1376 "\\textttc{apt-get build-dep mypackage}\\\\ Installs the "
1377 "\\textsl{build-dependencies} (for a package in the archive)"
1378 msgstr ""
1379
1380 #. type: itemize
1381 #: packaging-tutorial.tex:750
1382 msgid "\\textttc{debuild}: build, test with \\texttt{lintian}, sign with GPG"
1383 msgstr ""
1384
1385 #. type: itemize
1386 #: packaging-tutorial.tex:750
1387 msgid "Also possible to call \\textttc{dpkg-buildpackage} directly"
1388 msgstr ""
1389
1390 #. type: itemize
1391 #: packaging-tutorial.tex:750
1392 msgid "Usually with \\texttt{dpkg-buildpackage -us -uc}"
1393 msgstr ""
1394
1395 #. type: itemize
1396 #: packaging-tutorial.tex:750
1397 msgid "It is better to build packages in a clean \\& minimal environment"
1398 msgstr ""
1399
1400 #. type: itemize
1401 #: packaging-tutorial.tex:750
1402 msgid ""
1403 "\\textttc{pbuilder} -- helper to build packages in a \\textsl{chroot}\\\\ "
1404 "Good documentation: \\url{https://wiki.ubuntu.com/PbuilderHowto}\\\\ "
1405 "(optimization: \\textttc{cowbuilder} \\textttc{ccache} \\textttc{distcc})"
1406 msgstr ""
1407
1408 #. type: itemize
1409 #: packaging-tutorial.tex:750
1410 msgid ""
1411 "\\textttc{schroot} and \\textttc{sbuild}: used on the Debian build "
1412 "daemons\\\\ (not as simple as \\texttt{pbuilder}, but allows LVM "
1413 "snapshots\\\\ see: \\url{https://help.ubuntu.com/community/SbuildLVMHowto} )"
1414 msgstr ""
1415
1416 #. type: itemize
1417 #: packaging-tutorial.tex:750
1418 msgid "Generates \\texttt{.deb} files and a \\texttt{.changes} file"
1419 msgstr ""
1420
1421 #. type: itemize
1422 #: packaging-tutorial.tex:750
1423 msgid "\\texttt{.changes}: describes what was built; used to upload the package"
1424 msgstr ""
1425
1426 #. type: frame{#2}
1427 #: packaging-tutorial.tex:750 packaging-tutorial.tex:750
1428 msgid "Installing and testing packages"
1429 msgstr ""
1430
1431 #. type: itemize
1432 #: packaging-tutorial.tex:750
1433 msgid ""
1434 "Install the package locally: \\textttc{debi} (will use \\texttt{.changes} to "
1435 "know what to install)"
1436 msgstr ""
1437
1438 #. type: itemize
1439 #: packaging-tutorial.tex:750
1440 msgid ""
1441 "List the content of the package: \\texttt{{\\color{rouge}debc} "
1442 "../mypackage<TAB>.changes}"
1443 msgstr ""
1444
1445 #. type: itemize
1446 #: packaging-tutorial.tex:750
1447 msgid ""
1448 "Compare the package with a previous version:\\\\ "
1449 "\\texttt{{\\color{rouge}debdiff} ../mypackage\\_1\\_*.changes "
1450 "../mypackage\\_2\\_*.changes}\\\\ or to compare the sources:\\\\ "
1451 "\\texttt{{\\color{rouge}debdiff} ../mypackage\\_1\\_*.dsc "
1452 "../mypackage\\_2\\_*.dsc}\\\\"
1453 msgstr ""
1454
1455 #. type: itemize
1456 #: packaging-tutorial.tex:750
1457 msgid ""
1458 "Check the package with \\texttt{lintian} (static analyzer):\\\\ "
1459 "\\texttt{{\\color{rouge}lintian} ../mypackage<TAB>.changes}\\\\ "
1460 "\\texttt{lintian -i}: gives more information about the errors"
1461 msgstr ""
1462
1463 #. type: itemize
1464 #: packaging-tutorial.tex:750
1465 msgid "Upload the package to Debian (\\textttc{dput}) (needs configuration)"
1466 msgstr ""
1467
1468 #. type: itemize
1469 #: packaging-tutorial.tex:750
1470 msgid ""
1471 "Manage a private Debian archive with \\textttc{reprepro}\\\\ Documentation: "
1472 "\\url{http://mirrorer.alioth.debian.org/}"
1473 msgstr ""
1474
1475 #. type: subsection{#2}
1476 #: packaging-tutorial.tex:750 packaging-tutorial.tex:750 packaging-tutorial.tex:1270
1477 msgid "Practical session 1: modifying the grep package"
1478 msgstr ""
1479
1480 #. type: enumerate
1481 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1323
1482 msgid ""
1483 "Go to \\url{http://ftp.debian.org/debian/pool/main/g/grep/} and download "
1484 "version 2.6.3-3 of the package"
1485 msgstr ""
1486
1487 #. type: enumerate
1488 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1342
1489 msgid "Look at the files in \\texttt{debian/}."
1490 msgstr ""
1491
1492 #. type: itemize
1493 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1342
1494 msgid "How many binary packages are generated by this source package?"
1495 msgstr ""
1496
1497 #. type: itemize
1498 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1342
1499 msgid "Which packaging helper does this package use?"
1500 msgstr ""
1501
1502 #. type: enumerate
1503 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1351
1504 msgid "Build the package"
1505 msgstr ""
1506
1507 #. type: enumerate
1508 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1372
1509 msgid ""
1510 "We are now going to modify the package. Add a changelog entry and increase "
1511 "the version number."
1512 msgstr ""
1513
1514 #. type: enumerate
1515 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1392
1516 msgid "Now disable perl-regexp support (it is a \\texttt{./configure} option)"
1517 msgstr ""
1518
1519 #. type: enumerate
1520 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1392
1521 msgid "Rebuild the package"
1522 msgstr ""
1523
1524 #. type: enumerate
1525 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1422
1526 msgid "Compare the original and the new package with debdiff"
1527 msgstr ""
1528
1529 #. type: enumerate
1530 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1422
1531 msgid "Install the newly built package"
1532 msgstr ""
1533
1534 #. type: enumerate
1535 #: packaging-tutorial.tex:750 packaging-tutorial.tex:1296 packaging-tutorial.tex:1422
1536 msgid "Cry if you messed up ;)"
1537 msgstr ""
1538
1539 #. type: section{#2}
1540 #: packaging-tutorial.tex:765
1541 msgid "Advanced packaging topics"
1542 msgstr ""
1543
1544 #. type: frame{#2}
1545 #: packaging-tutorial.tex:765 packaging-tutorial.tex:765
1546 msgid "debian/copyright"
1547 msgstr ""
1548
1549 #. type: itemize
1550 #: packaging-tutorial.tex:765
1551 msgid "Copyright and license information for the source and the packaging"
1552 msgstr ""
1553
1554 #. type: itemize
1555 #: packaging-tutorial.tex:765
1556 msgid "Traditionally written as a text file"
1557 msgstr ""
1558
1559 #. type: itemize
1560 #: packaging-tutorial.tex:765
1561 msgid "New machine-readable format: \\url{http://dep.debian.net/deps/dep5/}"
1562 msgstr ""
1563
1564 #. type: lstlisting
1565 #: packaging-tutorial.tex:765
1566 #, no-wrap
1567 msgid ""
1568 "[basicstyle=\\ttfamily\\footnotesize]\n"
1569 "Format: <VERSIONED_FORMAT_URL>\n"
1570 "Upstream-Name: X Solitaire\n"
1571 "Source: ftp://ftp.example.com/pub/games\n"
1572 "\n"
1573 msgstr ""
1574
1575 #. type: lstlisting
1576 #: packaging-tutorial.tex:775
1577 #, no-wrap
1578 msgid ""
1579 "Files: *\n"
1580 "Copyright: Copyright 1998 John Doe <jdoe@example.com>\n"
1581 "License: GPL-2+\n"
1582 " This program is free software; you can redistribute it\n"
1583 " [...]\n"
1584 " .\n"
1585 " On Debian systems, the full text of the GNU General Public\n"
1586 " License version 2 can be found in the file\n"
1587 " `/usr/share/common-licenses/GPL-2'.\n"
1588 "\n"
1589 msgstr ""
1590
1591 #. type: lstlisting
1592 #: packaging-tutorial.tex:780
1593 #, no-wrap
1594 msgid ""
1595 "Files: debian/*\n"
1596 "Copyright: Copyright 1998 Jane Smith <jsmith@example.net>\n"
1597 "License:\n"
1598 " [LICENSE TEXT]"
1599 msgstr ""
1600
1601 #. type: frame{#2}
1602 #: packaging-tutorial.tex:811 packaging-tutorial.tex:811
1603 msgid "Modifying the upstream source"
1604 msgstr ""
1605
1606 #. type: frame
1607 #: packaging-tutorial.tex:811
1608 msgid "Often needed:"
1609 msgstr ""
1610
1611 #. type: itemize
1612 #: packaging-tutorial.tex:811
1613 msgid "Fix bugs or add customizations that are specific to Debian"
1614 msgstr ""
1615
1616 #. type: itemize
1617 #: packaging-tutorial.tex:811
1618 msgid "Backport fixes from a newer upstream release"
1619 msgstr ""
1620
1621 #. type: frame
1622 #: packaging-tutorial.tex:811
1623 msgid "Several methods to do it:"
1624 msgstr ""
1625
1626 #. type: itemize
1627 #: packaging-tutorial.tex:811
1628 msgid "Modifying the files directly"
1629 msgstr ""
1630
1631 #. type: itemize
1632 #: packaging-tutorial.tex:811
1633 msgid "Simple"
1634 msgstr ""
1635
1636 #. type: itemize
1637 #: packaging-tutorial.tex:811
1638 msgid "But no way to track and document the changes"
1639 msgstr ""
1640
1641 #. type: itemize
1642 #: packaging-tutorial.tex:811
1643 msgid "Using patch systems"
1644 msgstr ""
1645
1646 #. type: itemize
1647 #: packaging-tutorial.tex:811
1648 msgid "Eases contributing your changes to upstream"
1649 msgstr ""
1650
1651 #. type: itemize
1652 #: packaging-tutorial.tex:811
1653 msgid "Helps sharing the fixes with derivatives"
1654 msgstr ""
1655
1656 #. type: itemize
1657 #: packaging-tutorial.tex:811
1658 msgid ""
1659 "Gives more exposure to the changes\\\\ "
1660 "\\url{http://patch-tracker.debian.org/}"
1661 msgstr ""
1662
1663 #. type: frame{#2}
1664 #: packaging-tutorial.tex:836
1665 msgid "Patch systems"
1666 msgstr ""
1667
1668 #. type: itemize
1669 #: packaging-tutorial.tex:836
1670 msgid "Principle: changes are stored as patches in \\texttt{debian/patches/}"
1671 msgstr ""
1672
1673 #. type: itemize
1674 #: packaging-tutorial.tex:836
1675 msgid "Applied and unapplied during build"
1676 msgstr ""
1677
1678 #. type: itemize
1679 #: packaging-tutorial.tex:836
1680 msgid ""
1681 "Past: several implementations -- \\textsl{simple-patchsys} (\\textsl{cdbs}), "
1682 "\\textsl{dpatch}, \\textbf{\\textsl{quilt}}"
1683 msgstr ""
1684
1685 #. type: itemize
1686 #: packaging-tutorial.tex:836
1687 msgid "Each supports two \\texttt{debian/rules} targets:"
1688 msgstr ""
1689
1690 #. type: itemize
1691 #: packaging-tutorial.tex:836
1692 msgid "\\texttt{debian/rules patch}: apply all patches"
1693 msgstr ""
1694
1695 #. type: itemize
1696 #: packaging-tutorial.tex:836
1697 msgid "\\texttt{debian/rules unpatch}: de-apply all patches"
1698 msgstr ""
1699
1700 #. type: itemize
1701 #: packaging-tutorial.tex:836
1702 msgid "More documentation: \\url{http://wiki.debian.org/debian/patches}"
1703 msgstr ""
1704
1705 #. type: textbf{#1}
1706 #: packaging-tutorial.tex:836
1707 msgid "New source package format with built-in patch system: 3.0 (quilt)"
1708 msgstr ""
1709
1710 #. type: itemize
1711 #: packaging-tutorial.tex:836
1712 msgid "Recommended solution"
1713 msgstr ""
1714
1715 #. type: itemize
1716 #: packaging-tutorial.tex:836
1717 msgid ""
1718 "You need to learn \\textsl{quilt}\\\\ "
1719 "\\url{http://pkg-perl.alioth.debian.org/howto/quilt.html}"
1720 msgstr ""
1721
1722 #. type: frame{#2}
1723 #: packaging-tutorial.tex:859
1724 msgid "Documentation of patches"
1725 msgstr ""
1726
1727 #. type: itemize
1728 #: packaging-tutorial.tex:859
1729 msgid "Standard headers at the beginning of the patch"
1730 msgstr ""
1731
1732 #. type: itemize
1733 #: packaging-tutorial.tex:859
1734 msgid ""
1735 "Documented in DEP-3 - Patch Tagging Guidelines\\\\ "
1736 "\\url{http://dep.debian.net/deps/dep3/}"
1737 msgstr ""
1738
1739 #. type: itemize
1740 #: packaging-tutorial.tex:859
1741 msgid "All patches are published on \\url{http://patch-tracker.debian.org/}"
1742 msgstr ""
1743
1744 #. type: lstlisting
1745 #: packaging-tutorial.tex:859
1746 #, no-wrap
1747 msgid ""
1748 "[basicstyle=\\ttfamily\\footnotesize]\n"
1749 "Description: Fix widget frobnication speeds\n"
1750 " Frobnicating widgets too quickly tended to cause explosions.\n"
1751 "Forwarded: http://lists.example.com/2010/03/1234.html\n"
1752 "Author: John Doe <johndoe-guest@users.alioth.debian.org>\n"
1753 "Applied-Upstream: 1.2, http://bzr.foo.com/frobnicator/revision/123\n"
1754 "Last-Update: 2010-03-29\n"
1755 "\n"
1756 msgstr ""
1757
1758 #. type: lstlisting
1759 #: packaging-tutorial.tex:863
1760 #, no-wrap
1761 msgid ""
1762 "--- a/src/widgets.c\n"
1763 "+++ b/src/widgets.c\n"
1764 "@@ -101,9 +101,6 @@ struct {"
1765 msgstr ""
1766
1767 #. type: frame{#2}
1768 #: packaging-tutorial.tex:883 packaging-tutorial.tex:883
1769 msgid "Doing things during installation and removal"
1770 msgstr ""
1771
1772 #. type: itemize
1773 #: packaging-tutorial.tex:883
1774 msgid "Decompressing the package is sometimes not enough"
1775 msgstr ""
1776
1777 #. type: itemize
1778 #: packaging-tutorial.tex:883
1779 msgid ""
1780 "Create/remove system users, start/stop services, manage "
1781 "\\textsl{alternatives}"
1782 msgstr ""
1783
1784 #. type: itemize
1785 #: packaging-tutorial.tex:883
1786 msgid ""
1787 "Done in \\textsl{maintainer scripts}\\\\ \\texttt{preinst, postinst, prerm, "
1788 "postrm}"
1789 msgstr ""
1790
1791 #. type: itemize
1792 #: packaging-tutorial.tex:883
1793 msgid "Snippets for common actions can be generated by debhelper"
1794 msgstr ""
1795
1796 #. type: itemize
1797 #: packaging-tutorial.tex:883
1798 msgid "Documentation:"
1799 msgstr ""
1800
1801 #. type: itemize
1802 #: packaging-tutorial.tex:883
1803 msgid ""
1804 "Debian Policy Manual, chapter 6\\\\ {\\footnotesize "
1805 "\\url{http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html}}"
1806 msgstr ""
1807
1808 #. type: itemize
1809 #: packaging-tutorial.tex:899
1810 msgid ""
1811 "Debian Developer's Reference, chapter 6.4\\\\ {\\scriptsize "
1812 "\\url{http://www.debian.org/doc/developers-reference/best-pkging-practices.html}}"
1813 msgstr ""
1814
1815 #. type: itemize
1816 #: packaging-tutorial.tex:899
1817 msgid ""
1818 "{\\footnotesize "
1819 "\\url{http://people.debian.org/~srivasta/MaintainerScripts.html}}"
1820 msgstr ""
1821
1822 #. type: itemize
1823 #: packaging-tutorial.tex:899
1824 msgid "Prompting the user"
1825 msgstr ""
1826
1827 #. type: itemize
1828 #: packaging-tutorial.tex:899
1829 msgid "Must be done with \\textbf{debconf}"
1830 msgstr ""
1831
1832 #. type: itemize
1833 #: packaging-tutorial.tex:899
1834 msgid "Documentation: \\texttt{debconf-devel(7)} (\\texttt{debconf-doc} package)"
1835 msgstr ""
1836
1837 #. type: frame{#2}
1838 #: packaging-tutorial.tex:905
1839 msgid "Monitoring upstream versions"
1840 msgstr ""
1841
1842 #. type: itemize
1843 #: packaging-tutorial.tex:905
1844 msgid "Specify where to look in \\texttt{debian/watch} (see \\texttt{uscan(1)})"
1845 msgstr ""
1846
1847 #. type: lstlisting
1848 #: packaging-tutorial.tex:905
1849 #, no-wrap
1850 msgid ""
1851 "[basicstyle=\\ttfamily\\footnotesize]\n"
1852 "version=3\n"
1853 "\n"
1854 msgstr ""
1855
1856 #. type: lstlisting
1857 #: packaging-tutorial.tex:908
1858 #, no-wrap
1859 msgid ""
1860 "http://tmrc.mit.edu/mirror/twisted/Twisted/(\\d\\.\\d)/ \\\n"
1861 "  Twisted-([\\d\\.]*)\\.tar\\.bz2\n"
1862 "    "
1863 msgstr ""
1864
1865 #. type: itemize
1866 #: packaging-tutorial.tex:922
1867 msgid ""
1868 "Debian infrastructure that makes use of \\texttt{debian/watch}:\\\\ "
1869 "\\textbf{Debian External Health Status}\\\\ "
1870 "\\url{http://dehs.alioth.debian.org/}"
1871 msgstr ""
1872
1873 #. type: itemize
1874 #: packaging-tutorial.tex:922
1875 msgid ""
1876 "Maintainer warned by emails sent to the Package Tracking System\\\\ "
1877 "\\url{http://packages.qa.debian.org/}"
1878 msgstr ""
1879
1880 #. type: itemize
1881 #: packaging-tutorial.tex:922
1882 msgid "\\texttt{uscan}: run a manual check"
1883 msgstr ""
1884
1885 #. type: itemize
1886 #: packaging-tutorial.tex:922
1887 msgid "\\texttt{uupdate}: try to update your package to the latest upstream version"
1888 msgstr ""
1889
1890 #. type: subsection{#2}
1891 #: packaging-tutorial.tex:960
1892 msgid "Packaging with a VCS (SVN, Git \\& friends)"
1893 msgstr ""
1894
1895 #. type: frame{#2}
1896 #: packaging-tutorial.tex:960
1897 msgid "Packaging with a VCS (SVN, Git, etc.)"
1898 msgstr ""
1899
1900 #. type: itemize
1901 #: packaging-tutorial.tex:960
1902 msgid ""
1903 "Several tools to help manage branches and tags for your packaging work:\\\\ "
1904 "\\texttt{svn-buildpackage}, \\texttt{git-buildpackage}"
1905 msgstr ""
1906
1907 #. type: itemize
1908 #: packaging-tutorial.tex:960
1909 msgid "Example: \\texttt{git-buildpackage}"
1910 msgstr ""
1911
1912 #. type: itemize
1913 #: packaging-tutorial.tex:960
1914 msgid ""
1915 "\\texttt{upstream} branch to track upstream with "
1916 "\\texttt{upstream/\\textsl{version}} tags"
1917 msgstr ""
1918
1919 #. type: itemize
1920 #: packaging-tutorial.tex:960
1921 msgid "\\texttt{master} branch tracks the Debian package"
1922 msgstr ""
1923
1924 #. type: itemize
1925 #: packaging-tutorial.tex:960
1926 msgid "\\texttt{debian/\\textsl{version}} tags for each upload"
1927 msgstr ""
1928
1929 #. type: itemize
1930 #: packaging-tutorial.tex:960
1931 msgid "\\texttt{pristine-tar} branch to be able to rebuild the upstream tarball"
1932 msgstr ""
1933
1934 #. type: itemize
1935 #: packaging-tutorial.tex:960
1936 msgid "\\texttt{Vcs-*} fields in \\texttt{debian/control} to locate the repository"
1937 msgstr ""
1938
1939 #. type: itemize
1940 #: packaging-tutorial.tex:960
1941 msgid "\\url{http://wiki.debian.org/Alioth/Git}"
1942 msgstr ""
1943
1944 #. type: itemize
1945 #: packaging-tutorial.tex:960
1946 msgid "\\url{http://wiki.debian.org/Alioth/Svn}"
1947 msgstr ""
1948
1949 #. type: lstlisting
1950 #: packaging-tutorial.tex:960
1951 #, no-wrap
1952 msgid ""
1953 "[basicstyle=\\ttfamily\\footnotesize]\n"
1954 "Vcs-Browser: http://git.debian.org/?p=devscripts/devscripts.git\n"
1955 "Vcs-Git: git://git.debian.org/devscripts/devscripts.git\n"
1956 "  "
1957 msgstr ""
1958
1959 #. type: lstlisting
1960 #: packaging-tutorial.tex:960
1961 #, no-wrap
1962 msgid ""
1963 "[basicstyle=\\ttfamily\\footnotesize]\n"
1964 "Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libwww-perl/\n"
1965 "Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libwww-perl\n"
1966 "  "
1967 msgstr ""
1968
1969 #. type: itemize
1970 #: packaging-tutorial.tex:960
1971 msgid ""
1972 "VCS-agnostic interface: \\texttt{debcheckout}, \\texttt{debcommit}, "
1973 "\\texttt{debrelease}\\\\"
1974 msgstr ""
1975
1976 #. type: itemize
1977 #: packaging-tutorial.tex:960
1978 msgid ""
1979 "\\texttt{debcheckout grep} $\\rightarrow$ checks out the source package from "
1980 "Git"
1981 msgstr ""
1982
1983 #. type: section{#2}
1984 #: packaging-tutorial.tex:989
1985 msgid "Maintaining packages in Debian"
1986 msgstr ""
1987
1988 #. type: frame{#2}
1989 #: packaging-tutorial.tex:989 packaging-tutorial.tex:989
1990 msgid "Several ways to contribute to Debian"
1991 msgstr ""
1992
1993 #. type: itemize
1994 #: packaging-tutorial.tex:989
1995 msgid "\\textbf{Worst} way to contribute:"
1996 msgstr ""
1997
1998 #. type: enumerate
1999 #: packaging-tutorial.tex:989
2000 msgid "Package your own application"
2001 msgstr ""
2002
2003 #. type: enumerate
2004 #: packaging-tutorial.tex:989
2005 msgid "Get it into Debian"
2006 msgstr ""
2007
2008 #. type: enumerate
2009 #: packaging-tutorial.tex:989
2010 msgid "Disappear"
2011 msgstr ""
2012
2013 #. type: itemize
2014 #: packaging-tutorial.tex:989
2015 msgid "\\textbf{Better} ways to contribute:"
2016 msgstr ""
2017
2018 #. type: itemize
2019 #: packaging-tutorial.tex:989
2020 msgid "Get involved in packaging teams"
2021 msgstr ""
2022
2023 #. type: itemize
2024 #: packaging-tutorial.tex:989
2025 msgid "Many teams that focus on set of packages, and need help"
2026 msgstr ""
2027
2028 #. type: itemize
2029 #: packaging-tutorial.tex:989
2030 msgid "List available at \\url{http://wiki.debian.org/Teams}"
2031 msgstr ""
2032
2033 #. type: itemize
2034 #: packaging-tutorial.tex:989
2035 msgid "An excellent way to learn from more experienced contributors"
2036 msgstr ""
2037
2038 #. type: itemize
2039 #: packaging-tutorial.tex:989
2040 msgid "Adopt existing unmaintained packages (\\textsl{orphaned packages})"
2041 msgstr ""
2042
2043 #. type: itemize
2044 #: packaging-tutorial.tex:989
2045 msgid "Bring new software to Debian"
2046 msgstr ""
2047
2048 #. type: itemize
2049 #: packaging-tutorial.tex:989
2050 msgid "Only if it's interesting/useful enough, please"
2051 msgstr ""
2052
2053 #. type: itemize
2054 #: packaging-tutorial.tex:989
2055 msgid "Are there alternatives already packaged in Debian?"
2056 msgstr ""
2057
2058 #. type: frame{#2}
2059 #: packaging-tutorial.tex:1027 packaging-tutorial.tex:1027
2060 msgid "Adopting orphaned packages"
2061 msgstr ""
2062
2063 #. type: itemize
2064 #: packaging-tutorial.tex:1027
2065 msgid "Many unmaintained packages in Debian"
2066 msgstr ""
2067
2068 #. type: itemize
2069 #: packaging-tutorial.tex:1027
2070 msgid "Full list + process: \\url{http://www.debian.org/devel/wnpp/}"
2071 msgstr ""
2072
2073 #. type: itemize
2074 #: packaging-tutorial.tex:1027
2075 msgid "Installed on your machine: \\texttt{wnpp-alert}"
2076 msgstr ""
2077
2078 #. type: itemize
2079 #: packaging-tutorial.tex:1027
2080 msgid "Different states:"
2081 msgstr ""
2082
2083 #. type: itemize
2084 #: packaging-tutorial.tex:1027
2085 msgid "\\textbf{O}rphaned: the package is unmaintained\\\\ Feel free to adopt it"
2086 msgstr ""
2087
2088 #. type: itemize
2089 #: packaging-tutorial.tex:1027
2090 msgid ""
2091 "\\textbf{RFA}: \\textbf{R}equest \\textbf{F}or \\textbf{A}dopter\\\\ "
2092 "Maintainer looking for adopter, but continues work in the meantime\\\\ Feel "
2093 "free to adopt it. A mail to the current maintainer is polite"
2094 msgstr ""
2095
2096 #. type: itemize
2097 #: packaging-tutorial.tex:1027
2098 msgid ""
2099 "\\textbf{ITA}: \\textbf{I}ntent \\textbf{T}o \\textbf{A}dopt\\\\ Someone "
2100 "intends to adopt the package\\\\ You could propose your help!"
2101 msgstr ""
2102
2103 #. type: itemize
2104 #: packaging-tutorial.tex:1027
2105 msgid ""
2106 "\\textbf{RFH}: \\textbf{R}equest \\textbf{F}or \\textbf{H}elp\\\\ The "
2107 "maintainer is looking for help"
2108 msgstr ""
2109
2110 #. type: itemize
2111 #: packaging-tutorial.tex:1027
2112 msgid "Some unmaintained packages not detected \\arr not orphaned yet"
2113 msgstr ""
2114
2115 #. type: itemize
2116 #: packaging-tutorial.tex:1027
2117 msgid ""
2118 "When in doubt, ask \\texttt{debian-qa@lists.debian.org} \\\\ or "
2119 "\\texttt{\\#debian-qa} on \\texttt{irc.debian.org}"
2120 msgstr ""
2121
2122 #. type: frame{#2}
2123 #: packaging-tutorial.tex:1049 packaging-tutorial.tex:1049
2124 msgid "Getting your package in Debian"
2125 msgstr ""
2126
2127 #. type: itemize
2128 #: packaging-tutorial.tex:1049
2129 msgid "You do not need any official status to get your package into Debian"
2130 msgstr ""
2131
2132 #. type: enumerate
2133 #: packaging-tutorial.tex:1049
2134 msgid "Prepare a source package"
2135 msgstr ""
2136
2137 #. type: enumerate
2138 #: packaging-tutorial.tex:1049
2139 msgid "Find a Debian Developer that will sponsor your package"
2140 msgstr ""
2141
2142 #. type: itemize
2143 #: packaging-tutorial.tex:1049
2144 msgid "Official status (when you are already experienced):"
2145 msgstr ""
2146
2147 #. type: itemize
2148 #: packaging-tutorial.tex:1049
2149 msgid ""
2150 "\\textbf{Debian Maintainer (DM):}\\\\ Permission to upload your own "
2151 "packages\\\\ See \\url{http://wiki.debian.org/DebianMaintainer}"
2152 msgstr ""
2153
2154 #. type: itemize
2155 #: packaging-tutorial.tex:1049
2156 msgid ""
2157 "\\textbf{Debian Developer (DD):}\\\\ Debian project members; can vote and "
2158 "upload any package"
2159 msgstr ""
2160
2161 #. type: frame{#2}
2162 #: packaging-tutorial.tex:1076 packaging-tutorial.tex:1076
2163 msgid "Where to find help?"
2164 msgstr ""
2165
2166 #. type: frame
2167 #: packaging-tutorial.tex:1076
2168 msgid "Help you will need:"
2169 msgstr ""
2170
2171 #. type: itemize
2172 #: packaging-tutorial.tex:1076
2173 msgid "Advice and answers to your questions, code reviews"
2174 msgstr ""
2175
2176 #. type: itemize
2177 #: packaging-tutorial.tex:1076
2178 msgid "Sponsorship for your uploads, once your package is ready"
2179 msgstr ""
2180
2181 #. type: frame
2182 #: packaging-tutorial.tex:1076
2183 msgid "You can get help from:"
2184 msgstr ""
2185
2186 #. type: textbf{#1}
2187 #: packaging-tutorial.tex:1076
2188 msgid "Other members of a packaging team"
2189 msgstr ""
2190
2191 #. type: itemize
2192 #: packaging-tutorial.tex:1076
2193 msgid "They know the specifics of your package"
2194 msgstr ""
2195
2196 #. type: itemize
2197 #: packaging-tutorial.tex:1076
2198 msgid "You can become a member of the team"
2199 msgstr ""
2200
2201 #. type: itemize
2202 #: packaging-tutorial.tex:1076
2203 msgid "The Debian Mentors group (if your package doesn't fit in a team)"
2204 msgstr ""
2205
2206 #. type: itemize
2207 #: packaging-tutorial.tex:1076
2208 msgid "\\url{http://wiki.debian.org/DebianMentorsFaq}"
2209 msgstr ""
2210
2211 #. type: itemize
2212 #: packaging-tutorial.tex:1076
2213 msgid ""
2214 "Mailing list: \\url{debian-mentors@lists.debian.org}\\\\ {\\small (also a "
2215 "good way to learn by accident)}"
2216 msgstr ""
2217
2218 #. type: itemize
2219 #: packaging-tutorial.tex:1076
2220 msgid "IRC: \\texttt{\\#debian-mentors} on \\texttt{irc.debian.org}"
2221 msgstr ""
2222
2223 #. type: itemize
2224 #: packaging-tutorial.tex:1076
2225 msgid "\\url{http://mentors.debian.net/}"
2226 msgstr ""
2227
2228 #. type: frame{#2}
2229 #: packaging-tutorial.tex:1094 packaging-tutorial.tex:1094
2230 msgid "Official documentation"
2231 msgstr ""
2232
2233 #. type: itemize
2234 #: packaging-tutorial.tex:1094
2235 msgid ""
2236 "Debian Developers' Corner\\\\ \\url{http://www.debian.org/devel/}\\\\ "
2237 "{\\small Links to many resources about Debian development}"
2238 msgstr ""
2239
2240 #. type: itemize
2241 #: packaging-tutorial.tex:1094
2242 msgid ""
2243 "Debian New Maintainers' Guide\\\\ "
2244 "\\url{http://www.debian.org/doc/maint-guide/}\\\\ {\\small An introduction "
2245 "to Debian packaging, but could use an update}"
2246 msgstr ""
2247
2248 #. type: itemize
2249 #: packaging-tutorial.tex:1094
2250 msgid ""
2251 "Debian Developer's Reference\\\\ "
2252 "\\url{http://www.debian.org/doc/developers-reference/}\\\\ {\\small Mostly "
2253 "about Debian procedures, but also some best packaging practices (part 6)}"
2254 msgstr ""
2255
2256 #. type: itemize
2257 #: packaging-tutorial.tex:1094
2258 msgid "Debian Policy\\\\ \\url{http://www.debian.org/doc/debian-policy/}\\\\"
2259 msgstr ""
2260
2261 #. type: itemize
2262 #: packaging-tutorial.tex:1100
2263 msgid ""
2264 "{\\small \\begin{itemize} \\item \\small All the requirements that every "
2265 "package must satisfy \\item \\small Specific policies for Perl, Java, "
2266 "Python, \\ldots \\end{itemize}}"
2267 msgstr ""
2268
2269 #. type: itemize
2270 #: packaging-tutorial.tex:1105
2271 msgid "Ubuntu Packaging Guide\\\\ \\url{https://wiki.ubuntu.com/PackagingGuide}"
2272 msgstr ""
2273
2274 #. type: frame{#2}
2275 #: packaging-tutorial.tex:1115
2276 msgid "Debian dashboards for maintainers"
2277 msgstr ""
2278
2279 #. type: itemize
2280 #: packaging-tutorial.tex:1115
2281 msgid ""
2282 "\\textbf{Source package centric}: Package Tracking System (PTS)\\\\ "
2283 "\\url{http://packages.qa.debian.org/dpkg}"
2284 msgstr ""
2285
2286 #. type: itemize
2287 #: packaging-tutorial.tex:1115
2288 msgid ""
2289 "\\textbf{Maintainer/team centric}: Developer's Packages Overview (DDPO)\\\\ "
2290 "\\url{http://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}"
2291 msgstr ""
2292
2293 #. type: frame{#2}
2294 #: packaging-tutorial.tex:1142 packaging-tutorial.tex:1142
2295 msgid "More interested in Ubuntu?"
2296 msgstr ""
2297
2298 #. type: itemize
2299 #: packaging-tutorial.tex:1142
2300 msgid "Ubuntu mainly manages the divergence with Debian"
2301 msgstr ""
2302
2303 #. type: itemize
2304 #: packaging-tutorial.tex:1142
2305 msgid ""
2306 "No real focus on specific packages\\\\ Instead, collaboration with Debian "
2307 "teams"
2308 msgstr ""
2309
2310 #. type: itemize
2311 #: packaging-tutorial.tex:1142
2312 msgid ""
2313 "Usually recommend uploading new packages to Debian first\\\\ "
2314 "\\url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}"
2315 msgstr ""
2316
2317 #. type: itemize
2318 #: packaging-tutorial.tex:1142
2319 msgid "Possibly a better plan:"
2320 msgstr ""
2321
2322 #. type: itemize
2323 #: packaging-tutorial.tex:1142
2324 msgid "Get involved in a Debian team and act as a bridge with Ubuntu"
2325 msgstr ""
2326
2327 #. type: itemize
2328 #: packaging-tutorial.tex:1142
2329 msgid "Help reduce divergence, triage bugs in Launchpad"
2330 msgstr ""
2331
2332 #. type: itemize
2333 #: packaging-tutorial.tex:1142
2334 msgid "Many Debian tools can help:"
2335 msgstr ""
2336
2337 #. type: itemize
2338 #: packaging-tutorial.tex:1142
2339 msgid "Ubuntu column on the Developer's packages overview"
2340 msgstr ""
2341
2342 #. type: itemize
2343 #: packaging-tutorial.tex:1142
2344 msgid "Ubuntu box on the Package Tracking System"
2345 msgstr ""
2346
2347 #. type: itemize
2348 #: packaging-tutorial.tex:1142
2349 msgid "Receive launchpad bugmail via the PTS"
2350 msgstr ""
2351
2352 #. type: frame{#2}
2353 #: packaging-tutorial.tex:1173 packaging-tutorial.tex:1173 packaging-tutorial.tex:1173
2354 msgid "Conclusion"
2355 msgstr ""
2356
2357 #. type: itemize
2358 #: packaging-tutorial.tex:1173
2359 msgid "You now have a full overview of Debian packaging"
2360 msgstr ""
2361
2362 #. type: itemize
2363 #: packaging-tutorial.tex:1173
2364 msgid "But you will need to read more documentation"
2365 msgstr ""
2366
2367 #. type: itemize
2368 #: packaging-tutorial.tex:1173
2369 msgid "Best practices have evolved over the years"
2370 msgstr ""
2371
2372 #. type: itemize
2373 #: packaging-tutorial.tex:1173
2374 msgid ""
2375 "If not sure, use the \\textbf{dh} packaging helper, and the \\textbf{3.0 "
2376 "(quilt)} format"
2377 msgstr ""
2378
2379 #. type: itemize
2380 #: packaging-tutorial.tex:1173
2381 msgid "Things that were not covered in this tutorial:"
2382 msgstr ""
2383
2384 #. type: itemize
2385 #: packaging-tutorial.tex:1173
2386 msgid "UCF -- manage user changes to configuration files when upgrading"
2387 msgstr ""
2388
2389 #. type: itemize
2390 #: packaging-tutorial.tex:1173
2391 msgid "dpkg triggers -- group similar maintainer scripts actions together"
2392 msgstr ""
2393
2394 #. type: itemize
2395 #: packaging-tutorial.tex:1173
2396 msgid "Debian development organization:"
2397 msgstr ""
2398
2399 #. type: itemize
2400 #: packaging-tutorial.tex:1173
2401 msgid "Bug Tracking System (BTS)"
2402 msgstr ""
2403
2404 #. type: itemize
2405 #: packaging-tutorial.tex:1173
2406 msgid ""
2407 "Suites: stable, testing, unstable, experimental, security, *-updates, "
2408 "backports, \\ldots"
2409 msgstr ""
2410
2411 #. type: itemize
2412 #: packaging-tutorial.tex:1173
2413 msgid "Debian Blends -- subsets of Debian targeting specific groups"
2414 msgstr ""
2415
2416 #. type: centerline{#1}
2417 #: packaging-tutorial.tex:1173
2418 msgid "\\large Feedback: \\textbf{lucas@debian.org}"
2419 msgstr ""
2420
2421 #. type: frame{#2}
2422 #: packaging-tutorial.tex:1176 packaging-tutorial.tex:1176
2423 msgid "Legal stuff"
2424 msgstr ""
2425
2426 #. type: frame
2427 #: packaging-tutorial.tex:1179
2428 msgid "Copyright \\copyright 2011 Lucas Nussbaum -- lucas@debian.org"
2429 msgstr ""
2430
2431 #. type: frame
2432 #: packaging-tutorial.tex:1195
2433 msgid ""
2434 "{\\small \\textbf{This document is free software}: you can redistribute it "
2435 "and/or modify it under either (at your option): \\hbr \\begin{itemize} "
2436 "\\item The terms of the GNU General Public License as published by the Free "
2437 "Software Foundation, either version 3 of the License, or (at your option) "
2438 "any later version.\\\\ \\url{http://www.gnu.org/licenses/gpl.html} \\br "
2439 "\\item The terms of the Creative Commons Attribution-ShareAlike 3.0 Unported "
2440 "License.\\\\ \\url{http://creativecommons.org/licenses/by-sa/3.0/} "
2441 "\\end{itemize} }"
2442 msgstr ""
2443
2444 #. type: frame{#2}
2445 #: packaging-tutorial.tex:1202 packaging-tutorial.tex:1202
2446 msgid "Latest version \\& source code"
2447 msgstr ""
2448
2449 #. type: itemize
2450 #: packaging-tutorial.tex:1202
2451 msgid ""
2452 "Latest version:\\\\ {\\footnotesize "
2453 "\\url{http://git.debian.org/?p=collab-maint/packaging-tutorial.git;a=blob\\_plain;f=packaging-tutorial.pdf;hb=refs/heads/pdf}}"
2454 msgstr ""
2455
2456 #. type: itemize
2457 #: packaging-tutorial.tex:1216
2458 msgid "Contribute:"
2459 msgstr ""
2460
2461 #. type: itemize
2462 #: packaging-tutorial.tex:1216
2463 msgid ""
2464 "{\\small \\texttt{git clone\\\\ "
2465 "git://git.debian.org/collab-maint/packaging-tutorial.git}}"
2466 msgstr ""
2467
2468 #. type: itemize
2469 #: packaging-tutorial.tex:1216
2470 msgid "{\\small \\texttt{apt-get source packaging-tutorial}}"
2471 msgstr ""
2472
2473 #. type: itemize
2474 #: packaging-tutorial.tex:1216
2475 msgid ""
2476 "{\\small "
2477 "\\url{http://git.debian.org/?p=collab-maint/packaging-tutorial.git}}"
2478 msgstr ""
2479
2480 #. type: itemize
2481 #: packaging-tutorial.tex:1216
2482 msgid ""
2483 "Feedback: "
2484 "\\href{mailto:lucas@debian.org}{\\textbf{\\texttt{lucas@debian.org}}}"
2485 msgstr ""
2486
2487 #. type: frame{#2}
2488 #: packaging-tutorial.tex:1234 packaging-tutorial.tex:1234 packaging-tutorial.tex:1440 packaging-tutorial.tex:1440
2489 msgid "Practical session 2: packaging GNUjump"
2490 msgstr ""
2491
2492 #. type: enumerate
2493 #: packaging-tutorial.tex:1234 packaging-tutorial.tex:1440
2494 msgid ""
2495 "Download GNUjump 1.0.6 from "
2496 "\\url{http://ftp.gnu.org/gnu/gnujump/1.0.6/gnujump-1.0.6.tar.gz}"
2497 msgstr ""
2498
2499 #. type: enumerate
2500 #: packaging-tutorial.tex:1234 packaging-tutorial.tex:1440
2501 msgid "Create a Debian package for it"
2502 msgstr ""
2503
2504 #. type: itemize
2505 #: packaging-tutorial.tex:1234 packaging-tutorial.tex:1440
2506 msgid "Install build-dependencies so that you can build the package"
2507 msgstr ""
2508
2509 #. type: itemize
2510 #: packaging-tutorial.tex:1234 packaging-tutorial.tex:1440
2511 msgid "Get a basic working package"
2512 msgstr ""
2513
2514 #. type: itemize
2515 #: packaging-tutorial.tex:1234 packaging-tutorial.tex:1440
2516 msgid "Finish filling \\texttt{debian/control} and other files"
2517 msgstr ""
2518
2519 #. type: enumerate
2520 #: packaging-tutorial.tex:1234 packaging-tutorial.tex:1440
2521 msgid "Enjoy"
2522 msgstr ""
2523
2524 #. type: frame{#2}
2525 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1259 packaging-tutorial.tex:1544 packaging-tutorial.tex:1544
2526 msgid "Practical session 3: packaging a Java library"
2527 msgstr ""
2528
2529 #. type: enumerate
2530 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2531 msgid "Take a quick look at some documentation about Java packaging:\\\\"
2532 msgstr ""
2533
2534 #. type: itemize
2535 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2536 msgid "\\url{http://wiki.debian.org/Java}"
2537 msgstr ""
2538
2539 #. type: itemize
2540 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2541 msgid "\\url{http://wiki.debian.org/Java/Packaging}"
2542 msgstr ""
2543
2544 #. type: itemize
2545 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2546 msgid "\\url{http://www.debian.org/doc/packaging-manuals/java-policy/}"
2547 msgstr ""
2548
2549 #. type: itemize
2550 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2551 msgid "\\url{http://pkg-java.alioth.debian.org/docs/tutorial.html}"
2552 msgstr ""
2553
2554 #. type: itemize
2555 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2556 msgid ""
2557 "Paper and slides from a Debconf10 talk about javahelper:\\\\ {\\footnotesize "
2558 "\\url{http://pkg-java.alioth.debian.org/docs/debconf10-javahelper-paper.pdf}\\\\ "
2559 "\\url{http://pkg-java.alioth.debian.org/docs/debconf10-javahelper-slides.pdf}}"
2560 msgstr ""
2561
2562 #. type: enumerate
2563 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2564 msgid "Download IRClib from \\url{http://moepii.sourceforge.net/}"
2565 msgstr ""
2566
2567 #. type: enumerate
2568 #: packaging-tutorial.tex:1259 packaging-tutorial.tex:1544
2569 msgid "Package it"
2570 msgstr ""
2571
2572 #. type: section{#2}
2573 #: packaging-tutorial.tex:1261
2574 msgid "Answers to practical sessions"
2575 msgstr ""
2576
2577 #. type: center
2578 #: packaging-tutorial.tex:1267
2579 msgid "\\LARGE Answers to"
2580 msgstr ""
2581
2582 #. type: center
2583 #: packaging-tutorial.tex:1267
2584 msgid "[0.5em] practical sessions"
2585 msgstr ""
2586
2587 #. type: frame{#2}
2588 #: packaging-tutorial.tex:1296
2589 msgid "Practical session: modifying the grep package"
2590 msgstr ""
2591
2592 #. type: frame{#2}
2593 #: packaging-tutorial.tex:1323
2594 msgid "Fetching the source"
2595 msgstr ""
2596
2597 #. type: itemize
2598 #: packaging-tutorial.tex:1323
2599 msgid ""
2600 "Use dget to download the \\texttt{.dsc} file:\\\\ {\\small \\texttt{dget "
2601 "http://cdn.debian.net/debian/pool/main/g/grep/grep\\_2.6.3-3.dsc}}"
2602 msgstr ""
2603
2604 #. type: itemize
2605 #: packaging-tutorial.tex:1323
2606 msgid ""
2607 "According to \\texttt{http://packages.qa.debian.org/grep}, \\texttt{grep} "
2608 "version 2.6.3-3 is currently in \\textsl{stable} (\\textsl{squeeze}). If you "
2609 "have \\texttt{deb-src} lines for \\textsl{squeeze} in your "
2610 "\\texttt{/etc/apt/sources.list}, you can use:\\\\ \\texttt{apt-get source "
2611 "grep=2.6.3-3}\\\\ or \\texttt{apt-get source grep/stable}\\\\ or, if you "
2612 "feel lucky: \\texttt{apt-get source grep}"
2613 msgstr ""
2614
2615 #. type: itemize
2616 #: packaging-tutorial.tex:1323
2617 msgid "The \\texttt{grep} source package is composed of three files:"
2618 msgstr ""
2619
2620 #. type: itemize
2621 #: packaging-tutorial.tex:1323
2622 msgid "\\texttt{grep\\_2.6.3-3.dsc}"
2623 msgstr ""
2624
2625 #. type: itemize
2626 #: packaging-tutorial.tex:1323
2627 msgid "\\texttt{grep\\_2.6.3-3.debian.tar.bz2}"
2628 msgstr ""
2629
2630 #. type: itemize
2631 #: packaging-tutorial.tex:1323
2632 msgid "\\texttt{grep\\_2.6.3.orig.tar.bz2}"
2633 msgstr ""
2634
2635 #. type: itemize
2636 #: packaging-tutorial.tex:1323
2637 msgid "This is typical of the \"3.0 (quilt)\" format."
2638 msgstr ""
2639
2640 #. type: itemize
2641 #: packaging-tutorial.tex:1323
2642 msgid ""
2643 "If needed, uncompress the source with\\\\ \\texttt{dpkg-source -x "
2644 "grep\\_2.6.3-3.dsc}"
2645 msgstr ""
2646
2647 #. type: frame{#2}
2648 #: packaging-tutorial.tex:1342
2649 msgid "Looking around and building the package"
2650 msgstr ""
2651
2652 #. type: itemize
2653 #: packaging-tutorial.tex:1342
2654 msgid ""
2655 "According to \\texttt{debian/control}, this package only generates one "
2656 "binary package, named \\texttt{grep}."
2657 msgstr ""
2658
2659 #. type: itemize
2660 #: packaging-tutorial.tex:1342
2661 msgid ""
2662 "According to \\texttt{debian/rules}, this package is typical of "
2663 "\\textsl{classic} debhelper packaging, without using \\textsl{CDBS} or "
2664 "\\textsl{dh}. One can see the various calls to \\texttt{dh\\_*} commands in "
2665 "\\texttt{debian/rules}."
2666 msgstr ""
2667
2668 #. type: itemize
2669 #: packaging-tutorial.tex:1351
2670 msgid "Use \\texttt{apt-get build-dep grep} to fetch the build-dependencies"
2671 msgstr ""
2672
2673 #. type: itemize
2674 #: packaging-tutorial.tex:1351
2675 msgid ""
2676 "Then \\texttt{debuild} or \\texttt{dpkg-buildpackage -us -uc} (Takes about 1 "
2677 "min)"
2678 msgstr ""
2679
2680 #. type: frame{#2}
2681 #: packaging-tutorial.tex:1355
2682 msgid "Editing the changelog"
2683 msgstr ""
2684
2685 #. type: itemize
2686 #: packaging-tutorial.tex:1372
2687 msgid ""
2688 "\\texttt{debian/changelog} is a text file. You could edit it and add a new "
2689 "entry manually."
2690 msgstr ""
2691
2692 #. type: itemize
2693 #: packaging-tutorial.tex:1372
2694 msgid "Or you can use \\texttt{dch -i}, which will add an entry and open the editor"
2695 msgstr ""
2696
2697 #. type: itemize
2698 #: packaging-tutorial.tex:1372
2699 msgid ""
2700 "The name and email can be defined using the \\texttt{DEBFULLNAME} and "
2701 "\\texttt{DEBEMAIL} environment variables"
2702 msgstr ""
2703
2704 #. type: itemize
2705 #: packaging-tutorial.tex:1372
2706 msgid "After that, rebuild the package: a new version of the package is built"
2707 msgstr ""
2708
2709 #. type: itemize
2710 #: packaging-tutorial.tex:1372
2711 msgid ""
2712 "Package versioning is detailed in section 5.6.12 of the Debian policy\\\\ "
2713 "\\url{http://www.debian.org/doc/debian-policy/ch-controlfields.html}"
2714 msgstr ""
2715
2716 #. type: frame{#2}
2717 #: packaging-tutorial.tex:1376
2718 msgid "Disabling Perl regexp support and rebuilding"
2719 msgstr ""
2720
2721 #. type: itemize
2722 #: packaging-tutorial.tex:1392
2723 msgid ""
2724 "Check with \\texttt{./configure -{}-help}: the option to disable Perl regexp "
2725 "is \\texttt{-{}-disable-perl-regexp}"
2726 msgstr ""
2727
2728 #. type: itemize
2729 #: packaging-tutorial.tex:1392
2730 msgid "Edit \\texttt{debian/rules} and find the \\texttt{./configure} line"
2731 msgstr ""
2732
2733 #. type: itemize
2734 #: packaging-tutorial.tex:1392
2735 msgid "Add \\texttt{-{}-disable-perl-regexp}"
2736 msgstr ""
2737
2738 #. type: itemize
2739 #: packaging-tutorial.tex:1392
2740 msgid "Rebuild with \\texttt{debuild} or \\texttt{dpkg-buildpackage -us -uc}"
2741 msgstr ""
2742
2743 #. type: frame{#2}
2744 #: packaging-tutorial.tex:1396
2745 msgid "Comparing and testing the packages"
2746 msgstr ""
2747
2748 #. type: itemize
2749 #: packaging-tutorial.tex:1422
2750 msgid "Compare the binary packages: \\texttt{debdiff ../*changes}"
2751 msgstr ""
2752
2753 #. type: itemize
2754 #: packaging-tutorial.tex:1422
2755 msgid "Compare the source packages: \\texttt{debdiff ../*dsc}"
2756 msgstr ""
2757
2758 #. type: itemize
2759 #: packaging-tutorial.tex:1422
2760 msgid ""
2761 "Install the newly built package: \\texttt{debi}\\\\ Or \\texttt{dpkg -i "
2762 "../grep\\_<TAB>}"
2763 msgstr ""
2764
2765 #. type: itemize
2766 #: packaging-tutorial.tex:1422
2767 msgid "\\texttt{grep -P foo} no longer works!"
2768 msgstr ""
2769
2770 #. type: frame
2771 #: packaging-tutorial.tex:1422
2772 msgid "Or not: reinstall the previous version of the package:"
2773 msgstr ""
2774
2775 #. type: itemize
2776 #: packaging-tutorial.tex:1422
2777 msgid ""
2778 "\\texttt{apt-get install -{}-reinstall grep=2.6.3-3} \\textit{(= previous "
2779 "version)}"
2780 msgstr ""
2781
2782 #. type: frame{#2}
2783 #: packaging-tutorial.tex:1469 packaging-tutorial.tex:1565
2784 msgid "Step by step\\ldots"
2785 msgstr ""
2786
2787 #. type: itemize
2788 #: packaging-tutorial.tex:1469
2789 msgid "\\texttt{wget http://ftp.gnu.org/gnu/gnujump/1.0.6/gnujump-1.0.6.tar.gz}"
2790 msgstr ""
2791
2792 #. type: itemize
2793 #: packaging-tutorial.tex:1469
2794 msgid "\\texttt{mv gnujump-1.0.6.tar.gz gnujump\\_1.0.6.orig.tar.gz}"
2795 msgstr ""
2796
2797 #. type: itemize
2798 #: packaging-tutorial.tex:1469
2799 msgid "\\texttt{tar xf gnujump\\_1.0.6.orig.tar.gz}"
2800 msgstr ""
2801
2802 #. type: itemize
2803 #: packaging-tutorial.tex:1469
2804 msgid "\\texttt{cd gnujump-1.0.6/}"
2805 msgstr ""
2806
2807 #. type: itemize
2808 #: packaging-tutorial.tex:1469
2809 msgid "\\texttt{dh\\_make}"
2810 msgstr ""
2811
2812 #. type: itemize
2813 #: packaging-tutorial.tex:1469
2814 msgid "Type of package: single binary (for now)"
2815 msgstr ""
2816
2817 #. type: lstlisting
2818 #: packaging-tutorial.tex:1469
2819 #, no-wrap
2820 msgid ""
2821 "[basicstyle=\\ttfamily\\small]\n"
2822 "gnujump-1.0.6$ ls debian/\n"
2823 "changelog           gnujump.default.ex   preinst.ex\n"
2824 "compat              gnujump.doc-base.EX  prerm.ex\n"
2825 "control             init.d.ex            README.Debian\n"
2826 "copyright           manpage.1.ex         README.source\n"
2827 "docs                manpage.sgml.ex      rules\n"
2828 "emacsen-install.ex  manpage.xml.ex       source\n"
2829 "emacsen-remove.ex   menu.ex              watch.ex\n"
2830 "emacsen-startup.ex  postinst.ex\n"
2831 "gnujump.cron.d.ex   postrm.ex"
2832 msgstr ""
2833
2834 #. type: frame{#2}
2835 #: packaging-tutorial.tex:1496
2836 msgid "Step by step \\ldots (2)"
2837 msgstr ""
2838
2839 #. type: itemize
2840 #: packaging-tutorial.tex:1496
2841 msgid ""
2842 "Look at \\texttt{debian/changelog}, \\texttt{debian/rules}, "
2843 "\\texttt{debian/control}\\\\ (auto-filled by \\textbf{dh\\_make})"
2844 msgstr ""
2845
2846 #. type: itemize
2847 #: packaging-tutorial.tex:1496
2848 msgid ""
2849 "In \\texttt{debian/control}:\\\\ \\texttt{Build-Depends: debhelper (>= "
2850 "7.0.50~), autotools-dev}\\\\ Lists the \\textsl{build-dependencies} = "
2851 "packages needed to build the package"
2852 msgstr ""
2853
2854 #. type: itemize
2855 #: packaging-tutorial.tex:1496
2856 msgid "Try to build the package as-is (thanks to \\textbf{dh} magic)"
2857 msgstr ""
2858
2859 #. type: itemize
2860 #: packaging-tutorial.tex:1496
2861 msgid "And add build-dependencies, until it builds"
2862 msgstr ""
2863
2864 #. type: itemize
2865 #: packaging-tutorial.tex:1496
2866 msgid ""
2867 "Hint: use \\texttt{apt-cache search} and \\texttt{apt-file} to find the "
2868 "packages"
2869 msgstr ""
2870
2871 #. type: itemize
2872 #: packaging-tutorial.tex:1496
2873 msgid "Example:"
2874 msgstr ""
2875
2876 #. type: lstlisting
2877 #: packaging-tutorial.tex:1496
2878 #, no-wrap
2879 msgid ""
2880 "[basicstyle=\\ttfamily\\footnotesize]\n"
2881 "checking for sdl-config... no\n"
2882 "checking for SDL - version >= 1.2.0... no\n"
2883 "[...]\n"
2884 "configure: error: *** SDL version 1.2.0 not found!"
2885 msgstr ""
2886
2887 #. type: itemize
2888 #: packaging-tutorial.tex:1496
2889 msgid "$\\rightarrow$ Add \\textbf{libsdl1.2-dev} to Build-Depends and install it."
2890 msgstr ""
2891
2892 #. type: itemize
2893 #: packaging-tutorial.tex:1496
2894 msgid "Better: use \\textbf{pbuilder} to build in a clean environment"
2895 msgstr ""
2896
2897 #. type: frame{#2}
2898 #: packaging-tutorial.tex:1519
2899 msgid "Step by step \\ldots (3)"
2900 msgstr ""
2901
2902 #. type: itemize
2903 #: packaging-tutorial.tex:1519
2904 msgid ""
2905 "After installing \\texttt{libsdl1.2-dev, libsdl-image1.2-dev, "
2906 "libsdl-mixer1.2-dev}, the package builds fine."
2907 msgstr ""
2908
2909 #. type: itemize
2910 #: packaging-tutorial.tex:1519
2911 msgid "Use \\texttt{debc} to list the content of the generated package."
2912 msgstr ""
2913
2914 #. type: itemize
2915 #: packaging-tutorial.tex:1519
2916 msgid "Use \\texttt{debi} to install it and test it."
2917 msgstr ""
2918
2919 #. type: itemize
2920 #: packaging-tutorial.tex:1519
2921 msgid ""
2922 "Fill in \\texttt{debian/control} using "
2923 "\\url{http://www.debian.org/doc/debian-policy/ch-controlfields.html}"
2924 msgstr ""
2925
2926 #. type: itemize
2927 #: packaging-tutorial.tex:1519
2928 msgid "Test the package with \\texttt{lintian}"
2929 msgstr ""
2930
2931 #. type: itemize
2932 #: packaging-tutorial.tex:1519
2933 msgid "Remove the files that you don't need in \\texttt{debian/}"
2934 msgstr ""
2935
2936 #. type: itemize
2937 #: packaging-tutorial.tex:1519
2938 msgid "Compare your package with the one already packaged in Debian:"
2939 msgstr ""
2940
2941 #. type: itemize
2942 #: packaging-tutorial.tex:1519
2943 msgid ""
2944 "It splits the data files to a second package, that is the same across all "
2945 "architectures ($\\rightarrow$ saves space in the Debian archive)"
2946 msgstr ""
2947
2948 #. type: itemize
2949 #: packaging-tutorial.tex:1519
2950 msgid ""
2951 "It installs a .desktop file (for the GNOME/KDE menus) and also integrates "
2952 "into the Debian menu"
2953 msgstr ""
2954
2955 #. type: itemize
2956 #: packaging-tutorial.tex:1519
2957 msgid "It fixes a few minor problems using patches"
2958 msgstr ""
2959
2960 #. type: itemize
2961 #: packaging-tutorial.tex:1565
2962 msgid "\\texttt{apt-get install javahelper}"
2963 msgstr ""
2964
2965 #. type: itemize
2966 #: packaging-tutorial.tex:1565
2967 msgid "Create a basic source package: \\texttt{jh\\_makepkg}"
2968 msgstr ""
2969
2970 #. type: itemize
2971 #: packaging-tutorial.tex:1565
2972 msgid "Library"
2973 msgstr ""
2974
2975 #. type: itemize
2976 #: packaging-tutorial.tex:1565
2977 msgid "None"
2978 msgstr ""
2979
2980 #. type: itemize
2981 #: packaging-tutorial.tex:1565
2982 msgid "Default Free compiler/runtime"
2983 msgstr ""
2984
2985 #. type: itemize
2986 #: packaging-tutorial.tex:1565
2987 msgid "Look at and fix \\texttt{debian/*}"
2988 msgstr ""
2989
2990 #. type: itemize
2991 #: packaging-tutorial.tex:1565
2992 msgid "\\texttt{dpkg-buildpackage -us -uc} or \\texttt{debuild}"
2993 msgstr ""
2994
2995 #. type: itemize
2996 #: packaging-tutorial.tex:1565
2997 msgid "\\texttt{lintian}, \\texttt{debc}, etc."
2998 msgstr ""
2999
3000 #. type: itemize
3001 #: packaging-tutorial.tex:1565
3002 msgid "Compare your result with the \\texttt{libirclib-java} source package"
3003 msgstr ""