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