1
# SOME DESCRIPTIVE TITLE
2
# Copyright (C) YEAR Free Software Foundation, Inc.
3
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8
"Project-Id-Version: PACKAGE VERSION\n"
9
"POT-Creation-Date: 2007-07-01 21:01+0000\n"
10
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12
"Language-Team: LANGUAGE <LL@li.org>\n"
14
"Content-Type: text/plain; charset=utf-8\n"
15
"Content-Transfer-Encoding: ENCODING"
17
# type: Content of: <appendix><title>
19
msgid "Overview of Debian Maintainer Tools"
22
# type: Content of: <appendix><para>
25
"This section contains a rough overview of the tools available to "
26
"maintainers. The following is by no means complete or definitive, but just "
27
"a guide to some of the more popular tools."
30
# type: Content of: <appendix><para>
33
"Debian maintainer tools are meant to aid developers and free their time for "
34
"critical tasks. As Larry Wall says, there's more than one way to do it."
37
# type: Content of: <appendix><para>
40
"Some people prefer to use high-level package maintenance tools and some do "
41
"not. Debian is officially agnostic on this issue; any tool which gets the "
42
"job done is fine. Therefore, this section is not meant to stipulate to "
43
"anyone which tools they should use or how they should go about their duties "
44
"of maintainership. Nor is it meant to endorse any particular tool to the "
45
"exclusion of a competing tool."
48
# type: Content of: <appendix><para>
51
"Most of the descriptions of these packages come from the actual package "
52
"descriptions themselves. Further information can be found in the package "
53
"documentation itself. You can also see more info with the command "
54
"<command>apt-cache show <package-name></command>."
57
# type: Content of: <appendix><section><title>
62
# type: Content of: <appendix><section><para>
64
msgid "The following tools are pretty much required for any maintainer."
67
# type: Content of: <appendix><section><section><para>
70
"<systemitem role=\"package\">dpkg-dev</systemitem> contains the tools "
71
"(including <command>dpkg-source</command>) required to unpack, build, and "
72
"upload Debian source packages. These utilities contain the fundamental, "
73
"low-level functionality required to create and manipulate packages; as such, "
74
"they are essential for any Debian maintainer."
77
# type: Content of: <appendix><section><section><para>
80
"<systemitem role=\"package\">debconf</systemitem> provides a consistent "
81
"interface to configuring packages interactively. It is user interface "
82
"independent, allowing end-users to configure packages with a text-only "
83
"interface, an HTML interface, or a dialog interface. New interfaces can be "
87
# type: Content of: <appendix><section><section><para>
90
"You can find documentation for this package in the <systemitem "
91
"role=\"package\">debconf-doc</systemitem> package."
94
# type: Content of: <appendix><section><section><para>
97
"Many feel that this system should be used for all packages which require "
98
"interactive configuration; see <xref linkend=\"bpp-config-mgmt\"/> . "
99
"<systemitem role=\"package\">debconf</systemitem> is not currently required "
100
"by Debian Policy, but that may change in the future."
103
# type: Content of: <appendix><section><section><para>
106
"<systemitem role=\"package\">fakeroot</systemitem> simulates root "
107
"privileges. This enables you to build packages without being root (packages "
108
"usually want to install files with root ownership). If you have <systemitem "
109
"role=\"package\">fakeroot</systemitem> installed, you can build packages as "
110
"a regular user: <literal>dpkg-buildpackage -rfakeroot</literal>."
113
# type: Content of: <appendix><section><title>
115
msgid "Package lint tools"
118
# type: Content of: <appendix><section><para>
121
"According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is a "
122
"Unix C language processor which carries out more thorough checks on the code "
123
"than is usual with C compilers. Package lint tools help package maintainers "
124
"by automatically finding common problems and policy violations in their "
128
# type: Content of: <appendix><section><section><para>
131
"<systemitem role=\"package\">lintian</systemitem> dissects Debian packages "
132
"and emits information about bugs and policy violations. It contains "
133
"automated checks for many aspects of Debian policy as well as some checks "
137
# type: Content of: <appendix><section><section><para>
140
"You should periodically get the newest <systemitem "
141
"role=\"package\">lintian</systemitem> from `unstable' and check over all "
142
"your packages. Notice that the <literal>-i</literal> option provides "
143
"detailed explanations of what each error or warning means, what its basis in "
144
"Policy is, and commonly how you can fix the problem."
147
# type: Content of: <appendix><section><section><para>
150
"Refer to <xref linkend=\"sanitycheck\"/> for more information on how and "
151
"when to use Lintian."
154
# type: Content of: <appendix><section><section><para>
157
"You can also see a summary of all problems reported by Lintian on your "
158
"packages at <ulink url=\"&url-lintian;\"></ulink>. These reports contain "
159
"the latest <command>lintian</command> output for the whole development "
160
"distribution (unstable)."
163
# type: Content of: <appendix><section><section><para>
166
"<systemitem role=\"package\">linda</systemitem> is another package linter. "
167
"It is similar to <systemitem role=\"package\">lintian</systemitem> but has a "
168
"different set of checks. Its written in Python rather than Perl."
171
# type: Content of: <appendix><section><section><para>
174
"<command>debdiff</command> (from the <systemitem "
175
"role=\"package\">devscripts</systemitem> package, <xref "
176
"linkend=\"devscripts\"/> ) compares file lists and control files of two "
177
"packages. It is a simple regression test, as it will help you notice if the "
178
"number of binary packages has changed since the last upload, or if something "
179
"has changed in the control file. Of course, some of the changes it reports "
180
"will be all right, but it can help you prevent various accidents."
183
# type: Content of: <appendix><section><section><para>
185
msgid "You can run it over a pair of binary packages:"
188
# type: Content of: <appendix><section><section><screen>
191
msgid "debdiff package_1-1_arch.deb package_2-1_arch.deb"
194
# type: Content of: <appendix><section><section><para>
196
msgid "Or even a pair of changes files:"
199
# type: Content of: <appendix><section><section><screen>
202
msgid "debdiff package_1-1_arch.changes package_2-1_arch.changes"
205
# type: Content of: <appendix><section><section><para>
208
"For more information please see <citerefentry> "
209
"<refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> "
213
# type: Content of: <appendix><section><title>
215
msgid "Helpers for <filename>debian/rules</filename>"
218
# type: Content of: <appendix><section><para>
221
"Package building tools make the process of writing "
222
"<filename>debian/rules</filename> files easier. See <xref "
223
"linkend=\"helper-scripts\"/> for more information about why these might or "
224
"might not be desired."
227
# type: Content of: <appendix><section><section><para>
230
"<systemitem role=\"package\">debhelper</systemitem> is a collection of "
231
"programs which can be used in <filename>debian/rules</filename> to automate "
232
"common tasks related to building binary Debian packages. <systemitem "
233
"role=\"package\">debhelper</systemitem> includes programs to install various "
234
"files into your package, compress files, fix file permissions, and integrate "
235
"your package with the Debian menu system."
238
# type: Content of: <appendix><section><section><para>
241
"Unlike some approaches, <systemitem role=\"package\">debhelper</systemitem> "
242
"is broken into several small, simple commands which act in a consistent "
243
"manner. As such, it allows more fine-grained control than some of the other "
244
"debian/rules tools."
247
# type: Content of: <appendix><section><section><para>
250
"There are a number of little <systemitem "
251
"role=\"package\">debhelper</systemitem> add-on packages, too transient to "
252
"document. You can see the list of most of them by doing <literal>apt-cache "
253
"search ^dh-</literal>."
256
# type: Content of: <appendix><section><section><para>
259
"<systemitem role=\"package\">debmake</systemitem>, a precursor to "
260
"<systemitem role=\"package\">debhelper</systemitem>, is a more "
261
"coarse-grained <filename>debian/rules</filename> assistant. It includes two "
262
"main programs: <command>deb-make</command>, which can be used to help a "
263
"maintainer convert a regular (non-Debian) source archive into a Debian "
264
"source package; and <command>debstd</command>, which incorporates in one big "
265
"shot the same sort of automated functions that one finds in <systemitem "
266
"role=\"package\">debhelper</systemitem>."
269
# type: Content of: <appendix><section><section><para>
272
"The consensus is that <systemitem role=\"package\">debmake</systemitem> is "
273
"now deprecated in favor of <systemitem "
274
"role=\"package\">debhelper</systemitem>. It is a bug to use <systemitem "
275
"role=\"package\">debmake</systemitem> in new packages. New packages using "
276
"<systemitem role=\"package\">debmake</systemitem> will be rejected from the "
280
# type: Content of: <appendix><section><section><para>
283
"The <systemitem role=\"package\">dh-make</systemitem> package contains "
284
"<command>dh_make</command>, a program that creates a skeleton of files "
285
"necessary to build a Debian package out of a source tree. As the name "
286
"suggests, <command>dh_make</command> is a rewrite of <systemitem "
287
"role=\"package\">debmake</systemitem> and its template files use dh_* "
288
"programs from <systemitem role=\"package\">debhelper</systemitem>."
291
# type: Content of: <appendix><section><section><para>
294
"While the rules files generated by <command>dh_make</command> are in general "
295
"a sufficient basis for a working package, they are still just the "
296
"groundwork: the burden still lies on the maintainer to finely tune the "
297
"generated files and make the package entirely functional and "
301
# type: Content of: <appendix><section><section><para>
304
"<systemitem role=\"package\">yada</systemitem> is another packaging helper "
305
"tool. It uses a <filename>debian/packages</filename> file to auto-generate "
306
"<filename>debian/rules</filename> and other necessary files in the "
307
"<filename>debian/</filename> subdirectory. The "
308
"<filename>debian/packages</filename> file contains instruction to build "
309
"packages and there is no need to create any <filename>Makefile</filename> "
310
"files. There is possibility to use macro engine similar to the one used in "
311
"SPECS files from RPM source packages."
314
# type: Content of: <appendix><section><section><para>
317
"For more informations see <literal><ulink "
318
"url=\"http://yada.alioth.debian.org/\">YADA site</ulink></literal>."
321
# type: Content of: <appendix><section><section><para>
324
"<systemitem role=\"package\">equivs</systemitem> is another package for "
325
"making packages. It is often suggested for local use if you need to make a "
326
"package simply to fulfill dependencies. It is also sometimes used when "
327
"making ``meta-packages'', which are packages whose only purpose is to depend "
331
# type: Content of: <appendix><section><title>
333
msgid "Package builders"
336
# type: Content of: <appendix><section><para>
339
"The following packages help with the package building process, general "
340
"driving <command>dpkg-buildpackage</command> as well as handling supporting "
344
# type: Content of: <appendix><section><section><para>
347
"<systemitem role=\"package\">cvs-buildpackage</systemitem> provides the "
348
"capability to inject or import Debian source packages into a CVS repository, "
349
"build a Debian package from the CVS repository, and helps in integrating "
350
"upstream changes into the repository."
353
# type: Content of: <appendix><section><section><para>
356
"These utilities provide an infrastructure to facilitate the use of CVS by "
357
"Debian maintainers. This allows one to keep separate CVS branches of a "
358
"package for <emphasis>stable</emphasis>, <emphasis>unstable</emphasis> and "
359
"possibly <emphasis>experimental</emphasis> distributions, along with the "
360
"other benefits of a version control system."
363
# type: Content of: <appendix><section><section><para>
366
"The <systemitem role=\"package\">debootstrap</systemitem> package and script "
367
"allows you to bootstrap a Debian base system into any part of your "
368
"filesystem. By base system, we mean the bare minimum of packages required "
369
"to operate and install the rest of the system."
372
# type: Content of: <appendix><section><section><para>
375
"Having a system like this can be useful in many ways. For instance, you can "
376
"<command>chroot</command> into it if you want to test your build "
377
"dependencies. Or you can test how your package behaves when installed into "
378
"a bare base system. Chroot builders use this package; see below."
381
# type: Content of: <appendix><section><section><para>
384
"<systemitem role=\"package\">pbuilder</systemitem> constructs a chrooted "
385
"system, and builds a package inside the chroot. It is very useful to check "
386
"that a package's build-dependencies are correct, and to be sure that "
387
"unnecessary and wrong build dependencies will not exist in the resulting "
391
# type: Content of: <appendix><section><section><para>
394
"A related package is <systemitem role=\"package\">pbuilder-uml</systemitem>, "
395
"which goes even further by doing the build within a User Mode Linux "
399
# type: Content of: <appendix><section><section><para>
402
"<systemitem role=\"package\">sbuild</systemitem> is another automated "
403
"builder. It can use chrooted environments as well. It can be used "
404
"stand-alone, or as part of a networked, distributed build environment. As "
405
"the latter, it is part of the system used by porters to build binary "
406
"packages for all the available architectures. See <xref "
407
"linkend=\"buildd\"/> for more information, and <ulink "
408
"url=\"&url-buildd;\"></ulink> to see the system in action."
411
# type: Content of: <appendix><section><title>
413
msgid "Package uploaders"
416
# type: Content of: <appendix><section><para>
419
"The following packages help automate or simplify the process of uploading "
420
"packages into the official archive."
423
# type: Content of: <appendix><section><section><para>
426
"<systemitem role=\"package\">dupload</systemitem> is a package and a script "
427
"to automatically upload Debian packages to the Debian archive, to log the "
428
"upload, and to send mail about the upload of a package. You can configure "
429
"it for new upload locations or methods."
432
# type: Content of: <appendix><section><section><para>
435
"The <systemitem role=\"package\">dput</systemitem> package and script does "
436
"much the same thing as <systemitem role=\"package\">dupload</systemitem>, "
437
"but in a different way. It has some features over <systemitem "
438
"role=\"package\">dupload</systemitem>, such as the ability to check the "
439
"GnuPG signature and checksums before uploading, and the possibility of "
440
"running <command>dinstall</command> in dry-run mode after the upload."
443
# type: Content of: <appendix><section><section><para>
446
"The <systemitem role=\"package\">dcut</systemitem> script (part of the "
447
"package <xref linkend=\"dput\"/> ) helps in removing files from the ftp "
451
# type: Content of: <appendix><section><title>
453
msgid "Maintenance automation"
456
# type: Content of: <appendix><section><para>
459
"The following tools help automate different maintenance tasks, from adding "
460
"changelog entries or signature lines and looking up bugs in Emacs to making "
461
"use of the newest and official <filename>config.sub</filename>."
464
# type: Content of: <appendix><section><section><para>
467
"<systemitem role=\"package\">devscripts</systemitem> is a package containing "
468
"wrappers and tools which are very helpful for maintaining your Debian "
469
"packages. Example scripts include <command>debchange</command> and "
470
"<command>dch</command>, which manipulate your "
471
"<filename>debian/changelog</filename> file from the command-line, and "
472
"<command>debuild</command>, which is a wrapper around "
473
"<command>dpkg-buildpackage</command>. The <command>bts</command> utility is "
474
"also very helpful to update the state of bug reports on the command line. "
475
"<command>uscan</command> can be used to watch for new upstream versions of "
476
"your packages. <command>debrsign</command> can be used to remotely sign a "
477
"package prior to upload, which is nice when the machine you build the "
478
"package on is different from where your GPG keys are."
481
# type: Content of: <appendix><section><section><para>
484
"See the <citerefentry> <refentrytitle>devscripts</refentrytitle> "
485
"<manvolnum>1</manvolnum> </citerefentry> manual page for a complete list of "
489
# type: Content of: <appendix><section><section><para>
492
"<systemitem role=\"package\">autotools-dev</systemitem> contains best "
493
"practices for people who maintain packages which use "
494
"<command>autoconf</command> and/or <command>automake</command>. Also "
495
"contains canonical <filename>config.sub</filename> and "
496
"<filename>config.guess</filename> files which are known to work on all "
500
# type: Content of: <appendix><section><section><para>
503
"<command>dpkg-repack</command> creates Debian package file out of a package "
504
"that has already been installed. If any changes have been made to the "
505
"package while it was unpacked (e.g., files in <filename>/etc</filename> were "
506
"modified), the new package will inherit the changes."
509
# type: Content of: <appendix><section><section><para>
512
"This utility can make it easy to copy packages from one computer to another, "
513
"or to recreate packages which are installed on your system but no longer "
514
"available elsewhere, or to save the current state of a package before you "
518
# type: Content of: <appendix><section><section><para>
521
"<command>alien</command> converts binary packages between various packaging "
522
"formats, including Debian, RPM (RedHat), LSB (Linux Standard Base), Solaris, "
523
"and Slackware packages."
526
# type: Content of: <appendix><section><section><para>
529
"<command>debsums</command> checks installed packages against their MD5 "
530
"sums. Note that not all packages have MD5 sums, since they aren't required "
534
# type: Content of: <appendix><section><section><para>
537
"<systemitem role=\"package\">dpkg-dev-el</systemitem> is an Emacs lisp "
538
"package which provides assistance when editing some of the files in the "
539
"<filename>debian</filename> directory of your package. For instance, there "
540
"are handy functions for listing a package's current bugs, and for finalizing "
541
"the latest entry in a <filename>debian/changelog</filename> file."
544
# type: Content of: <appendix><section><section><para>
547
"<command>dpkg-depcheck</command> (from the <systemitem "
548
"role=\"package\">devscripts</systemitem> package, <xref "
549
"linkend=\"devscripts\"/> ) runs a command under <command>strace</command> "
550
"to determine all the packages that were used by the said command."
553
# type: Content of: <appendix><section><section><para>
556
"For Debian packages, this is useful when you have to compose a "
557
"<literal>Build-Depends</literal> line for your new package: running the "
558
"build process through <command>dpkg-depcheck</command> will provide you with "
559
"a good first approximation of the build-dependencies. For example:"
562
# type: Content of: <appendix><section><section><screen>
565
msgid "dpkg-depcheck -b debian/rules build"
568
# type: Content of: <appendix><section><section><para>
571
"<command>dpkg-depcheck</command> can also be used to check for run-time "
572
"dependencies, especially if your package uses exec(2) to run other programs."
575
# type: Content of: <appendix><section><section><para>
578
"For more information please see <citerefentry> "
579
"<refentrytitle>dpkg-depcheck</refentrytitle> <manvolnum>1</manvolnum> "
583
# type: Content of: <appendix><section><title>
585
msgid "Porting tools"
588
# type: Content of: <appendix><section><para>
590
msgid "The following tools are helpful for porters and for cross-compilation."
593
# type: Content of: <appendix><section><section><para>
596
"<systemitem role=\"package\">quinn-diff</systemitem> is used to locate the "
597
"differences from one architecture to another. For instance, it could tell "
598
"you which packages need to be ported for architecture "
599
"<replaceable>Y</replaceable>, based on architecture "
600
"<replaceable>X</replaceable>."
603
# type: Content of: <appendix><section><section><para>
606
"<systemitem role=\"package\">dpkg-cross</systemitem> is a tool for "
607
"installing libraries and headers for cross-compiling in a way similar to "
608
"<systemitem role=\"package\">dpkg</systemitem>. Furthermore, the "
609
"functionality of <command>dpkg-buildpackage</command> and "
610
"<command>dpkg-shlibdeps</command> is enhanced to support cross-compiling."
613
# type: Content of: <appendix><section><title>
615
msgid "Documentation and information"
618
# type: Content of: <appendix><section><para>
621
"The following packages provide information for maintainers or help with "
622
"building documentation."
625
# type: Content of: <appendix><section><section><para>
628
"<systemitem role=\"package\">debiandoc-sgml</systemitem> provides the "
629
"DebianDoc SGML DTD, which is commonly used for Debian documentation. This "
630
"manual, for instance, is written in DebianDoc. It also provides scripts for "
631
"building and styling the source to various output formats."
634
# type: Content of: <appendix><section><section><para>
637
"Documentation for the DTD can be found in the <systemitem "
638
"role=\"package\">debiandoc-sgml-doc</systemitem> package."
641
# type: Content of: <appendix><section><section><para>
644
"Contains the public GPG and PGP keys of Debian developers. See <xref "
645
"linkend=\"key-maint\"/> and the package documentation for more information."
648
# type: Content of: <appendix><section><section><para>
651
"<systemitem role=\"package\">debview</systemitem> provides an Emacs mode for "
652
"viewing Debian binary packages. This lets you examine a package without "