# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2011-09-23 03:38+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: TH
#: deb.5:1
#, no-wrap
msgid "deb"
msgstr ""

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-version.5:5 deb-old.5:1 deb-override.5:15 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1 dpkg-architecture.1:1 dpkg-buildpackage.1:1 dpkg-deb.1:1 dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2 dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15 dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-trigger.1:1 dselect.1:1 update-alternatives.8:8
#, no-wrap
msgid "2011-08-14"
msgstr ""

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5 deb-old.5:1 deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16 deb-substvars.5:2 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1 dpkg-architecture.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1 dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1 dpkg-deb.1:1 dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2 dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15 dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2 dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.1:1 dselect.cfg.5:1 start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "Debian Project"
msgstr ""

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5 deb-old.5:1 dselect.1:1
#, no-wrap
msgid "Debian"
msgstr ""

#. type: SH
#: deb.5:2 deb-control.5:4 deb-src-control.5:4 deb-split.5:2 deb-version.5:6 deb-old.5:2 deb-override.5:16 deb-extra-override.5:2 deb-shlibs.5:17 deb-substvars.5:3 deb-symbols.5:3 deb-triggers.5:2 dpkg.1:2 dpkg-architecture.1:2 dpkg.cfg.5:2 dpkg-buildflags.1:2 dpkg-buildpackage.1:2 dpkg-checkbuilddeps.1:2 dpkg-distaddfile.1:2 dpkg-deb.1:2 dpkg-divert.8:2 dpkg-genchanges.1:2 dpkg-gencontrol.1:2 dpkg-gensymbols.1:3 dpkg-maintscript-helper.1:2 dpkg-mergechangelogs.1:2 dpkg-name.1:7 dpkg-parsechangelog.1:2 dpkg-query.1:2 dpkg-scanpackages.1:16 dpkg-scansources.1:2 dpkg-shlibdeps.1:2 dpkg-source.1:3 dpkg-split.1:3 dpkg-statoverride.8:2 dpkg-trigger.1:2 dpkg-vendor.1:2 dselect.1:2 dselect.cfg.5:2 start-stop-daemon.8:2 update-alternatives.8:9
#, no-wrap
msgid "NAME"
msgstr ""

#. type: Plain text
#: deb.5:4
msgid "deb - Debian binary package format"
msgstr ""

#. type: SH
#: deb.5:4 deb-control.5:7 deb-src-control.5:7 deb-split.5:4 deb-version.5:9 deb-old.5:5 deb-override.5:19 deb-extra-override.5:5 deb-substvars.5:6 deb-symbols.5:6 deb-triggers.5:5 dpkg.1:5 dpkg-architecture.1:5 dpkg-buildflags.1:5 dpkg-buildpackage.1:5 dpkg-checkbuilddeps.1:5 dpkg-distaddfile.1:5 dpkg-deb.1:5 dpkg-divert.8:5 dpkg-genchanges.1:5 dpkg-gencontrol.1:5 dpkg-gensymbols.1:6 dpkg-maintscript-helper.1:5 dpkg-mergechangelogs.1:5 dpkg-name.1:10 dpkg-parsechangelog.1:5 dpkg-query.1:5 dpkg-scanpackages.1:19 dpkg-scansources.1:5 dpkg-shlibdeps.1:5 dpkg-source.1:6 dpkg-split.1:6 dpkg-statoverride.8:5 dpkg-trigger.1:5 dpkg-vendor.1:5 dselect.1:5 start-stop-daemon.8:5 update-alternatives.8:12
#, no-wrap
msgid "SYNOPSIS"
msgstr ""

#. type: Plain text
#: deb.5:6 deb-split.5:6 deb-old.5:7
msgid "I<filename>B<.deb>"
msgstr ""

#. type: SH
#: deb.5:6 deb-control.5:10 deb-src-control.5:10 deb-split.5:6 deb-version.5:11 deb-old.5:8 deb-override.5:22 deb-extra-override.5:8 deb-shlibs.5:20 deb-substvars.5:9 deb-symbols.5:9 deb-triggers.5:8 dpkg.1:19 dpkg-architecture.1:10 dpkg.cfg.5:5 dpkg-buildflags.1:9 dpkg-buildpackage.1:9 dpkg-checkbuilddeps.1:10 dpkg-distaddfile.1:9 dpkg-deb.1:9 dpkg-divert.8:10 dpkg-genchanges.1:10 dpkg-gencontrol.1:9 dpkg-gensymbols.1:10 dpkg-maintscript-helper.1:15 dpkg-mergechangelogs.1:9 dpkg-name.1:16 dpkg-parsechangelog.1:9 dpkg-query.1:9 dpkg-scanpackages.1:27 dpkg-scansources.1:13 dpkg-shlibdeps.1:9 dpkg-source.1:10 dpkg-split.1:10 dpkg-statoverride.8:9 dpkg-trigger.1:12 dpkg-vendor.1:9 dselect.1:9 dselect.cfg.5:5 start-stop-daemon.8:9 update-alternatives.8:16
#, no-wrap
msgid "DESCRIPTION"
msgstr ""

#. type: Plain text
#: deb.5:12
msgid ""
"The B<.deb> format is the Debian binary package file format. It is "
"understood by dpkg 0.93.76 and later, and is generated by default by all "
"versions of dpkg since 1.2.0 and all i386/ELF versions since 1.1.1elf."
msgstr ""

#. type: Plain text
#: deb.5:16
msgid ""
"The format described here is used since Debian 0.93; details of the old "
"format are described in B<deb-old>(5)."
msgstr ""

#. type: SH
#: deb.5:16 deb-split.5:9 deb-old.5:18
#, no-wrap
msgid "FORMAT"
msgstr ""

#. type: Plain text
#: deb.5:22
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash."
msgstr ""

#. type: Plain text
#: deb.5:28
msgid ""
"The B<tar> archives currently allowed are, the old-style (v7) format, the "
"pre-POSIX ustar format, a subset of the GNU format (only the new style long "
"pathnames and long linknames, supported since dpkg 1.4.1.17), and the POSIX "
"ustar format (long names supported since dpkg 1.15.0).  Unrecognized tar "
"typeflags are considered an error."
msgstr ""

#. type: Plain text
#: deb.5:38
msgid ""
"The first member is named B<debian-binary> and contains a series of lines, "
"separated by newlines. Currently only one line is present, the format "
"version number, B<2.0> at the time this manual page was written.  Programs "
"which read new-format archives should be prepared for the minor number to be "
"increased and new lines to be present, and should ignore these if this is "
"the case."
msgstr ""

#. type: Plain text
#: deb.5:43
msgid ""
"If the major number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""

#. type: Plain text
#: deb.5:53
msgid ""
"The second required member is named B<control.tar.gz>.  It is a gzipped tar "
"archive containing the package control information, as a series of plain "
"files, of which the file B<control> is mandatory and contains the core "
"control information. The control tarball may optionally contain an entry for "
"`B<.>', the current directory."
msgstr ""

#. type: Plain text
#: deb.5:62
msgid ""
"The third, last required member is named B<data.tar>.  It contains the "
"filesystem as a tar archive, either not compressed (supported since dpkg "
"1.10.24), or compressed with gzip (with B<.gz> extension), xz (with B<.xz> "
"extension, supported since dpkg 1.15.6), bzip2 (with B<.bz2> extension, "
"supported since dpkg 1.10.24) or lzma (with B<.lzma> extension, supported "
"since dpkg 1.13.25)."
msgstr ""

#. type: Plain text
#: deb.5:73
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.tar>.  Further members may be "
"defined in the future, and (if possible) will be placed after these "
"three. Any additional members that may need to be inserted before "
"B<data.tar> and which should be safely ignored by older programs, will have "
"names starting with an underscore, `B<_>'."
msgstr ""

#. type: Plain text
#: deb.5:79
msgid ""
"Those new members which won't be able to be safely ignored will be inserted "
"before B<data.tar> with names starting with something other than "
"underscores, or will (more likely) cause the major version number to be "
"increased."
msgstr ""

#. type: SH
#: deb.5:79 deb-control.5:271 deb-src-control.5:327 deb-split.5:49 deb-version.5:116 deb-old.5:51 deb-override.5:62 deb-extra-override.5:37 deb-shlibs.5:61 deb-substvars.5:154 deb-symbols.5:61 deb-triggers.5:67 dpkg.1:768 dpkg-architecture.1:299 dpkg.cfg.5:23 dpkg-buildpackage.1:249 dpkg-deb.1:259 dpkg-divert.8:132 dpkg-gensymbols.1:450 dpkg-name.1:96 dpkg-query.1:220 dpkg-scanpackages.1:110 dpkg-scansources.1:71 dpkg-shlibdeps.1:324 dpkg-source.1:725 dpkg-split.1:217 dpkg-statoverride.8:84 dpkg-trigger.1:66 dselect.1:445 dselect.cfg.5:23 update-alternatives.8:508
#, no-wrap
msgid "SEE ALSO"
msgstr ""

#. type: Plain text
#: deb.5:82
msgid "B<deb-old>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr ""

#. type: TH
#: deb-control.5:3
#, no-wrap
msgid "deb-control"
msgstr ""

#. type: Plain text
#: deb-control.5:6
msgid "deb-control - Debian packages' master control file format"
msgstr ""

#. type: Plain text
#: deb-control.5:9 deb-src-control.5:9
msgid "control"
msgstr ""

#. type: Plain text
#: deb-control.5:24
msgid ""
"Each Debian package contains the master `control' file, which contains a "
"number of fields, or comments when the line starts with B<'#'>. Each field "
"begins with a tag, such as B<Package> or B<Version> (case insensitive), "
"followed by a colon, and the body of the field.  Fields are delimited only "
"by field tags. In other words, field text may be multiple lines in length, "
"but the installation tools will generally join lines when processing the "
"body of the field (except in the case of the B<Description> field, see "
"below)."
msgstr ""

#. type: SH
#: deb-control.5:25
#, no-wrap
msgid "REQUIRED FIELDS"
msgstr ""

#. type: TP
#: deb-control.5:26
#, no-wrap
msgid "B<Package:>I< package-name>"
msgstr ""

#. type: Plain text
#: deb-control.5:30
msgid ""
"The value of this field determines the package name, and is used to generate "
"file names by most installation tools."
msgstr ""

#. type: TP
#: deb-control.5:30
#, no-wrap
msgid "B<Version:>I< version-string>"
msgstr ""

#. type: Plain text
#: deb-control.5:37
msgid ""
"Typically, this is the original package's version number in whatever form "
"the program's author uses. It may also include a Debian revision number (for "
"non-native packages). The exact format and sorting algorithm are described "
"in B<deb-version>(5)."
msgstr ""

#. type: TP
#: deb-control.5:37
#, no-wrap
msgid "B<Maintainer:>I< fullname-email>"
msgstr ""

#. type: Plain text
#: deb-control.5:42
msgid ""
"Should be in the format `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', and is "
"typically the person who created the package, as opposed to the author of "
"the software that was packaged."
msgstr ""

#. type: TP
#: deb-control.5:42
#, no-wrap
msgid "B<Description:>I< short-description>"
msgstr ""

#. type: Plain text
#: deb-control.5:45
msgid "B< >I<long-description>"
msgstr ""

#. type: Plain text
#: deb-control.5:51
msgid ""
"The format for the package description is a short brief summary on the first "
"line (after the \"Description\" field). The following lines should be used "
"as a longer, more detailed description. Each line of the long description "
"must be preceded by a space, and blank lines in the long description must "
"contain a single '.' following the preceding space."
msgstr ""

#. type: SH
#: deb-control.5:52
#, no-wrap
msgid "OPTIONAL FIELDS"
msgstr ""

#. type: TP
#: deb-control.5:53 deb-src-control.5:90
#, no-wrap
msgid "B<Section:>I< section>"
msgstr ""

#. type: Plain text
#: deb-control.5:58
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are `utils', `net', `mail', "
"`text', `x11' etc."
msgstr ""

#. type: TP
#: deb-control.5:58 deb-src-control.5:96
#, no-wrap
msgid "B<Priority:>I< priority>"
msgstr ""

#. type: Plain text
#: deb-control.5:62
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are `required', `standard', `optional', `extra' etc."
msgstr ""

#. type: Plain text
#: deb-control.5:71 deb-src-control.5:109
msgid ""
"In Debian, the B<Section> and B<Priority> fields have a defined set of "
"accepted values based on the Policy Manual.  A list of these values can be "
"obtained from the latest version of the B<debian-policy> package."
msgstr ""

#. type: TP
#: deb-control.5:71 deb-src-control.5:216
#, no-wrap
msgid "B<Essential:> B<yes>|B<no>"
msgstr ""

#. type: Plain text
#: deb-control.5:78
msgid ""
"This field is usually only needed when the answer is B<yes>. It denotes a "
"package that is required for proper operation of the system. Dpkg or any "
"other installation tool will not allow an B<Essential> package to be removed "
"(at least not without using one of the force options)."
msgstr ""

#. type: TP
#: deb-control.5:78
#, no-wrap
msgid "B<Architecture:> I<arch>|B<all>"
msgstr ""

#. type: Plain text
#: deb-control.5:86
msgid ""
"The architecture specifies which type of hardware this package was compiled "
"for. Common architectures are `i386', `m68k', `sparc', `alpha', `powerpc' "
"etc. Note that the B<all> option is meant for packages that are architecture "
"independent. Some examples of this are shell and Perl scripts, and "
"documentation."
msgstr ""

#. type: TP
#: deb-control.5:86 deb-src-control.5:85
#, no-wrap
msgid "B<Origin:>I< name>"
msgstr ""

#. type: Plain text
#: deb-control.5:89
msgid "The name of the distribution this package is originating from."
msgstr ""

#. type: TP
#: deb-control.5:89 deb-src-control.5:66
#, no-wrap
msgid "B<Bugs:>I< url>"
msgstr ""

#. type: Plain text
#: deb-control.5:94
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like "
"B<debbugs://bugs.debian.org>."
msgstr ""

#. type: TP
#: deb-control.5:94 deb-src-control.5:62
#, no-wrap
msgid "B<Homepage:>I< url>"
msgstr ""

#. type: Plain text
#: deb-control.5:97
msgid "The upstream project home page I<url>."
msgstr ""

#. type: TP
#: deb-control.5:97 deb-src-control.5:222
#, no-wrap
msgid "B<Tag:>I< tag-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:101
msgid ""
"List of tags describing the qualities of the package. The description and "
"list of supported tags can be found in the B<debtags> package."
msgstr ""

#. type: TP
#: deb-control.5:101 deb-src-control.5:219
#, no-wrap
msgid "B<Multi-Arch:> B<same>|B<foreign>|B<allowed>"
msgstr ""

#. type: Plain text
#: deb-control.5:113
msgid ""
"This field is used to indicate how this package should behave on a "
"multi-arch installations. The value B<same> means that the package is "
"co-installable with itself, but it must not be used to satisfy the "
"dependency of any package of a different architecture from itself. The value "
"B<foreign> means that the package is not co-installable with itself, but "
"should be allowed to satisfy the dependency of a package of a different arch "
"from itself. The value B<allowed> allows reverse-dependencies to indicate in "
"their Depends field that they need a package from a foreign architecture, "
"but has no effect otherwise. This field should not be present in packages "
"with the B<Architecture: all> field."
msgstr ""

#. type: TP
#: deb-control.5:113
#, no-wrap
msgid "B<Source:>I< source-name>"
msgstr ""

#. type: Plain text
#: deb-control.5:117
msgid ""
"The name of the source package that this binary package came from, if "
"different than the name of the package itself."
msgstr ""

#. type: TP
#: deb-control.5:118 deb-src-control.5:202
#, no-wrap
msgid "B<Subarchitecture:>I< value>"
msgstr ""

#. type: TP
#: deb-control.5:121 deb-src-control.5:205
#, no-wrap
msgid "B<Kernel-Version:>I< value>"
msgstr ""

#. type: TP
#: deb-control.5:124 deb-src-control.5:208
#, no-wrap
msgid "B<Installer-Menu-Item:>I< value>"
msgstr ""

#. type: Plain text
#: deb-control.5:131 deb-src-control.5:215
msgid ""
"These fields are used by the debian-installer and are usually not needed.  "
"See /usr/share/doc/debian-installer/devel/modules.txt from the "
"B<debian-installer> package for more details about them."
msgstr ""

#. type: TP
#: deb-control.5:132 deb-src-control.5:233
#, no-wrap
msgid "B<Depends:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:143
msgid ""
"List of packages that are required for this package to provide a non-trivial "
"amount of functionality. The package maintenance software will not allow a "
"package to be installed if the packages listed in its B<Depends> field "
"aren't installed (at least not without using the force options).  In an "
"installation, the postinst scripts of packages listed in Depends: fields are "
"run before those of the packages which depend on them. On the opposite, in a "
"removal, the prerm script of a package is run before those of the packages "
"listed in its Depends: field."
msgstr ""

#. type: TP
#: deb-control.5:143 deb-src-control.5:236
#, no-wrap
msgid "B<Pre-Depends:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:150
msgid ""
"List of packages that must be installed B<and> configured before this one "
"can be installed. This is usually used in the case where this package "
"requires another package for running its preinst script."
msgstr ""

#. type: TP
#: deb-control.5:150 deb-src-control.5:239
#, no-wrap
msgid "B<Recommends:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:157
msgid ""
"Lists packages that would be found together with this one in all but unusual "
"installations. The package maintenance software will warn the user if they "
"install a package without those listed in its B<Recommends> field."
msgstr ""

#. type: TP
#: deb-control.5:157 deb-src-control.5:242
#, no-wrap
msgid "B<Suggests:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:162
msgid ""
"Lists packages that are related to this one and can perhaps enhance its "
"usefulness, but without which installing this package is perfectly "
"reasonable."
msgstr ""

#. type: Plain text
#: deb-control.5:174
msgid ""
"The syntax of B<Depends>, B<Pre-Depends>, B<Recommends> and B<Suggests> "
"fields is a list of groups of alternative packages. Each group is a list of "
"packages separated by vertical bar (or `pipe') symbols, `|'. The groups are "
"separated by commas. Commas are to be read as `AND', and pipes as `OR', with "
"pipes binding more tightly. Each package name is optionally followed by a "
"version number specification in parentheses."
msgstr ""

#. type: Plain text
#: deb-control.5:180
msgid ""
"A version number may start with a `E<gt>E<gt>', in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""

#. type: TP
#: deb-control.5:180 deb-src-control.5:245
#, no-wrap
msgid "B<Breaks:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:188
msgid ""
"Lists packages that this one breaks, for example by exposing bugs when the "
"named packages rely on this one. The package maintenance software will not "
"allow broken packages to be configured; generally the resolution is to "
"upgrade the packages named in a B<Breaks> field."
msgstr ""

#. type: TP
#: deb-control.5:188 deb-src-control.5:254
#, no-wrap
msgid "B<Conflicts:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:196
msgid ""
"Lists packages that conflict with this one, for example by containing files "
"with the same names. The package maintenance software will not allow "
"conflicting packages to be installed at the same time. Two conflicting "
"packages should each include a B<Conflicts> line mentioning the other."
msgstr ""

#. type: TP
#: deb-control.5:196 deb-src-control.5:251
#, no-wrap
msgid "B<Replaces:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:204
msgid ""
"List of packages files from which this one replaces. This is used for "
"allowing this package to overwrite the files of another package and is "
"usually used with the B<Conflicts> field to force removal of the other "
"package, if this one also has the same files as the conflicted package."
msgstr ""

#. type: TP
#: deb-control.5:204 deb-src-control.5:257
#, no-wrap
msgid "B<Provides:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:214
msgid ""
"This is a list of virtual packages that this one provides. Usually this is "
"used in the case of several packages all providing the same service.  For "
"example, sendmail and exim can serve as a mail server, so they provide a "
"common package (`mail-transport-agent') on which other packages can "
"depend. This will allow sendmail or exim to serve as a valid option to "
"satisfy the dependency. This prevents the packages that depend on a mail "
"server from having to know the package names for all of them, and using `|' "
"to separate the list."
msgstr ""

#. type: Plain text
#: deb-control.5:233
msgid ""
"The syntax of B<Breaks>, B<Conflicts>, B<Replaces> and B<Provides> is a list "
"of package names, separated by commas (and optional whitespace).  In the "
"B<Breaks> and B<Conflicts> fields, the comma should be read as `OR'. An "
"optional version can also be given with the same syntax as above for the "
"B<Breaks>, B<Conflicts> and B<Replaces> fields."
msgstr ""

#. type: TP
#: deb-control.5:234 deb-src-control.5:260
#, no-wrap
msgid "B<Built-Using:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-control.5:244
msgid ""
"This field lists extra source packages that were used during the build of "
"this binary package.  This is an indication to the archive maintenance "
"software that these extra source packages must be kept whilst this binary "
"package is maintained.  This field must be a list of source package names "
"with strict (=)  version relationships.  Note that the archive maintenance "
"software is likely to refuse to accept an upload which declares a "
"B<Built-Using> relationship which cannot be satisfied within the archive."
msgstr ""

#. type: SH
#: deb-control.5:245 deb-src-control.5:288 start-stop-daemon.8:302
#, no-wrap
msgid "EXAMPLE"
msgstr ""

#. type: Plain text
#: deb-control.5:268
#, no-wrap
msgid ""
"# Comment\n"
"Package: grep\n"
"Essential: yes\n"
"Priority: required\n"
"Section: base\n"
"Maintainer: Wichert Akkerman E<lt>wakkerma@debian.orgE<gt>\n"
"Architecture: sparc\n"
"Version: 2.4-1\n"
"Pre-Depends: libc6 (E<gt>= 2.0.105)\n"
"Provides: rgrep\n"
"Conflicts: rgrep\n"
"Description: GNU grep, egrep and fgrep.\n"
" The GNU family of grep utilities may be the \"fastest grep in the west\".\n"
" GNU grep is based on a fast lazy-state deterministic matcher (about\n"
" twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper\n"
" search for a fixed string that eliminates impossible text from being\n"
" considered by the full regexp matcher without necessarily having to\n"
" look at every character. The result is typically many times faster\n"
" than Unix grep or egrep. (Regular expressions containing backreferencing\n"
" will run more slowly, however).\n"
msgstr ""

#. type: Plain text
#: deb-control.5:276
msgid "B<deb>(5), B<deb-version>(5), B<debtags>(1), B<dpkg>(1), B<dpkg-deb>(1)."
msgstr ""

#. type: TH
#: deb-src-control.5:3
#, no-wrap
msgid "deb-src-control"
msgstr ""

#. type: Plain text
#: deb-src-control.5:6
msgid "deb-src-control - Debian source packages' master control file format"
msgstr ""

#. type: Plain text
#: deb-src-control.5:28
msgid ""
"Each Debian source package contains the master \"control\" file, which "
"contains at least 2 paragraphs, separated by a blank line. The first "
"paragraph lists all information about the source package in general, while "
"each following paragraph describes exactly one binary package. Each "
"paragraph consists of at least one field. A field starts with a fieldname, "
"such as B<Package> or B<Section> (case insensitive), followed by a colon, "
"the body of the field and a newline.  Multi-line fields are also allowed, "
"but each supplementary line, without a fieldname, should start with at least "
"one space. The content of the multi-line fields is generally joined to a "
"single line by the tools (except in the case of the B<Description> field, "
"see below). To insert empty lines into a multi-line field, insert a dot "
"after the space. Lines starting with a B<'#'> are treated as comments."
msgstr ""

#. type: SH
#: deb-src-control.5:29
#, no-wrap
msgid "SOURCE FIELDS"
msgstr ""

#. type: TP
#: deb-src-control.5:30
#, no-wrap
msgid "B<Source:> I<source-package-name> (required)"
msgstr ""

#. type: Plain text
#: deb-src-control.5:37
msgid ""
"The value of this field is the name of the source package, and should match "
"the name of the source package in the debian/changelog file. A package name "
"must consist only of lower case letters (a-z), digits (0-9), plus (+) and "
"minus (-) signs, and periods (.). Package names must be at least two "
"characters long and must start with an alphanumeric character."
msgstr ""

#. type: TP
#: deb-src-control.5:38
#, no-wrap
msgid "B<Maintainer:> I<fullname-email> (required)"
msgstr ""

#. type: Plain text
#: deb-src-control.5:43
msgid ""
"Should be in the format \"Joe Bloggs E<lt>jbloggs@foo.comE<gt>\", and "
"references the person who currently maintains the package, as opposed to the "
"author of the software or the original packager."
msgstr ""

#. type: TP
#: deb-src-control.5:44
#, no-wrap
msgid "B<Uploaders:>I< fullname-email>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:49
msgid ""
"Lists all the names and email addresses of co-maintainers of the package, in "
"the same format as the Maintainer field. Multiple co-maintainers should be "
"separated by a comma."
msgstr ""

#. type: TP
#: deb-src-control.5:50
#, no-wrap
msgid "B<Standards-Version:>I< version-string>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:56
msgid ""
"This documents the most recent version of the standards (which consists of "
"the Debian Policy Manual and referenced texts from the B<debian-policy> "
"package) this package complies to."
msgstr ""

#. type: TP
#: deb-src-control.5:57
#, no-wrap
msgid "B<DM-Upload-Allowed:> B<yes>|B<no>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:61
msgid ""
"This field indicates whether the package can be uploaded by Debian "
"Maintainers appearing in the Maintainer or Uploaders field. The default "
"value is \"no\"."
msgstr ""

#. type: Plain text
#: deb-src-control.5:65
msgid "The upstream project home page URL."
msgstr ""

#. type: Plain text
#: deb-src-control.5:71
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like "
"B<debbugs://bugs.debian.org>. This field is usually not needed."
msgstr ""

#. type: TP
#: deb-src-control.5:72
#, no-wrap
msgid "B<Vcs-*:>I< url>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:79
msgid ""
"The I<url> of the Version Control System repository used to maintain this "
"package. Currently supported are B<Arch>, B<Bzr> (Bazaar), B<Cvs>, B<Darcs>, "
"B<Git>, B<Hg> (Mercurial), B<Mtn> (Monotone) and B<Svn> "
"(Subversion). Usually this field points to the latest version of the "
"package, such as the main branch or the trunk."
msgstr ""

#. type: TP
#: deb-src-control.5:80
#, no-wrap
msgid "B<Vcs-Browser:>I< url>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:84
msgid ""
"The I<url> of a webinterface to browse the Version Control System "
"repository."
msgstr ""

#. type: Plain text
#: deb-src-control.5:89
msgid ""
"The name of the distribution this package is originating from. This field is "
"usually not needed."
msgstr ""

#. type: Plain text
#: deb-src-control.5:95
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are \"utils\", \"net\", "
"\"mail\", \"text\", \"x11\", etc."
msgstr ""

#. type: Plain text
#: deb-src-control.5:100
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are \"required\", \"standard\", \"optional\", \"extra\", "
"etc."
msgstr ""

#. type: TP
#: deb-src-control.5:110
#, no-wrap
msgid "B<Build-Depends:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:114
msgid ""
"A list of packages that need to be installed and configured to be able to "
"build the source package."
msgstr ""

#. type: TP
#: deb-src-control.5:115
#, no-wrap
msgid "B<Build-Depends-Indep:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:120
msgid ""
"Same as B<Build-Depends>, but they are only needed when building the "
"architecture independent packages. The B<Build-Depends> are also installed "
"in this case."
msgstr ""

#. type: TP
#: deb-src-control.5:121
#, no-wrap
msgid "B<Build-Conflicts:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:125
msgid ""
"A list of packages that should not be installed when the package is build, "
"for example because they interfere with the used build system."
msgstr ""

#. type: TP
#: deb-src-control.5:126
#, no-wrap
msgid "B<Build-Conflicts-Indep:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:130
msgid ""
"Same as B<Build-Conflicts>, but only when building the architecture "
"independent packages."
msgstr ""

#. type: Plain text
#: deb-src-control.5:141
msgid ""
"The syntax of the B<Build-Depends> and B<Build-Depends-Indep> fields is a "
"list of groups of alternative packages. Each group is a list of packages "
"separated by vertical bar (or \"pipe\") symbols, \"|\". The groups are "
"separated by commas. Commas are to be read as \"AND\", and pipes as \"OR\", "
"with pipes binding more tightly. Each package name is optionally followed by "
"a version number specification in parentheses and an architecture "
"specification in square brackets."
msgstr ""

#. type: Plain text
#: deb-src-control.5:150
msgid ""
"The syntax of the B<Build-Conflicts> and B<Build-Conflicts-Indep> fields is "
"a list of comma-separated package names, where the comma is read as an "
"\"AND\". Specifying alternative packages using a \"pipe\" is not supported.  "
"Each package name is optionally followed by a version number specification "
"in parentheses and an architecture specification in square brackets."
msgstr ""

#. type: Plain text
#: deb-src-control.5:156
msgid ""
"A version number may start with a \"E<gt>E<gt>\", in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""

#. type: Plain text
#: deb-src-control.5:160
msgid ""
"A architecture specification consists of one or more architecture names, "
"separated by whitespace. Exclamation marks may be prepended to each of the "
"names, meaning \"NOT\"."
msgstr ""

#. type: Plain text
#: deb-src-control.5:165
msgid ""
"Note that dependencies on packages in the B<build-essential> set can be "
"omitted and that declaring build conflicts against them is impossible. A "
"list of these packages is in the build-essential package."
msgstr ""

#. type: SH
#: deb-src-control.5:167
#, no-wrap
msgid "BINARY FIELDS"
msgstr ""

#. type: Plain text
#: deb-src-control.5:176
msgid ""
"Note that the B<Priority>, B<Section> and B<Homepage> fields can also be in "
"a binary paragraph to override the global value from the source package."
msgstr ""

#. type: TP
#: deb-src-control.5:177
#, no-wrap
msgid "B<Package:> I<binary-package-name> (required)"
msgstr ""

#. type: Plain text
#: deb-src-control.5:181
msgid ""
"This field is used to name the binary package name. The same restrictions as "
"to a source package name apply."
msgstr ""

#. type: TP
#: deb-src-control.5:182
#, no-wrap
msgid "B<Architecture:> I<arch>|B<all>|B<any> (required)"
msgstr ""

#. type: Plain text
#: deb-src-control.5:195
msgid ""
"The architecture specifies on which type of hardware this package runs. For "
"packages that run on all architectures, use the B<any> value. For packages "
"that are architecture independent, such as shell and Perl scripts or "
"documentation, use the B<all> value. To restrict the packages to a certain "
"set of architectures, specify the architecture names, separated by a "
"space. It's also possible to put architecture wildcards in that list (see "
"B<dpkg-architecture>(1)  for more information about them)."
msgstr ""

#. type: TP
#: deb-src-control.5:196
#, no-wrap
msgid "B<Package-Type:> B<deb>|B<udeb>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:201
msgid ""
"This field defines the type of the package. \"udeb\" is for size-constrained "
"packages used by the debian installer. \"deb\" is the default value, it's "
"assumed if the field is absent. More types might be added in the future."
msgstr ""

#. type: TP
#: deb-src-control.5:225
#, no-wrap
msgid "B<Description:> I<short-description> (required)"
msgstr ""

#. type: Plain text
#: deb-src-control.5:232
msgid ""
"These fields are described in the B<deb-control>(5)  manual page, as they "
"are copied literally to the control file of the binary package."
msgstr ""

#. type: TP
#: deb-src-control.5:248
#, no-wrap
msgid "B<Enhances:>I< package-list>"
msgstr ""

#. type: Plain text
#: deb-src-control.5:270
msgid ""
"These fields declare relationships between packages. They are discussed in "
"the B<deb-control>(5)  manpage and in the B<debian-policy> package."
msgstr ""

#. type: SH
#: deb-src-control.5:271
#, no-wrap
msgid "USER-DEFINED FIELDS"
msgstr ""

#. type: Plain text
#: deb-src-control.5:286
msgid ""
"It is allowed to add additional user-defined fields to the control file. The "
"tools will ignore these fields. If you want the fields to be copied over to "
"the output files, such as the binary packages, you need to use a custom "
"naming scheme: the fields should start with a X, followed by one or more of "
"the letters BCS and a hypen. If the letter B is used, the field will appear "
"in the control file in the binary package, see B<deb-control>(5), for the "
"letter S in the source package control file as constructed by "
"B<dpkg-source>(1)  and for the letter C in the upload control (.changes) "
"file. Note that the X[BCS]- prefixes are stripped when the fields are copied "
"over to the output files. A field B<XC-Approved-By> will appear as "
"B<Approved-By> in the changes file and will not appear in the binary or "
"source package control files."
msgstr ""

#. type: Plain text
#: deb-src-control.5:304
#, no-wrap
msgid ""
"# Comment\n"
"Source: dpkg\n"
"Section: admin\n"
"Priority: required\n"
"Maintainer: Dpkg Developers E<lt>debian-dpkg@lists.debian.orgE<gt>\n"
"# this field is copied to the binary and source packages\n"
"XBS-Upstream-Release-Status: stable\n"
"Homepage: http://wiki.debian.org/Teams/Dpkg\n"
"Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git\n"
"Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git\n"
"Standards-Version: 3.7.3\n"
"Build-Depends: pkg-config, debhelper (E<gt>= 4.1.81),\n"
" libselinux1-dev (E<gt>= 1.28-4) [!linux-any]\n"
msgstr ""

#. type: Plain text
#: deb-src-control.5:323
#, no-wrap
msgid ""
"Package: dpkg-dev\n"
"Section: utils\n"
"Priority: optional\n"
"Architecture: all\n"
"# this is a custom field in the binary package\n"
"XB-Mentoring-Contact: Raphael Hertzog E<lt>hertzog@debian.orgE<gt>\n"
"Depends: dpkg (E<gt>= 1.14.6), perl5, perl-modules, cpio (E<gt>= 2.4.2-2),\n"
" bzip2, lzma, patch (E<gt>= 2.2-1), make, binutils, libtimedate-perl\n"
"Recommends: gcc | c-compiler, build-essential\n"
"Suggests: gnupg, debian-keyring\n"
"Conflicts: dpkg-cross (E<lt>E<lt> 2.0.0), devscripts (E<lt>E<lt> 2.10.26)\n"
"Replaces: manpages-pl (E<lt>= 20051117-1)\n"
"Description: Debian package development tools\n"
" This package provides the development tools (including dpkg-source)\n"
" required to unpack, build and upload Debian source packages.\n"
" .\n"
" Most Debian source packages will require additional tools to build;\n"
" for example, most packages need make and the C compiler gcc.\n"
msgstr ""

#. type: Plain text
#: deb-src-control.5:330
msgid "B<deb-control>(5), B<deb-version>(5), B<dpkg-source>(1)"
msgstr ""

#. type: TH
#: deb-split.5:1
#, no-wrap
msgid "deb-split"
msgstr ""

#. type: TH
#: deb-split.5:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1 dpkg-split.1:2 dpkg-statoverride.8:1 dpkg-vendor.1:1 start-stop-daemon.8:1
#, no-wrap
msgid "2011-07-04"
msgstr ""

#. type: Plain text
#: deb-split.5:4
msgid "deb-split - Debian multi-part binary package format"
msgstr ""

#. type: Plain text
#: deb-split.5:9
msgid ""
"The multi-part B<.deb> format is used to split big packages into smaller "
"pieces to ease transport in small media."
msgstr ""

#. type: Plain text
#: deb-split.5:12
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash (since dpkg 1.15.6)."
msgstr ""

#. type: Plain text
#: deb-split.5:15
msgid ""
"The first member is named B<debian-split> and contains a series of lines, "
"separated by newlines. Currently eight lines are present:"
msgstr ""

#. type: IP
#: deb-split.5:15 deb-split.5:18 deb-split.5:20 deb-split.5:22 deb-split.5:24 deb-split.5:26 deb-split.5:28 deb-split.5:31 dpkg-gensymbols.1:20 dpkg-gensymbols.1:22 dpkg-gensymbols.1:24 dpkg-gensymbols.1:26 dpkg-gensymbols.1:311 dpkg-gensymbols.1:317 dpkg-gensymbols.1:351 dpkg-gensymbols.1:355 dpkg-gensymbols.1:358
#, no-wrap
msgid "\\(bu"
msgstr ""

#. type: Plain text
#: deb-split.5:18
msgid "The format version number, B<2.1> at the time this manual page was written."
msgstr ""

#. type: Plain text
#: deb-split.5:20
msgid "The package name."
msgstr ""

#. type: Plain text
#: deb-split.5:22
msgid "The package version."
msgstr ""

#. type: Plain text
#: deb-split.5:24
msgid "The md5sum of the package."
msgstr ""

#. type: Plain text
#: deb-split.5:26
msgid "The total size of the package."
msgstr ""

#. type: Plain text
#: deb-split.5:28
msgid "The maximum part size."
msgstr ""

#. type: Plain text
#: deb-split.5:31
msgid ""
"The current part number, followed by a slash and the total amount of parts "
"(as in \\(oq1/10\\(cq)."
msgstr ""

#. type: Plain text
#: deb-split.5:33
msgid "The package architecture (since dpkg 1.16.1)."
msgstr ""

#. type: Plain text
#: deb-split.5:36
msgid ""
"Programs which read multi-part archives should be prepared for additional "
"lines to be present, and should ignore these if this is the case."
msgstr ""

#. type: Plain text
#: deb-split.5:41
msgid ""
"If the version number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""

#. type: Plain text
#: deb-split.5:44
msgid ""
"The second, last required member is named B<data.>I<N>, where I<N> denotes "
"the part number. It contains the raw part data."
msgstr ""

#. type: Plain text
#: deb-split.5:49
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.>I<N>.  Further members may be "
"defined in the future, and (if possible) will be placed after these two."
msgstr ""

#. type: Plain text
#: deb-split.5:51
msgid "B<deb>(5), B<dpkg-split>(1)."
msgstr ""

#. type: TH
#: deb-version.5:5
#, no-wrap
msgid "deb-version"
msgstr ""

#. type: Plain text
#: deb-version.5:8
msgid "deb-version - Debian package version number format"
msgstr ""

#. type: Plain text
#: deb-version.5:11
msgid "[I<epoch>B<:>]I<upstream-version>[B<->I<debian-revision>]"
msgstr ""

#. type: Plain text
#: deb-version.5:14
msgid ""
"Version numbers as used for Debian binary and source packages consist of "
"three components. These are:"
msgstr ""

#. type: TP
#: deb-version.5:14
#, no-wrap
msgid "I<epoch>"
msgstr ""

#. type: Plain text
#: deb-version.5:20
msgid ""
"This is a single (generally small) unsigned integer.  It may be omitted, in "
"which case zero is assumed.  If it is omitted then the I<upstream-version> "
"may not contain any colons."
msgstr ""

#. type: Plain text
#: deb-version.5:24
msgid ""
"It is provided to allow mistakes in the version numbers of older versions of "
"a package, and also a package's previous version numbering schemes, to be "
"left behind."
msgstr ""

#. type: TP
#: deb-version.5:24
#, no-wrap
msgid "I<upstream-version>"
msgstr ""

#. type: Plain text
#: deb-version.5:34
msgid ""
"This is the main part of the version number.  It is usually the version "
"number of the original (\"upstream\")  package from which the I<.deb> file "
"has been made, if this is applicable.  Usually this will be in the same "
"format as that specified by the upstream author(s); however, it may need to "
"be reformatted to fit into the package management system's format and "
"comparison scheme."
msgstr ""

#. type: Plain text
#: deb-version.5:39
msgid ""
"The comparison behavior of the package management system with respect to the "
"I<upstream-version> is described below. The I<upstream-version> portion of "
"the version number is mandatory."
msgstr ""

#. type: Plain text
#: deb-version.5:48
msgid ""
"The I<upstream-version> may contain only alphanumerics (\"A-Za-z0-9\") and "
"the characters B<.> B<+> B<-> B<:> B<~> (full stop, plus, hyphen, colon, "
"tilde) and should start with a digit.  If there is no I<debian-revision> "
"then hyphens are not allowed; if there is no I<epoch> then colons are not "
"allowed."
msgstr ""

#. type: TP
#: deb-version.5:48
#, no-wrap
msgid "I<debian-revision>"
msgstr ""

#. type: Plain text
#: deb-version.5:57
msgid ""
"This part of the version number specifies the version of the Debian package "
"based on the upstream version.  It may contain only alphanumerics and the "
"characters B<+> B<.> B<~> (plus, full stop, tilde) and is compared in the "
"same way as the I<upstream-version> is."
msgstr ""

#. type: Plain text
#: deb-version.5:64
msgid ""
"It is optional; if it isn't present then the I<upstream-version> may not "
"contain a hyphen.  This format represents the case where a piece of software "
"was written specifically to be turned into a Debian package, and so there is "
"only one \"debianisation\" of it and therefore no revision indication is "
"required."
msgstr ""

#. type: Plain text
#: deb-version.5:68
msgid ""
"It is conventional to restart the I<debian-revision> at '1' each time time "
"the I<upstream-version> is increased."
msgstr ""

#. type: Plain text
#: deb-version.5:76
msgid ""
"Dpkg will break the version number apart at the last hyphen in the string "
"(if there is one) to determine the I<upstream-version> and "
"I<debian-revision>. The absence of a I<debian-revision> compares earlier "
"than the presence of one (but note that the I<debian-revision> is the least "
"significant part of the version number)."
msgstr ""

#. type: SS
#: deb-version.5:76
#, no-wrap
msgid "Sorting Algorithm"
msgstr ""

#. type: Plain text
#: deb-version.5:80
msgid ""
"The I<upstream-version> and I<debian-revision> parts are compared by the "
"package management system using the same algorithm:"
msgstr ""

#. type: Plain text
#: deb-version.5:82
msgid "The strings are compared from left to right."
msgstr ""

#. type: Plain text
#: deb-version.5:92
msgid ""
"First the initial part of each string consisting entirely of non-digit "
"characters is determined.  These two parts (one of which may be empty) are "
"compared lexically.  If a difference is found it is returned.  The lexical "
"comparison is a comparison of ASCII values modified so that all the letters "
"sort earlier than all the non-letters and so that a tilde sorts before "
"anything, even the end of a part.  For example, the following parts are in "
"sorted order: '~~', '~~a', '~', the empty part, 'a'."
msgstr ""

#. type: Plain text
#: deb-version.5:100
msgid ""
"Then the initial part of the remainder of each string which consists "
"entirely of digit characters is determined.  The numerical values of these "
"two parts are compared, and any difference found is returned as the result "
"of the comparison.  For these purposes an empty string (which can only occur "
"at the end of one or both version strings being compared) counts as zero."
msgstr ""

#. type: Plain text
#: deb-version.5:104
msgid ""
"These two steps (comparing and removing initial non-digit strings and "
"initial digit strings) are repeated until a difference is found or both "
"strings are exhausted."
msgstr ""

#. type: Plain text
#: deb-version.5:112
msgid ""
"Note that the purpose of epochs is to allow us to leave behind mistakes in "
"version numbering, and to cope with situations where the version numbering "
"scheme changes.  It is B<not> intended to cope with version numbers "
"containing strings of letters which the package management system cannot "
"interpret (such as 'ALPHA' or 'pre-'), or with silly orderings."
msgstr ""

#. type: SH
#: deb-version.5:112 dpkg-parsechangelog.1:109
#, no-wrap
msgid "CAVEATS"
msgstr ""

#. type: Plain text
#: deb-version.5:116
msgid ""
"The tilde character and its special sorting properties were introduced in "
"dpkg, version 1.10 and some parts of dpkg-dev only gained support for it "
"later in the 1.10.x series."
msgstr ""

#. type: Plain text
#: deb-version.5:120
msgid "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"
msgstr ""

#. type: SH
#: deb-version.5:120 dpkg.1:783 dpkg-buildpackage.1:257 dpkg-distaddfile.1:47 dpkg-genchanges.1:148 dpkg-gencontrol.1:142 dpkg-gensymbols.1:460 dpkg-maintscript-helper.1:128 dpkg-parsechangelog.1:123 dpkg-shlibdeps.1:329 dpkg-source.1:730 dselect.1:451 start-stop-daemon.8:323 update-alternatives.8:494
#, no-wrap
msgid "AUTHORS"
msgstr ""

#. type: Plain text
#: deb-version.5:122
msgid "Copyright \\(co 1996,1997,1998 Ian Jackson and Christian Schwarz"
msgstr ""

#. type: Plain text
#: deb-version.5:124 dpkg-buildpackage.1:263
msgid "Copyright \\(co 2007 Frank Lichtenheld"
msgstr ""

#. type: Plain text
#: deb-version.5:126 deb-substvars.5:167 dpkg-buildflags.1:273 dpkg-buildpackage.1:267 dpkg-checkbuilddeps.1:44 dpkg-distaddfile.1:53 dpkg-deb.1:269 dpkg-divert.8:139 dpkg-genchanges.1:154 dpkg-gencontrol.1:150 dpkg-gensymbols.1:464 dpkg-maintscript-helper.1:139 dpkg-mergechangelogs.1:71 dpkg-name.1:108 dpkg-parsechangelog.1:131 dpkg-query.1:219 dpkg-shlibdeps.1:339 dpkg-source.1:738 dpkg-split.1:227 dpkg-statoverride.8:91 dpkg-vendor.1:53 update-alternatives.8:501
msgid ""
"This is free software; see the GNU General Public Licence version 2 or later "
"for copying conditions. There is NO WARRANTY."
msgstr ""

#. type: TH
#: deb-old.5:1
#, no-wrap
msgid "deb-old"
msgstr ""

#. type: Plain text
#: deb-old.5:4
msgid "deb-old - old style Debian binary package format"
msgstr ""

#. type: Plain text
#: deb-old.5:17
msgid ""
"The B<.deb> format is the Debian binary package file format. This manual "
"page describes the B<old> format, used before Debian 0.93. Please see "
"B<deb>(5)  for details of the new format."
msgstr ""

#. type: Plain text
#: deb-old.5:21
msgid ""
"The file is two lines of format information as ASCII text, followed by two "
"concatenated gzipped ustar files."
msgstr ""

#. type: Plain text
#: deb-old.5:25
msgid ""
"The first line is the format version number padded to 8 digits, and is "
"B<0.939000> for all old-format archives."
msgstr ""

#. type: Plain text
#: deb-old.5:28
msgid ""
"The second line is a decimal string (without leading zeroes) giving the "
"length of the first gzipped tarfile."
msgstr ""

#. type: Plain text
#: deb-old.5:30
msgid "Each of these lines is terminated with a single newline character."
msgstr ""

#. type: Plain text
#: deb-old.5:35
msgid ""
"The first tarfile contains the control information, as a series of ordinary "
"files. The file B<control> must be present, as it contains the core control "
"information."
msgstr ""

#. type: Plain text
#: deb-old.5:46
msgid ""
"In some very old archives, the files in the control tarfile may optionally "
"be in a B<DEBIAN> subdirectory. In that case, the B<DEBIAN> subdirectory "
"will be in the control tarfile too, and the control tarfile will have only "
"files in that directory. Optionally the control tarfile may contain an entry "
"for `B<.>', that is, the current directory."
msgstr ""

#. type: Plain text
#: deb-old.5:50
msgid ""
"The second gzipped tarfile is the filesystem archive, containing pathnames "
"relative to the root directory of the system to be installed on. The "
"pathnames do not have leading slashes."
msgstr ""

#. type: Plain text
#: deb-old.5:54
msgid "B<deb>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr ""

#. type: TH
#: deb-override.5:15
#, no-wrap
msgid "deb-override"
msgstr ""

#. type: TH
#: deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16 deb-substvars.5:2 deb-symbols.5:2 deb-triggers.5:1 dpkg-architecture.1:1 dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1 dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2 dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-scanpackages.1:15 dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2 dpkg-statoverride.8:1 start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "dpkg utilities"
msgstr ""

#. type: Plain text
#: deb-override.5:18
msgid "deb-override - Debian archive override file"
msgstr ""

#. type: Plain text
#: deb-override.5:21 deb-extra-override.5:7
msgid "override"
msgstr ""

#. type: Plain text
#: deb-override.5:27
msgid ""
"While most information about a package can be found in the control file, "
"some is managed centrally by the distribution czars rather than by the "
"maintainer in order to offer some global consistency.  This information is "
"found in the override file."
msgstr ""

#. type: Plain text
#: deb-override.5:31
msgid ""
"The override file has a simple whitespace-delimited format. Comments are "
"allowed (denoted with a B<#>)."
msgstr ""

#. type: Plain text
#: deb-override.5:37
msgid "I<package> I<priority> I<section> [I<maintainerinfo>]"
msgstr ""

#. type: Plain text
#: deb-override.5:42
msgid ""
"I<package> is the name of the package. Entries in the override file for "
"packages not found in the tree of binary packages are ignored."
msgstr ""

#. type: Plain text
#: deb-override.5:48
msgid ""
"I<priority> and I<section> correspond to the respective control fields "
"available in the .deb. The allowed values are listed in the Debian policy."
msgstr ""

#. type: Plain text
#: deb-override.5:56
msgid ""
"I<maintainerinfo>, if present, can be either the name of a maintainer for an "
"unconditional override, or else I<oldmaintainer> B<=E<gt>> I<newmaintainer> "
"to perform a substitution."
msgstr ""

#. type: Plain text
#: deb-override.5:61
msgid ""
"The override files used to make the official Packages lists may be found in "
"the I<indices> directory on any Debian mirror."
msgstr ""

#. type: Plain text
#: deb-override.5:66
msgid ""
"B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1), "
"B</usr/share/doc/debian-policy/policy.html/index.html>."
msgstr ""

#. type: TH
#: deb-extra-override.5:1
#, no-wrap
msgid "deb-extra-override"
msgstr ""

#. type: TH
#: deb-extra-override.5:1
#, no-wrap
msgid "2009-08-16"
msgstr ""

#. type: Plain text
#: deb-extra-override.5:4
msgid "deb-extra-override - Debian archive extra override file"
msgstr ""

#. type: Plain text
#: deb-extra-override.5:12
msgid ""
"While most information about a binary/source package can be found in the "
"control/.dsc file, all of it can be overridden when it's exported to "
"Packages/Sources files. The extra override file contains those overrides."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:16
msgid ""
"The extra override file has a simple whitespace-delimited format. Comments "
"are allowed (denoted with a B<#>)."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:21
msgid "I<package> I<field-name> I<value>"
msgstr ""

#. type: Plain text
#: deb-extra-override.5:25
msgid "I<package> is the name of the binary/source package."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:31
msgid ""
"I<field-name> is the name of the field that is overridden.  I<value> is the "
"value to put in the field. It can contain spaces as the line is split in no "
"more than 3 columns when it's parsed."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:36
msgid ""
"The extra override files used to make the official Packages lists may be "
"found in the I<indices> directory on any Debian mirror."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:40
msgid "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."
msgstr ""

#. type: TH
#: deb-shlibs.5:16
#, no-wrap
msgid "deb-shlibs"
msgstr ""

#. type: TH
#: deb-shlibs.5:16
#, no-wrap
msgid "2008-02-17"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:19
msgid "deb-shlibs - Debian shared library information file"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:29
msgid ""
"B<shlibs> files map shared library names and versions (I<sonames>)  to "
"dependencies suitable for a package control file.  There is one entry per "
"line. Blank lines are B<not> allowed.  Lines beginning with an B<#> "
"character are considered commentary, and are ignored.  All other lines must "
"have the format"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:34
msgid "[I<type>B<:>] I<library> I<version> I<dependencies>"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:38
msgid ""
"The I<library> and I<version> fields are whitespace-delimited, but the "
"I<dependencies> field extends to the end of the line.  The I<type> field is "
"optional and normally not needed."
msgstr ""

#. type: Plain text
#: deb-shlibs.5:40
msgid "See the Debian Policy Manual for further details."
msgstr ""

#. type: SH
#: deb-shlibs.5:41 deb-symbols.5:43 dpkg.1:714 dpkg-architecture.1:262 dpkg-divert.8:91 dpkg-name.1:65 update-alternatives.8:459
#, no-wrap
msgid "EXAMPLES"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:50
msgid ""
"The B<shlibs> file for a typical library package, named I<libcrunch1>, that "
"provides one library whose soname is I<libcrunch.so.1>, might read"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:52
msgid "libcrunch 1 libcrunch1 (E<gt>= 1.2-1)"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:60
msgid ""
"The I<dependencies> must mention the most recent version of the package that "
"added new symbols to the library: in the above example, new symbols were "
"added to version 1.2 of I<libcrunch>.  This is not the only reason the "
"dependencies might need to be tightened; again, see the Debian Policy Manual "
"for details."
msgstr ""

#. type: Plain text
#: deb-shlibs.5:63
msgid "B<dpkg-shlibdeps>(1), B<deb-symbols>(5)."
msgstr ""

#. type: TH
#: deb-substvars.5:2
#, no-wrap
msgid "deb-substvars"
msgstr ""

#. type: TH
#: deb-substvars.5:2
#, no-wrap
msgid "2009-07-15"
msgstr ""

#. type: Plain text
#: deb-substvars.5:5
msgid "deb-substvars - Debian source substitution variables"
msgstr ""

#. type: Plain text
#: deb-substvars.5:8
msgid "substvars"
msgstr ""

#. type: Plain text
#: deb-substvars.5:19
msgid ""
"Before B<dpkg-source>, B<dpkg-gencontrol> and B<dpkg-genchanges> write their "
"control information (to the source control file B<.dsc> for B<dpkg-source> "
"and to standard output for B<dpkg-gencontrol> and B<dpkg-genchanges>)  they "
"perform some variable substitutions on the output file."
msgstr ""

#. type: Plain text
#: deb-substvars.5:26
msgid ""
"A variable substitution has the form B<${>I<variable-name>B<}>.  Variable "
"names consist of alphanumerics, hyphens and colons and start with an "
"alphanumeric. Variable substitutions are performed repeatedly until none are "
"left; the full text of the field after the substitution is rescanned to look "
"for more substitutions."
msgstr ""

#. type: Plain text
#: deb-substvars.5:33
msgid ""
"After all the substitutions have been done each occurrence of the string "
"B<${}> (which is not a legal substitution) is replaced with a B<$> sign."
msgstr ""

#. type: Plain text
#: deb-substvars.5:38
msgid ""
"While variable substitution is done on all control fields, some of those "
"fields are used and needed during the build when the substitution did not "
"yet occur. That's why you can't use variables in the B<Package>, B<Source> "
"and B<Architecture> fields."
msgstr ""

#. type: Plain text
#: deb-substvars.5:45
msgid ""
"Variable substitution happens on the content of the fields after they have "
"been parsed, thus if you want a variable to expand over multiple lines you "
"do not have to include a space after the newline. This is done implicitly "
"when the field is output. For example, if the variable B<${Description}> is "
"set to \"foo is bar.${Newline}foo is great.\" and if you have the following "
"field:"
msgstr ""

#. type: Plain text
#: deb-substvars.5:50
#, no-wrap
msgid ""
" Description: foo application\n"
"  ${Description}\n"
"  .\n"
"  More text.\n"
msgstr ""

#. type: Plain text
#: deb-substvars.5:52
msgid "It will result in:"
msgstr ""

#. type: Plain text
#: deb-substvars.5:58
#, no-wrap
msgid ""
" Description: foo application\n"
"  foo is bar.\n"
"  foo is great.\n"
"  .\n"
"  More text.\n"
msgstr ""

#. type: Plain text
#: deb-substvars.5:71
msgid ""
"Variables can be set using the B<-V> common option. They can be also "
"specified in the file B<debian/substvars> (or whatever other file is "
"specified using the B<-T> option). This file consists of lines of the form "
"I<name>B<=>I<value>.  Trailing whitespace on each line, blank lines, and "
"lines starting with a B<#> symbol (comments) are ignored."
msgstr ""

#. type: Plain text
#: deb-substvars.5:73
msgid "Additionally, the following standard variables are available:"
msgstr ""

#. type: TP
#: deb-substvars.5:73
#, no-wrap
msgid "B<Arch>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:77
msgid "The current build architecture (from B<dpkg --print-architecture>)."
msgstr ""

#. type: TP
#: deb-substvars.5:77
#, no-wrap
msgid "B<source:Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:80
msgid "The source package version."
msgstr ""

#. type: TP
#: deb-substvars.5:80
#, no-wrap
msgid "B<source:Upstream-Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:84
msgid ""
"The upstream source package version, including the Debian version epoch if "
"any."
msgstr ""

#. type: TP
#: deb-substvars.5:84
#, no-wrap
msgid "B<binary:Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:88
msgid ""
"The binary package version (which may differ from source:Version in a binNMU "
"for example)."
msgstr ""

#. type: TP
#: deb-substvars.5:88
#, no-wrap
msgid "B<Source-Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:93
msgid ""
"The source package version (from the changelog file). This variable is now "
"B<deprecated> as its meaning is different from its function, please use the "
"B<source:Version> or B<binary:Version> as appropriate."
msgstr ""

#. type: TP
#: deb-substvars.5:93
#, no-wrap
msgid "B<Installed-Size>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:102
msgid ""
"The total size of the package's installed files. This value is copied into "
"the corresponding control file field; setting it will modify the value of "
"that field. If this variable isn't set B<dpkg-gencontrol> will use B<du -k "
"debian/tmp> to find the default value."
msgstr ""

#. type: TP
#: deb-substvars.5:102
#, no-wrap
msgid "B<Extra-Size>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:111
msgid ""
"Additional disk space used when the package is installed. If this variable "
"is set its value is added to that of the B<Installed-Size> variable (whether "
"set explicitly or using the default value) before it is copied into the "
"B<Installed-Size> control file field."
msgstr ""

#. type: TP
#: deb-substvars.5:111
#, no-wrap
msgid "B<F:>I<fieldname>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:118
msgid ""
"The value of the output field I<fieldname> (which must be given in the "
"canonical capitalisation). Setting these variables has no effect other than "
"on places where they are expanded explicitly."
msgstr ""

#. type: TP
#: deb-substvars.5:118
#, no-wrap
msgid "B<Format>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:128
msgid ""
"The B<.changes> file format version generated by this version of the source "
"packaging scripts. If you set this variable the contents of the B<Format> "
"field in the B<.changes> file will change too."
msgstr ""

#. type: TP
#: deb-substvars.5:128
#, no-wrap
msgid "B<Newline>, B<Space>, B<Tab>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:131
msgid "These variables each hold the corresponding character."
msgstr ""

#. type: TP
#: deb-substvars.5:131
#, no-wrap
msgid "B<shlibs:>I<dependencyfield>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:135
msgid ""
"Variable settings with names of this form are generated by "
"B<dpkg-shlibdeps>."
msgstr ""

#. type: TP
#: deb-substvars.5:135
#, no-wrap
msgid "B<dpkg:Upstream-Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:138
msgid "The upstream version of dpkg."
msgstr ""

#. type: TP
#: deb-substvars.5:138
#, no-wrap
msgid "B<dpkg:Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:141
msgid "The full version of dpkg."
msgstr ""

#. type: Plain text
#: deb-substvars.5:144
msgid ""
"If a variable is referred to but not defined it generates a warning and an "
"empty value is assumed."
msgstr ""

#. type: SH
#: deb-substvars.5:145 dpkg.1:627 dpkg-architecture.1:284 dpkg.cfg.5:12 dpkg-buildflags.1:121 dpkg-distaddfile.1:39 dpkg-divert.8:122 dpkg-genchanges.1:138 dpkg-gencontrol.1:128 dpkg-parsechangelog.1:115 dpkg-split.1:206 dpkg-statoverride.8:74 dselect.cfg.5:12 update-alternatives.8:360
#, no-wrap
msgid "FILES"
msgstr ""

#. type: TP
#: deb-substvars.5:146
#, no-wrap
msgid "B<debian/substvars>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:149
msgid "List of substitution variables and values."
msgstr ""

#. type: SH
#: deb-substvars.5:150 dpkg.1:780 dpkg-buildpackage.1:244 dpkg-deb.1:238 dpkg-name.1:86 dpkg-source.1:722 dpkg-split.1:199 dselect.1:429 update-alternatives.8:486
#, no-wrap
msgid "BUGS"
msgstr ""

#. type: Plain text
#: deb-substvars.5:153 dpkg-source.1:725
msgid ""
"The point at which field overriding occurs compared to certain standard "
"output field settings is rather confused."
msgstr ""

#. type: Plain text
#: deb-substvars.5:160
msgid ""
"B<dpkg>(1), B<dpkg-genchanges>(1), B<dpkg-gencontrol>(1), "
"B<dpkg-shlibdeps>(1), B<dpkg-source>(1)."
msgstr ""

#. type: SH
#: deb-substvars.5:161 dpkg-architecture.1:303 dpkg.cfg.5:19 dpkg-buildflags.1:266 dpkg-checkbuilddeps.1:40 dpkg-deb.1:265 dpkg-divert.8:135 dpkg-mergechangelogs.1:66 dpkg-name.1:104 dpkg-query.1:214 dpkg-scansources.1:76 dpkg-split.1:223 dpkg-statoverride.8:87 dpkg-vendor.1:48 dselect.cfg.5:19
#, no-wrap
msgid "AUTHOR"
msgstr ""

#. type: Plain text
#: deb-substvars.5:163 dpkg-buildpackage.1:259 dpkg-distaddfile.1:49 dpkg-deb.1:267 dpkg-genchanges.1:150 dpkg-gencontrol.1:144 dpkg-parsechangelog.1:125 dpkg-shlibdeps.1:331 dpkg-source.1:732 dpkg-split.1:225
msgid "Copyright \\(co 1995-1996 Ian Jackson"
msgstr ""

#. type: Plain text
#: deb-substvars.5:165 dpkg-buildpackage.1:261 dpkg-distaddfile.1:51 dpkg-genchanges.1:152 dpkg-gencontrol.1:146 dpkg-parsechangelog.1:127 dpkg-shlibdeps.1:333 dpkg-source.1:734 dpkg-statoverride.8:89
msgid "Copyright \\(co 2000 Wichert Akkerman"
msgstr ""

#. type: TH
#: deb-symbols.5:2
#, no-wrap
msgid "deb-symbols"
msgstr ""

#. type: Plain text
#: deb-symbols.5:5
msgid "deb-symbols - Debian's extended shared library information file"
msgstr ""

#. type: Plain text
#: deb-symbols.5:8
msgid "symbols"
msgstr ""

#. type: Plain text
#: deb-symbols.5:12
msgid ""
"The format for an extended shared library dependency information entry in "
"these files is:"
msgstr ""

#. type: Plain text
#: deb-symbols.5:14
msgid "I<library-soname main-dependency-template>"
msgstr ""

#. type: Plain text
#: deb-symbols.5:16
msgid "[ | I<alternative-dependency-template> ]"
msgstr ""

#. type: Plain text
#: deb-symbols.5:18
msgid "[ ... ]"
msgstr ""

#. type: Plain text
#: deb-symbols.5:20
msgid "[ * I<field-name>: I<field-value> ]"
msgstr ""

#. type: Plain text
#: deb-symbols.5:23
#, no-wrap
msgid ""
"[ ... ]\n"
" I<symbol> I<minimal-version>[ I<id-of-dependency-template> ]\n"
msgstr ""

#. type: Plain text
#: deb-symbols.5:29
msgid ""
"The I<library-soname> is exactly the value of the SONAME field as exported "
"by B<objdump>(1). A I<dependency-template> is a dependency where I<#MINVER#> "
"is dynamically replaced either by a version check like \"(E<gt>= "
"I<minimal-version>)\" or by nothing (if an unversioned dependency is deemed "
"sufficient)."
msgstr ""

#. type: Plain text
#: deb-symbols.5:36
msgid ""
"Each exported I<symbol> (listed as I<name>@I<version>, with I<version> being "
"\"Base\" if the library is not versioned) is associated to a "
"I<minimal-version> of its dependency template (the main dependency template "
"is used if I<id-of-dependency-template> is not present). The first "
"alternative dependency template is numbered 1, the second one 2, etc."
msgstr ""

#. type: Plain text
#: deb-symbols.5:43
msgid ""
"Each entry for a library can also have some fields of meta-information.  "
"Those fields are stored on lines starting with an asterisk. Currently, the "
"only valid field is I<Build-Depends-Package>, it indicates the name of the "
"\"-dev\" package associated to the library and is used by B<dpkg-shlibdeps> "
"to make sure that the dependency generated is at least as strict as the "
"corresponding build dependency."
msgstr ""

#. type: SS
#: deb-symbols.5:44
#, no-wrap
msgid "Simple symbols file"
msgstr ""

#. type: Plain text
#: deb-symbols.5:50
#, no-wrap
msgid ""
"libftp.so.3 libftp3 #MINVER#\n"
" DefaultNetbuf@Base 3.1-1-6\n"
" FtpAccess@Base 3.1-1-6\n"
" [...]\n"
msgstr ""

#. type: SS
#: deb-symbols.5:50
#, no-wrap
msgid "Advanced symbols file"
msgstr ""

#. type: Plain text
#: deb-symbols.5:53
msgid "libGL.so.1 libgl1"
msgstr ""

#. type: Plain text
#: deb-symbols.5:55
msgid "| libgl1-mesa-glx #MINVER#"
msgstr ""

#. type: Plain text
#: deb-symbols.5:61
#, no-wrap
msgid ""
"* Build-Depends-Package: libgl1-mesa-dev\n"
" publicGlSymbol@Base 6.3-1\n"
" [...]\n"
" implementationSpecificSymbol@Base 6.5.2-7 1\n"
" [...]\n"
msgstr ""

#. type: Plain text
#: deb-symbols.5:63
msgid "B<http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>"
msgstr ""

#. type: Plain text
#: deb-symbols.5:65
msgid "B<dpkg-shlibdeps>(1), B<dpkg-gensymbols>(1)."
msgstr ""

#. type: TH
#: deb-triggers.5:1
#, no-wrap
msgid "deb-triggers"
msgstr ""

#. type: Plain text
#: deb-triggers.5:4
msgid "deb-triggers - package triggers"
msgstr ""

#. type: Plain text
#: deb-triggers.5:7
msgid "triggers"
msgstr ""

#. type: Plain text
#: deb-triggers.5:12
msgid ""
"A package declares its relationship to some trigger(s) by including a "
"I<triggers> file in its control archive (i.e. I<DEBIAN/triggers> during "
"package creation)."
msgstr ""

#. type: Plain text
#: deb-triggers.5:16
msgid ""
"This file contains directives, one per line. Leading and trailing whitespace "
"and everything after the first B<#> on any line will be trimmed, and empty "
"lines will be ignored."
msgstr ""

#. type: Plain text
#: deb-triggers.5:18
msgid "The trigger control directives currently supported are:"
msgstr ""

#. type: Plain text
#: deb-triggers.5:22
msgid "B<interest> I<trigger-name>"
msgstr ""

#. type: Plain text
#: deb-triggers.5:26
msgid "B<interest-noawait> I<trigger-name>"
msgstr ""

#. type: Plain text
#: deb-triggers.5:33
msgid ""
"Specifies that the package is interested in the named trigger. All triggers "
"in which a package is interested must be listed using this directive in the "
"triggers control file. The \"noawait\" variant does not put the triggering "
"packages in triggers-awaited state. This should be used when the "
"functionality provided by the trigger is not crucial."
msgstr ""

#. type: Plain text
#: deb-triggers.5:37
msgid "B<activate> I<trigger-name>"
msgstr ""

#. type: Plain text
#: deb-triggers.5:41
msgid "B<activate-noawait> I<trigger-name>"
msgstr ""

#. type: Plain text
#: deb-triggers.5:50
msgid ""
"Arranges that changes to this package's state will activate the specified "
"trigger. The trigger will be activated at the start of the following "
"operations: unpack, configure, remove (including for the benefit of a "
"conflicting package), purge and deconfigure.  The \"noawait\" variant does "
"not put the triggering packages in triggers-awaited state. This should be "
"used when the functionality provided by the trigger is not crucial."
msgstr ""

#. type: Plain text
#: deb-triggers.5:58
msgid ""
"If this package disappears during the unpacking of another package the "
"trigger will be activated when the disappearance is noted towards the end of "
"the unpack. Trigger processing, and transition from triggers-awaited to "
"installed, does not cause activations.  In the case of unpack, triggers "
"mentioned in both the old and new versions of the package will be activated."
msgstr ""

#. type: Plain text
#: deb-triggers.5:61
msgid ""
"Unknown directives are an error which will prevent installation of the "
"package."
msgstr ""

#. type: Plain text
#: deb-triggers.5:66
msgid ""
"The \"-noawait\" variants are only supported by dpkg 1.16.1 or newer, and "
"will lead to errors if used with an older dpkg. It is thus recommended to "
"add a \"Pre-Depends: dpkg (E<gt>= 1.16.1)\" to any package that wish to use "
"those directives."
msgstr ""

#. type: Plain text
#: deb-triggers.5:70
msgid "B<dpkg-trigger>(1), B<dpkg>(1), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr ""

#. type: TH
#: dpkg.1:1
#, no-wrap
msgid "dpkg"
msgstr ""

#. type: TH
#: dpkg.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1 dpkg-deb.1:1 dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-query.1:1 dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.cfg.5:1
#, no-wrap
msgid "dpkg suite"
msgstr ""

#. type: Plain text
#: dpkg.1:4
msgid "dpkg - package manager for Debian"
msgstr ""

#. type: Plain text
#: dpkg.1:8
msgid "B<dpkg> [I<option>...] I<action>"
msgstr ""

#. type: SH
#: dpkg.1:9
#, no-wrap
msgid "WARNING"
msgstr ""

#. type: Plain text
#: dpkg.1:13
msgid ""
"This manual is intended for users wishing to understand B<dpkg>'s command "
"line options and package states in more detail than that provided by B<dpkg "
"--help>."
msgstr ""

#. type: Plain text
#: dpkg.1:18
msgid ""
"It should I<not> be used by package maintainers wishing to understand how "
"B<dpkg> will install their packages. The descriptions of what B<dpkg> does "
"when installing and removing packages are particularly inadequate."
msgstr ""

#. type: Plain text
#: dpkg.1:26
msgid ""
"B<dpkg> is a tool to install, build, remove and manage Debian packages. The "
"primary and more user-friendly front-end for B<dpkg> is "
"B<aptitude>(1). B<dpkg> itself is controlled entirely via command line "
"parameters, which consist of exactly one action and zero or more "
"options. The action-parameter tells B<dpkg> what to do and options control "
"the behavior of the action in some way."
msgstr ""

#. type: Plain text
#: dpkg.1:33
msgid ""
"B<dpkg> can also be used as a front-end to B<dpkg-deb>(1) and "
"B<dpkg-query>(1). The list of supported actions can be found later on in the "
"B<ACTIONS> section. If any such action is encountered B<dpkg> just runs "
"B<dpkg-deb> or B<dpkg-query> with the parameters given to it, but no "
"specific options are currently passed to them, to use any such option the "
"back-ends need to be called directly."
msgstr ""

#. type: SH
#: dpkg.1:34
#, no-wrap
msgid "INFORMATION ABOUT PACKAGES"
msgstr ""

#. type: Plain text
#: dpkg.1:39
msgid ""
"B<dpkg> maintains some usable information about available packages. The "
"information is divided in three classes: B<states>, B<selection states> and "
"B<flags>. These values are intended to be changed mainly with B<dselect>."
msgstr ""

#. type: SS
#: dpkg.1:39
#, no-wrap
msgid "PACKAGE STATES"
msgstr ""

#. type: TP
#: dpkg.1:40
#, no-wrap
msgid "B<not-installed>"
msgstr ""

#. type: Plain text
#: dpkg.1:43
msgid "The package is not installed on your system."
msgstr ""

#. type: TP
#: dpkg.1:43
#, no-wrap
msgid "B<config-files>"
msgstr ""

#. type: Plain text
#: dpkg.1:46
msgid "Only the configuration files of the package exist on the system."
msgstr ""

#. type: TP
#: dpkg.1:46
#, no-wrap
msgid "B<half-installed>"
msgstr ""

#. type: Plain text
#: dpkg.1:50
msgid ""
"The installation of the package has been started, but not completed for some "
"reason."
msgstr ""

#. type: TP
#: dpkg.1:50
#, no-wrap
msgid "B<unpacked>"
msgstr ""

#. type: Plain text
#: dpkg.1:53
msgid "The package is unpacked, but not configured."
msgstr ""

#. type: TP
#: dpkg.1:53
#, no-wrap
msgid "B<half-configured>"
msgstr ""

#. type: Plain text
#: dpkg.1:57
msgid ""
"The package is unpacked and configuration has been started, but not yet "
"completed for some reason."
msgstr ""

#. type: TP
#: dpkg.1:57
#, no-wrap
msgid "B<triggers-awaited>"
msgstr ""

#. type: Plain text
#: dpkg.1:60
msgid "The package awaits trigger processing by another package."
msgstr ""

#. type: TP
#: dpkg.1:60
#, no-wrap
msgid "B<triggers-pending>"
msgstr ""

#. type: Plain text
#: dpkg.1:63
msgid "The package has been triggered."
msgstr ""

#. type: TP
#: dpkg.1:63
#, no-wrap
msgid "B<installed>"
msgstr ""

#. type: Plain text
#: dpkg.1:66
msgid "The package is unpacked and configured OK."
msgstr ""

#. type: SS
#: dpkg.1:66
#, no-wrap
msgid "PACKAGE SELECTION STATES"
msgstr ""

#. type: TP
#: dpkg.1:67
#, no-wrap
msgid "B<install>"
msgstr ""

#. type: Plain text
#: dpkg.1:70
msgid "The package is selected for installation."
msgstr ""

#. type: TP
#: dpkg.1:70
#, no-wrap
msgid "B<hold>"
msgstr ""

#. type: Plain text
#: dpkg.1:74
msgid ""
"A package marked to be on B<hold> is not handled by B<dpkg>, unless forced "
"to do that with option B<--force-hold>."
msgstr ""

#. type: TP
#: dpkg.1:74
#, no-wrap
msgid "B<deinstall>"
msgstr ""

#. type: Plain text
#: dpkg.1:78
msgid ""
"The package is selected for deinstallation (i.e. we want to remove all "
"files, except configuration files)."
msgstr ""

#. type: TP
#: dpkg.1:78
#, no-wrap
msgid "B<purge>"
msgstr ""

#. type: Plain text
#: dpkg.1:82
msgid ""
"The package is selected to be purged (i.e. we want to remove everything from "
"system directories, even configuration files)."
msgstr ""

#. type: SS
#: dpkg.1:82
#, no-wrap
msgid "PACKAGE FLAGS"
msgstr ""

#. type: TP
#: dpkg.1:83
#, no-wrap
msgid "B<reinst-required>"
msgstr ""

#. type: Plain text
#: dpkg.1:88
msgid ""
"A package marked B<reinst-required> is broken and requires "
"reinstallation. These packages cannot be removed, unless forced with option "
"B<--force-remove-reinstreq>."
msgstr ""

#. type: SH
#: dpkg.1:89 dselect.1:120
#, no-wrap
msgid "ACTIONS"
msgstr ""

#. type: TP
#: dpkg.1:90
#, no-wrap
msgid "B<-i>, B<--install> I<package-file>..."
msgstr ""

#. type: Plain text
#: dpkg.1:94
msgid ""
"Install the package. If B<--recursive> or B<-R> option is specified, "
"I<package-file> must refer to a directory instead."
msgstr ""

#. type: Plain text
#: dpkg.1:96
msgid "Installation consists of the following steps:"
msgstr ""

#. type: Plain text
#: dpkg.1:99
msgid "B<1.> Extract the control files of the new package."
msgstr ""

#. type: Plain text
#: dpkg.1:103
msgid ""
"B<2.> If another version of the same package was installed before the new "
"installation, execute I<prerm> script of the old package."
msgstr ""

#. type: Plain text
#: dpkg.1:106
msgid "B<3.> Run I<preinst> script, if provided by the package."
msgstr ""

#. type: Plain text
#: dpkg.1:110
msgid ""
"B<4.> Unpack the new files, and at the same time back up the old files, so "
"that if something goes wrong, they can be restored."
msgstr ""

#. type: Plain text
#: dpkg.1:117
msgid ""
"B<5.> If another version of the same package was installed before the new "
"installation, execute the I<postrm> script of the old package. Note that "
"this script is executed after the I<preinst> script of the new package, "
"because new files are written at the same time old files are removed."
msgstr ""

#. type: Plain text
#: dpkg.1:121
msgid ""
"B<6.> Configure the package. See B<--configure> for detailed information "
"about how this is done."
msgstr ""

#. type: TP
#: dpkg.1:121
#, no-wrap
msgid "B<--unpack >I<package-file>..."
msgstr ""

#. type: Plain text
#: dpkg.1:126
msgid ""
"Unpack the package, but don't configure it. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""

#. type: TP
#: dpkg.1:126
#, no-wrap
msgid "B<--configure >I<package>...|B<-a>|B<--pending>"
msgstr ""

#. type: Plain text
#: dpkg.1:131
msgid ""
"Configure a package which has been unpacked but not yet configured.  If "
"B<-a> or B<--pending> is given instead of I<package>, all unpacked but "
"unconfigured packages are configured."
msgstr ""

#. type: Plain text
#: dpkg.1:135
msgid ""
"To reconfigure a package which has already been configured, try the "
"B<dpkg-reconfigure>(8)  command instead."
msgstr ""

#. type: Plain text
#: dpkg.1:137
msgid "Configuring consists of the following steps:"
msgstr ""

#. type: Plain text
#: dpkg.1:142
msgid ""
"B<1.> Unpack the conffiles, and at the same time back up the old conffiles, "
"so that they can be restored if something goes wrong."
msgstr ""

#. type: Plain text
#: dpkg.1:145
msgid "B<2.> Run I<postinst> script, if provided by the package."
msgstr ""

#. type: TP
#: dpkg.1:145
#, no-wrap
msgid "B<--triggers-only> I<package>...|B<-a>|B<--pending>"
msgstr ""

#. type: Plain text
#: dpkg.1:152
msgid ""
"Processes only triggers. All pending triggers will be processed. If package "
"names are supplied only those packages' triggers will be processed, exactly "
"once each where necessary. Use of this option may leave packages in the "
"improper B<triggers-awaited> and B<triggers-pending> states. This can be "
"fixed later by running: B<dpkg --configure --pending>."
msgstr ""

#. type: TP
#: dpkg.1:152
#, no-wrap
msgid "B<-r>, B<--remove>, B<-P>, B<--purge >I<package>...|B<-a>|B<--pending>"
msgstr ""

#. type: Plain text
#: dpkg.1:169
msgid ""
"Remove an installed package. B<-r> or B<--remove> remove everything except "
"conffiles. This may avoid having to reconfigure the package if it is "
"reinstalled later. (Conffiles are configuration files that are listed in the "
"I<DEBIAN/conffiles> control file). B<-P> or B<--purge> removes everything, "
"including conffiles. If B<-a> or B<--pending> is given instead of a package "
"name, then all packages unpacked, but marked to be removed or purged in file "
"I</var/lib/dpkg/status>, are removed or purged, respectively. Note: some "
"configuration files might be unknown to B<dpkg> because they are created and "
"handled separately through the configuration scripts. In that case, B<dpkg> "
"won't remove them by itself, but the package's I<postrm> script (which is "
"called by B<dpkg>), has to take care of their removal during purge. Of "
"course, this only applies to files in system directories, not configuration "
"files written to individual users' home directories."
msgstr ""

#. type: Plain text
#: dpkg.1:171
msgid "Removing of a package consists of the following steps:"
msgstr ""

#. type: Plain text
#: dpkg.1:174
msgid "B<1.> Run I<prerm> script"
msgstr ""

#. type: Plain text
#: dpkg.1:177
msgid "B<2.> Remove the installed files"
msgstr ""

#. type: Plain text
#: dpkg.1:180
msgid "B<3.> Run I<postrm> script"
msgstr ""

#. type: TP
#: dpkg.1:181
#, no-wrap
msgid "B<--update-avail>, B<--merge-avail> I<Packages-file>"
msgstr ""

#. type: Plain text
#: dpkg.1:190
msgid ""
"Update B<dpkg>'s and B<dselect>'s idea of which packages are available. With "
"action B<--merge-avail>, old information is combined with information from "
"I<Packages-file>. With action B<--update-avail>, old information is replaced "
"with the information in the I<Packages-file>. The I<Packages-file> "
"distributed with Debian is simply named I<Packages>. B<dpkg> keeps its "
"record of available packages in I</var/lib/dpkg/available>."
msgstr ""

#. type: Plain text
#: dpkg.1:195
msgid ""
"A simpler one-shot command to retrieve and update the I<available> file is "
"B<dselect update>. Note that this file is mostly useless if you don't use "
"B<dselect> but an APT-based frontend: APT has its own system to keep track "
"of available packages."
msgstr ""

#. type: TP
#: dpkg.1:195
#, no-wrap
msgid "B<-A>, B<--record-avail> I<package-file>..."
msgstr ""

#. type: Plain text
#: dpkg.1:201
msgid ""
"Update B<dpkg> and B<dselect>'s idea of which packages are available with "
"information from the package I<package-file>. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""

#. type: TP
#: dpkg.1:201
#, no-wrap
msgid "B<--forget-old-unavail>"
msgstr ""

#. type: Plain text
#: dpkg.1:205
msgid ""
"Now B<obsolete> and a no-op as B<dpkg> will automatically forget uninstalled "
"unavailable packages."
msgstr ""

#. type: TP
#: dpkg.1:205
#, no-wrap
msgid "B<--clear-avail>"
msgstr ""

#. type: Plain text
#: dpkg.1:208
msgid "Erase the existing information about what packages are available."
msgstr ""

#. type: TP
#: dpkg.1:208
#, no-wrap
msgid " B<-C>, B<--audit>"
msgstr ""

#. type: Plain text
#: dpkg.1:213
msgid ""
"Searches for packages that have been installed only partially on your "
"system. B<dpkg> will suggest what to do with them to get them working."
msgstr ""

#. type: TP
#: dpkg.1:213
#, no-wrap
msgid "B<--get-selections> [I<package-name-pattern>...]"
msgstr ""

#. type: Plain text
#: dpkg.1:218
msgid ""
"Get list of package selections, and write it to stdout. Without a pattern, "
"non-installed packages (i.e. those which have been previously purged)  will "
"not be shown."
msgstr ""

#. type: TP
#: dpkg.1:218 update-alternatives.8:299
#, no-wrap
msgid "B<--set-selections>"
msgstr ""

#. type: Plain text
#: dpkg.1:224
msgid ""
"Set package selections using file read from stdin. This file should be in "
"the format 'I<package> I<state>', where state is one of B<install>, B<hold>, "
"B<deinstall> or B<purge>. Blank lines and comment lines beginning with '#' "
"are also permitted."
msgstr ""

#. type: TP
#: dpkg.1:224
#, no-wrap
msgid "B<--clear-selections>"
msgstr ""

#. type: Plain text
#: dpkg.1:229
msgid ""
"Set the requested state of every non-essential package to deinstall.  This "
"is intended to be used immediately before --set-selections, to deinstall any "
"packages not in list given to --set-selections."
msgstr ""

#. type: TP
#: dpkg.1:229
#, no-wrap
msgid "B<--yet-to-unpack>"
msgstr ""

#. type: Plain text
#: dpkg.1:233
msgid ""
"Searches for packages selected for installation, but which for some reason "
"still haven't been installed."
msgstr ""

#. type: TP
#: dpkg.1:234
#, no-wrap
msgid "B<--print-architecture>"
msgstr ""

#. type: Plain text
#: dpkg.1:237
msgid "Print architecture of packages B<dpkg> installs (for example, \"i386\")."
msgstr ""

#. type: TP
#: dpkg.1:237
#, no-wrap
msgid "B<--compare-versions >I<ver1 op ver2>"
msgstr ""

#. type: Plain text
#: dpkg.1:248
msgid ""
"Compare version numbers, where I<op> is a binary operator. B<dpkg> returns "
"success (zero result) if the specified condition is satisfied, and failure "
"(nonzero result) otherwise. There are two groups of operators, which differ "
"in how they treat an empty I<ver1> or I<ver2>. These treat an empty version "
"as earlier than any version: B<lt le eq ne ge gt>. These treat an empty "
"version as later than any version: B<lt-nl le-nl ge-nl gt-nl>. These are "
"provided only for compatibility with control file syntax: B<E<lt> E<lt>E<lt> "
"E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."
msgstr ""

#. type: TP
#: dpkg.1:248
#, no-wrap
msgid "B<--command-fd >I<n>"
msgstr ""

#. type: Plain text
#: dpkg.1:253
msgid ""
"Accept a series of commands on input file descriptor I<n>. Note: additional "
"options set on the command line, and through this file descriptor, are not "
"reset for subsequent commands executed during the same run."
msgstr ""

#. type: TP
#: dpkg.1:253 dpkg-architecture.1:60 dpkg-buildflags.1:89 dpkg-divert.8:71 dpkg-mergechangelogs.1:38 dpkg-scansources.1:66 dpkg-statoverride.8:44 dpkg-vendor.1:28 dselect.1:113 update-alternatives.8:316
#, no-wrap
msgid "B<--help>"
msgstr ""

#. type: Plain text
#: dpkg.1:256
msgid "Display a brief help message."
msgstr ""

#. type: TP
#: dpkg.1:256
#, no-wrap
msgid "B<--force-help>"
msgstr ""

#. type: Plain text
#: dpkg.1:259
msgid "Give help about the B<--force->I<thing> options."
msgstr ""

#. type: TP
#: dpkg.1:259
#, no-wrap
msgid "B<-Dh>, B<--debug=help>"
msgstr ""

#. type: Plain text
#: dpkg.1:262
msgid "Give help about debugging options."
msgstr ""

#. type: TP
#: dpkg.1:262 dpkg-architecture.1:63 dpkg-buildflags.1:92 dpkg-buildpackage.1:226 dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35 dpkg-deb.1:175 dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124 dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-parsechangelog.1:36 dpkg-query.1:113 dpkg-scanpackages.1:99 dpkg-scansources.1:68 dpkg-shlibdeps.1:218 dpkg-source.1:99 dpkg-split.1:129 dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31 dselect.1:116 update-alternatives.8:319
#, no-wrap
msgid "B<--version>"
msgstr ""

#. type: Plain text
#: dpkg.1:265
msgid "Display B<dpkg> version information."
msgstr ""

#. type: TP
#: dpkg.1:265
#, no-wrap
msgid "B<dpkg-deb actions>"
msgstr ""

#. type: Plain text
#: dpkg.1:268
msgid "See B<dpkg-deb>(1) for more information about the following actions."
msgstr ""

#. type: Plain text
#: dpkg.1:288
#, no-wrap
msgid ""
"B<-b>, B<--build> I<directory> [I<archive>|I<directory>]\n"
"    Build a deb package.\n"
"B<-c>, B<--contents> I<archive>\n"
"    List contents of a deb package.\n"
"B<-e>, B<--control> I<filename> [I<directory>]\n"
"    Extract control-information from a package.\n"
"B<-x>, B<--extract> I<archive directory>\n"
"    Extract the files contained by package.\n"
"B<-X>, B<--vextract> I<archive directory>\n"
"    Extract and display the filenames contained by a\n"
"    package.\n"
"B<-f>, B<--field>  I<archive> [I<control-field>...]\n"
"    Display control field(s) of a package.\n"
"B<--fsys-tarfile> I<archive>\n"
"    Display the filesystem tar-file contained by a\n"
"    Debian package.\n"
"B<-I>, B<--info> I<archive> [I<control-file>...]\n"
"    Show information about a package.\n"
msgstr ""

#. type: TP
#: dpkg.1:290
#, no-wrap
msgid "B<dpkg-query actions>"
msgstr ""

#. type: Plain text
#: dpkg.1:293
msgid "See B<dpkg-query>(1) for more information about the following actions."
msgstr ""

#. type: Plain text
#: dpkg.1:308
#, no-wrap
msgid ""
"B<-l>, B<--list> I<package-name-pattern>...\n"
"    List packages matching given pattern.\n"
"B<-s>, B<--status> I<package-name>...\n"
"    Report status of specified package.\n"
"B<-L>, B<--listfiles> I<package-name>...\n"
"    List files installed to your system from I<package-name>.\n"
"B<-S>, B<--search> I<filename-search-pattern>...\n"
"    Search for a filename from installed packages.\n"
"B<-p>, B<--print-avail> I<package-name>...\n"
"    Display details about I<package-name>, as found in\n"
"    I</var/lib/dpkg/available>. Users of APT-based frontends\n"
"    should use B<apt-cache show> I<package-name> instead.\n"
msgstr ""

#. type: SH
#: dpkg.1:310 dpkg-architecture.1:67 dpkg-buildpackage.1:50 dpkg-checkbuilddeps.1:18 dpkg-distaddfile.1:27 dpkg-deb.1:179 dpkg-divert.8:42 dpkg-genchanges.1:17 dpkg-gencontrol.1:37 dpkg-gensymbols.1:369 dpkg-mergechangelogs.1:27 dpkg-name.1:30 dpkg-parsechangelog.1:15 dpkg-query.1:117 dpkg-scanpackages.1:71 dpkg-scansources.1:44 dpkg-shlibdeps.1:106 dpkg-split.1:133 dpkg-statoverride.8:51 dpkg-trigger.1:38 dpkg-vendor.1:35 dselect.1:36 start-stop-daemon.8:103 update-alternatives.8:323
#, no-wrap
msgid "OPTIONS"
msgstr ""

#. type: Plain text
#: dpkg.1:316
msgid ""
"All options can be specified both on the command line and in the B<dpkg> "
"configuration file I</etc/dpkg/dpkg.cfg> or the files on the configuration "
"directory I</etc/dpkg/dpkg.cfg.d/>. Each line in the configuration file is "
"either an option (exactly the same as the command line option but without "
"leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""

#. type: TP
#: dpkg.1:317
#, no-wrap
msgid "B<--abort-after=>I<number>"
msgstr ""

#. type: Plain text
#: dpkg.1:320
msgid "Change after how many errors B<dpkg> will abort. The default is 50."
msgstr ""

#. type: TP
#: dpkg.1:320
#, no-wrap
msgid "B<-B>, B<--auto-deconfigure>"
msgstr ""

#. type: Plain text
#: dpkg.1:326
msgid ""
"When a package is removed, there is a possibility that another installed "
"package depended on the removed package. Specifying this option will cause "
"automatic deconfiguration of the package which depended on the removed "
"package."
msgstr ""

#. type: TP
#: dpkg.1:326
#, no-wrap
msgid "B<-D>I<octal>B<, --debug=>I<octal>"
msgstr ""

#. type: Plain text
#: dpkg.1:332
msgid ""
"Switch debugging on. I<octal> is formed by bitwise-orring desired values "
"together from the list below (note that these values may change in future "
"releases). B<-Dh> or B<--debug=help> display these debugging values."
msgstr ""

#. type: Plain text
#: dpkg.1:347
#, no-wrap
msgid ""
"    Number   Description\n"
"         1   Generally helpful progress information\n"
"         2   Invocation and status of maintainer scripts\n"
"        10   Output for each file processed\n"
"       100   Lots of output for each file processed\n"
"        20   Output for each configuration file\n"
"       200   Lots of output for each configuration file\n"
"        40   Dependencies and conflicts\n"
"       400   Lots of dependencies/conflicts output\n"
"     10000   Trigger activation and processing\n"
"     20000   Lots of output regarding triggers\n"
"     40000   Silly amounts of output regarding triggers\n"
"      1000   Lots of drivel about e.g. the dpkg/info dir\n"
"      2000   Insane amounts of drivel\n"
msgstr ""

#. type: TP
#: dpkg.1:347
#, no-wrap
msgid "B<--force->I<things>, B<--no-force->I<things>, B<--refuse->I<things>"
msgstr ""

#. type: Plain text
#: dpkg.1:354
msgid ""
"Force or refuse (B<no-force> and B<refuse> mean the same thing)  to do some "
"things. I<things> is a comma separated list of things specified "
"below. B<--force-help> displays a message describing them.  Things marked "
"with (*) are forced by default."
msgstr ""

#. type: Plain text
#: dpkg.1:358
msgid ""
"I<Warning: These options are mostly intended to be used by experts "
"only. Using them without fully understanding their effects may break your "
"whole system.>"
msgstr ""

#. type: Plain text
#: dpkg.1:361
msgid "B<all>: Turns on (or off) all force options."
msgstr ""

#. type: Plain text
#: dpkg.1:364
msgid ""
"B<downgrade>(*): Install a package, even if newer version of it is already "
"installed."
msgstr ""

#. type: Plain text
#: dpkg.1:371
msgid ""
"I<Warning: At present dpkg does not do any dependency checking on downgrades "
"and therefore will not warn you if the downgrade breaks the dependency of "
"some other package. This can have serious side effects, downgrading "
"essential system components can even make your whole system unusable. Use "
"with care.>"
msgstr ""

#. type: Plain text
#: dpkg.1:375
msgid ""
"B<configure-any>: Configure also any unpacked but unconfigured packages on "
"which the current package depends."
msgstr ""

#. type: Plain text
#: dpkg.1:378
msgid "B<hold>: Process packages even when marked \"hold\"."
msgstr ""

#. type: Plain text
#: dpkg.1:383
msgid ""
"B<remove-reinstreq>: Remove a package, even if it's broken and marked to "
"require reinstallation. This may, for example, cause parts of the package to "
"remain on the system, which will then be forgotten by B<dpkg>."
msgstr ""

#. type: Plain text
#: dpkg.1:388
msgid ""
"B<remove-essential>: Remove, even if the package is considered "
"essential. Essential packages contain mostly very basic Unix "
"commands. Removing them might cause the whole system to stop working, so use "
"with caution."
msgstr ""

#. type: Plain text
#: dpkg.1:391
msgid "B<depends>: Turn all dependency problems into warnings."
msgstr ""

#. type: Plain text
#: dpkg.1:394
msgid "B<depends-version>: Don't care about versions when checking dependencies."
msgstr ""

#. type: Plain text
#: dpkg.1:397
msgid "B<breaks>: Install, even if this would break another package."
msgstr ""

#. type: Plain text
#: dpkg.1:401
msgid ""
"B<conflicts>: Install, even if it conflicts with another package. This is "
"dangerous, for it will usually cause overwriting of some files."
msgstr ""

#. type: Plain text
#: dpkg.1:406
msgid ""
"B<confmiss>: Always install a missing conffile. This is dangerous, since it "
"means not preserving a change (removing) made to the file."
msgstr ""

#. type: Plain text
#: dpkg.1:411
msgid ""
"B<confnew>: If a conffile has been modified always install the new version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""

#. type: Plain text
#: dpkg.1:416
msgid ""
"B<confold>: If a conffile has been modified always keep the old version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""

#. type: Plain text
#: dpkg.1:422
msgid ""
"B<confdef>: If a conffile has been modified always choose the default "
"action. If there is no default action it will stop to ask the user unless "
"B<--force-confnew> or B<--force-confold> is also been given, in which case "
"it will use that to decide the final action."
msgstr ""

#. type: Plain text
#: dpkg.1:429
msgid ""
"B<confask>: If a conffile has been modified always offer to replace it with "
"the version in the package, even if the version in the package did not "
"change. If any of B<--force-confmiss>, B<--force-confnew>, "
"B<--force-confold>, or B<--force-confdef> is also given, it will be used to "
"decide the final action."
msgstr ""

#. type: Plain text
#: dpkg.1:432
msgid "B<overwrite>: Overwrite one package's file with another's file."
msgstr ""

#. type: Plain text
#: dpkg.1:435
msgid "B<overwrite-dir> Overwrite one package's directory with another's file."
msgstr ""

#. type: Plain text
#: dpkg.1:438
msgid "B<overwrite-diverted>: Overwrite a diverted file with an undiverted version."
msgstr ""

#. type: Plain text
#: dpkg.1:446
msgid ""
"B<unsafe-io>: Do not perform safe I/O operations when unpacking. Currently "
"this implies not performing file system syncs before file renames, which is "
"known to cause substantial performance degradation on some file systems, "
"unfortunately the ones that require the safe I/O on the first place due to "
"their unreliable behaviour causing zero-length files on abrupt system "
"crashes."
msgstr ""

#. type: Plain text
#: dpkg.1:452
msgid ""
"I<Note>: For ext4, the main offender, consider using instead the mount "
"option B<nodelalloc>, which will fix both the performance degradation and "
"the data safety issues, the latter by making the file system not produce "
"zero-length files on abrupt system crashes with any software not doing syncs "
"before atomic renames."
msgstr ""

#. type: Plain text
#: dpkg.1:455
msgid ""
"I<Warning: Using this option might improve performance at the cost of losing "
"data, use with care.>"
msgstr ""

#. type: Plain text
#: dpkg.1:458
msgid "B<architecture>: Process even packages with wrong or no architecture."
msgstr ""

#. type: Plain text
#: dpkg.1:461
msgid "B<bad-version>: Process even packages with wrong versions."
msgstr ""

#. type: Plain text
#: dpkg.1:464
msgid "B<bad-path>: B<PATH> is missing important programs, so problems are likely."
msgstr ""

#. type: Plain text
#: dpkg.1:467
msgid "B<not-root>: Try to (de)install things even when not root."
msgstr ""

#. type: Plain text
#: dpkg.1:470
msgid "B<bad-verify>: Install a package even if it fails authenticity check."
msgstr ""

#. type: TP
#: dpkg.1:471
#, no-wrap
msgid "B<--ignore-depends>=I<package>,..."
msgstr ""

#. type: Plain text
#: dpkg.1:475
msgid ""
"Ignore dependency-checking for specified packages (actually, checking is "
"performed, but only warnings about conflicts are given, nothing else)."
msgstr ""

#. type: TP
#: dpkg.1:475
#, no-wrap
msgid "B<--no-act>, B<--dry-run>, B<--simulate>"
msgstr ""

#. type: Plain text
#: dpkg.1:480
msgid ""
"Do everything which is supposed to be done, but don't write any "
"changes. This is used to see what would happen with the specified action, "
"without actually modifying anything."
msgstr ""

#. type: Plain text
#: dpkg.1:485
msgid ""
"Be sure to give B<--no-act> before the action-parameter, or you might end up "
"with undesirable results. (e.g. B<dpkg --purge foo --no-act> will first "
"purge package foo and then try to purge package --no-act, even though you "
"probably expected it to actually do nothing)"
msgstr ""

#. type: TP
#: dpkg.1:485
#, no-wrap
msgid "B<-R>, B<--recursive>"
msgstr ""

#. type: Plain text
#: dpkg.1:491
msgid ""
"Recursively handle all regular files matching pattern B<*.deb> found at "
"specified directories and all of its subdirectories. This can be used with "
"B<-i>, B<-A>, B<--install>, B<--unpack> and B<--avail> actions."
msgstr ""

#. type: TP
#: dpkg.1:491
#, no-wrap
msgid "B<-G>"
msgstr ""

#. type: Plain text
#: dpkg.1:495
msgid ""
"Don't install a package if a newer version of the same package is already "
"installed. This is an alias of B<--refuse-downgrade>."
msgstr ""

#. type: TP
#: dpkg.1:495 dpkg-buildpackage.1:217 dpkg-checkbuilddeps.1:19 dpkg-query.1:118 dpkg-shlibdeps.1:211 dpkg-trigger.1:39
#, no-wrap
msgid "B<--admindir=>I<dir>"
msgstr ""

#. type: Plain text
#: dpkg.1:500
msgid ""
"Change default administrative directory, which contains many files that give "
"information about status of installed or uninstalled packages, etc.  "
"(Defaults to I</var/lib/dpkg>)"
msgstr ""

#. type: TP
#: dpkg.1:500
#, no-wrap
msgid "B<--instdir=>I<dir>"
msgstr ""

#. type: Plain text
#: dpkg.1:507
msgid ""
"Change default installation directory which refers to the directory where "
"packages are to be installed. B<instdir> is also the directory passed to "
"B<chroot>(2) before running package's installation scripts, which means that "
"the scripts see B<instdir> as a root directory.  (Defaults to I</>)"
msgstr ""

#. type: TP
#: dpkg.1:507
#, no-wrap
msgid "B<--root=>I<dir>"
msgstr ""

#. type: Plain text
#: dpkg.1:511
msgid ""
"Changing B<root> changes B<instdir> to I<dir> and B<admindir> to "
"I<dir>B</var/lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg.1:511
#, no-wrap
msgid "B<-O>, B<--selected-only>"
msgstr ""

#. type: Plain text
#: dpkg.1:517
msgid ""
"Only process the packages that are selected for installation. The actual "
"marking is done with B<dselect> or by B<dpkg>, when it handles packages. For "
"example, when a package is removed, it will be marked selected for "
"deinstallation."
msgstr ""

#. type: TP
#: dpkg.1:517
#, no-wrap
msgid "B<-E>, B<--skip-same-version>"
msgstr ""

#. type: Plain text
#: dpkg.1:521
msgid ""
"Don't install the package if the same version of the package is already "
"installed."
msgstr ""

#. type: Plain text
#: dpkg.1:523
msgid "B<--pre-invoke=>I<command>"
msgstr ""

#. type: Plain text
#: dpkg.1:525
msgid "B<--post-invoke=>I<command>"
msgstr ""

#. type: Plain text
#: dpkg.1:534
msgid ""
"Set an invoke hook I<command> to be run via ``sh -c'' before or after the "
"dpkg run for the I<unpack>, I<configure>, I<install>, I<triggers-only>, "
"I<remove> and I<purge> dpkg actions. This option can be specified multiple "
"times. The order the options are specified is preserved, with the ones from "
"the configuration files taking precedence.  The environment variable "
"B<DPKG_HOOK_ACTION> is set for the hooks to the current dpkg action. Note: "
"front-ends might call dpkg several times per invocation, which might run the "
"hooks more times than expected."
msgstr ""

#. type: Plain text
#: dpkg.1:537
msgid "B<--path-exclude=>I<glob-pattern>"
msgstr ""

#. type: Plain text
#: dpkg.1:539
msgid "B<--path-include=>I<glob-pattern>"
msgstr ""

#. type: Plain text
#: dpkg.1:542
msgid ""
"Set I<glob-pattern> as a path filter, either by excluding or re-including "
"previously excluded paths matching the specified patterns during install."
msgstr ""

#. type: Plain text
#: dpkg.1:545
msgid ""
"I<Warning: take into account that depending on the excluded paths you might "
"completely break your system, use with caution.>"
msgstr ""

#. type: Plain text
#: dpkg.1:555
msgid ""
"The glob patterns use the same wildcards used in the shell, were '*' matches "
"any sequence of characters, including the empty string and also '/'. For "
"example, I<'/usr/*/READ*'> matches I<'/usr/share/doc/package/README'>.  As "
"usual, '?' matches any single character (again, including '/'). And '[' "
"starts a character class, which can contain a list of characters, ranges and "
"complementations. See B<glob>(7) for detailed information about "
"globbing. Note: the current implementation might re-include more directories "
"and symlinks than needed, to be on the safe side and avoid possible unpack "
"failures, future work might fix this."
msgstr ""

#. type: Plain text
#: dpkg.1:558
msgid ""
"This can be used to remove all paths except some particular ones; a typical "
"case is:"
msgstr ""

#. type: Plain text
#: dpkg.1:562
#, no-wrap
msgid ""
"B<--path-exclude=/usr/share/doc/*>\n"
"B<--path-include=/usr/share/doc/*/copyright>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:565
msgid "to remove all documentation files except the copyright files."
msgstr ""

#. type: Plain text
#: dpkg.1:569
msgid ""
"These two options can be specified multiple times, and interleaved with each "
"other. Both are processed in the given order, with the last rule that "
"matches a file name making the decision."
msgstr ""

#. type: TP
#: dpkg.1:570
#, no-wrap
msgid "B<--status-fd >I<n>"
msgstr ""

#. type: Plain text
#: dpkg.1:576
msgid ""
"Send machine-readable package status and progress information to file "
"descriptor I<n>. This option can be specified multiple times. The "
"information is generally one record per line, in one of the following forms:"
msgstr ""

#. type: TP
#: dpkg.1:577
#, no-wrap
msgid "B<status: >I<package>B<: >I<status>"
msgstr ""

#. type: Plain text
#: dpkg.1:580
msgid "Package status changed; I<status> is as in the status file."
msgstr ""

#. type: TP
#: dpkg.1:580
#, no-wrap
msgid "B<status: >I<package>B< : error : >I<extended-error-message>"
msgstr ""

#. type: Plain text
#: dpkg.1:584
msgid ""
"An error occurred. Any possible newlines in I<extended-error-message> will "
"be converted to spaces before output."
msgstr ""

#. type: TP
#: dpkg.1:584
#, no-wrap
msgid ""
"B<status: >I<file>B< : conffile-prompt : '>I<real-old>B<' '>I<real-new>B<' "
">I<useredited>B< >I<distedited>"
msgstr ""

#. type: Plain text
#: dpkg.1:587
msgid "User is being asked a conffile question."
msgstr ""

#. type: TP
#: dpkg.1:587
#, no-wrap
msgid "B<processing: >I<stage>B<: >I<package>"
msgstr ""

#. type: Plain text
#: dpkg.1:592
msgid ""
"Sent just before a processing stage starts. I<stage> is one of B<upgrade>, "
"B<install> (both sent before unpacking), B<configure>, B<trigproc>, "
"B<disappear>, B<remove>, B<purge>."
msgstr ""

#. type: TP
#: dpkg.1:593
#, no-wrap
msgid "B<--status-logger>=I<command>"
msgstr ""

#. type: Plain text
#: dpkg.1:598
msgid ""
"Send machine-readable package status and progress information to the shell "
"I<command>'s standard input. This option can be specified multiple "
"times. The output format used is the same as in B<--status-fd.>"
msgstr ""

#. type: TP
#: dpkg.1:599
#, no-wrap
msgid "B<--log=>I<filename>"
msgstr ""

#. type: Plain text
#: dpkg.1:611
msgid ""
"Log status change updates and actions to I<filename>, instead of the default "
"I</var/log/dpkg.log>. If this option is given multiple times, the last "
"filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS status "
"I<state> I<pkg> I<installed-version>' for status change updates; `YYYY-MM-DD "
"HH:MM:SS I<action> I<pkg> I<installed-version> I<available-version>' for "
"actions where I<action> is one of B<install>, B<upgrade>, B<remove>, "
"B<purge>; and `YYYY-MM-DD HH:MM:SS conffile I<filename> I<decision>' for "
"conffile changes where I<decision> is either B<install> or B<keep>."
msgstr ""

#. type: TP
#: dpkg.1:611
#, no-wrap
msgid "B<--no-debsig>"
msgstr ""

#. type: Plain text
#: dpkg.1:614
msgid "Do not try to verify package signatures."
msgstr ""

#. type: TP
#: dpkg.1:614
#, no-wrap
msgid "B<--no-triggers>"
msgstr ""

#. type: Plain text
#: dpkg.1:623
msgid ""
"Do not run any triggers in this run (activations will still be recorded).  "
"If used with B<--configure> I<package> or B<--triggers-only> I<package> then "
"the named package postinst will still be run even if only a triggers run is "
"needed. Use of this option may leave packages in the improper "
"B<triggers-awaited> and B<triggers-pending> states. This can be fixed later "
"by running: B<dpkg --configure --pending>."
msgstr ""

#. type: TP
#: dpkg.1:623
#, no-wrap
msgid "B<--triggers>"
msgstr ""

#. type: Plain text
#: dpkg.1:626
msgid "Cancels a previous B<--no-triggers>."
msgstr ""

#. type: Plain text
#: dpkg.1:628 dpkg.cfg.5:16
#, no-wrap
msgid "I</etc/dpkg/dpkg.cfg>"
msgstr ""

#. type: Plain text
#: dpkg.1:631
msgid "Configuration file with default options."
msgstr ""

#. type: TP
#: dpkg.1:631
#, no-wrap
msgid "I</var/log/dpkg.log>"
msgstr ""

#. type: Plain text
#: dpkg.1:635
msgid "Default log file (see I</etc/dpkg/dpkg.cfg>(5) and option B<--log>)."
msgstr ""

#. type: Plain text
#: dpkg.1:638
msgid ""
"The other files listed below are in their default directories, see option "
"B<--admindir> to see how to change locations of these files."
msgstr ""

#. type: TP
#: dpkg.1:638
#, no-wrap
msgid "I</var/lib/dpkg/available>"
msgstr ""

#. type: Plain text
#: dpkg.1:641
msgid "List of available packages."
msgstr ""

#. type: TP
#: dpkg.1:641
#, no-wrap
msgid "I</var/lib/dpkg/status>"
msgstr ""

#. type: Plain text
#: dpkg.1:647
msgid ""
"Statuses of available packages. This file contains information about whether "
"a package is marked for removing or not, whether it is installed or not, "
"etc. See section B<INFORMATION ABOUT PACKAGES> for more info."
msgstr ""

#. type: Plain text
#: dpkg.1:650
msgid ""
"The status file is backed up daily in I</var/backups>. It can be useful if "
"it's lost or corrupted due to filesystems troubles."
msgstr ""

#. type: Plain text
#: dpkg.1:653
msgid ""
"The following files are components of a binary package. See B<deb>(5)  for "
"more information about them:"
msgstr ""

#. type: TP
#: dpkg.1:653
#, no-wrap
msgid "I<control>"
msgstr ""

#. type: TP
#: dpkg.1:655
#, no-wrap
msgid "I<conffiles>"
msgstr ""

#. type: TP
#: dpkg.1:657
#, no-wrap
msgid "I<preinst>"
msgstr ""

#. type: TP
#: dpkg.1:659
#, no-wrap
msgid "I<postinst>"
msgstr ""

#. type: TP
#: dpkg.1:661
#, no-wrap
msgid "I<prerm>"
msgstr ""

#. type: TP
#: dpkg.1:663
#, no-wrap
msgid "I<postrm>"
msgstr ""

#. type: SH
#: dpkg.1:666 dpkg-buildflags.1:128 dpkg-buildpackage.1:230 dpkg-deb.1:232 dpkg-divert.8:112 dpkg-query.1:204 dpkg-statoverride.8:68 dpkg-trigger.1:60 dpkg-vendor.1:42 dselect.1:423 update-alternatives.8:354
#, no-wrap
msgid "ENVIRONMENT"
msgstr ""

#. type: TP
#: dpkg.1:667 dselect.1:424
#, no-wrap
msgid "B<HOME>"
msgstr ""

#. type: Plain text
#: dpkg.1:671
msgid ""
"If set, B<dpkg> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""

#. type: TP
#: dpkg.1:671 dpkg-deb.1:233
#, no-wrap
msgid "B<TMPDIR>"
msgstr ""

#. type: Plain text
#: dpkg.1:675
msgid ""
"If set, B<dpkg> will use it as the directory in which to create temporary "
"files and directories."
msgstr ""

#. type: TP
#: dpkg.1:675
#, no-wrap
msgid "B<PAGER>"
msgstr ""

#. type: Plain text
#: dpkg.1:678
msgid "The program B<dpkg> will execute when displaying the conffiles."
msgstr ""

#. type: TP
#: dpkg.1:678
#, no-wrap
msgid "B<SHELL>"
msgstr ""

#. type: Plain text
#: dpkg.1:681
msgid "The program B<dpkg> will execute when starting a new shell."
msgstr ""

#. type: TP
#: dpkg.1:681 dpkg-query.1:209
#, no-wrap
msgid "B<COLUMNS>"
msgstr ""

#. type: Plain text
#: dpkg.1:685
msgid ""
"Sets the number of columns B<dpkg> should use when displaying formatted "
"text. Currently only used by -l."
msgstr ""

#. type: TP
#: dpkg.1:685
#, no-wrap
msgid "B<DPKG_SHELL_REASON>"
msgstr ""

#. type: Plain text
#: dpkg.1:689
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Current valid value: B<conffile-prompt>."
msgstr ""

#. type: TP
#: dpkg.1:689
#, no-wrap
msgid "B<DPKG_CONFFILE_OLD>"
msgstr ""

#. type: Plain text
#: dpkg.1:693
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the old conffile."
msgstr ""

#. type: TP
#: dpkg.1:693
#, no-wrap
msgid "B<DPKG_CONFFILE_NEW>"
msgstr ""

#. type: Plain text
#: dpkg.1:697
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the new conffile."
msgstr ""

#. type: TP
#: dpkg.1:697
#, no-wrap
msgid "B<DPKG_RUNNING_VERSION>"
msgstr ""

#. type: Plain text
#: dpkg.1:701
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the version of "
"the currently running B<dpkg> instance."
msgstr ""

#. type: TP
#: dpkg.1:701 dpkg-divert.8:117
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_PACKAGE>"
msgstr ""

#. type: Plain text
#: dpkg.1:705
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the package name "
"being handled."
msgstr ""

#. type: TP
#: dpkg.1:705
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_ARCH>"
msgstr ""

#. type: Plain text
#: dpkg.1:709
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the architecture "
"the package got built for."
msgstr ""

#. type: TP
#: dpkg.1:709
#, no-wrap
msgid "B<DPKG_MAINTSCRIPT_NAME>"
msgstr ""

#. type: Plain text
#: dpkg.1:713
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the name of the "
"script running (preinst, postinst, prerm, postrm)."
msgstr ""

#. type: Plain text
#: dpkg.1:716
msgid "To list packages related to the editor B<vi>(1):"
msgstr ""

#. type: Plain text
#: dpkg.1:718
#, no-wrap
msgid "     B<dpkg -l \\(aq*vi*\\(aq>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:721
msgid "To see the entries in I</var/lib/dpkg/available> of two packages:"
msgstr ""

#. type: Plain text
#: dpkg.1:723
#, no-wrap
msgid "     B<dpkg --print-avail elvis vim | less>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:726
msgid "To search the listing of packages yourself:"
msgstr ""

#. type: Plain text
#: dpkg.1:728
#, no-wrap
msgid "     B<less /var/lib/dpkg/available>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:731
msgid "To remove an installed elvis package:"
msgstr ""

#. type: Plain text
#: dpkg.1:733
#, no-wrap
msgid "     B<dpkg -r elvis>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:738
msgid ""
"To install a package, you first need to find it in an archive or CDROM. The "
"\"available\" file shows that the vim package is in section \"editors\":"
msgstr ""

#. type: Plain text
#: dpkg.1:741
#, no-wrap
msgid ""
"     B<cd /media/cdrom/pool/main/v/vim>\n"
"     B<dpkg -i vim_4.5-3.deb>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:744
msgid "To make a local copy of the package selection states:"
msgstr ""

#. type: Plain text
#: dpkg.1:746
#, no-wrap
msgid "     B<dpkg --get-selections E<gt>myselections>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:750
msgid "You might transfer this file to another computer, and install it there with:"
msgstr ""

#. type: Plain text
#: dpkg.1:753
#, no-wrap
msgid ""
"     B<dpkg --clear-selections>\n"
"     B<dpkg --set-selections E<lt>myselections>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:759
msgid ""
"Note that this will not actually install or remove anything, but just set "
"the selection state on the requested packages. You will need some other "
"application to actually download and install the requested packages. For "
"example, run B<apt-get dselect-upgrade>."
msgstr ""

#. type: Plain text
#: dpkg.1:762
msgid ""
"Ordinarily, you will find that B<dselect>(1) provides a more convenient way "
"to modify the package selection states."
msgstr ""

#. type: SH
#: dpkg.1:764
#, no-wrap
msgid "ADDITIONAL FUNCTIONALITY"
msgstr ""

#. type: Plain text
#: dpkg.1:767
msgid ""
"Additional functionality can be gained by installing any of the following "
"packages: B<apt>, B<aptitude> and B<debsums>."
msgstr ""

#. type: Plain text
#: dpkg.1:779
msgid ""
"B<aptitude>(1), B<apt>(1), B<dselect>(1), B<dpkg-deb>(1), B<dpkg-query>(1), "
"B<deb>(5), B<deb-control>(5), B<dpkg.cfg>(5), and B<dpkg-reconfigure>(8)."
msgstr ""

#. type: Plain text
#: dpkg.1:782
msgid "B<--no-act> usually gives less information than might be helpful."
msgstr ""

#. type: Plain text
#: dpkg.1:785 dpkg.cfg.5:22
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dpkg>."
msgstr ""

#. type: TH
#: dpkg-architecture.1:1
#, no-wrap
msgid "dpkg-architecture"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:4
msgid "dpkg-architecture - set and determine the architecture for package building"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:8
msgid "B<dpkg-architecture> [I<option>...] [I<command>]"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:13
msgid ""
"dpkg-architecture does provide a facility to determine and set the build and "
"host architecture for package building."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:16
msgid ""
"The build architecture is always determined by an external call to "
"B<dpkg>(1), and can not be set at the command line."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:25
msgid ""
"You can specify the host architecture by providing one or both of the "
"options B<-a> and B<-t>. The default is determined by an external call to "
"B<gcc>(1), or the same as the build architecture if \\s-1CC\\s0 or gcc are "
"both not available. One out of B<-a> and B<-t> is sufficient, the value of "
"the other will be set to a usable default. Indeed, it is often better to "
"only specify one, because B<dpkg-architecture> will warn you if your choice "
"does not match the default."
msgstr ""

#. type: SH
#: dpkg-architecture.1:26 dpkg-buildflags.1:45 dpkg-deb.1:27 dpkg-divert.8:24 dpkg-query.1:13 dpkg-source.1:18 dpkg-split.1:31 dpkg-statoverride.8:23 dpkg-trigger.1:24 dpkg-vendor.1:14 start-stop-daemon.8:34 update-alternatives.8:202
#, no-wrap
msgid "COMMANDS"
msgstr ""

#. type: TP
#: dpkg-architecture.1:27
#, no-wrap
msgid "B<-l>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:31
msgid ""
"Print the environment variables, one each line, in the format "
"I<VARIABLE=value>. This is the default action."
msgstr ""

#. type: TP
#: dpkg-architecture.1:31
#, no-wrap
msgid "B<-e>I<debian-architecture>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:37
msgid ""
"Check for equality of architecture. By default I<debian-architecture> is "
"compared against the current Debian architecture, being the host.  This "
"action will not expand the architecture wildcards. Command finishes with an "
"exit status of 0 if matched, 1 if not matched."
msgstr ""

#. type: TP
#: dpkg-architecture.1:37
#, no-wrap
msgid "B<-i>I<architecture-wildcard>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:43
msgid ""
"Check for identity of architecture by expanding I<architecture-wildcard> as "
"an architecture wildcard and comparing against the current Debian "
"architecture. Command finishes with an exit status of 0 if matched, 1 if not "
"matched."
msgstr ""

#. type: TP
#: dpkg-architecture.1:43
#, no-wrap
msgid "B<-q>I<variable-name>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:46
msgid "Print the value of a single variable."
msgstr ""

#. type: TP
#: dpkg-architecture.1:46
#, no-wrap
msgid "B<-s>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:50
msgid ""
"Print an export command. This can be used to set the environment variables "
"using eval."
msgstr ""

#. type: TP
#: dpkg-architecture.1:50
#, no-wrap
msgid "B<-u>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:53
msgid "Print a similar command to B<-s> but to unset all variables."
msgstr ""

#. type: TP
#: dpkg-architecture.1:53
#, no-wrap
msgid "B<-c>I< command>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:57
msgid ""
"Execute a I<command> in an environment which has all variables set to the "
"determined value."
msgstr ""

#. type: TP
#: dpkg-architecture.1:57
#, no-wrap
msgid "B<-L>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:60
msgid "Print a list of valid architecture names."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:63 dpkg-buildflags.1:92 dpkg-buildpackage.1:226 dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35 dpkg-deb.1:175 dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124 dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-name.1:61 dpkg-parsechangelog.1:36 dpkg-query.1:113 dpkg-scanpackages.1:99 dpkg-scansources.1:68 dpkg-shlibdeps.1:218 dpkg-source.1:99 dpkg-split.1:129 dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31 update-alternatives.8:319
msgid "Show the usage message and exit."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:66 dpkg-buildflags.1:95 dpkg-buildpackage.1:229 dpkg-checkbuilddeps.1:39 dpkg-distaddfile.1:38 dpkg-deb.1:178 dpkg-divert.8:77 dpkg-genchanges.1:137 dpkg-gencontrol.1:127 dpkg-gensymbols.1:449 dpkg-mergechangelogs.1:44 dpkg-name.1:64 dpkg-parsechangelog.1:39 dpkg-query.1:116 dpkg-scanpackages.1:102 dpkg-scansources.1:70 dpkg-shlibdeps.1:221 dpkg-source.1:102 dpkg-split.1:132 dpkg-statoverride.8:50 dpkg-trigger.1:37 dpkg-vendor.1:34 update-alternatives.8:322
msgid "Show the version and exit."
msgstr ""

#. type: TP
#: dpkg-architecture.1:68
#, no-wrap
msgid "B<-a>I<debian-architecture>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:71
msgid "Set the Debian architecture."
msgstr ""

#. type: TP
#: dpkg-architecture.1:71 dpkg-buildpackage.1:110
#, no-wrap
msgid "B<-t>I<gnu-system-type>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:74
msgid "Set the GNU system type."
msgstr ""

#. type: TP
#: dpkg-architecture.1:74
#, no-wrap
msgid "B<-f>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:81
msgid ""
"Values set by existing environment variables with the same name as used by "
"the scripts are honored (i.e. used by B<dpkg-architecture>), except if this "
"force flag is present. This allows the user to override a value even when "
"the call to B<dpkg-architecture> is buried in some other script (for example "
"B<dpkg-buildpackage>(1))."
msgstr ""

#. type: SH
#: dpkg-architecture.1:82
#, no-wrap
msgid "TERMS"
msgstr ""

#. type: IP
#: dpkg-architecture.1:83
#, no-wrap
msgid "build machine"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:85
msgid "The machine the package is built on."
msgstr ""

#. type: IP
#: dpkg-architecture.1:85
#, no-wrap
msgid "host machine"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:87
msgid "The machine the package is built for."
msgstr ""

#. type: IP
#: dpkg-architecture.1:87
#, no-wrap
msgid "Debian architecture"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:90
msgid ""
"The Debian architecture string, which specifies the binary tree in the "
"\\s-1FTP\\s0 archive. Examples: i386, sparc, hurd-i386."
msgstr ""

#. type: IP
#: dpkg-architecture.1:90
#, no-wrap
msgid "architecture wildcard"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:94
msgid ""
"An architecture wildcard is a special architecture string that will match "
"any real architecture being part of it. The general form is "
"E<lt>kernelE<gt>-E<lt>cpuE<gt>.  Examples: linux-any, any-i386, hurd-any."
msgstr ""

#. type: IP
#: dpkg-architecture.1:94
#, no-wrap
msgid "\\s-1GNU\\s0 system type"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:98
msgid ""
"An architecture specification string consisting of two parts separated by a "
"dash: cpu and system. Examples: i386-linux-gnu, sparc-linux-gnu, i386-gnu, "
"x86_64-netbsd."
msgstr ""

#. type: SH
#: dpkg-architecture.1:99
#, no-wrap
msgid "VARIABLES"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:101
msgid "The following variables are set by B<dpkg-architecture>:"
msgstr ""

#. type: IP
#: dpkg-architecture.1:101
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:103
msgid "The Debian architecture of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:103
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_OS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:105
msgid "The Debian system name of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:105
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:107
msgid "The Debian cpu name of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:107
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_BITS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:109
msgid "The pointer size of the build machine (in bits)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:109
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_ENDIAN\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:111
msgid "The endianness of the build machine (little / big)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:111
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:113
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:113
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_SYSTEM\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:115
msgid "The System part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:115
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_TYPE\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:117
msgid "The \\s-1GNU\\s0 system type of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:117
#, no-wrap
msgid "\\s-1DEB_BUILD_MULTIARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:120
msgid ""
"The clarified \\s-1GNU\\s0 system type of the build machine, used for "
"filesystem paths."
msgstr ""

#. type: IP
#: dpkg-architecture.1:120
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:122
msgid "The Debian architecture of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:122
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_OS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:124
msgid "The Debian system name of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:124
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:126
msgid "The Debian cpu name of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:126
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_BITS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:128
msgid "The pointer size of the host machine (in bits)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:128
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_ENDIAN\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:130
msgid "The endianness of the host machine (little / big)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:130
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:132
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:132
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_SYSTEM\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:134
msgid "The System part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:134
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_TYPE\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:136
msgid "The \\s-1GNU\\s0 system type of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:136
#, no-wrap
msgid "\\s-1DEB_HOST_MULTIARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:139
msgid ""
"The clarified \\s-1GNU\\s0 system type of the host machine, used for "
"filesystem paths."
msgstr ""

#. type: SH
#: dpkg-architecture.1:140
#, no-wrap
msgid "DEBIAN/RULES"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:148
msgid ""
"The environment variables set by B<dpkg-architecture> are passed to "
"I<debian/rules> as make variables (see make documentation). However, you "
"should not rely on them, as this breaks manual invocation of the "
"script. Instead, you should always initialize them using "
"B<dpkg-architecture> with the -q option. Here are some examples, which also "
"show how you can improve the cross compilation support in your package:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:151 dpkg-architecture.1:168
msgid "Instead of:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:155
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"configure $(\\s-1ARCH\\s0)-linux\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:158
msgid "please use the following:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:162
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_GNU_TYPE\\s0 := $(shell dpkg-architecture "
"-qDEB_BUILD_GNU_TYPE)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(shell dpkg-architecture "
"-qDEB_HOST_GNU_TYPE)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:164
#, no-wrap
msgid ""
"configure --build=$(\\s-1DEB_BUILD_GNU_TYPE\\s0) "
"--host=$(\\s-1DEB_HOST_GNU_TYPE\\s0)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:174
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"ifeq ($(\\s-1ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:177
msgid "please use:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:180
#, no-wrap
msgid "\\&\\s-1DEB_HOST_ARCH\\s0 := $(shell dpkg-architecture -qDEB_HOST_ARCH)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:184
#, no-wrap
msgid ""
"ifeq ($(\\s-1DEB_HOST_ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:188
msgid ""
"or if you only need to check the CPU or OS type, use the DEB_HOST_ARCH_CPU "
"or DEB_HOST_ARCH_OS variables."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:193
msgid ""
"In general, calling dpkg in the rules file to get architecture information "
"is deprecated (unless you want to provide backward compatibility, see "
"below).  Especially the --print-architecture option is unreliable since we "
"have Debian architectures which don't equal a processor name."
msgstr ""

#. type: SH
#: dpkg-architecture.1:194
#, no-wrap
msgid "BACKWARD COMPATIBILITY"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:198
msgid ""
"The DEB_*_ARCH_BITS and DEB_*_ARCH_ENDIAN variables were introduced in "
"dpkg-dev 1.15.4. Using them in I<debian/rules> thus requires a "
"build-dependency on dpkg-dev (E<gt>= 1.15.4)."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:203
msgid ""
"The DEB_HOST_ARCH_CPU and DEB_HOST_ARCH_OS variables were introduced in "
"dpkg-dev 1.13.2. Before this I<debian/rules> files tended to check the "
"values of the DEB_HOST_GNU_CPU or DEB_HOST_GNU_TYPE variables which have "
"been subject to change."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:208
msgid ""
"Where I<debian/rules> files check these variables to decide how or what to "
"compile, this should be updated to use the new variables and values.  You "
"may wish to retain backwards compatibility with older version of dpkg-dev by "
"using the following code:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:212
#, no-wrap
msgid ""
"DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU "
"2E<gt>/dev/null)\n"
"DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS "
"2E<gt>/dev/null)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:226
#, no-wrap
msgid ""
"# Take account of old dpkg-architecture output.\n"
"ifeq ($(DEB_HOST_ARCH_CPU),)\n"
"  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)\n"
"  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)\n"
"    DEB_HOST_ARCH_CPU := amd64\n"
"  endif\n"
"endif\n"
"ifeq ($(DEB_HOST_ARCH_OS),)\n"
"  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture "
"-qDEB_HOST_GNU_SYSTEM))\n"
"  ifeq ($(DEB_HOST_ARCH_OS),gnu)\n"
"    DEB_HOST_ARCH_OS := hurd\n"
"  endif\n"
"endif\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:229
msgid "And similarly for DEB_BUILD_ARCH_CPU and DEB_BUILD_ARCH_OS."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:232
msgid ""
"If you still wish to support versions of dpkg-dev that did not include "
"B<dpkg-architecture>, the following does the job:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:242
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_ARCH\\s0 := $(shell dpkg --print-architecture)\n"
"\\&\\s-1DEB_BUILD_GNU_CPU\\s0 := $(patsubst "
"hurd-%,%,$(\\s-1DEB_BUILD_ARCH\\s0))\n"
"ifeq ($(filter-out hurd-%,$(\\s-1DEB_BUILD_ARCH\\s0)),)\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := gnu\n"
"else\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := linux-gnu\n"
"endif\n"
"DEB_BUILD_GNU_TYPE=$(\\s-1DEB_BUILD_GNU_CPU\\s0)-$(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:247
#, no-wrap
msgid ""
"\\&\\s-1DEB_HOST_ARCH\\s0 := $(\\s-1DEB_BUILD_ARCH\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_CPU\\s0 := $(\\s-1DEB_BUILD_GNU_CPU\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_SYSTEM\\s0 := $(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(\\s-1DEB_BUILD_GNU_TYPE\\s0)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:251
msgid ""
"Put a subset of these lines at the top of your debian/rules file; these "
"default values will be overwritten if dpkg-architecture is used."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:258
msgid ""
"You don't need the full set. Choose a consistent set which contains the "
"values you use in the rules file. For example, if you only need the host "
"Debian architecture, `DEB_HOST_ARCH=\\`dpkg --print-architecture\\`' is "
"sufficient (this is indeed the Debian architecture of the build machine, but "
"remember that we are only trying to be backward compatible with native "
"compilation)."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:261
msgid ""
"The B<-e> and B<-i> options were only introduced in relatively recent "
"versions of B<dpkg-architecture> (since dpkg 1.13.13)."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:265
msgid ""
"B<dpkg-buildpackage> accepts the B<-a> option and passes it to "
"B<dpkg-architecture>. Other examples:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:267
msgid "CC=i386-gnu-gcc dpkg-architecture -c debian/rules build"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:269
msgid "eval \\`dpkg-architecture -u\\`"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:272
msgid ""
"Check if an architecture is equal to the current architecture or a given "
"one:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:274
msgid "dpkg-architecture -elinux-alpha"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:276
msgid "dpkg-architecture -amips -elinux-mips"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:279
msgid ""
"Check if the current architecture or an architecture provided with -a are "
"Linux systems:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:281
msgid "dpkg-architecture -ilinux-any"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:283
msgid "dpkg-architecture -ai386 -ilinux-any"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:288
msgid ""
"All these files have to be present for B<dpkg-architecture> to work. Their "
"location can be overridden at runtime with the environment variable "
"B<DPKG_DATADIR>."
msgstr ""

#. type: TP
#: dpkg-architecture.1:288
#, no-wrap
msgid "I</usr/share/dpkg/cputable>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:291
msgid "Table of known CPU names and mapping to their GNU name."
msgstr ""

#. type: TP
#: dpkg-architecture.1:291
#, no-wrap
msgid "I</usr/share/dpkg/ostable>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:294
msgid "Table of known operating system names and mapping to their GNU name."
msgstr ""

#. type: TP
#: dpkg-architecture.1:294
#, no-wrap
msgid "I</usr/share/dpkg/triplettable>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:298
msgid "Mapping between Debian architecture triplets and Debian architecture names."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:302
msgid "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:307
msgid ""
"B<dpkg-architecture> and this man page were initially written by Marcus "
"Brinkmann E<lt>brinkmd@debian.orgE<gt>."
msgstr ""

#. type: TH
#: dpkg.cfg.5:1
#, no-wrap
msgid "dpkg.cfg"
msgstr ""

#. type: TH
#: dpkg.cfg.5:1
#, no-wrap
msgid "2009-09-05"
msgstr ""

#. type: Plain text
#: dpkg.cfg.5:4
msgid "dpkg.cfg - dpkg configuration file"
msgstr ""

#. type: Plain text
#: dpkg.cfg.5:11
msgid ""
"This file contains default options for dpkg. Each line contains a single "
"option which is exactly the same as a normal command line option for dpkg "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""

#. type: Plain text
#: dpkg.cfg.5:14
msgid "I</etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*>"
msgstr ""

#. type: Plain text
#: dpkg.cfg.5:18
msgid "I<~/.dpkg.cfg>"
msgstr ""

#. type: Plain text
#: dpkg.cfg.5:24 dpkg-divert.8:134 dpkg-query.1:222 dpkg-statoverride.8:86
msgid "B<dpkg>(1)."
msgstr ""

#. type: TH
#: dpkg-buildflags.1:1
#, no-wrap
msgid "dpkg-buildflags"
msgstr ""

#. type: TH
#: dpkg-buildflags.1:1
#, no-wrap
msgid "2011-09-13"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:4
msgid "dpkg-buildflags - returns build flags to use during package build"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:8
msgid "B<dpkg-buildflags> [I<option>...] [I<command>]"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:12
msgid ""
"B<dpkg-buildflags> is a tool to retrieve compilation flags to use during "
"build of Debian packages."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:15
msgid ""
"The default flags are defined by the vendor but they can be "
"extended/overriden in several ways:"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:15
#, no-wrap
msgid "1."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:17
msgid "system-wide with B</etc/dpkg/buildflags.conf>;"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:17
#, no-wrap
msgid "2."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:20
msgid ""
"for the current user with B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> where "
"B<$XDG_CONFIG_HOME> defaults to B<$HOME/.config>;"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:20
#, no-wrap
msgid "3."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:23
msgid ""
"temporarily by the user with environment variables (see section "
"B<ENVIRONMENT>);"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:23
#, no-wrap
msgid "4."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:26
msgid ""
"dynamically by the package maintainer with environment variables set via "
"B<debian/rules> (see section B<ENVIRONMENT>)."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:28
msgid "The configuration files can contain two types of directives:"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:28
#, no-wrap
msgid "B<SET>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:31
msgid "Override the flag named I<flag> to have the value I<value>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:31
#, no-wrap
msgid "B<STRIP>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:34
msgid "Strip from the flag named I<flag> all the build flags listed in I<value>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:34
#, no-wrap
msgid "B<APPEND>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:38
msgid ""
"Extend the flag named I<flag> by appending the options given in I<value>.  A "
"space is prepended to the appended value if the flag's current value is "
"non-empty."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:38
#, no-wrap
msgid "B<PREPEND>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:42
msgid ""
"Extend the flag named I<flag> by prepending the options given in I<value>.  "
"A space is appended to the prepended value if the flag's current value is "
"non-empty."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:45
msgid ""
"The configuration files can contain comments on lines starting with a hash "
"(#). Empty lines are also ignored."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:46
#, no-wrap
msgid "B<--dump>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:51
msgid ""
"Print to standard output all compilation flags and their values. It prints "
"one flag per line separated from its value by an equal sign "
"(\"I<flag>=I<value>\"). This is the default action."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:51
#, no-wrap
msgid "B<--list>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:56
msgid ""
"Print the list of flags supported by the current vendor (one per line). See "
"the B<SUPPORTED FLAGS> section for more information about them."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:56
#, no-wrap
msgid "B<--export=>I<format>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:66
msgid ""
"Print to standard output shell (if I<format> is B<sh>) or make (if I<format> "
"is B<make>) commands that can be used to export all the compilation flags in "
"the environment. If I<format> is B<configure> then the output can be used on "
"a B<./configure> command-line. If the I<format> value is not given, B<sh> is "
"assumed. Only compilation flags starting with an upper case character are "
"included, others are assumed to not be suitable for the environment."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:66
#, no-wrap
msgid "B<--get>I< flag>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:70
msgid ""
"Print the value of the flag on standard output. Exits with 0 if the flag is "
"known otherwise exits with 1."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:70
#, no-wrap
msgid "B<--origin>I< flag>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:75
msgid ""
"Print the origin of the value that is returned by B<--get>. Exits with 0 if "
"the flag is known otherwise exits with 1. The origin can be one of the "
"following values:"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:76
#, no-wrap
msgid "B<vendor>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:79
msgid "the original flag set by the vendor is returned;"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:79
#, no-wrap
msgid "B<system>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:82
msgid "the flag is set/modified by a system-wide configuration;"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:82
#, no-wrap
msgid "B<user>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:85
msgid "the flag is set/modified by a user-specific configuration;"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:85
#, no-wrap
msgid "B<env>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:88
msgid "the flag is set/modified by an environment-specific configuration."
msgstr ""

#. type: SH
#: dpkg-buildflags.1:96
#, no-wrap
msgid "SUPPORTED FLAGS"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:97
#, no-wrap
msgid "B<CFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:103
msgid ""
"Options for the C compiler. The default value set by the vendor includes "
"I<-g> and the default optimization level (I<-O2> usually, or I<-O0> if the "
"B<DEB_BUILD_OPTIONS> environment variable defines I<noopt>)."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:103
#, no-wrap
msgid "B<CPPFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:106
msgid "Options for the C preprocessor. Default value: empty."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:106
#, no-wrap
msgid "B<CXXFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:109
msgid "Options for the C++ compiler. Same as B<CFLAGS>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:109
#, no-wrap
msgid "B<FFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:112
msgid "Options for the Fortran compiler. Same as B<CFLAGS>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:112
#, no-wrap
msgid "B<LDFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:120
msgid ""
"Options passed to the compiler when linking executables or shared objects "
"(if the linker is called directly, then B<-Wl> and B<,> have to be stripped "
"from these options). Default value: empty."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:122
#, no-wrap
msgid "B</etc/dpkg/buildflags.conf>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:125
msgid "System wide configuration file."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:125
#, no-wrap
msgid ""
"B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> or "
"B<$HOME/.config/dpkg/buildflags.conf>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:128
msgid "User configuration file."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:135
msgid ""
"There are 2 sets of environment variables doing the same operations, the "
"first one (DEB_I<flag>_I<op>) should never be used within "
"B<debian/rules>. It's meant for any user that wants to rebuild the source "
"package with different build flags. The second set (DEB_I<flag>_MAINT_I<op>) "
"should only be used in B<debian/rules> by package maintainers to change the "
"resulting build flags."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:135
#, no-wrap
msgid "B<DEB_>I<flag>B<_SET>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:137
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_SET>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:141
msgid "This variable can be used to force the value returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:141
#, no-wrap
msgid "B<DEB_>I<flag>B<_STRIP>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:143
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_STRIP>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:148
msgid ""
"This variable can be used to provide a space separated list of options that "
"will be stripped from the set of flags returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:148
#, no-wrap
msgid "B<DEB_>I<flag>B<_APPEND>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:150
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_APPEND>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:154
msgid ""
"This variable can be used to append supplementary options to the value "
"returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:154
#, no-wrap
msgid "B<DEB_>I<flag>B<_PREPEND>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:156
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_PREPEND>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:160
msgid ""
"This variable can be used to prepend supplementary options to the value "
"returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:160
#, no-wrap
msgid "B<DEB_BUILD_MAINT_OPTIONS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:165
msgid ""
"This variable can be used to disable/enable various hardening build flags "
"through the B<hardening> option. See the B<HARDENING> section for details."
msgstr ""

#. type: SH
#: dpkg-buildflags.1:166
#, no-wrap
msgid "HARDENING"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:171
msgid ""
"Several compile-time options (detailed below) can be used to help harden a "
"resulting binary against memory corruption attacks, or provide additional "
"warning messages during compilation. Except as noted below, these are "
"enabled by default for architectures that support them."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:177
msgid ""
"Each hardening feature can be enabled and disabled in the "
"B<DEB_BUILD_MAINT_OPTIONS> environment variable's B<hardening> value with "
"the \"+\" and \"-\" modifier. For example, to enable the \"pie\" feature and "
"disable the \"fortify\" feature you can do this in B<debian/rules>:"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:179
#, no-wrap
msgid "  export DEB_BUILD_MAINT_OPTIONS=\"hardening=+pie,-fortify\"\n"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:183
msgid ""
"The special feature B<all> can be used to enable or disable all hardening "
"features at the same time. Thus disabling everything and enabling only "
"\"format\" and \"fortify\" can be achieved with:"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:185
#, no-wrap
msgid "  export DEB_BUILD_MAINT_OPTIONS=\"hardening=-all,+format,+fortify\"\n"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:186
#, no-wrap
msgid "B<format>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:198
msgid ""
"This setting (enabled by default) adds B<-Wformat -Wformat-security "
"-Werror=format-security> to B<CFLAGS> and B<CXXFLAGS>. This will warn about "
"improper format string uses, and will fail when format functions are used in "
"a way that that represent possible security problems. At present, this warns "
"about calls to B<printf> and B<scanf> functions where the format string is "
"not a string literal and there are no format arguments, as in "
"B<printf(foo);> instead of B<printf(\"%s\", foo);> This may be a security "
"hole if the format string came from untrusted input and contains \"%n\"."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:199
#, no-wrap
msgid "B<fortify>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:210
msgid ""
"This setting (enabled by default) adds B<-D_FORTIFY_SOURCE=2> to B<CFLAGS> "
"and B<CXXFLAGS>. During code generation the compiler knows a great deal of "
"information about buffer sizes (where possible), and attempts to replace "
"insecure unlimited length buffer function calls with length-limited "
"ones. This is especially useful for old, crufty code.  Additionally, format "
"strings in writable memory that contain '%n' are blocked. If an application "
"depends on such a format string, it will need to be worked around."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:213
msgid ""
"Note that for this option to have any effect, the source must also be "
"compiled with B<-O1> or higher."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:213
#, no-wrap
msgid "B<stackprotector>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:222
msgid ""
"This setting (enabled by default) adds B<-fstack-protector "
"--param=ssp-buffer-size=4> to B<CFLAGS> and B<CXXFLAGS>. This adds safety "
"checks against stack overwrites. This renders many potential code injection "
"attacks into aborting situations. In the best case this turns code injection "
"vulnerabilities into denial of service or into non-issues (depending on the "
"application)."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:226
msgid ""
"This feature requires linking against glibc (or another provider of "
"B<__stack_chk_fail>), so needs to be disabled when building with "
"B<-nostdlib> or B<-ffreestanding> or similar."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:227
#, no-wrap
msgid "B<relro>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:235
msgid ""
"This setting (enabled by default) adds B<-Wl,-z,relro> to B<LDFLAGS>.  "
"During program load, several ELF memory sections need to be written to by "
"the linker. This flags the loader to turn these sections read-only before "
"turning over control to the program. Most notably this prevents GOT "
"overwrite attacks."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:236
#, no-wrap
msgid "B<bindnow>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:243
msgid ""
"This setting (disabled by default) adds B<-Wl,-z,now> to B<LDFLAGS>. During "
"program load, all dynamic symbols are resolved, allowing for the entire PLT "
"to be marked read-only (due to B<relro> above)."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:244
#, no-wrap
msgid "B<pie>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:256
msgid ""
"This setting (disabled by default) adds B<-fPIE> to B<CFLAGS> and "
"B<CXXFLAGS>, and B<-fPIE -pie> to B<LDFLAGS>. Position Independent "
"Executable are needed to take advantage of Address Space Layout "
"Randomization, supported by some kernel versions. While ASLR can already be "
"enforced for data areas in the stack and heap (brk and mmap), the code areas "
"must be compiled as position-independent. Shared libraries already do this "
"(-fPIC), so they gain ASLR automatically, but binary .text regions need to "
"be build PIE to gain ASLR. When this happens, ROP (Return Oriented "
"Programming) attacks are much harder since there are no static locations to "
"bounce off of during a memory corruption attack."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:259
msgid ""
"This is not compatible with B<-fPIC> so care must be taken when building "
"shared objects."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:265
msgid ""
"Additionally, since PIE is implemented via a general register, some "
"architectures (most notably i386) can see performance losses of up to 15% in "
"very text-segment-heavy application workloads; most workloads see less than "
"1%. Architectures with more general registers (e.g. amd64)  do not see as "
"high a worst-case penalty."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:268
msgid "Copyright \\(co 2010-2011 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:270
msgid "Copyright \\(co 2011 Kees Cook"
msgstr ""

#. type: TH
#: dpkg-buildpackage.1:1
#, no-wrap
msgid "dpkg-buildpackage"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:4
msgid "dpkg-buildpackage - build binary or source packages from sources"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:8
msgid "B<dpkg-buildpackage> [I<option>...]"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:13
msgid ""
"B<dpkg-buildpackage> is a program that automates the process of building a "
"Debian package. It consists of the following steps:"
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:13
#, no-wrap
msgid "B<1.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:17
msgid ""
"It prepares the build environment by setting various environment variables "
"(see B<ENVIRONMENT>) and calls B<dpkg-source --before-build> (unless B<-T> "
"or B<--target> has been used)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:17
#, no-wrap
msgid "B<2.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:20
msgid ""
"It checks that the build-dependencies and build-conflicts are satisfied "
"(unless B<-d> is specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:20
#, no-wrap
msgid "B<3.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:25
msgid ""
"If a specific target has been selected with the B<-T> or B<--target> option, "
"it calls that target and stops here. Otherwise it calls B<fakeroot "
"debian/rules clean> to clean the build-tree (unless B<-nc> is specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:25
#, no-wrap
msgid "B<4.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:29
msgid ""
"It calls B<dpkg-source -b> to generate the source package (unless a "
"binary-only build has been requested with B<-b>, B<-B> or B<-A>)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:29
#, no-wrap
msgid "B<5.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:36
msgid ""
"It calls B<debian/rules> B<build> followed by B<fakeroot debian/rules> "
"I<binary-target> (unless a source-only build has been requested with "
"B<-S>). Note that I<binary-target> is either B<binary> (default case, or if "
"B<-b> is specified)  or B<binary-arch> (if B<-B> is specified) or "
"B<binary-indep> (if B<-A> is specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:36
#, no-wrap
msgid "B<6.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:39
msgid ""
"It calls B<gpg> to sign the B<.dsc> file (if any, unless B<-us> is "
"specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:39
#, no-wrap
msgid "B<7.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:43
msgid ""
"It calls B<dpkg-genchanges> to generate a B<.changes> file.  Many "
"B<dpkg-buildpackage> options are forwarded to B<dpkg-genchanges>."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:43
#, no-wrap
msgid "B<8.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:46
msgid "It calls B<gpg> to sign the B<.changes> file (unless B<-uc> is specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:46
#, no-wrap
msgid "B<9.>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:49
msgid ""
"If B<-tc> is specified, it will call B<fakeroot debian/rules clean> "
"again. Finally it calls B<dpkg-source --after-build>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:51
#, no-wrap
msgid "B<-b>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:55
msgid ""
"Specifies a binary-only build, no source files are to be built and/or "
"distributed. Passed to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:55 dpkg-checkbuilddeps.1:23
#, no-wrap
msgid "B<-B>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:59
msgid ""
"Specifies a binary-only build, limited to architecture dependent packages.  "
"Passed to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:59
#, no-wrap
msgid "B<-A>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:63
msgid ""
"Specifies a binary-only build, limited to architecture independent "
"packages. Passed to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:63 dpkg-genchanges.1:27
#, no-wrap
msgid "B<-S>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:67
msgid ""
"Specifies a source-only build, no binary packages need to be made.  Passed "
"to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:67
#, no-wrap
msgid "B<-F>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:71
msgid ""
"Specifies a normal full build, binary and source packages will be built.  "
"This is the same as the default case when no build option is specified."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:73
msgid "B<--target=>I<target>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:75
msgid "B<--target >I<target>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:77
msgid "B<-T>I<target>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:83
msgid ""
"Calls B<debian/rules> I<target> after having setup the build environment and "
"stops the package build process here. If B<--as-root> is also given, then "
"the command is executed as root (see B<-r>). Note that official targets that "
"are required to be run as root by the Debian policy do not need this option."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:84
#, no-wrap
msgid "B<--as-root>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:88
msgid ""
"Only meaningful together with B<--target>. Requires that the target be run "
"with root rights."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:90 dpkg-genchanges.1:36
#, no-wrap
msgid "B<-si>"
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:92 dpkg-genchanges.1:42
#, no-wrap
msgid "B<-sa>"
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:94 dpkg-genchanges.1:45
#, no-wrap
msgid "B<-sd>"
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:96 dpkg-genchanges.1:49 dpkg-gencontrol.1:38 dpkg-gensymbols.1:377
#, no-wrap
msgid "B<-v>I<version>"
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:98 dpkg-genchanges.1:54
#, no-wrap
msgid "B<-C>I<changesdescription>"
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:100 dpkg-genchanges.1:60
#, no-wrap
msgid "B<-m>I<maintaineraddress>"
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:102 dpkg-genchanges.1:66
#, no-wrap
msgid "B<-e>I<maintaineraddress>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:104
msgid "Passed unchanged to B<dpkg-genchanges>. See its manual page."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:105
#, no-wrap
msgid "B<-a>I<architecture>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:110
msgid ""
"Specify the Debian architecture we build for. The architecture of the "
"machine we build on is determined automatically, and is also the default for "
"the host machine."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:115
msgid ""
"Specify the GNU system type we build for. It can be used in place of -a or "
"as a complement to override the default GNU system type of the target Debian "
"architecture."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:115
#, no-wrap
msgid "B<-j>I<jobs>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:126
msgid ""
"Number of jobs allowed to be run simultaneously, equivalent to the "
"B<make>(1)  option of the same name. Will add itself to the MAKEFLAGS "
"environment variable, which should cause all subsequent make invocations to "
"inherit the option. Also adds B<parallel=>I<jobs> to the DEB_BUILD_OPTIONS "
"environment variable which allows debian/rules files to use this information "
"for their own purposes.  The B<parallel=>I<jobs> in DEB_BUILD_OPTIONS "
"environment variable will override the B<-j> value if this option is given."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:126
#, no-wrap
msgid "B<-D>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:130
msgid ""
"Check build dependencies and conflicts; abort if unsatisfied. This is the "
"default behavior."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:130 dpkg-gensymbols.1:432
#, no-wrap
msgid "B<-d>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:133
msgid "Do not check build dependencies and conflicts."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:133
#, no-wrap
msgid "B<-nc>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:137
msgid ""
"Do not clean the source tree (implies B<-b> if nothing else has been "
"selected among B<-B>, B<-A> or B<-S>)."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:137
#, no-wrap
msgid "B<-tc>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:143
msgid ""
"Clean the source tree (using I<gain-root-command> B<debian/rules clean>)  "
"after the package has been built."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:143
#, no-wrap
msgid "B<-r>I<gain-root-command>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:167
msgid ""
"When B<dpkg-buildpackage> needs to execute part of the build process as "
"root, it prefixes the command it executes with I<gain-root-command> if one "
"has been specified. Otherwise, if none has been specified, B<fakeroot> will "
"be used by default, if the command is present.  I<gain-root-command> should "
"start with the name of a program on the B<PATH> and will get as arguments "
"the name of the real command to run and the arguments it should take.  "
"I<gain-root-command> can include parameters (they must be space-separated) "
"but no shell metacharacters.  I<gain-root-command> might typically be "
"B<fakeroot>, B<sudo>, B<super> or B<really>.  B<su> is not suitable, since "
"it can only invoke the user's shell with B<-c> instead of passing arguments "
"individually to the command to be run."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:167
#, no-wrap
msgid "B<-R>I<rules-file>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:178
msgid ""
"Building a Debian package usually involves invoking B<debian/rules> as a "
"command with several standard parameters. With this option it's possible to "
"use another program invocation to build the package (it can include space "
"separated parameters).  Alternatively it can be used to execute the standard "
"rules file with another make program (for example by using "
"B</usr/local/bin/make -f debian/rules> as I<rules-file>)."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:178
#, no-wrap
msgid "B<-p>I<sign-command>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:188
msgid ""
"When B<dpkg-buildpackage> needs to execute GPG or PGP to sign a source "
"control (B<.dsc>) file or a B<.changes> file it will run I<sign-command> "
"(searching the B<PATH> if necessary) instead of B<gpg>. I<sign-command> will "
"get all the arguments that B<pgp> would have gotten. If I<sign-command> "
"takes its arguments in GPG rather than PGP style, you should give the "
"B<-sgpg> option. I<sign-command> should not contain spaces or any other "
"shell metacharacters."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:188
#, no-wrap
msgid "B<-k>I<key-id>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:191
msgid "Specify a key-ID to use when signing packages."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:191
#, no-wrap
msgid "B<-us>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:194
msgid "Do not sign the source package."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:194
#, no-wrap
msgid "B<-uc>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:197
msgid "Do not sign the B<.changes> file."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:199
msgid "B<-i>[I<regexp>]"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:201
msgid "B<-I>I<[pattern]>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:203
msgid "B<-s>[B<nsAkurKUR>]"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:205
msgid "B<-z>, B<-Z>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:208
msgid "Passed unchanged to B<dpkg-source>. See its manual page."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:209
#, no-wrap
msgid "B<--source-option=>I<opt>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:212
msgid "Pass option I<opt> to B<dpkg-source>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:212
#, no-wrap
msgid "B<--changes-option=>I<opt>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:215
msgid "Pass option I<opt> to B<dpkg-genchanges>."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:219
msgid "B<--admindir >I<dir>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:222 dpkg-checkbuilddeps.1:23 dpkg-query.1:122 dpkg-shlibdeps.1:215 dpkg-trigger.1:43
msgid ""
"Change the location of the B<dpkg> database. The default location is "
"I</var/lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:223 dpkg-checkbuilddeps.1:33 dpkg-distaddfile.1:32 dpkg-deb.1:172 dpkg-genchanges.1:131 dpkg-gencontrol.1:121 dpkg-gensymbols.1:443 dpkg-name.1:58 dpkg-parsechangelog.1:33 dpkg-query.1:110 dpkg-scanpackages.1:96 dpkg-shlibdeps.1:215 dpkg-source.1:96 dpkg-split.1:126 dpkg-trigger.1:31
#, no-wrap
msgid "B<-h>, B<--help>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:234
msgid ""
"Even if B<dpkg-buildpackage> exports some variables, B<debian/rules> should "
"not rely on their presence and should instead use the respective interface "
"to retrieve the needed values."
msgstr ""

#. type: SS
#: dpkg-buildpackage.1:234
#, no-wrap
msgid "Variables set by dpkg-architecture"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:238
msgid ""
"B<dpkg-architecture> is called with the B<-a> and B<-t> parameters "
"forwarded. Any variable that is output by its B<-s> option is integrated in "
"the build environment."
msgstr ""

#. type: SS
#: dpkg-buildpackage.1:238
#, no-wrap
msgid "Compiler flags are no longer exported"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:243
msgid ""
"Between versions 1.14.17 and 1.16.1, B<dpkg-buildpackage> exported compiler "
"flags (B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> and B<LDFLAGS>) with "
"values as returned by B<dpkg-buildflags>. This is no longer the case."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:248
msgid ""
"It should be possible to specify spaces and shell metacharacters in and "
"initial arguments for I<gain-root-command> and I<sign-command>."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:256
msgid ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), "
"B<dpkg-genchanges>(1), B<fakeroot>(1), B<gpg>(1)."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:265
msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: TH
#: dpkg-checkbuilddeps.1:1
#, no-wrap
msgid "dpkg-checkbuilddeps"
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:4
msgid "dpkg-checkbuilddeps - check build dependencies and conflicts"
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:9
msgid "B<dpkg-checkbuilddeps> [I<option>...] [I<control-file>]"
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:14
msgid ""
"This program checks the installed packages in the system against the build "
"dependencies and build conflicts listed in the control file. If any are not "
"met, it displays them and exits with a nonzero return code."
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:17
msgid ""
"By default, B<debian/control> is read, but an alternate control filename may "
"be specified on the command line."
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:27
msgid ""
"Ignore I<Build-Depends-Indep> lines. Use when no arch-indep packages will be "
"built."
msgstr ""

#. type: TP
#: dpkg-checkbuilddeps.1:27
#, no-wrap
msgid "B<-d >I<build-depends-string>"
msgstr ""

#. type: TP
#: dpkg-checkbuilddeps.1:29
#, no-wrap
msgid "B<-c >I<build-conflicts-string>"
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:33
msgid ""
"Use the given build dependencies/conflicts instead of those contained in the "
"I<debian/control> file."
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:42
msgid "Copyright \\(co 2001 Joey Hess"
msgstr ""

#. type: TH
#: dpkg-distaddfile.1:1
#, no-wrap
msgid "dpkg-distaddfile"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:4
msgid "dpkg-distaddfile - add entries to debian/files"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:8
msgid "B<dpkg-distaddfile> [I<option>...]I< filename section priority>"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:13
msgid "B<dpkg-distaddfile> adds an entry for a named file to B<debian/files>."
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:18
msgid ""
"It takes three non-option arguments, the filename and the section and "
"priority for the B<.changes> file."
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:26
msgid ""
"The filename should be specified relative to the directory where "
"B<dpkg-genchanges> will expect to find the files, usually B<..>, rather than "
"being a pathname relative to the current directory when B<dpkg-distaddfile> "
"is run."
msgstr ""

#. type: TP
#: dpkg-distaddfile.1:28 dpkg-genchanges.1:103 dpkg-gencontrol.1:69
#, no-wrap
msgid "B<-f>I<fileslistfile>"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:32 dpkg-gencontrol.1:73
msgid ""
"Read or write the list of files to be uploaded here, rather than using "
"B<debian/files>."
msgstr ""

#. type: TP
#: dpkg-distaddfile.1:40 dpkg-genchanges.1:139 dpkg-gencontrol.1:134
#, no-wrap
msgid "B<debian/files>"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:46
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-distaddfile> can be used to add additional files."
msgstr ""

#. type: TH
#: dpkg-deb.1:1
#, no-wrap
msgid "dpkg-deb"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:4
msgid "dpkg-deb - Debian package archive (.deb) manipulation tool"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:8
msgid "B<dpkg-deb> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:12
msgid "B<dpkg-deb> packs, unpacks and provides information about Debian archives."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:16
msgid "Use B<dpkg> to install and remove packages from your system."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:26
msgid ""
"You can also invoke B<dpkg-deb> by calling B<dpkg> with whatever options you "
"want to pass to B<dpkg-deb>. B<dpkg> will spot that you wanted B<dpkg-deb> "
"and run it for you."
msgstr ""

#. type: TP
#: dpkg-deb.1:28
#, no-wrap
msgid "B<-b>, B<--build> I<directory> [I<archive>|I<directory>]"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:40
msgid ""
"Creates a debian archive from the filesystem tree stored in "
"I<directory>. I<directory> must have a B<DEBIAN> subdirectory, which "
"contains the control information files such as the control file itself. This "
"directory will I<not> appear in the binary package's filesystem archive, but "
"instead the files in it will be put in the binary package's control "
"information area."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:52
msgid ""
"Unless you specify B<--nocheck>, B<dpkg-deb> will read B<DEBIAN/control> and "
"parse it. It will check it for syntax errors and other problems, and display "
"the name of the binary package being built.  B<dpkg-deb> will also check the "
"permissions of the maintainer scripts and other files found in the B<DEBIAN> "
"control information directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:59
msgid ""
"If no I<archive> is specified then B<dpkg-deb> will write the package into "
"the file I<directory>B<.deb>."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:61
msgid "If the archive to be created already exists it will be overwritten."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:77
msgid ""
"If the second argument is a directory then B<dpkg-deb> will write to the "
"file I<package>B<_>I<version>B<_>I<arch>B<.deb>, or "
"I<package>B<_>I<version>B<.deb> if no B<Architecture> field is present in "
"the package control file. When a target directory is specified, rather than "
"a file, the B<--nocheck> option may not be used (since B<dpkg-deb> needs to "
"read and parse the package control file to determine which filename to use)."
msgstr ""

#. type: TP
#: dpkg-deb.1:77
#, no-wrap
msgid "B<-I>, B<--info> I<archive> [I<control-file-name>...]"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:80
msgid "Provides information about a binary package archive."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:85
msgid ""
"If no I<control-file-name>s are specified then it will print a summary of "
"the contents of the package as well as its control file."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:93
msgid ""
"If any I<control-file-name>s are specified then B<dpkg-deb> will print them "
"in the order they were specified; if any of the components weren't present "
"it will print an error message to stderr about each one and exit with status "
"2."
msgstr ""

#. type: TP
#: dpkg-deb.1:93
#, no-wrap
msgid "B<-W>, B<--show> I<archive>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:100
msgid ""
"Provides information about a binary package archive in the format specified "
"by the B<--showformat> argument. The default format displays the package's "
"name and version on one line, separated by a tabulator."
msgstr ""

#. type: TP
#: dpkg-deb.1:100
#, no-wrap
msgid "B<-f>, B<--field> I<archive> [I<control-field-name>...]"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:103
msgid "Extracts control file information from a binary package archive."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:107
msgid ""
"If no B<control-file-field>s are specified then it will print the whole "
"control file."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:116
msgid ""
"If any are specified then B<dpkg-deb> will print their contents, in the "
"order in which they appear in the control file. If more than one "
"B<control-file-field> is specified then B<dpkg-deb> will precede each with "
"its field name (and a colon and space)."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:118
msgid "No errors are reported for fields requested but not found."
msgstr ""

#. type: TP
#: dpkg-deb.1:118
#, no-wrap
msgid "B<-c>, B<--contents> I<archive>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:124
msgid ""
"Lists the contents of the filesystem tree archive portion of the package "
"archive. It is currently produced in the format generated by B<tar>'s "
"verbose listing."
msgstr ""

#. type: TP
#: dpkg-deb.1:124
#, no-wrap
msgid "B<-x>, B<--extract> I<archive directory>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:128
msgid ""
"Extracts the filesystem tree from a package archive into the specified "
"directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:134
msgid ""
"Note that extracting a package to the root directory will I<not> result in a "
"correct installation! Use B<dpkg> to install packages."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:138
msgid ""
"I<directory> (but not its parents) will be created if necessary, and its "
"permissions modified to match the contents of the package."
msgstr ""

#. type: TP
#: dpkg-deb.1:138
#, no-wrap
msgid "B<-X>, B<--vextract> I<archive directory>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:145
msgid ""
"Is like B<--extract> (B<-x>)  with B<--verbose> (B<-v>)  which prints a "
"listing of the files extracted as it goes."
msgstr ""

#. type: TP
#: dpkg-deb.1:145
#, no-wrap
msgid "B<-R>, B<--raw-extract> I<archive directory>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:150
msgid ""
"Extracts the filesystem tree from a package archive into a specified "
"directory, and the control information files into a DEBIAN subdirectory of "
"the specified directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:152 dpkg-deb.1:172
msgid "The target directory (but not its parents) will be created if necessary."
msgstr ""

#. type: TP
#: dpkg-deb.1:152
#, no-wrap
msgid "B<--fsys-tarfile> I<archive>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:161
msgid ""
"Extracts the filesystem tree data from a binary package and sends it to "
"standard output in B<tar> format. Together with B<tar>(1)  this can be used "
"to extract a particular file from a package archive.  The input archive will "
"always be processed sequentially."
msgstr ""

#. type: TP
#: dpkg-deb.1:161
#, no-wrap
msgid "B<-e>, B<--control> I<archive> [I<directory>]"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:165
msgid ""
"Extracts the control information files from a package archive into the "
"specified directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:169
msgid ""
"If no directory is specified then a subdirectory B<DEBIAN> in the current "
"directory is used."
msgstr ""

#. type: TP
#: dpkg-deb.1:180
#, no-wrap
msgid "B<--showformat=>I<format>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:185 dpkg-query.1:127
msgid ""
"This option is used to specify the format of the output B<--show> will "
"produce. The format is a string that will be output for each package listed."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:194
msgid ""
"The string may reference any status field using the \"${I<field-name>}\" "
"form, a list of the valid fields can be easily produced using B<-I> on the "
"same package. A complete explanation of the formatting options (including "
"escape sequences and field tabbing) can be found in the explanation of the "
"B<--showformat> option in B<dpkg-query>(1)."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:196
msgid "The default for this field is \"${Package}\\et${Version}\\en\"."
msgstr ""

#. type: TP
#: dpkg-deb.1:196
#, no-wrap
msgid "B<-z>I<compress-level>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:200
msgid ""
"Specify which compression level to use on the compressor backend, when "
"building a package (default is 9 for gzip and bzip2, 6 for xz and lzma)."
msgstr ""

#. type: TP
#: dpkg-deb.1:200
#, no-wrap
msgid "B<-Z>I<compress-type>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:205
msgid ""
"Specify which compression type to use when building a package. Allowed "
"values are I<gzip>, I<xz>, I<bzip2>, I<lzma>, and I<none> (default is "
"I<gzip>)."
msgstr ""

#. type: TP
#: dpkg-deb.1:205
#, no-wrap
msgid "B<--new>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:210
msgid "Ensures that B<dpkg-deb> builds a `new' format archive. This is the default."
msgstr ""

#. type: TP
#: dpkg-deb.1:210
#, no-wrap
msgid "B<--old>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:218
msgid ""
"Forces B<dpkg-deb> to build an `old' format archive. This old archive format "
"is less easily parsed by non-Debian tools and is now obsolete; its only use "
"is when building packages to be parsed by versions of dpkg older than "
"0.93.76 (September 1995), which was released as i386 a.out only."
msgstr ""

#. type: TP
#: dpkg-deb.1:218
#, no-wrap
msgid "B<--nocheck>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:224
msgid ""
"Inhibits B<dpkg-deb --build>'s usual checks on the proposed contents of an "
"archive. You can build any archive you want, no matter how broken, this way."
msgstr ""

#. type: TP
#: dpkg-deb.1:224 start-stop-daemon.8:255
#, no-wrap
msgid "B<-v>, B<--verbose>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:228
msgid ""
"Enables verbose output. This currently only affects B<--extract> making it "
"behave like B<--vextract>."
msgstr ""

#. type: TP
#: dpkg-deb.1:228
#, no-wrap
msgid "B<-D>, B<--debug>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:231
msgid "Enables debugging output. This is not very interesting."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:237
msgid ""
"If set, B<dpkg-deb> will use it as the directory in which to create "
"temporary files and directories."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:243
msgid "B<dpkg-deb -I> I<package1>B<.deb> I<package2>B<.deb> does the wrong thing."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:251
msgid ""
"There is no authentication on B<.deb> files; in fact, there isn't even a "
"straightforward checksum.  (Higher level tools like APT support "
"authenticating B<.deb> packages retrieved from a given repository, and most "
"packages nowadays provide an md5sum control file generated by "
"debian/rules. Though this is not directly supported by the lower level "
"tools.)"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:258
msgid ""
"Do not attempt to use just B<dpkg-deb> to install software! You must use "
"B<dpkg> proper to ensure that all the files are correctly placed and the "
"package's scripts run and its status and contents recorded."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:264
msgid "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."
msgstr ""

#. type: TH
#: dpkg-divert.8:1
#, no-wrap
msgid "dpkg-divert"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:4
msgid "dpkg-divert - override a package's version of a file"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:9
msgid "B<dpkg-divert> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:13
msgid ""
"B<dpkg-divert> is the utility used to set up and update the list of "
"diversions."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:23
msgid ""
"File I<diversions> are a way of forcing B<dpkg>(1)  not to install a file "
"into its location, but to a I<diverted> location. Diversions can be used "
"through the Debian package scripts to move a file away when it causes a "
"conflict. System administrators can also use it to override some package's "
"configuration file, or whenever some files (which aren't marked as "
"'conffiles') need to be preserved by dpkg, when installing a newer version "
"of a package which contains those files."
msgstr ""

#. type: TP
#: dpkg-divert.8:25
#, no-wrap
msgid "[B<--add>] I<file>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:28
msgid "Add a diversion for I<file>."
msgstr ""

#. type: TP
#: dpkg-divert.8:28 dpkg-statoverride.8:35
#, no-wrap
msgid "B<--remove>I< file>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:31
msgid "Remove a diversion for I<file>."
msgstr ""

#. type: TP
#: dpkg-divert.8:31
#, no-wrap
msgid "B<--list>I< glob-pattern>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:34
msgid "List diversions matching I<glob-pattern>."
msgstr ""

#. type: TP
#: dpkg-divert.8:34
#, no-wrap
msgid "B<--listpackage>I< file>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:38
msgid ""
"Print the name of the package that diverts I<file>.  Prints LOCAL if I<file> "
"is locally diverted and nothing if I<file> is not diverted."
msgstr ""

#. type: TP
#: dpkg-divert.8:38
#, no-wrap
msgid "B<--truename>I< file>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:41
msgid "Print the real name for a diverted file."
msgstr ""

#. type: TP
#: dpkg-divert.8:43 dpkg-statoverride.8:52 dselect.1:44 update-alternatives.8:328
#, no-wrap
msgid "B<--admindir>I< directory>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:46
msgid "Set the dpkg data directory to I<directory> (default: I</var/lib/dpkg>)."
msgstr ""

#. type: TP
#: dpkg-divert.8:46
#, no-wrap
msgid "B<--divert>I< divert-to>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:50
msgid ""
"I<divert-to> is the location where the versions of I<file>, as provided by "
"other packages, will be diverted."
msgstr ""

#. type: TP
#: dpkg-divert.8:50
#, no-wrap
msgid "B<--local>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:56
msgid ""
"Specifies that all packages' versions of this file are diverted.  This "
"means, that there are no exceptions, and whatever package is installed, the "
"file is diverted. This can be used by an admin to install a locally modified "
"version."
msgstr ""

#. type: TP
#: dpkg-divert.8:56
#, no-wrap
msgid "B<--package>I< package>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:61
msgid ""
"I<package> is the name of a package whose copy of I<file> will not be "
"diverted. i.e. I<file> will be diverted for all packages except I<package>."
msgstr ""

#. type: TP
#: dpkg-divert.8:61 dpkg-statoverride.8:64 update-alternatives.8:350
#, no-wrap
msgid "B<--quiet>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:64
msgid "Quiet mode, i.e. no verbose output."
msgstr ""

#. type: TP
#: dpkg-divert.8:64
#, no-wrap
msgid "B<--rename>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:68
msgid ""
"Actually move the file aside (or back). B<dpkg-divert> will abort operation "
"in case the destination file already exists."
msgstr ""

#. type: TP
#: dpkg-divert.8:68
#, no-wrap
msgid "B<--test>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:71
msgid "Test mode, i.e. don't actually perform any changes, just demonstrate."
msgstr ""

#. type: SH
#: dpkg-divert.8:78
#, no-wrap
msgid "NOTES"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:82
msgid ""
"When adding, default is B<--local> and B<--divert> "
"I<original>B<.distrib>. When removing, B<--package> or B<--local> and "
"B<--divert> must match if specified."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:84
msgid "Directories can't be diverted with B<dpkg-divert>."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:90
msgid ""
"Care should be taken when diverting shared libraries, B<ldconfig>(8)  "
"creates a symbolic link based on the DT_SONAME field embedded in the "
"library.  Because ldconfig doesn't honour diverts (only dpkg does), the "
"symlink may end up pointing at the diverted library, if a diverted library "
"has the same SONAME as the undiverted one."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:95
msgid ""
"To divert all copies of a I</usr/bin/example> to I</usr/bin/example.foo>, "
"i.e. directs all packages providing I</usr/bin/example> to install it as "
"I</usr/bin/example.foo>, performing the rename if required:"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:97
msgid "dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:99 dpkg-divert.8:109
msgid "To remove that diversion:"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:101
msgid "dpkg-divert --rename --remove /usr/bin/example"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:105
msgid ""
"To divert any package trying to install I</usr/bin/example> to "
"I</usr/bin/example.foo>, except your own I<wibble> package:"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:107
msgid ""
"dpkg-divert --package wibble --divert /usr/bin/example.foo --rename "
"/usr/bin/example"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:111
msgid "dpkg-divert --package wibble --rename --remove /usr/bin/example"
msgstr ""

#. type: TP
#: dpkg-divert.8:113 dpkg-query.1:205 dpkg-statoverride.8:69 dpkg-trigger.1:61 update-alternatives.8:355
#, no-wrap
msgid "B<DPKG_ADMINDIR>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:117 dpkg-query.1:209 dpkg-statoverride.8:73 dpkg-trigger.1:65
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the dpkg data directory."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:121
msgid ""
"If set and the B<--local> and B<--package> options have not been specified, "
"B<dpkg-divert> will use it as the package name."
msgstr ""

#. type: TP
#: dpkg-divert.8:123
#, no-wrap
msgid "I</var/lib/dpkg/diversions>"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:128
msgid ""
"File which contains the current list of diversions of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as I<status> or I<available>."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:131
msgid ""
"Note: B<dpkg-divert> preserves the old copy of this file, with extension "
"I<-old>, before replacing it with the new one."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:137 update-alternatives.8:496
msgid "Copyright \\(co 1995 Ian Jackson"
msgstr ""

#. type: TH
#: dpkg-genchanges.1:1
#, no-wrap
msgid "dpkg-genchanges"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:4
msgid "dpkg-genchanges - generate Debian .changes files"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:8
msgid "B<dpkg-genchanges> [I<option>...]"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:16
msgid ""
"B<dpkg-genchanges> reads information from an unpacked and built Debian "
"source tree and from the files it has generated and generates a Debian "
"upload control file (B<.changes> file)."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:18
#, no-wrap
msgid "B<-b>, B<-B>, B<-A>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:27
msgid ""
"Specifies that a binary-only build is taking place (no source files are to "
"be included). There's no distinction between B<-b>, B<-B> and B<-A>, the "
"produced B<.changes> file will include whatever files were created by the "
"B<binary-*> target(s) of the package being built."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:31
msgid ""
"Specifies that only the source should be uploaded (no binary packages will "
"be included)."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:36
msgid ""
"The B<-s>I<x> options control whether the original source archive is "
"included in the upload if any source is being generated (i.e.  B<-b> or "
"B<-B> haven't been used)."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:42
msgid ""
"By default, or if specified, the original source will be included only if "
"the upstream version number (the version without epoch and without Debian "
"revision) differs from the upstream version number of the previous changelog "
"entry."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:45
msgid "Forces the inclusion of the original source."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:48
msgid "Forces the exclusion of the original source and includes only the diff."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:54
msgid ""
"Causes changelog information from all versions strictly later than "
"I<version> to be used."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:60
msgid ""
"Read the description of the changes from the file I<changesdescription> "
"rather than using the information from the source tree's changelog file."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:66
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this package, rather than using the information from the source tree's "
"control file."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:72
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this upload, rather than using the information from the source tree's "
"changelog."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:72 dpkg-gencontrol.1:41 dpkg-source.1:127
#, no-wrap
msgid "B<-V>I<name>B<=>I<value>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:76 dpkg-source.1:131
msgid ""
"Set an output substitution variable.  See B<deb-substvars>(5) for a "
"discussion of output substitution."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:76 dpkg-gencontrol.1:45 dpkg-shlibdeps.1:169 dpkg-source.1:131
#, no-wrap
msgid "B<-T>I<substvarsfile>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:86
msgid ""
"Read substitution variables in I<substvarsfile>; the default is "
"B<debian/substvars>.  No variable substitution is done on any of the fields "
"that are output, however the special variable I<Format> will override the "
"field of the same name. This option can be used multiple times to read "
"substitution variables from multiple files."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:87 dpkg-gencontrol.1:53 dpkg-source.1:137
#, no-wrap
msgid "B<-D>I<field>B<=>I<value>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
msgid "Override or add an output control file field."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
#, no-wrap
msgid "B<-U>I<field>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:143
msgid "Remove an output control file field."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:104
#, no-wrap
msgid "B<-c>I<controlfile>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64 dpkg-parsechangelog.1:16 dpkg-source.1:111
#, no-wrap
msgid "B<-l>I<changelogfile>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:103 dpkg-gencontrol.1:69 dpkg-parsechangelog.1:21
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:107
msgid ""
"Read the list of files to be uploaded here, rather than using "
"B<debian/files>."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:107 dpkg-gencontrol.1:73 dpkg-parsechangelog.1:21 dpkg-source.1:118
#, no-wrap
msgid "B<-F>I<changelogformat>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:112 dpkg-gencontrol.1:78 dpkg-parsechangelog.1:26 dpkg-source.1:123
msgid ""
"Specifies the format of the changelog. By default the format is read from a "
"special line near the bottom of the changelog or failing that defaults to "
"the debian standard format."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:112
#, no-wrap
msgid "B<-u>I<uploadfilesdir>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:123
msgid ""
"Look for the files to be uploaded in I<uploadfilesdir> rather than B<..> "
"(B<dpkg-genchanges> needs to find these files so that it can include their "
"sizes and checksums in the B<.changes> file)."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:123 dpkg-gensymbols.1:421
#, no-wrap
msgid "B<-q>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:131
msgid ""
"Usually B<dpkg-genchanges> will produce informative messages on standard "
"error, for example about how many of the package's source files are being "
"uploaded.  B<-q> suppresses these messages."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:147
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-genchanges> reads the data here when producing a B<.changes> file."
msgstr ""

#. type: TH
#: dpkg-gencontrol.1:1
#, no-wrap
msgid "dpkg-gencontrol"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:4
msgid "dpkg-gencontrol - generate Debian control files"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:8
msgid "B<dpkg-gencontrol> [I<option>...]"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:14
msgid ""
"B<dpkg-gencontrol> reads information from an unpacked Debian source tree and "
"generates a binary package control file (which defaults to "
"debian/tmp/DEBIAN/control); during this process it will simplify the "
"relation fields."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:27
msgid ""
"Thus I<Pre-Depends>, I<Depends>, I<Recommends> and I<Suggests> are "
"simplified in this order by removing dependencies which are known to be true "
"according to the stronger dependencies already parsed. It will also remove "
"any self-dependency (in fact it will remove any dependency which evaluates "
"to true given the current version of the package as installed). Logically it "
"keeps the intersection of multiple dependencies on the same package. The "
"order of dependencies is preserved as best as possible: if any dependency "
"must be discarded due to another dependency appearing further in the field, "
"the superseding dependency will take the place of the discarded one."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:32
msgid ""
"The other relation fields (I<Enhances>, I<Conflicts>, I<Breaks>, I<Replaces> "
"and I<Provides>)  are also simplified individually by computing the union of "
"the various dependencies when a package is listed multiple times in the "
"field."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:36
msgid ""
"B<dpkg-gencontrol> also adds an entry for the binary package to "
"B<debian/files>."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:41
msgid "Sets the version number of the binary package which will be generated."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:45
msgid ""
"Set an output substitution variable. See B<deb-substvars>(5) for discussion "
"of output substitution."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:53
msgid ""
"Read substitution variables in I<substvarsfile>; the default is "
"B<debian/substvars>.  This option can be used multiple times to read "
"substitution variables from multiple files."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:78 dpkg-gensymbols.1:373
#, no-wrap
msgid "B<-p>I<package>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:85
msgid ""
"Generate information for the binary package I<package>.  If the source "
"control file lists only one binary package then this option may be omitted; "
"otherwise it is essential to select which binary package's information to "
"generate."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:85
#, no-wrap
msgid "B<-n>I<filename>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:90
msgid ""
"Assume the filename of the package will be I<filename> instead of the normal "
"package_version_arch.deb filename."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:90
#, no-wrap
msgid "B<-is>, B<-ip>, B<-isp>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:99
msgid ""
"These options are ignored for compatibility with older versions of dpkg-dev "
"but are now deprecated. Previously they were used to tell dpkg-gencontrol to "
"include the Section and Priority fields in the control file. This is now the "
"default behaviour. If you want to get the old behaviour you can use the "
"B<-U> option to delete the fields from the control file."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:99
#, no-wrap
msgid "B<-P>I<packagebuilddir>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:112
msgid ""
"Tells B<dpkg-source> that the package is being built in I<packagebuilddir> "
"instead of B<debian/tmp>.  This value is used to find the default value of "
"the B<Installed-Size> substitution variable and control file field (using "
"B<du>), and for the default location of the output file."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:112 dpkg-gensymbols.1:391 dpkg-shlibdeps.1:150
#, no-wrap
msgid "B<-O>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:121
msgid ""
"Print the control file to standard output, rather than to "
"B<debian/tmp/DEBIAN/control> (or I<packagebuilddir>B</DEBIAN/control> if "
"B<-P> was used)."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:129
#, no-wrap
msgid "B<debian/control>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:134
msgid ""
"The main source control information file, giving version-independent "
"information about the source package and the binary packages it can produce."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:141
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-gencontrol> adds the presumed filenames of binary packages whose "
"control files it generates here."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:148 dpkg-shlibdeps.1:337
msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: TH
#: dpkg-gensymbols.1:2
#, no-wrap
msgid "dpkg-gensymbols"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:5
msgid ""
"dpkg-gensymbols - generate symbols files (shared library dependency "
"information)"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:9
msgid "B<dpkg-gensymbols> [I<option>...]"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:16
msgid ""
"B<dpkg-gensymbols> scans a temporary build tree (debian/tmp by default) "
"looking for libraries and generate a I<symbols> file describing them. This "
"file, if non-empty, is then installed in the DEBIAN subdirectory of the "
"build tree so that it ends up included in the control information of the "
"package."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:20
msgid ""
"When generating those files, it uses as input some symbols files provided by "
"the maintainer. It looks for the following files (and use the first that is "
"found):"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:22
msgid "debian/I<package>.symbols.I<arch>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:24
msgid "debian/symbols.I<arch>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:26
msgid "debian/I<package>.symbols"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:28
msgid "debian/symbols"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:36
msgid ""
"The main interest of those files is to provide the minimal version "
"associated to each symbol provided by the libraries. Usually it corresponds "
"to the first version of that package that provided the symbol, but it can be "
"manually incremented by the maintainer if the ABI of the symbol is extended "
"without breaking backwards compatibility. It's the responsibility of the "
"maintainer to keep those files up-to-date and accurate, but "
"B<dpkg-gensymbols> helps him."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:42
msgid ""
"When the generated symbols files differ from the maintainer supplied one, "
"B<dpkg-gensymbols> will print a diff between the two versions.  Furthermore "
"if the difference is too significant, it will even fail (you can customize "
"how much difference you can tolerate, see the B<-c> option)."
msgstr ""

#. type: SH
#: dpkg-gensymbols.1:42
#, no-wrap
msgid "MAINTAINING SYMBOLS FILES"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:55
msgid ""
"The symbols files are really useful only if they reflect the evolution of "
"the package through several releases. Thus the maintainer has to update them "
"every time that a new symbol is added so that its associated minimal version "
"matches reality. To do this properly he can use the diffs contained in the "
"build logs. In most cases, the diff applies directly to his "
"debian/I<package>.symbols file. That said, further tweaks are usually "
"needed: it's recommended for example to drop the Debian revision from the "
"minimal version so that backports with a lower version number but the same "
"upstream version still satisfy the generated dependencies.  If the Debian "
"revision can't be dropped because the symbol really got added by the Debian "
"specific change, then one should suffix the version with \"~\"."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:59
msgid ""
"Before applying any patch to the symbols file, the maintainer should "
"double-check that it's sane. Public symbols are not supposed to disappear, "
"so the patch should ideally only add new lines."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:64
msgid ""
"Note that you can put comments in symbols files: any line with '#' as the "
"first character is a comment except if it starts with '#include' (see "
"section B<Using includes>). Lines starting with '#MISSING:' are special "
"comments documenting symbols that have disappeared."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:64
#, no-wrap
msgid "Using #PACKAGE# substitution"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:72
msgid ""
"In some rare cases, the name of the library varies between architectures.  "
"To avoid hardcoding the name of the package in the symbols file, you can use "
"the marker I<#PACKAGE#>. It will be replaced by the real package name during "
"installation of the symbols files. Contrary to the I<#MINVER#> marker, "
"I<#PACKAGE#> will never appear in a symbols file inside a binary package."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:72
#, no-wrap
msgid "Using symbol tags"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:79
msgid ""
"Symbol tagging is useful for marking symbols that are special in some way.  "
"Any symbol can have an arbitrary number of tags associated with it. While "
"all tags are parsed and stored, only a some of them are understood by "
"B<dpkg-gensymbols> and trigger special handling of the symbols. See "
"subsection B<Standard symbol tags> for reference of these tags."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:91
msgid ""
"Tag specification comes right before the symbol name (no whitespace is "
"allowed in between). It always starts with an opening bracket B<(>, ends "
"with a closing bracket B<)> and must contain at least one tag. Multiple tags "
"are separated by the B<|> character. Each tag can optionally have a value "
"which is separated form the tag name by the B<=> character. Tag names and "
"values can be arbitrary strings except they cannot contain any of the "
"special B<)> B<|> B<=> characters. Symbol names following a tag "
"specification can optionally be quoted with either B<'> or B<\"> characters "
"to allow whitespaces in them. However, if there are no tags specified for "
"the symbol, quotes are treated as part of the symbol name which continues up "
"until the first space."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:95
#, no-wrap
msgid ""
" (tag1=i am marked|tag name with space)\"tagged quoted symbol\"@Base 1.0\n"
" (optional)tagged_unquoted_symbol@Base 1.0 1\n"
" untagged_symbol@Base 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:101
msgid ""
"The first symbol in the example is named I<tagged quoted symbol> and has two "
"tags: I<tag1> with value I<i am marked> and I<tag name with space> that has "
"no value. The second symbol named I<tagged_unquoted_symbol> is only tagged "
"with the tag named I<optional>. The last symbol is an example of the normal "
"untagged symbol."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:113
msgid ""
"Since symbol tags are an extension of the I<deb-symbols(5)> format, they can "
"only be part of the symbols files used in source packages (those files "
"should then be seen as templates used to build the symbols files that are "
"embedded in binary packages). When B<dpkg-gensymbols> is called without the "
"I<-t> option, it will output symbols files compatible to the "
"I<deb-symbols(5)> format: it fully processes symbols according to the "
"requirements of their standard tags and strips all tags from the output. On "
"the contrary, in template mode (I<-t>) all symbols and their tags (both "
"standard and unknown ones)  are kept in the output and are written in their "
"original form as they were loaded."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:113
#, no-wrap
msgid "Standard symbol tags"
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:114
#, no-wrap
msgid "B<optional>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:124
msgid ""
"A symbol marked as optional can disappear from the library at any time and "
"that will never cause B<dpkg-gensymbols> to fail. However, disappeared "
"optional symbols will continuously appear as MISSING in the diff in each new "
"package revision.  This behaviour serves as a reminder for the maintainer "
"that such a symbol needs to be removed from the symbol file or readded to "
"the library. When the optional symbol, which was previously declared as "
"MISSING, suddenly reappears in the next revision, it will be upgraded back "
"to the \"existing\" status with its minimum version unchanged."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:129
msgid ""
"This tag is useful for symbols which are private where their disappearance "
"do not cause ABI breakage. For example, most of C++ template instantiations "
"fall into this category. Like any other tag, this one may also have an "
"arbitrary value: it could be used to indicate why the symbol is considered "
"optional."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:129
#, no-wrap
msgid "B<arch=>I<architecture list>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:142
msgid ""
"This tag allows one to restrict the set of architectures where the symbol is "
"supposed to exist. When the symbols list is updated with the symbols "
"discovered in the library, all arch-specific symbols which do not concern "
"the current host architecture are treated as if they did not exist. If an "
"arch-specific symbol matching the current host architecture does not exist "
"in the library, normal procedures for missing symbols apply and it may cause "
"B<dpkg-gensymbols> to fail. On the other hand, if the arch-specific symbol "
"is found when it was not supposed to exist (because the current host "
"architecture is not listed in the tag), it is made arch neutral (i.e. the "
"arch tag is dropped and the symbol will appear in the diff due to this "
"change), but it is not considered as new."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:148
msgid ""
"When operating in the default non-template mode, among arch-specific symbols "
"only those that match the current host architecture are written to the "
"symbols file. On the contrary, all arch-specific symbols (including those "
"from foreign arches) are always written to the symbol file when operating in "
"template mode."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:154
msgid ""
"The format of I<architecture list> is the same as the one used in the "
"I<Build-Depends> field of I<debian/control> (except the enclosing square "
"brackets []). For example, the first symbol from the list below will be "
"considered only on alpha, amd64, kfreebsd-amd64 and ia64 architectures while "
"the second one anywhere except on armel."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:157
#, no-wrap
msgid ""
" (arch=alpha amd64 kfreebsd-amd64 ia64)a_64bit_specific_symbol@Base 1.0\n"
" (arch=!armel)symbol_armel_does_not_have@Base 1.0\n"
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:157
#, no-wrap
msgid "B<ignore-blacklist>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:165
msgid ""
"dpkg-gensymbols has an internal blacklist of symbols that should not appear "
"in symbols files as they are usually only side-effects of implementation "
"details of the toolchain. If for some reason, you really want one of those "
"symbols to be included in the symbols file, you should tag the symbol with "
"B<ignore-blacklist>. It can be necessary for some low level toolchain "
"libraries like libgcc."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:165 dpkg-gensymbols.1:202
#, no-wrap
msgid "B<c++>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:169
msgid ""
"Denotes I<c++> symbol pattern. See B<Using symbol patterns> subsection "
"below."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:169 dpkg-gensymbols.1:233
#, no-wrap
msgid "B<symver>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:173
msgid ""
"Denotes I<symver> (symbol version) symbol pattern. See B<Using symbol "
"patterns> subsection below."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:173 dpkg-gensymbols.1:258
#, no-wrap
msgid "B<regex>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:177
msgid ""
"Denotes I<regex> symbol pattern. See B<Using symbol patterns> subsection "
"below."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:177
#, no-wrap
msgid "Using symbol patterns"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:185
msgid ""
"Unlike a standard symbol specification, a pattern may cover multiple real "
"symbols from the library. B<dpkg-gensymbols> will attempt to match each "
"pattern against each real symbol that does I<not> have a specific symbol "
"counterpart defined in the symbol file. Whenever the first matching pattern "
"is found, all its tags and properties will be used as a basis specification "
"of the symbol. If none of the patterns matches, the symbol will be "
"considered as new."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:193
msgid ""
"A pattern is considered lost if it does not match any symbol in the "
"library. By default this will trigger a B<dpkg-gensymbols> failure under "
"I<-c1> or higher level. However, if the failure is undesired, the pattern "
"may be marked with the I<optional> tag. Then if the pattern does not match "
"anything, it will only appear in the diff as MISSING. Moreover, like any "
"symbol, the pattern may be limited to the specific architectures with the "
"I<arch> tag. Please refer to B<Standard symbol tags> subsection above for "
"more information."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:200
msgid ""
"Patterns are an extension of the I<deb-symbols(5)> format hence they are "
"only valid in symbol file templates. Pattern specification syntax is not any "
"different from the one of a specific symbol. However, symbol name part of "
"the specification serves as an expression to be matched against "
"I<name@version> of the real symbol. In order to distinguish among different "
"pattern types, a pattern will typically be tagged with a special tag."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:202
msgid "At the moment, B<dpkg-gensymbols> supports three basic pattern types:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:214
msgid ""
"This pattern is denoted by the I<c++> tag. It matches only C++ symbols by "
"their demangled symbol name (as emitted by B<c++filt>(1) utility). This "
"pattern is very handy for matching symbols which mangled names might vary "
"across different architectures while their demangled names remain the "
"same. One group of such symbols is I<non-virtual thunks> which have "
"architecture specific offsets embedded in their mangled names. A common "
"instance of this case is a virtual destructor which under diamond "
"inheritance needs a non-virtual thunk symbol. For example, even if "
"_ZThn8_N3NSB6ClassDD1Ev@Base on 32bit architectures will probably be "
"_ZThn16_N3NSB6ClassDD1Ev@Base on 64bit ones, it can be matched with a single "
"I<c++> pattern:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:220
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" [...]\n"
" (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n"
" [...]\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:222
msgid "The demangled name above can be obtained by executing the following command:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:224
#, no-wrap
msgid " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:232
msgid ""
"Please note that while mangled name is unique in the library by definition, "
"this is not necessarily true for demangled names. A couple of distinct real "
"symbols may have the same demangled name. For example, that's the case with "
"non-virtual thunk symbols in complex inheritance configurations or with most "
"constructors and destructors (since g++ typically generates two real symbols "
"for them). However, as these collisions happen on the ABI level, they should "
"not degrade quality of the symbol file."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:239
msgid ""
"This pattern is denoted by the I<symver> tag. Well maintained libraries have "
"versioned symbols where each version corresponds to the upstream version "
"where the symbol got added. If that's the case, you can use a I<symver> "
"pattern to match any symbol associated to the specific version. For example:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:246
#, no-wrap
msgid ""
"libc.so.6 libc6 #MINVER#\n"
" (symver)GLIBC_2.0 2.0\n"
" [...]\n"
" (symver)GLIBC_2.7 2.7\n"
" access@GLIBC_2.0 2.2\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:252
msgid ""
"All symbols associated with versions GLIBC_2.0 and GLIBC_2.7 will lead to "
"minimal version of 2.0 and 2.7 respectively with the exception of the symbol "
"access@GLIBC_2.0. The latter will lead to a minimal dependency on libc6 "
"version 2.2 despite being in the scope of the \"(symver)GLIBC_2.0\" pattern "
"because specific symbols take precedence over patterns."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:257
msgid ""
"Please note that while old style wildcard patterns (denoted by \"*@version\" "
"in the symbol name field) are still supported, they have been deprecated by "
"new style syntax \"(symver|optional)version\". For example, \"*@GLIBC_2.0 "
"2.0\" should be written as \"(symver|optional)GLIBC_2.0 2.0\" if the same "
"behaviour is needed."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:265
msgid ""
"Regular expression patterns are denoted by the I<regex> tag. They match by "
"the perl regular expression specified in the symbol name field. A regular "
"expression is matched as it is, therefore do not forget to start it with the "
"I<^> character or it may match any part of the real symbol I<name@version> "
"string. For example:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:270
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" (regex)\"^mystack_.*@Base$\" 1.0\n"
" (regex|optional)\"private\" 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:275
msgid ""
"Symbols like \"mystack_new@Base\", \"mystack_push@Base\", "
"\"mystack_pop@Base\" etc.  will be matched by the first pattern while "
"e.g. \"ng_mystack_new@Base\" won't.  The second pattern will match all "
"symbols having the string \"private\" in their names and matches will "
"inherit I<optional> tag from the pattern."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:280
msgid ""
"Basic patterns listed above can be combined where it makes sense. In that "
"case, they are processed in the order in which the tags are specified. For "
"example, both"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:283
#, no-wrap
msgid ""
" (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n"
" (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:293
msgid ""
"will match symbols \"_ZN3NSA6ClassA7Private11privmethod1Ei@Base\" and "
"\"_ZN3NSA6ClassA7Private11privmethod2Ei@Base\". When matching the first "
"pattern, the raw symbol is first demangled as C++ symbol, then the demangled "
"name is matched against the regular expression. On the other hand, when "
"matching the second pattern, regular expression is matched against the raw "
"symbol name, then the symbol is tested if it is C++ one by attempting to "
"demangle it. A failure of any basic pattern will result in the failure of "
"the whole pattern.  Therefore, for example, "
"\"__N3NSA6ClassA7Private11privmethod\\edEi@Base\" will not match either of "
"the patterns because it is not a valid C++ symbol."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:299
msgid ""
"In general, all patterns are divided into two groups: aliases (basic I<c++> "
"and I<symver>) and generic patterns (I<regex>, all combinations of multiple "
"basic patterns). Matching of basic alias-based patterns is fast (O(1))  "
"while generic patterns are O(N) (N - generic pattern count) for each "
"symbol.  Therefore, it is recommended not to overuse generic patterns."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:306
msgid ""
"When multiple patterns match the same real symbol, aliases (first I<c++>, "
"then I<symver>) are preferred over generic patterns. Generic patterns are "
"matched in the order they are found in the symbol file template until the "
"first success.  Please note, however, that manual reordering of template "
"file entries is not recommended because B<dpkg-gensymbols> generates diffs "
"based on the alphanumerical order of their names."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:306
#, no-wrap
msgid "Using includes"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:311
msgid ""
"When the set of exported symbols differ between architectures, it may become "
"inefficient to use a single symbol file. In those cases, an include "
"directive may prove to be useful in a couple of ways:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:315
msgid ""
"You can factorize the common part in some external file and include that "
"file in your I<package>.symbols.I<arch> file by using an include directive "
"like this:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:317
msgid "#include \"I<packages>.symbols.common\""
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:319
msgid "The include directive may also be tagged like any symbol:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:321
msgid "(tag|..|tagN)#include \"file-to-include\""
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:326
msgid ""
"As a result, all symbols included from I<file-to-include> will be considered "
"to be tagged with I<tag> .. I<tagN> by default. You can use this feature to "
"create a common I<package>.symbols file which includes architecture specific "
"symbol files:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:331
#, no-wrap
msgid ""
"  common_symbol1@Base 1.0\n"
" (arch=amd64 ia64 alpha)#include \"package.symbols.64bit\"\n"
" (arch=!amd64 !ia64 !alpha)#include \"package.symbols.32bit\"\n"
"  common_symbol2@Base 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:340
msgid ""
"The symbols files are read line by line, and include directives are "
"processed as soon as they are encountered. This means that the content of "
"the included file can override any content that appeared before the include "
"directive and that any content after the directive can override anything "
"contained in the included file. Any symbol (or even another #include "
"directive) in the included file can specify additional tags or override "
"values of the inherited tags in its tag specification. However, there is no "
"way for the symbol to remove any of the inherited tags."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:345
msgid ""
"An included file can repeat the header line containing the SONAME of the "
"library. In that case, it overrides any header line previously read.  "
"However, in general it's best to avoid duplicating header lines. One way to "
"do it is the following:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:348
#, no-wrap
msgid ""
"#include \"libsomething1.symbols.common\"\n"
" arch_specific_symbol@Base 1.0\n"
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:348
#, no-wrap
msgid "Good library management"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:351
msgid "A well-maintained library has the following features:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:355
msgid ""
"its API is stable (public symbols are never dropped, only new public symbols "
"are added) and changes in incompatible ways only when the SONAME changes;"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:358
msgid ""
"ideally, it uses symbol versioning to achieve ABI stability despite internal "
"changes and API extension;"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:361
msgid ""
"it doesn't export private symbols (such symbols can be tagged optional as "
"workaround)."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:369
msgid ""
"While maintaining the symbols file, it's easy to notice appearance and "
"disappearance of symbols. But it's more difficult to catch incompatible API "
"and ABI change. Thus the maintainer should read thoroughly the upstream "
"changelog looking for cases where the rules of good library management have "
"been broken. If potential problems are discovered, the upstream author "
"should be notified as an upstream fix is always better than a Debian "
"specific work-around."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:370
#, no-wrap
msgid "B<-P>I<package-build-dir>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:373
msgid "Scan I<package-build-dir> instead of debian/tmp."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:377
msgid ""
"Define the package name. Required if more than one binary package is listed "
"in debian/control (or if there's no debian/control file)."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:381
msgid ""
"Define the package version. Defaults to the version extracted from "
"debian/changelog. Required if called outside of a source package tree."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:381
#, no-wrap
msgid "B<-e>I<library-file>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:387
msgid ""
"Only analyze libraries explicitly listed instead of finding all public "
"libraries. You can use a regular expression in I<library-file> to match "
"multiple libraries with a single argument (otherwise you need multiple "
"B<-e>)."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:387
#, no-wrap
msgid "B<-I>I<filename>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:391
msgid ""
"Use I<filename> as reference file to generate the symbols file that is "
"integrated in the package itself."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:395
msgid ""
"Print the generated symbols file to standard output, rather than being "
"stored in the package build tree."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:395
#, no-wrap
msgid "B<-O>I<filename>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:401
msgid ""
"Store the generated symbols file as I<filename>. If I<filename> is "
"pre-existing, its content is used as basis for the generated symbols file.  "
"You can use this feature to update a symbols file so that it matches a newer "
"upstream version of your library."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:401
#, no-wrap
msgid "B<-t>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:410
msgid ""
"Write the symbol file in template mode rather than the format compatible "
"with I<deb-symbols(5)>. The main difference is that in the template mode "
"symbol names and tags are written in their original form contrary to the "
"post-processed symbol names with tags stripped in the compatibility mode.  "
"Moreover, some symbols might be omitted when writing a standard "
"I<deb-symbols(5)> file (according to the tag processing rules) while all "
"symbols are always written to the symbol file template."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:410
#, no-wrap
msgid "B<-c>I<[0-4]>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:418
msgid ""
"Define the checks to do when comparing the generated symbols file with the "
"template file used as starting point. By default the level is 1. Increasing "
"levels do more checks and include all checks of lower levels. Level 0 never "
"fails. Level 1 fails if some symbols have disappeared. Level 2 fails if some "
"new symbols have been introduced. Level 3 fails if some libraries have "
"disappeared. Level 4 fails if some libraries have been introduced."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:421
msgid ""
"This value can be overridden by the environment variable "
"DPKG_GENSYMBOLS_CHECK_LEVEL."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:427
msgid ""
"Keep quiet and never generate a diff between generated symbols file and the "
"template file used as starting point or show any warnings about new/lost "
"libraries or new/lost symbols. This option only disables informational "
"output but not the checks themselves (see I<-c> option)."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:427
#, no-wrap
msgid "B<-a>I<arch>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:432
msgid ""
"Assume I<arch> as host architecture when processing symbol files. Use this "
"option to generate a symbol file or diff for any architecture provided its "
"binaries are already available."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:437
msgid ""
"Enable debug mode. Numerous messages are displayed to explain what "
"B<dpkg-gensymbols> does."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:437
#, no-wrap
msgid "B<-V>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:443
msgid ""
"Enable verbose mode. The generated symbols file contains deprecated symbols "
"as comments. Furthermore in template mode, pattern symbols are followed by "
"comments listing real symbols that have matched the pattern."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:452
msgid "B<http://people.redhat.com/drepper/symbol-versioning>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:454
msgid "B<http://people.redhat.com/drepper/goodpractice.pdf>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:456
msgid "B<http://people.redhat.com/drepper/dsohowto.pdf>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:459
msgid "B<deb-symbols>(5), B<dpkg-shlibdeps>(1)."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:462
msgid "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: TH
#: dpkg-maintscript-helper.1:1
#, no-wrap
msgid "dpkg-maintscript-helper"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:4
msgid ""
"dpkg-maintscript-helper - works around known dpkg limitations in maintainer "
"scripts"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:8
msgid ""
"B<dpkg-maintscript-helper> I<command> [I<parameter>...] B<--> "
"I<maint-script-parameter>..."
msgstr ""

#. type: SH
#: dpkg-maintscript-helper.1:9
#, no-wrap
msgid "COMMANDS AND PARAMETERS"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:12
msgid "B<rm_conffile> I<conffile> [I<lastversion> [I<package>]]"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:14
msgid "B<mv_conffile> I<oldconffile> I<newconffile> [I<lastversion> [I<package>]]"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:20
msgid ""
"This program is designed to be run within maintainer scripts to achieve some "
"tasks that dpkg can't (yet) handle natively either because of design "
"decisions or due to current limitations."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:27
msgid ""
"Many of those tasks require coordinated actions from several maintainer "
"scripts (B<preinst>, B<postinst>, B<prerm>, B<postrm>). To avoid mistakes "
"the same call simply needs to be put in all scripts and the program will "
"automatically adapt its behaviour based on the environment variable "
"B<DPKG_MAINTSCRIPT_NAME> and on the maintainer scripts arguments that you "
"have to forward after a double dash."
msgstr ""

#. type: SH
#: dpkg-maintscript-helper.1:28
#, no-wrap
msgid "CONFFILE RELATED TASKS"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:38
msgid ""
"When upgrading a package, dpkg will not automatically remove a conffile (a "
"configuration file for which dpkg should preserve user changes) if it is not "
"present in the newer version. There are two principal reasons for this; the "
"first is that the conffile could've been dropped by accident and the next "
"version could restore it, users wouldn't want their changes thrown away. The "
"second is to allow packages to transition files from a dpkg-maintained "
"conffile to a file maintained by the package's maintainer scripts, usually "
"with a tool like debconf or ucf."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:43
msgid ""
"This means that if a package is intended to rename or remove a conffile, it "
"must explicitly do so and B<dpkg-maintscript-helper> can be used to "
"implement graceful deletion and moving of conffiles within maintainer "
"scripts."
msgstr ""

#. type: SS
#: dpkg-maintscript-helper.1:44
#, no-wrap
msgid "REMOVING A CONFFILE"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:50
msgid ""
"If a conffile is completely removed, it should be removed from disk, unless "
"the user has modified it. If there are local modifications, they should be "
"preserved. If the package upgrades aborts, the newly obsolete conffile "
"should not disappear."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:53
msgid ""
"All of this is implemented by putting the following shell snippet in the "
"B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:56
#, no-wrap
msgid ""
"    dpkg-maintscript-helper rm_conffile \\e\n"
"        I<conffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:66
msgid ""
"I<conffile> is the filename of the conffile to remove.  I<lastversion> is "
"the last version of the package that contained the conffile (or the last "
"version of the package that did not take care to remove the obsolete "
"conffile if this was not immediately implemented).  If I<lastversion> is "
"empty or omitted, then the operation is tried on every upgrade. I<package> "
"is the package name, it's optional as it will default to "
"$DPKG_MAINTSCRIPT_PACKAGE (this variable is set by dpkg to the name of the "
"package acted upon). All the parameters of the maintainer scripts have to be "
"forwarded to the program after \"--\"."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:75
msgid ""
"Current implementation: in the B<preinst>, it checks if the conffile was "
"modified and renames it either to I<conffile>B<.dpkg-remove> (if not "
"modified) or to I<conffile>B<.dpkg-backup> (if modified). In the "
"B<postinst>, the latter file is renamed to I<conffile>B<.dpkg-bak> and kept "
"for reference as it contains user modifications but the former will be "
"removed. If the package upgrade aborts, the B<postrm> reinstalls the "
"original conffile. During purge, the B<postrm> will also delete the "
"B<.dpkg-bak> file kept up to now."
msgstr ""

#. type: SS
#: dpkg-maintscript-helper.1:76
#, no-wrap
msgid "RENAMING A CONFFILE"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:83
msgid ""
"If a conffile is moved from one location to another, you need to make sure "
"you move across any changes the user has made. This may seem a simple change "
"to the B<preinst> script at first, however that will result in the user "
"being prompted by dpkg to approve the conffile edits even though they are "
"not responsible of them."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:87
msgid ""
"Graceful renaming can be implemented by putting the following shell snippet "
"in the B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:90
#, no-wrap
msgid ""
"    dpkg-maintscript-helper mv_conffile \\e\n"
"        I<oldconffile> I<newconffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:100
msgid ""
"I<oldconffile> and I<newconffile> are the old and new name of the conffile "
"to rename. I<lastversion> is the last version of the package that contained "
"the conffile with the old name. If I<lastversion> is empty or omitted, then "
"the operation is tried on every upgrade (note: it's safer to give the "
"version and have the operation tried only once). I<package> is the package "
"name, it's optional as it will default to $DPKG_MAINTSCRIPT_PACKAGE (this "
"variable is set by dpkg to the name of the package acted upon). All the "
"parameters of the maintainer scripts have to be forwarded to the program "
"after \"--\"."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:108
msgid ""
"Current implementation: the B<preinst> checks if the conffile has been "
"modified, if yes it's left on place otherwise it's renamed to "
"I<oldconffile>B<.dpkg-remove>. On configuration, the B<postinst> removes "
"I<oldconffile>B<.dpkg-remove> and renames I<oldconffile> to I<newconffile> "
"if I<oldconffile> is still available. On abort-upgrade/abort-install, the "
"B<postrm> renames I<oldconffile>B<.dpkg-remove> back to I<oldconffile> if "
"required."
msgstr ""

#. type: SH
#: dpkg-maintscript-helper.1:109
#, no-wrap
msgid "INTEGRATION IN PACKAGES"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:116
msgid ""
"Given that B<dpkg-maintscript-helper> is used in the B<preinst>, using it "
"unconditionally requires a pre-dependency to ensure that the required "
"version of dpkg has been unpacked before. The required version depends on "
"the command used, for B<rm_conffile> and B<mv_conffile> it is 1.15.7.2:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:118
#, no-wrap
msgid "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:123
msgid ""
"But in many cases the operation done by the program is not critical for the "
"package, and instead of using a pre-dependency we can call the program only "
"if we know that the required command is supported by the currently installed "
"dpkg:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:127
#, no-wrap
msgid ""
"    if dpkg-maintscript-helper supports I<command>; then\n"
"        dpkg-maintscript-helper I<command> ...\n"
"    fi\n"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:130
msgid "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:132
msgid "Copyright \\(co 2008 Joey Hess"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:134
msgid "Copyright \\(co 2007 Guillem Jover"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:136
msgid "Copyright \\(co 2005 Scott James Remnant"
msgstr ""

#. type: TH
#: dpkg-mergechangelogs.1:1
#, no-wrap
msgid "dpkg-mergechangelogs"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:4
msgid "dpkg-mergechangelogs - 3-way merge of debian/changelog files"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:8
msgid "B<dpkg-mergechangelogs> [I<option>...] I<old> I<new-a> I<new-b> [I<out>]"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:15
msgid ""
"This program will use the 3 provided versions of the Debian changelog to "
"generate a merged changelog file. The resulting changelog is stored in the "
"file I<out> or output to the standard output if that parameter is not given."
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:26
msgid ""
"Each entry is identified by its version number and they are assumed to be "
"not conflicting, they are simply merged in the right order (by decreasing "
"version number). When B<--merge-prereleases> is used, the part of the "
"version number after the last tilde is dropped so that 1.0-1~exp1 and "
"1.0-1~exp5 are considered to be the same entry. When the same version is "
"available in both I<new-a> and I<new-b>, a standard line-based 3-way merge "
"is attempted (provided that the module Algorithm::Merge is available \\[em] "
"it's part of the package libalgorithm-merge-perl \\[em] otherwise you get a "
"global conflict on the content of the entry)."
msgstr ""

#. type: TP
#: dpkg-mergechangelogs.1:28
#, no-wrap
msgid "B<--merge-prereleases>, B<-m>"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:33
msgid ""
"Drop the part after the last tilde in the version number when doing version "
"comparison to identify if two entries are supposed to be the same or not."
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:38
msgid ""
"This is useful when you keep using the same changelog entry but you increase "
"its version number regularly. For instance, you might have 2.3-1~exp1, "
"2.3-1~exp2, ... until the official release 2.3-1 and they are all the same "
"changelog entry that has evolved over time."
msgstr ""

#. type: SH
#: dpkg-mergechangelogs.1:45
#, no-wrap
msgid "LIMITATIONS"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:50
msgid ""
"Anything that is not parsed by Dpkg::Changelog is lost during the merge.  "
"This might include stuff like vim modelines, comments which were not "
"supposed to be there, etc."
msgstr ""

#. type: SH
#: dpkg-mergechangelogs.1:51
#, no-wrap
msgid "INTEGRATION WITH GIT"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:56
msgid ""
"If you want to use this program to merge Debian changelog files in a git "
"repository, you have first to register a new merge driver in B<.git/config> "
"or B<~/.gitconfig>:"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:60
#, no-wrap
msgid ""
" [merge \"dpkg-mergechangelogs\"]\n"
"     name = debian/changelog merge driver\n"
"     driver = dpkg-mergechangelogs -m %O %A %B %A\n"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:64
msgid ""
"Then you have to setup the merge attribute for the debian/changelog file "
"either in B<.gitattributes> in the repository itself, or in "
"B<.git/info/attributes>:"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:66
#, no-wrap
msgid " debian/changelog merge=dpkg-mergechangelogs\n"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:68
msgid "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: TH
#: dpkg-name.1:6
#, no-wrap
msgid "dpkg-name"
msgstr ""

#. type: Plain text
#: dpkg-name.1:9
msgid "dpkg-name - rename Debian packages to full package names"
msgstr ""

#. type: Plain text
#: dpkg-name.1:15
msgid "B<dpkg-name> [I<option>...] [B<-->] I<file>..."
msgstr ""

#. type: Plain text
#: dpkg-name.1:29
msgid ""
"This manual page documents the B<dpkg-name> program which provides an easy "
"way to rename B<Debian> packages into their full package names. A full "
"package name consists of "
"I<package>B<_>I<version>B<_>I<architecture>B<.>I<package-type> as specified "
"in the control file of the package. The I<version> part of the filename "
"consists of the upstream version information optionally followed by a hyphen "
"and the revision information. The I<package-type> part comes from that field "
"if present or fallbacks to B<deb>."
msgstr ""

#. type: TP
#: dpkg-name.1:31
#, no-wrap
msgid "B<-a>, B<--no-architecture>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:34
msgid "The destination filename will not have the architecture information."
msgstr ""

#. type: TP
#: dpkg-name.1:34
#, no-wrap
msgid "B<-k>, B<--symlink>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:37
msgid "Create a symlink, instead of moving."
msgstr ""

#. type: TP
#: dpkg-name.1:37
#, no-wrap
msgid "B<-o>, B<--overwrite>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:41
msgid ""
"Existing files will be overwritten if they have the same name as the "
"destination filename."
msgstr ""

#. type: TP
#: dpkg-name.1:41
#, no-wrap
msgid "B<-s>, B<--subdir> [I<dir>]"
msgstr ""

#. type: Plain text
#: dpkg-name.1:53
msgid ""
"Files will be moved into a subdirectory. If the directory given as argument "
"exists the files will be moved into that directory otherwise the name of the "
"target directory is extracted from the section field in the control part of "
"the package. The target directory will be "
"`unstable/binary-I<architecture>/I<section>'. If the section is not found in "
"the control, then `no-section' is assumed, and in this case, as well as for "
"sections `non-free' and `contrib' the target directory is "
"`I<section>/binary-I<architecture>'. The section field isn't required so a "
"lot of packages will find their way to the `no-section' area. Use this "
"option with care, it's messy."
msgstr ""

#. type: TP
#: dpkg-name.1:53
#, no-wrap
msgid "B<-c>, B<--create-dir>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:58
msgid ""
"This option can used together with the -s option. If a target directory "
"isn't found it will be created automatically.  B<Use this option with care.>"
msgstr ""

#. type: TP
#: dpkg-name.1:61
#, no-wrap
msgid "B<-v>, B<--version>"
msgstr ""

#. type: TP
#: dpkg-name.1:66
#, no-wrap
msgid "B<dpkg-name bar-foo.deb>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:71
msgid ""
"The file `bar-foo.deb' will be renamed to bar-foo_1.0-2_i386.deb or "
"something similar (depending on whatever information is in the control part "
"of `bar-foo.deb')."
msgstr ""

#. type: TP
#: dpkg-name.1:71
#, no-wrap
msgid "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:76
msgid ""
"All files with the extension `deb' in the directory /root/debian and its "
"subdirectory's will be renamed by dpkg-name if required into names with no "
"architecture information."
msgstr ""

#. type: TP
#: dpkg-name.1:76
#, no-wrap
msgid "B<find -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a -o -s -c>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:82
msgid ""
"B<Don't do this.> Your archive will be messed up completely because a lot of "
"packages don't come with section information.  B<Don't do this.>"
msgstr ""

#. type: TP
#: dpkg-name.1:82
#, no-wrap
msgid "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:85
msgid "This can be used when building new packages."
msgstr ""

#. type: Plain text
#: dpkg-name.1:95
msgid ""
"Some packages don't follow the name structure "
"I<package>B<_>I<version>B<_>I<architecture>B<.deb>.  Packages renamed by "
"dpkg-name will follow this structure. Generally this will have no impact on "
"how packages are installed by B<dselect>(1)/B<dpkg>(1), but other "
"installation tools might depend on this naming structure."
msgstr ""

#. type: Plain text
#: dpkg-name.1:103
msgid ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."
msgstr ""

#. type: Plain text
#: dpkg-name.1:106
msgid "Copyright \\(co 1995,1996 Erick Branderhorst"
msgstr ""

#. type: TH
#: dpkg-parsechangelog.1:1
#, no-wrap
msgid "dpkg-parsechangelog"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:4
msgid "dpkg-parsechangelog - parse Debian changelog files"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:8
msgid "B<dpkg-parsechangelog> [I<option>...]"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:14
msgid ""
"B<dpkg-parsechangelog> reads and parses the changelog of an unpacked Debian "
"source tree and outputs the information in it to standard output in a "
"machine-readable form."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:26
#, no-wrap
msgid "B<-L>I<libdir>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:33
msgid ""
"Specify an additional directory to search for parser scripts.  This "
"directory is searched before the default directories which are currently "
"B</usr/local/lib/dpkg/parsechangelog> and B</usr/lib/dpkg/parsechangelog>."
msgstr ""

#. type: SS
#: dpkg-parsechangelog.1:39
#, no-wrap
msgid "Parser Options"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:44
msgid ""
"The following options can be used to influence the output of the changelog "
"parser, e.g. the range of entries or the format of the output. They need to "
"be supported by the parser script in question. See also B<CAVEATS>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:44
#, no-wrap
msgid "B<--format>I< outputformat>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:53
msgid ""
"Set the output format. Currently supported values are I<dpkg> and "
"I<rfc822>.  I<dpkg> is the classic output format (from before this option "
"existed) and the default. It consists of one paragraph in Debian control "
"format (see B<deb-control>(5)). If more than one entry is requested, then "
"most fields are taken from the latest entry, except otherwise stated:"
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:54
#, no-wrap
msgid "B<Source:>I< pkg-name>"
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:56
#, no-wrap
msgid "B<Version:>I< version>"
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:58
#, no-wrap
msgid "B<Distribution:>I< target-distribution>"
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:60
#, no-wrap
msgid "B<Urgency:>I< urgency>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:63
msgid "The highest urgency of all included entries is used."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:63
#, no-wrap
msgid "B<Maintainer:>I< author>"
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:65
#, no-wrap
msgid "B<Date:>I< date>"
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:67
#, no-wrap
msgid "B<Closes:>I< bug-number>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:70
msgid "The Closes fields of all included entries are merged."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:70
#, no-wrap
msgid "B<Changes:>I< changelog-entries>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:77
msgid ""
"The text of all changelog entries is concatenated. To make this field a "
"valid Debian control format multiline field empty lines are replaced with a "
"single full stop and all lines is intended by one space character. The exact "
"content depends on the changelog format."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:80
msgid "There might be additional user-defined fields present."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:84
msgid ""
"The B<rfc822> format uses the same fields but outputs a separate paragraph "
"for each changelog entry so that all metadata for each entry is preserved."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:84
#, no-wrap
msgid "B<--since> I<version>, B<-s>I<version>,B< -v>I<version>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:87
msgid "include all changes later than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:87
#, no-wrap
msgid "B<--until> I<version>, B<-u>I<version>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:90
msgid "include all changes earlier than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:90
#, no-wrap
msgid "B<--from> I<version>, B<-f>I<version>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:93
msgid "include all changes equal or later than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:93
#, no-wrap
msgid "B<--to> I<version>, B<-t>I<version>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:96
msgid "include all changes up to or equal than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:96
#, no-wrap
msgid "B<--count> I<number>, B<-c>I<number>, B<-n>I<number>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:100
msgid ""
"include I<number> entries from the top (or the tail if I<number> is lower "
"than 0)."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:100
#, no-wrap
msgid "B<--offset> I<number>, B<-o>I<number>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:104
msgid ""
"change the starting point for --count, counted from the top (or the tail if "
"I<number> is lower than 0)."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:104 update-alternatives.8:268
#, no-wrap
msgid "B<--all>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:108
msgid "include all changes. Note: other options have no effect when this is in use."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:114
msgid ""
"All B<Parser Options> except for -v are only supported in B<dpkg>, version "
"1.14.16 and later. Third party parsers for changelog formats other than "
"I<debian> might not support all options."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:116
#, no-wrap
msgid "B<debian/changelog>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:122
msgid ""
"The changelog file, used to obtain version-dependent information about the "
"source package, such as the urgency and distribution of an upload, the "
"changes made since a particular release, and the source version number "
"itself."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:129
msgid "Copyright \\(co 2007, 2008 Frank Lichtenheld"
msgstr ""

#. type: TH
#: dpkg-query.1:1
#, no-wrap
msgid "dpkg-query"
msgstr ""

#. type: Plain text
#: dpkg-query.1:4
msgid "dpkg-query - a tool to query the dpkg database"
msgstr ""

#. type: Plain text
#: dpkg-query.1:8
msgid "B<dpkg-query> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:12
msgid ""
"B<dpkg-query> is a tool to show information about packages listed in the "
"B<dpkg> database."
msgstr ""

#. type: TP
#: dpkg-query.1:14
#, no-wrap
msgid "B<-l>, B<--list> [I<package-name-pattern>...]"
msgstr ""

#. type: Plain text
#: dpkg-query.1:24
msgid ""
"List packages matching given pattern. If no I<package-name-pattern> is "
"given, list all packages in I</var/lib/dpkg/status>, excluding the ones "
"marked as not-installed (i.e. those which have been previously "
"purged). Normal shell wildchars are allowed in "
"I<package-name-pattern>. Please note you will probably have to quote "
"I<package-name-pattern> to prevent the shell from performing filename "
"expansion. For example this will list all package names starting with "
"``libc6'':"
msgstr ""

#. type: Plain text
#: dpkg-query.1:27
#, no-wrap
msgid "  B<dpkg-query -l \\(aqlibc6*\\(aq>\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:31
msgid ""
"The first three columns of the output show the desired action, the package "
"status, and errors, in that order."
msgstr ""

#. type: Plain text
#: dpkg-query.1:33
msgid "Desired action:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:39
#, no-wrap
msgid ""
"  u = Unknown\n"
"  i = Install\n"
"  h = Hold\n"
"  r = Remove\n"
"  p = Purge\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:42
msgid "Package status:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:51
#, no-wrap
msgid ""
"  n = Not-installed\n"
"  c = Config-files\n"
"  H = Half-installed\n"
"  U = Unpacked\n"
"  F = Half-configured\n"
"  W = Triggers-awaiting\n"
"  t = Triggers-pending\n"
"  i = Installed\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:54
msgid "Error flags:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:57
#, no-wrap
msgid ""
"  E<lt>emptyE<gt> = (none)\n"
"  R = Reinst-required\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:62
msgid ""
"An uppercase status or error letter indicates the package is likely to cause "
"severe problems. Please refer to B<dpkg>(1) for information about the above "
"states and flags."
msgstr ""

#. type: Plain text
#: dpkg-query.1:67
msgid ""
"The output format of this option is not configurable, but varies "
"automatically to fit the terminal width. It is intended for human readers, "
"and is not easily machine-readable. See B<-W> (B<--show>)  and "
"B<--showformat> for a way to configure the output format."
msgstr ""

#. type: TP
#: dpkg-query.1:67
#, no-wrap
msgid "B<-W>, B<--show> [I<package-name-pattern>...]"
msgstr ""

#. type: Plain text
#: dpkg-query.1:74
msgid ""
"Just like the B<--list> option this will list all packages matching the "
"given pattern. However the output can be customized using the "
"B<--showformat> option.  The default output format gives one line per "
"matching package, each line having the name and installed version of the "
"package, separated by a tab."
msgstr ""

#. type: TP
#: dpkg-query.1:74
#, no-wrap
msgid "B<-s>, B<--status> I<package-name>..."
msgstr ""

#. type: Plain text
#: dpkg-query.1:79
msgid ""
"Report status of specified package. This just displays the entry in the "
"installed package status database. When multiple I<package-name> are listed, "
"the requested status entries are separated by an empty line."
msgstr ""

#. type: TP
#: dpkg-query.1:79
#, no-wrap
msgid "B<-L>, B<--listfiles> I<package-name>..."
msgstr ""

#. type: Plain text
#: dpkg-query.1:85
msgid ""
"List files installed to your system from I<package-name>. When multiple "
"I<package-name> are listed, the requested lists of files are separated by an "
"empty line. However, note that files created by package-specific "
"installation-scripts are not listed."
msgstr ""

#. type: TP
#: dpkg-query.1:85
#, no-wrap
msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgstr ""

#. type: Plain text
#: dpkg-query.1:93
msgid ""
"List paths for control files installed to your system from I<package-name>.  "
"If I<control-file> is specified then only list the path for that control "
"file if it is present. B<Warning>: this command is semi-public, it should be "
"used only as a last resort solution, and if no other interface is "
"available. It might get deprecated later on if better interfaces or the "
"current architectural deficiencies have been solved."
msgstr ""

#. type: TP
#: dpkg-query.1:93
#, no-wrap
msgid "B<-S>, B<--search> I<filename-search-pattern>..."
msgstr ""

#. type: Plain text
#: dpkg-query.1:99
msgid ""
"Search for packages that own files corresponding to the given pattern.  "
"Standard shell wildchars can be used in the pattern.  This command will not "
"list extra files created by maintainer scripts, nor will it list "
"alternatives."
msgstr ""

#. type: TP
#: dpkg-query.1:99
#, no-wrap
msgid "B<-p>, B<--print-avail> I<package-name>..."
msgstr ""

#. type: Plain text
#: dpkg-query.1:105
msgid ""
"Display details about I<package-name>, as found in "
"I</var/lib/dpkg/available>. When multiple I<package-name> are listed, the "
"requested I<available> entries are separated by an empty line."
msgstr ""

#. type: Plain text
#: dpkg-query.1:110
msgid ""
"Users of APT-based frontends should use B<apt-cache show> I<package-name> "
"instead as the I<available> file is only kept up-to-date when using "
"B<dselect>."
msgstr ""

#. type: TP
#: dpkg-query.1:122
#, no-wrap
msgid "B<-f>, B<--showformat=>I<format>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:129
msgid "In the format string, \\(lqB<\\e>\\(rq introduces escapes:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:134
#, no-wrap
msgid ""
"    B<\\en>  newline\n"
"    B<\\er>  carriage return\n"
"    B<\\et>  tab\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:139
msgid ""
"\\(lqB<\\e>\\(rq before any other character suppresses any special meaning "
"of the following character, which is useful for \\(lqB<\\e>\\(rq and "
"\\(lqB<$>\\(rq."
msgstr ""

#. type: Plain text
#: dpkg-query.1:147
msgid ""
"Package information can be included by inserting variable references to "
"package fields using the syntax "
"\\(lqB<${>I<field>[B<;>I<width>]B<}>\\(rq. Fields are printed right-aligned "
"unless the width is negative in which case left alignment will be used. The "
"following I<field>s are recognised but they are not necessarily available in "
"the status file (only internal fields or fields stored in the binary package "
"end up in it):"
msgstr ""

#. type: Plain text
#: dpkg-query.1:182
#, no-wrap
msgid ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (internal)\n"
"    B<Config-Version> (internal)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (internal, front-end related)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (internal, front-end related)\n"
"    B<MSDOS-Filename> (internal, front-end related)\n"
"    B<Maintainer>\n"
"    B<Origin>\n"
"    B<Package>\n"
"    B<Pre-Depends>\n"
"    B<Priority>\n"
"    B<Provides>\n"
"    B<Recommends>\n"
"    B<Replaces>\n"
"    B<Revision> (obsolete)\n"
"    B<Section>\n"
"    B<Size> (internal, front-end related)\n"
"    B<Source>\n"
"    B<Status> (internal)\n"
"    B<Suggests>\n"
"    B<Tag> (usually not in the .deb but in the repository Packages files)\n"
"    B<Triggers-Awaited> (internal)\n"
"    B<Triggers-Pending> (internal)\n"
"    B<Version>\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:190
msgid ""
"The default format string is \\(lqB<${Package}\\et${Version}\\en>\\(rq.  "
"Actually, all other fields found in the status file (i.e. user defined "
"fields) can be requested, too. They will be printed as-is, though, no "
"conversion nor error checking is done on them.  To get the name of the dpkg "
"maintainer and the installed version, you could run:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:193
#, no-wrap
msgid ""
"  B<dpkg-query -W -f=\\(aq${Package} ${Version}\\et${Maintainer}\\en\\(aq "
"dpkg>\n"
msgstr ""

#. type: SH
#: dpkg-query.1:195 dpkg-split.1:179 start-stop-daemon.8:259 update-alternatives.8:374
#, no-wrap
msgid "EXIT STATUS"
msgstr ""

#. type: TP
#: dpkg-query.1:196 dpkg-split.1:180 start-stop-daemon.8:260 start-stop-daemon.8:289 update-alternatives.8:375
#, no-wrap
msgid "B<0>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:199
msgid "The requested query was successfully performed."
msgstr ""

#. type: TP
#: dpkg-query.1:199 dpkg-split.1:186 start-stop-daemon.8:270 start-stop-daemon.8:292
#, no-wrap
msgid "B<1>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:203
msgid ""
"Problems were encountered while parsing the command line or performing the "
"query, including no file or package being found (except for --control-path)."
msgstr ""

#. type: Plain text
#: dpkg-query.1:213
msgid ""
"This setting influences the output of the B<--list> option by changing the "
"width of its output."
msgstr ""

#. type: Plain text
#: dpkg-query.1:216
msgid "Copyright \\(co 2001 Wichert Akkerman"
msgstr ""

#. type: TH
#: dpkg-scanpackages.1:15
#, no-wrap
msgid "dpkg-scanpackages"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:18
msgid "dpkg-scanpackages - create Packages index files"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:26
msgid ""
"B<dpkg-scanpackages> [I<option>...] I<binary-dir> [I<override-file> "
"[I<path-prefix>]] B<E<gt>> I<Packages>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:39
msgid ""
"B<dpkg-scanpackages> sorts through a tree of Debian binary packages and "
"creates a Packages file, used by B<apt>(8), B<dselect>(1), etc, to tell the "
"user what packages are available for installation. These Packages files are "
"the same as those found on Debian archive sites and CD-ROMs. You might use "
"B<dpkg-scanpackages> yourself if making a directory of local packages to "
"install on a cluster of machines."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:51
msgid ""
"B<Note:> If you want to access the generated Packages file with B<apt> you "
"will probably need to compress the file with B<bzip2>(1)  (generating a "
"Packages.bz2 file) or B<gzip>(1)  (generating a Packages.gz file). apt "
"ignores uncompressed Packages files except on local access (i.e.  B<file://> "
"sources)."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:58
msgid ""
"I<binarydir> is the name of the tree of the binary packages to process (for "
"example, B<contrib/binary-i386>).  It is best to make this relative to the "
"root of the Debian archive, because every Filename field in the new Packages "
"file will start with this string."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:63
msgid ""
"I<overridefile> is the name of a file to read which contains information "
"about how the package fits into the distribution (it can be a compressed "
"file); see B<deb-override>(5)."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:66
msgid "I<pathprefix> is an optional string to be prepended to the Filename fields."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:70
msgid ""
"If more than one version of a package is found only the newest one is "
"included in the output. If they have the same version and only differ in "
"architecture only the first one found is used."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:72
#, no-wrap
msgid "B<-t>, B<--type> I<type>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:75
msgid "Scan for *.I<type> packages, instead of *.deb."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:75
#, no-wrap
msgid "B<-u>, B<--udeb>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:78
msgid "B<Obsolete> alias for B<-tudeb>."
msgstr ""

#. type: IP
#: dpkg-scanpackages.1:78 dpkg-scansources.1:49
#, no-wrap
msgid "B<-e>, B<--extra-override> I<file>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:84 dpkg-scansources.1:54
msgid ""
"Scan I<file> to find supplementary overrides (the file can be "
"compressed). See B<deb-extra-override>(5)  for more information on its "
"format."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:84
#, no-wrap
msgid "B<-a>, B<--arch> I<arch>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:88
msgid ""
"Use a pattern consisting of I<*_all.deb> and I<*_arch.deb> instead of "
"scanning for all debs."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:88
#, no-wrap
msgid "B<-m>, B<--multiversion>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:91
msgid "Include all found packages in the output."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:91
#, no-wrap
msgid "B<-M>, B<--medium> I<id-string>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:96
msgid ""
"Add an X-Medium field containing the value I<id-string>. This field is "
"required if you want to generate B<Packages.cd> files for use by the multicd "
"access method of dselect."
msgstr ""

#. type: SH
#: dpkg-scanpackages.1:103 update-alternatives.8:448
#, no-wrap
msgid "DIAGNOSTICS"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:109
msgid ""
"B<dpkg-scanpackages> outputs the usual self-explanatory errors. It also "
"warns about packages that are in the wrong subdirectory, are duplicated, "
"have a Filename field in their control file, are missing from the override "
"file, or have maintainer substitutions which do not take effect."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:115
msgid ""
"B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<deb-extra-override>(5), "
"B<dpkg-scansources>(1)."
msgstr ""

#. type: TH
#: dpkg-scansources.1:1
#, no-wrap
msgid "dpkg-scansources"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:4
msgid "dpkg-scansources - create Sources index files"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:12
msgid ""
"B<dpkg-scansources> [I<option>...] I<binary-dir> [I<override-file> "
"[I<path-prefix>]] B<E<gt>> I<Sources>"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:17
msgid ""
"B<dpkg-scansources> scans the given I<binary-dir> for I<.dsc> files.  These "
"are used to create a Debian source index, which is output to stdout."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:28
msgid ""
"The I<override-file>, if given, is used to set priorities in the resulting "
"index records and to override the maintainer field given in the I<.dsc> "
"files. The file can be compressed. See B<deb-override>(5)  for the format of "
"this file. \\s-1NB:\\s0 Since the override file is indexed by binary, not "
"source, packages, there's a bit of a problem here. The current "
"implementation uses the highest priority of all the binary packages produced "
"by a I<.dsc> file for the priority of the source package, and the override "
"entry for the first binary package listed in the I<.dsc> file to modify "
"maintainer information. This might change."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:32
msgid ""
"The I<path-prefix>, if given, is prepended to the directory field in the "
"generated source index. You generally use this to make the directory fields "
"contain the path from the top of the Debian archive hierarchy."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:43
msgid ""
"B<Note:> If you want to access the generated Sources file with B<apt>(8)  "
"you will probably need to compress the file with B<gzip>(1)  (generating a "
"Sources.gz file). apt ignores uncompressed Sources files except on local "
"access (i.e.  B<file://> sources)."
msgstr ""

#. type: IP
#: dpkg-scansources.1:45
#, no-wrap
msgid "B<-n>, B<--no-sort>"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:48
msgid ""
"Don't sort the index records. Normally they are sorted by source package "
"name."
msgstr ""

#. type: IP
#: dpkg-scansources.1:54
#, no-wrap
msgid "B<-s>, B<--source-override> I<file>"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:58
msgid ""
"Use I<file> as the source override file (the file can be compressed).  The "
"default is the name of the override file you specified with I<.src> "
"appended."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:64
msgid ""
"The source override file is in a different format from the binary override "
"file. It contains only two whitespace separated fields, the first is the "
"source package name and the second is the section. Blank lines and comment "
"lines are ignored in the normal manner. If a package appears in both files "
"the source override takes precedence for setting the section."
msgstr ""

#. type: IP
#: dpkg-scansources.1:64
#, no-wrap
msgid "B<--debug>"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:66
msgid "Turn debugging on."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:75
msgid "B<deb-override>(5), B<deb-extra-override>(5), B<dpkg-scanpackages>(1)."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:77
msgid "Roderick Schertler E<lt>roderick@argon.orgE<gt>"
msgstr ""

#. type: TH
#: dpkg-shlibdeps.1:1
#, no-wrap
msgid "dpkg-shlibdeps"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:4
msgid "dpkg-shlibdeps - generate shared library substvar dependencies"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:8
msgid "B<dpkg-shlibdeps> [I<option>...] [B<-e>]I<executable> [I<option>...]"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:22
msgid ""
"B<dpkg-shlibdeps> calculates shared library dependencies for executables "
"named in its arguments. The dependencies are added to the substitution "
"variables file B<debian/substvars> as variable names "
"B<shlibs:>I<dependencyfield> where I<dependencyfield> is a dependency field "
"name. Any other variables starting with B<shlibs:> are removed from the "
"file."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:45
msgid ""
"B<dpkg-shlibdeps> has two possible sources of information to generate "
"dependency information. Either I<symbols> files or I<shlibs> files. For each "
"binary that B<dpkg-shlibdeps> analyzes, it finds out the list of libraries "
"that it's linked with.  Then, for each library, it looks up either the "
"I<symbols> file, or the I<shlibs> file (if the former doesn't exist or if "
"debian/shlibs.local contains the relevant dependency). Both files are "
"supposed to be provided by the library package and should thus be available "
"as /var/lib/dpkg/info/I<package>.I<symbols> or "
"/var/lib/dpkg/info/I<package>.I<shlibs>. The package name is identified in "
"two steps: find the library file on the system (looking in the same "
"directories that B<ld.so> would use), then use B<dpkg -S >I<library-file> to "
"lookup the package providing the library."
msgstr ""

#. type: SS
#: dpkg-shlibdeps.1:45
#, no-wrap
msgid "Symbols files"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:50
msgid ""
"Symbols files contain finer-grained dependency information by providing the "
"minimum dependency for each symbol that the library exports. The script "
"tries to find a symbols file associated to a library package in the "
"following places (first match is used):"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:50
#, no-wrap
msgid "debian/*/DEBIAN/symbols"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:58
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are generated by B<dpkg-gensymbols>(1).  "
"They are only used if the library is found in a package's build tree. The "
"symbols file in that build tree takes precedence over symbols files from "
"other binary packages."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:58
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols.I<arch>"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:59
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:63
msgid ""
"Per-system overriding shared library dependency information.  I<arch> is the "
"architecture of the current system (obtained by B<dpkg-architecture "
"-qDEB_HOST_ARCH>)."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:63
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> symbols\\(rq"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:66 dpkg-shlibdeps.1:100
msgid ""
"Package-provided shared library dependency information.  Unless overridden "
"by --admindir, those files are located in /var/lib/dpkg."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:73
msgid ""
"While scanning the symbols used by all binaries, B<dpkg-shlibdeps> remembers "
"the (biggest) minimal version needed for each library. At the end of the "
"process, it is able to write out the minimal dependency for every library "
"used (provided that the information of the I<symbols> files are accurate)."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:80
msgid ""
"As a safe-guard measure, a symbols file can provide a "
"I<Build-Depends-Package> meta-information field and B<dpkg-shlibdeps> will "
"extract the minimal version required by the corresponding package in the "
"Build-Depends field and use this version if it's higher than the minimal "
"version computed by scanning symbols."
msgstr ""

#. type: SS
#: dpkg-shlibdeps.1:80
#, no-wrap
msgid "Shlibs files"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:84
msgid ""
"Shlibs files associate directly a library to a dependency (without looking "
"at the symbols). It's thus often stronger than really needed but very safe "
"and easy to handle."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:87
msgid ""
"The dependencies for a library are looked up in several places. The first "
"file providing information for the library of interest is used:"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:87
#, no-wrap
msgid "debian/shlibs.local"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:89
msgid "Package-local overriding shared library dependency information."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:89
#, no-wrap
msgid "/etc/dpkg/shlibs.override"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:91
msgid "Per-system overriding shared library dependency information."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:91
#, no-wrap
msgid "debian/*/DEBIAN/shlibs"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:97
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are only used if the library is found in a "
"package's build tree. The shlibs file in that build tree takes precedence "
"over shlibs files from other binary packages."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:97
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> shlibs\\(rq"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:100
#, no-wrap
msgid "/etc/dpkg/shlibs.default"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:102
msgid "Per-system default shared library dependency information."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:106
msgid ""
"The extracted dependencies are then directly used (except if they are "
"filtered out because they have been identified as duplicate, or as weaker "
"than another dependency)."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:111
msgid ""
"B<dpkg-shlibdeps> interprets non-option arguments as executable names, just "
"as if they'd been supplied as B<-e>I<executable>."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:111
#, no-wrap
msgid "B<-e>I<executable>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:115
msgid ""
"Include dependencies appropriate for the shared libraries required by "
"I<executable>."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:115
#, no-wrap
msgid "B<-d>I<dependencyfield>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:121
msgid ""
"Add dependencies to be added to the control file dependency field "
"I<dependencyfield>.  (The dependencies for this field are placed in the "
"variable B<shlibs:>I<dependencyfield>.)"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:131
msgid ""
"The B<-d>I<dependencyfield> option takes effect for all executables after "
"the option, until the next B<-d>I<dependencyfield>.  The default "
"I<dependencyfield> is B<Depends>."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:139
msgid ""
"If the same dependency entry (or set of alternatives) appears in more than "
"one of the recognised dependency field names B<Pre-Depends>, B<Depends>, "
"B<Recommends>, B<Enhances> or B<Suggests> then B<dpkg-shlibdeps> will "
"automatically remove the dependency from all fields except the one "
"representing the most important dependencies."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:139
#, no-wrap
msgid "B<-p>I<varnameprefix>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:150
msgid ""
"Start substitution variables with I<varnameprefix>B<:> instead of "
"B<shlibs:>.  Likewise, any existing substitution variables starting with "
"I<varnameprefix>B<:> (rather than B<shlibs:>)  are removed from the the "
"substitution variables file."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:156
msgid ""
"Print substitution variable settings to standard output, rather than being "
"added to the substitution variables file (B<debian/substvars> by default)."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:156
#, no-wrap
msgid "B<-t>I<type>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:163
msgid ""
"Prefer shared library dependency information tagged for the given package "
"type. If no tagged information is available, falls back to untagged "
"information. The default package type is \"deb\". Shared library dependency "
"information is tagged for a given type by prefixing it with the name of the "
"type, a colon, and whitespace."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:163
#, no-wrap
msgid "B<-L>I<localshlibsfile>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:169
msgid ""
"Read overriding shared library dependency information from "
"I<localshlibsfile> instead of B<debian/shlibs.local>."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:175
msgid ""
"Write substitution variables in I<substvarsfile>; the default is "
"B<debian/substvars>."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:175
#, no-wrap
msgid "B<-v>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:180
msgid ""
"Enable verbose mode. Numerous messages are displayed to explain what "
"B<dpkg-shlibdeps> does."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:180
#, no-wrap
msgid "B<-x>I<package>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:187
msgid ""
"Exclude the package from the generated dependencies. This is useful to avoid "
"self-dependencies for packages which provide ELF binaries (executables or "
"library plugins) using a library contained in the same package. This option "
"can be used multiple times to exclude several packages."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:187
#, no-wrap
msgid "B<-S>I<pkgbuilddir>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:194
msgid ""
"Look into I<pkgbuilddir> first when trying to find a library. This is useful "
"when the source package builds multiple flavors of the same library and you "
"want to ensure that you get the dependency from a given binary package. You "
"can use this option multiple times: directories will be tried in the same "
"order before directories of other binary packages."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:194
#, no-wrap
msgid "B<--ignore-missing-info>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:200
msgid ""
"Do not fail if dependency information can't be found for a shared library.  "
"Usage of this option is discouraged, all libraries should provide dependency "
"information (either with shlibs files, or with symbols files)  even if they "
"are not yet used by other packages."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:200
#, no-wrap
msgid "B<--warnings=>I<value>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:211
msgid ""
"I<value> is a bit field defining the set of warnings that can be emitted by "
"B<dpkg-shlibdeps>.  Bit 0 (value=1) enables the warning \"symbol I<sym> used "
"by I<binary> found in none of the libraries\", bit 1 (value=2) enables the "
"warning \"dependency on I<library> could be avoided\" and bit 2 (value=4)  "
"enables the warning \"I<binary> shouldn't be linked with I<library>\".  The "
"default I<value> is 3: the first two warnings are active by default, the "
"last one is not. Set I<value> to 7 if you want all warnings to be active."
msgstr ""

#. type: SH
#: dpkg-shlibdeps.1:222
#, no-wrap
msgid "WARNINGS"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:230
msgid ""
"Since B<dpkg-shlibdeps> analyzes the set of symbols used by each binary of "
"the generated package, it is able to emit warnings in several cases. They "
"inform you of things that can be improved in the package. In most cases, "
"those improvements concern the upstream sources directly. By order of "
"decreasing importance, here are the various warnings that you can encounter:"
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:230
#, no-wrap
msgid "B<symbol>I< sym>B< used by >I<binary>B< found in none of the libraries.>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:236
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a library and it needs to be linked "
"with an additional library during the build process (option B<-l>I<library> "
"of the linker)."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:236
#, no-wrap
msgid ""
"I<binary>B< contains an unresolvable reference to symbol >I<sym>B<: it's "
"probably a plugin>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:249
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a plugin and the symbol is probably "
"provided by the program that loads this plugin. In theory a plugin doesn't "
"have any SONAME but this binary does have one and as such it could not be "
"clearly identified as such. However the fact that the binary is stored in a "
"non-public directory is a strong indication that's it's not a normal shared "
"library. If the binary is really a plugin, then disregard this warning. But "
"there's always the possibility that it's a real library and that programs "
"linking to it are using an RPATH so that the dynamic loader finds it. In "
"that case, the library is broken and needs to be fixed."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:249
#, no-wrap
msgid ""
"B<dependency on >I<library>B< could be avoided if >I<binaries>B< were not "
"uselessly linked against it (they use none of its symbols).>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:255
msgid ""
"None of the I<binaries> that are linked with I<library> use any of the "
"symbols provided by the library. By fixing all the binaries, you would avoid "
"the dependency associated to this library (unless the same dependency is "
"also generated by another library that is really used)."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:255
#, no-wrap
msgid ""
"I<binary>B< shouldn't be linked with >I<library>B< (it uses none of its "
"symbols).>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:262
msgid ""
"The I<binary> is linked to a library that it doesn't need. It's not a "
"problem but some small performance improvements in binary load time can be "
"obtained by not linking this library to this binary. This warning checks the "
"same information than the previous one but does it for each binary instead "
"of doing the check globally on all binaries analyzed."
msgstr ""

#. type: SH
#: dpkg-shlibdeps.1:262
#, no-wrap
msgid "ERRORS"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:269
msgid ""
"B<dpkg-shlibdeps> will fail if it can't find a public library used by a "
"binary or if this library has no associated dependency information (either "
"shlibs file or symbols file). A public library has a SONAME and is versioned "
"(libsomething.so.I<X>). A private library (like a plugin) should not have a "
"SONAME and doesn't need to be versioned."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:269
#, no-wrap
msgid ""
"B<couldn't find library >I<library-soname>B< needed by >I<binary>B< (its "
"RPATH is '>I<rpath>B<')>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:285
msgid ""
"The I<binary> uses a library called I<library-soname> but B<dpkg-shlibdeps> "
"has been unable to find the library.  B<dpkg-shlibdeps> creates a list of "
"directories to check as following: directories listed in the RPATH of the "
"binary, directories listed in /etc/ld.so.conf, directories listed in the "
"LD_LIBRARY_PATH environment variable, and standard public directories (/lib, "
"/usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those "
"directories in the package's build tree of the binary being analyzed, in the "
"packages' build trees indicated with the -S command-line option, in other "
"packages' build trees that contains a DEBIAN/shlibs or DEBIAN/symbols file "
"and finally in the root directory.  If the library is not found in any of "
"those directories, then you get this error."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:291
msgid ""
"If the library not found is in a private directory of the same package, then "
"you want to add the directory to LD_LIBRARY_PATH. If it's in another binary "
"package being built, you want to make sure that the shlibs/symbols file of "
"this package is already created and that LD_LIBRARY_PATH contains the "
"appropriate directory if it also is in a private directory."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:291
#, no-wrap
msgid ""
"B<no dependency information found for >I<library-file>B< (used by "
">I<binary>B<).>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:304
msgid ""
"The library needed by I<binary> has been found by B<dpkg-shlibdeps> in "
"I<library-file> but B<dpkg-shlibdeps> has been unable to find any dependency "
"information for that library. To find out the dependency, it has tried to "
"map the library to a Debian package with the help of B<dpkg -S "
">I<library-file>.  Then it checked the corresponding shlibs and symbols "
"files in /var/lib/dpkg/info/, and in the various package's build trees "
"(debian/*/DEBIAN/)."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:318
msgid ""
"This failure can be caused by a bad or missing shlibs or symbols file in the "
"package of the library. It might also happen if the library is built within "
"the same source package and if the shlibs files has not yet been created (in "
"which case you must fix debian/rules to create the shlibs before calling "
"B<dpkg-shlibdeps>). Bad RPATH can also lead to the library being found under "
"a non-canonical name (example: "
"/usr/lib/openoffice.org/../lib/libssl.so.0.9.8 instead of "
"/usr/lib/libssl.so.0.9.8) that's not associated to any package, "
"B<dpkg-shlibdeps> tries to work around this by trying to fallback on a "
"canonical name (using B<realpath>(3))  but it might not always work. It's "
"always best to clean up the RPATH of the binary to avoid problems."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:324
msgid ""
"Calling B<dpkg-shlibdeps> in verbose mode (-v) will provide much more "
"information about where it tried to find the dependency information. This "
"might be useful if you don't understand why it's giving you this error."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:328
msgid "B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1)."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:335
msgid "Copyright \\(co 2006 Frank Lichtenheld"
msgstr ""

#. type: TH
#: dpkg-source.1:2
#, no-wrap
msgid "dpkg-source"
msgstr ""

#. type: Plain text
#: dpkg-source.1:5
msgid "dpkg-source - Debian source package (.dsc) manipulation tool"
msgstr ""

#. type: Plain text
#: dpkg-source.1:9
msgid "B<dpkg-source> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:13
msgid "B<dpkg-source> packs and unpacks Debian source archives."
msgstr ""

#. type: Plain text
#: dpkg-source.1:17
msgid ""
"None of these commands allow multiple options to be combined into one, and "
"they do not allow the value for an option to be specified in a separate "
"argument."
msgstr ""

#. type: TP
#: dpkg-source.1:19
#, no-wrap
msgid "B<-x >I<filename>B<.dsc >[I<output-directory>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:29
msgid ""
"Extract a source package. One non-option argument must be supplied, the name "
"of the Debian source control file (B<.dsc>).  An optional second non-option "
"argument may be supplied to specify the directory to extract the source "
"package to, this must not exist. If no output directory is specified, the "
"source package is extracted into a directory named I<source>-I<version> "
"under the current working directory."
msgstr ""

#. type: Plain text
#: dpkg-source.1:35
msgid ""
"B<dpkg-source> will read the names of the other file(s) making up the source "
"package from the control file; they are assumed to be in the same directory "
"as the B<.dsc>."
msgstr ""

#. type: Plain text
#: dpkg-source.1:43
msgid ""
"The files in the extracted package will have their permissions and "
"ownerships set to those which would have been expected if the files and "
"directories had simply been created - directories and executable files will "
"be 0777 and plain files will be 0666, both modified by the extractors' "
"umask; if the parent directory is setgid then the extracted directories will "
"be too, and all the files and directories will inherit its group ownership."
msgstr ""

#. type: Plain text
#: dpkg-source.1:48
msgid ""
"If the source package uses a non-standard format (currently this means all "
"formats except \"1.0\"), its name will be stored in B<debian/source/format> "
"so that the following builds of the source package use the same format by "
"default."
msgstr ""

#. type: TP
#: dpkg-source.1:49
#, no-wrap
msgid "B<-b> I<directory> [I<format-specific-parameters>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:56
msgid ""
"Build a source package. The first non-option argument is taken as the name "
"of the directory containing the debianized source tree (i.e. with a debian "
"sub-directory and maybe changes to the original files).  Depending on the "
"source package format used to build the package, additional parameters might "
"be accepted."
msgstr ""

#. type: Plain text
#: dpkg-source.1:65
msgid ""
"B<dpkg-source> will build the source package with the first format found in "
"this ordered list: the format indicated with the I<--format> command line "
"option, the format indicated in B<debian/source/format>, \"1.0\". The "
"fallback to \"1.0\" is deprecated and will be removed at some point in the "
"future, you should always document the desired source format in "
"B<debian/source/format>. See section B<SOURCE PACKAGE FORMATS> for an "
"extensive description of the various source package formats."
msgstr ""

#. type: TP
#: dpkg-source.1:66
#, no-wrap
msgid "B<--print-format> I<directory>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:71
msgid ""
"Print the source format that would be used to build the source package if "
"B<dpkg-source -b >I<directory> was called (in the same conditions and with "
"the same parameters)."
msgstr ""

#. type: TP
#: dpkg-source.1:72
#, no-wrap
msgid "B<--before-build> I<directory>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:81
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"before any build of the package (B<dpkg-buildpackage> calls it very early "
"even before B<debian/rules clean>). This command is idempotent and can be "
"called multiple times. Not all source formats implement something in this "
"hook, and those that do usually prepare the source tree for the build for "
"example by ensuring that the Debian patches are applied."
msgstr ""

#. type: TP
#: dpkg-source.1:82
#, no-wrap
msgid "B<--after-build> I<directory>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:89
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"after any build of the package (B<dpkg-buildpackage> calls it last). This "
"command is idempotent and can be called multiple times. Not all source "
"formats implement something in this hook, and those that do usually use it "
"to undo what B<--before-build> has done."
msgstr ""

#. type: TP
#: dpkg-source.1:90
#, no-wrap
msgid "B<--commit> [I<directory>] ..."
msgstr ""

#. type: Plain text
#: dpkg-source.1:95
msgid ""
"Record changes in the source tree unpacked in I<directory>. This command can "
"take supplementary parameters depending on the source format.  It will error "
"out for formats where this operation doesn't mean anything."
msgstr ""

#. type: SH
#: dpkg-source.1:103
#, no-wrap
msgid "GENERIC BUILD OPTIONS"
msgstr ""

#. type: Plain text
#: dpkg-source.1:111
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""

#. type: Plain text
#: dpkg-source.1:118
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""

#. type: TP
#: dpkg-source.1:123
#, no-wrap
msgid "B<--format=>I<value>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:127
msgid ""
"Use the given format for building the source package. It does override any "
"format given in B<debian/source/format>."
msgstr ""

#. type: Plain text
#: dpkg-source.1:137
msgid ""
"Read substitution variables in I<substvarsfile>; the default is to not read "
"any file. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""

#. type: TP
#: dpkg-source.1:143
#, no-wrap
msgid "B<-Z>I<compression>, B<--compression>=I<compression>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:151
msgid ""
"Specify the compression to use for created files (tarballs and diffs).  Note "
"that this option will not cause existing tarballs to be recompressed, it "
"only affects new files. Supported values are: I<gzip>, I<bzip2>, I<lzma> and "
"I<xz>.  I<gzip> is the default. I<xz> is only supported since dpkg-dev "
"1.15.5."
msgstr ""

#. type: TP
#: dpkg-source.1:151
#, no-wrap
msgid "B<-z>I<level>, B<--compression-level>=I<level>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:157
msgid ""
"Compression level to use. As with B<-Z> it only affects newly created "
"files. Supported values are: I<1> to I<9>, I<best>, and I<fast>.  The "
"default is I<9> for gzip and bzip2, I<6> for xz and lzma."
msgstr ""

#. type: TP
#: dpkg-source.1:157
#, no-wrap
msgid "B<-i>[I<regexp>], B<--diff-ignore>[=I<regexp>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:169
msgid ""
"You may specify a perl regular expression to match files you want filtered "
"out of the list of files for the diff. (This list is generated by a find "
"command.) (If the source package is being built as a version 3 source "
"package using a VCS, this can be used to ignore uncommited changes on "
"specific files. Using -i.* will ignore all of them.)  B<-i> by itself "
"enables the option, with a default regexp that will filter out control files "
"and directories of the most common revision control systems, backup and swap "
"files and Libtool build output directories. There can only be one active "
"regexp, of multiple B<-i> options only the last one will take effect."
msgstr ""

#. type: Plain text
#: dpkg-source.1:179
msgid ""
"This is very helpful in cutting out extraneous files that get included in "
"the diff, e.g. if you maintain your source in a revision control system and "
"want to use a checkout to build a source package without including the "
"additional files and directories that it will usually contain (e.g. CVS/, "
".cvsignore, .svn/). The default regexp is already very exhaustive, but if "
"you need to replace it, please note that by default it can match any part of "
"a path, so if you want to match the begin of a filename or only full "
"filenames, you will need to provide the necessary anchors (e.g. '(^|/)', "
"'($|/)') yourself."
msgstr ""

#. type: TP
#: dpkg-source.1:179
#, no-wrap
msgid "B<--extend-diff-ignore>=I<regexp>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:186
msgid ""
"The perl regular expression specified will extend the default value of "
"B<--diff-ignore> and its current value (if set). It does this by "
"concatenating \"B<|>I<regexp>\" to the existing value.  This option is "
"convenient to use in B<debian/source/options> to exclude some auto-generated "
"files from the automatic patch generation."
msgstr ""

#. type: TP
#: dpkg-source.1:186
#, no-wrap
msgid "B<-I>[I<file-pattern>], B<--tar-ignore>[=I<file-pattern>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:195
msgid ""
"If this option is specified, the pattern will be passed to B<tar>(1)'s "
"--exclude option when it is called to generate a .orig.tar or .tar file. For "
"example, -ICVS will make tar skip over CVS directories when generating a "
".tar.gz file. The option may be repeated multiple times to list multiple "
"patterns to exclude."
msgstr ""

#. type: Plain text
#: dpkg-source.1:200
msgid ""
"B<-I> by itself adds default --exclude options that will filter out control "
"files and directories of the most common revision control systems, backup "
"and swap files and Libtool build output directories."
msgstr ""

#. type: Plain text
#: dpkg-source.1:212
msgid ""
"B<Note:> While they have similar purposes, B<-i> and B<-I> have very "
"different syntax and semantics. B<-i> can only be specified once and takes a "
"perl compatible regular expression which is matched against the full "
"relative path of each file. B<-I> can specified multiple times and takes a "
"filename pattern with shell wildcards.  The pattern is applied to the full "
"relative path but also to each part of the path individually. The exact "
"semantic of tar's --exclude option is somewhat complicated, see "
"http://www.gnu.org/software/tar/manual/tar.html#wildcards for a full "
"documentation."
msgstr ""

#. type: Plain text
#: dpkg-source.1:215
msgid ""
"The default regexp and patterns for both options can be seen in the output "
"of the B<--help> command."
msgstr ""

#. type: SH
#: dpkg-source.1:215
#, no-wrap
msgid "GENERIC EXTRACT OPTIONS"
msgstr ""

#. type: TP
#: dpkg-source.1:216
#, no-wrap
msgid "B<--no-copy>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:219
msgid "Do not copy original tarballs near the extracted source package."
msgstr ""

#. type: TP
#: dpkg-source.1:219
#, no-wrap
msgid "B<--no-check>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:222
msgid "Do not check signatures and checksums before unpacking."
msgstr ""

#. type: TP
#: dpkg-source.1:222
#, no-wrap
msgid "B<--require-valid-signature>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:230
msgid ""
"Refuse to unpack the source package if it doesn't contain an OpenPGP "
"signature that can be verified either with the user's I<trustedkeys.gpg> "
"keyring, one of the vendor-specific keyrings, or one of the official Debian "
"keyrings (I</usr/share/keyrings/debian-keyring.gpg> and "
"I</usr/share/keyrings/debian-maintainers.gpg>)."
msgstr ""

#. type: SH
#: dpkg-source.1:231
#, no-wrap
msgid "SOURCE PACKAGE FORMATS"
msgstr ""

#. type: Plain text
#: dpkg-source.1:236
msgid ""
"If you don't know what source format to use, you should probably pick either "
"\"3.0 (quilt)\" or \"3.0 (native)\". See "
"http://wiki.debian.org/Projects/DebSrc3.0 for information on the deployment "
"of those formats within Debian."
msgstr ""

#. type: SS
#: dpkg-source.1:237
#, no-wrap
msgid "Format: 1.0"
msgstr ""

#. type: Plain text
#: dpkg-source.1:241
msgid ""
"A source package in this format consists either of a B<.orig.tar.gz> "
"associated to a B<.diff.gz> or a single B<.tar.gz> (in that case the package "
"is said to be I<native>)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:243 dpkg-source.1:411 dpkg-source.1:586 dpkg-source.1:625
msgid "B<Extracting>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:253
msgid ""
"Extracting a native package is a simple extraction of the single tarball in "
"the target directory. Extracting a non-native package is done by first "
"unpacking the B<.orig.tar.gz> and then applying the patch contained in the "
"B<.diff.gz> file. The timestamp of all patched files is reset to the "
"extraction time of the source package (this avoids timestamp skews leading "
"to problems when autogenerated files are patched). The diff can create new "
"files (the whole debian directory is created that way) but can't remove "
"files (empty files will be left over)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:255 dpkg-source.1:439 dpkg-source.1:597 dpkg-source.1:630
msgid "B<Building>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:261
msgid ""
"Building a native package is just creating a single tarball with the source "
"directory. Building a non-native package involves extracting the original "
"tarball in a separate \".orig\" directory and regenerating the B<.diff.gz> "
"by comparing the source package I<directory> with the .orig directory."
msgstr ""

#. type: TP
#: dpkg-source.1:262
#, no-wrap
msgid "B<Build options (with -b):>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:275
msgid ""
"If a second non-option argument is supplied it should be the name of the "
"original source directory or tarfile or the empty string if the package is a "
"Debian-specific one and so has no Debianisation diffs. If no second argument "
"is supplied then B<dpkg-source> will look for the original source tarfile "
"I<package>B<_>I<upstream-version>B<.orig.tar.gz> or the original source "
"directory I<directory>B<.orig> depending on the B<-sX> arguments."
msgstr ""

#. type: Plain text
#: dpkg-source.1:281
msgid ""
"B<-sa>, B<-sp>, B<-sk>, B<-su> and B<-sr> will not overwrite existing "
"tarfiles or directories. If this is desired then B<-sA>, B<-sP>, B<-sK>, "
"B<-sU> and B<-sR> should be used instead."
msgstr ""

#. type: TP
#: dpkg-source.1:281
#, no-wrap
msgid "B<-sk>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:290
msgid ""
"Specifies to expect the original source as a tarfile, by default "
"I<package>B<_>I<upstream-version>B<.orig.tar.>I<extension>.  It will leave "
"this original source in place as a tarfile, or copy it to the current "
"directory if it isn't already there. The tarball will be unpacked into "
"I<directory>B<.orig> for the generation of the diff."
msgstr ""

#. type: TP
#: dpkg-source.1:290 dpkg-source.1:359
#, no-wrap
msgid "B<-sp>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:295
msgid "Like B<-sk> but will remove the directory again afterwards."
msgstr ""

#. type: TP
#: dpkg-source.1:295 dpkg-source.1:365
#, no-wrap
msgid "B<-su>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:303
msgid ""
"Specifies that the original source is expected as a directory, by default "
"I<package>B<->I<upstream-version>B<.orig> and B<dpkg-source> will create a "
"new original source archive from it."
msgstr ""

#. type: TP
#: dpkg-source.1:303
#, no-wrap
msgid "B<-sr>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:308
msgid "Like B<-su> but will remove that directory after it has been used."
msgstr ""

#. type: TP
#: dpkg-source.1:308
#, no-wrap
msgid "B<-ss>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:316
msgid ""
"Specifies that the original source is available both as a directory and as a "
"tarfile. dpkg-source will use the directory to create the diff, but the "
"tarfile to create the B<.dsc>.  This option must be used with care - if the "
"directory and tarfile do not match a bad source archive will be generated."
msgstr ""

#. type: TP
#: dpkg-source.1:316 dpkg-source.1:368
#, no-wrap
msgid "B<-sn>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:322
msgid ""
"Specifies to not look for any original source, and to not generate a diff.  "
"The second argument, if supplied, must be the empty string. This is used for "
"Debian-specific packages which do not have a separate upstream source and "
"therefore have no debianisation diffs."
msgstr ""

#. type: TP
#: dpkg-source.1:322
#, no-wrap
msgid "B<-sa> or B<-sA>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:348
msgid ""
"Specifies to look for the original source archive as a tarfile or as a "
"directory - the second argument, if any, may be either, or the empty string "
"(this is equivalent to using B<-sn>).  If a tarfile is found it will unpack "
"it to create the diff and remove it afterwards (this is equivalent to "
"B<-sp>); if a directory is found it will pack it to create the original "
"source and remove it afterwards (this is equivalent to B<-sr>); if neither "
"is found it will assume that the package has no debianisation diffs, only a "
"straightforward source archive (this is equivalent to B<-sn>).  If both are "
"found then B<dpkg-source> will ignore the directory, overwriting it, if "
"B<-sA> was specified (this is equivalent to B<-sP>)  or raise an error if "
"B<-sa> was specified.  B<-sA> is the default."
msgstr ""

#. type: TP
#: dpkg-source.1:348 dpkg-source.1:541
#, no-wrap
msgid "B<--abort-on-upstream-changes>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:354
msgid ""
"The process fails if the generated diff contains changes to files outside of "
"the debian sub-directory. This option is not allowed in "
"B<debian/source/options> but can be used in B<debian/source/local-options>."
msgstr ""

#. type: TP
#: dpkg-source.1:355
#, no-wrap
msgid "B<Extract options (with -x):>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:359
msgid "In all cases any existing original source tree will be removed."
msgstr ""

#. type: Plain text
#: dpkg-source.1:365
msgid ""
"Used when extracting then the original source (if any) will be left as a "
"tarfile. If it is not already located in the current directory or if an "
"existing but different file is there it will be copied there.  (B<This is "
"the default>)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:368
msgid "Unpacks the original source tree."
msgstr ""

#. type: Plain text
#: dpkg-source.1:373
msgid ""
"Ensures that the original source is neither copied to the current directory "
"nor unpacked. Any original source tree that was in the current directory is "
"still removed."
msgstr ""

#. type: Plain text
#: dpkg-source.1:378
msgid ""
"All the B<-s>I<X> options are mutually exclusive. If you specify more than "
"one only the last one will be used."
msgstr ""

#. type: TP
#: dpkg-source.1:378 dpkg-source.1:555
#, no-wrap
msgid "B<--skip-debianization>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:381
msgid "Skips application of the debian diff on top of the upstream sources."
msgstr ""

#. type: SS
#: dpkg-source.1:382
#, no-wrap
msgid "Format: 2.0"
msgstr ""

#. type: Plain text
#: dpkg-source.1:386
msgid ""
"Also known as wig&pen. This format is not recommended for wide-spread usage, "
"the format \"3.0 (quilt)\" replaces it. Wig&pen was the first specification "
"of a new-generation source package format."
msgstr ""

#. type: Plain text
#: dpkg-source.1:391
msgid ""
"The behaviour of this format is the same as the \"3.0 (quilt)\" format "
"except that it doesn't use an explicit list of patches. All files in "
"B<debian/patches/> matching the perl regular expression B<[\\ew-]+> must be "
"valid patches: they are applied at extraction time."
msgstr ""

#. type: Plain text
#: dpkg-source.1:394
msgid ""
"When building a new source package, any change to the upstream source is "
"stored in a patch named B<zz_debian-diff-auto>."
msgstr ""

#. type: SS
#: dpkg-source.1:395
#, no-wrap
msgid "Format: 3.0 (native)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:401
msgid ""
"This format is an extension of the native package format as defined in the "
"1.0 format. It supports all compression methods and will ignore by default "
"any VCS specific files and directories as well as many temporary files (see "
"default value associated to B<-I> option in the B<--help> output)."
msgstr ""

#. type: SS
#: dpkg-source.1:402
#, no-wrap
msgid "Format: 3.0 (quilt)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:409
msgid ""
"A source package in this format contains at least an original tarball "
"(B<.orig.tar.>I<ext> where I<ext> can be B<gz>, B<bz2>, B<lzma> and B<xz>) "
"and a debian tarball (B<.debian.tar.>I<ext>). It can also contain additional "
"original tarballs (B<.orig->I<component>B<.tar.>I<ext>).  I<component> can "
"only contain alphanumeric characters and dashes (\"-\")."
msgstr ""

#. type: Plain text
#: dpkg-source.1:420
msgid ""
"The main original tarball is extracted first, then all additional original "
"tarballs are extracted in subdirectories named after the I<component> part "
"of their filename (any pre-existing directory is replaced). The debian "
"tarball is extracted on top of the source directory after prior removal of "
"any pre-existing B<debian> directory. Note that the debian tarball must "
"contain a B<debian> sub-directory but it can also contain binary files "
"outside of that directory (see B<--include-binaries> option)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:432
msgid ""
"All patches listed in B<debian/patches/debian.series> or "
"B<debian/patches/series> are then applied.  If the former file is used and "
"the latter one doesn't exist (or is a symlink), then the latter is replaced "
"with a symlink to the former. This is meant to simplify usage of quilt to "
"manage the set of patches. Note however that while B<dpkg-source> parses "
"correctly series files with explicit options used for patch application "
"(stored on each line after the patch filename and one or more spaces), it "
"does ignore those options and always expect patches that can be applied with "
"the B<-p1> option of B<patch>. It will thus emit a warning when it "
"encounters such options, and the build is likely to fail."
msgstr ""

#. type: Plain text
#: dpkg-source.1:434
msgid "Similarly to quilt's default behaviour, the patches can remove files too."
msgstr ""

#. type: Plain text
#: dpkg-source.1:437
msgid ""
"The file B<.pc/applied-patches> is created if some patches have been applied "
"during the extraction."
msgstr ""

#. type: Plain text
#: dpkg-source.1:451
msgid ""
"All original tarballs found in the current directory are extracted in a "
"temporary directory by following the same logic as for the unpack, the "
"debian directory is copied over in the temporary directory, and all patches "
"except the automatic patch (B<debian-changes->I<version> or "
"B<debian-changes>, depending on B<--single-debian-patch>) are applied. The "
"temporary directory is compared to the source package directory. When the "
"diff is non-empty, the build fails unless B<--single-debian-patch> or "
"B<--auto-commit> has been used, in which case the diff is stored in the "
"automatic patch.  If the automatic patch is created/deleted, it's "
"added/removed from the series file and from the quilt metadata."
msgstr ""

#. type: Plain text
#: dpkg-source.1:459
msgid ""
"Any change on a binary file is not representable in a diff and will thus "
"lead to a failure unless the maintainer deliberately decided to include that "
"modified binary file in the debian tarball (by listing it in "
"B<debian/source/include-binaries>). The build will also fail if it finds "
"binary files in the debian sub-directory unless they have been whitelisted "
"through B<debian/source/include-binaries>."
msgstr ""

#. type: Plain text
#: dpkg-source.1:462
msgid ""
"The updated debian directory and the list of modified binaries is then used "
"to generate the debian tarball."
msgstr ""

#. type: Plain text
#: dpkg-source.1:468
msgid ""
"The automatically generated diff doesn't include changes on VCS specific "
"files as well as many temporary files (see default value associated to B<-i> "
"option in the B<--help> output). In particular, the B<.pc> directory used by "
"quilt is ignored during generation of the automatic patch."
msgstr ""

#. type: Plain text
#: dpkg-source.1:477
msgid ""
"Note: B<dpkg-source> B<--before-build> (and B<-b>) will ensure that all "
"patches listed in the series file are applied so that a package build always "
"has all patches applied. It does this by finding unapplied patches (they are "
"listed in the B<series> file but not in B<.pc/applied-patches>), and if the "
"first patch in that set can be applied without errors, it will apply them "
"all. The option B<--no-preparation> can be used to disable this behavior."
msgstr ""

#. type: Plain text
#: dpkg-source.1:480
msgid "B<Recording changes>"
msgstr ""

#. type: TP
#: dpkg-source.1:480
#, no-wrap
msgid "B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:490
msgid ""
"Generates a patch corresponding to the local changes that are not managed by "
"the quilt patch system and integrates it in the patch system under the name "
"I<patch-name>. If the name is missing, it will be asked interactively. If "
"I<patch-file> is given, it is used as the patch corresponding to the local "
"changes to integrate. This is mainly useful after a build failure that "
"pre-generated this file. Once integrated, an editor is launched so that you "
"can edit the meta-information in the patch header."
msgstr ""

#. type: Plain text
#: dpkg-source.1:493 dpkg-source.1:567 dpkg-source.1:606
msgid "B<Build options>"
msgstr ""

#. type: TP
#: dpkg-source.1:493
#, no-wrap
msgid "B<--allow-version-of-quilt-db=>I<version>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:501
msgid ""
"Allow B<dpkg-source> to build the source package if the version of the quilt "
"metadata is the one specified, even if B<dpkg-source> doesn't know about "
"it. Effectively this says that the given version of the quilt metadata is "
"compatible with the version 2 that B<dpkg-source> currently supports. The "
"version of the quilt metadata is stored in B<.pc/.version>."
msgstr ""

#. type: TP
#: dpkg-source.1:501
#, no-wrap
msgid "B<--include-removal>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:505
msgid ""
"Do not ignore removed files and include them in the automatically generated "
"patch."
msgstr ""

#. type: TP
#: dpkg-source.1:505
#, no-wrap
msgid "B<--include-timestamp>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:508
msgid "Include timestamp in the automatically generated patch."
msgstr ""

#. type: TP
#: dpkg-source.1:508
#, no-wrap
msgid "B<--include-binaries>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:513
msgid ""
"Add all modified binaries in the debian tarball. Also add them to "
"B<debian/source/include-binaries>: they will be added by default in "
"subsequent builds and this option is thus no more needed."
msgstr ""

#. type: TP
#: dpkg-source.1:513
#, no-wrap
msgid "B<--no-preparation>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:517
msgid ""
"Do not try to prepare the build tree by applying patches which are "
"apparently unapplied."
msgstr ""

#. type: TP
#: dpkg-source.1:517
#, no-wrap
msgid "B<--single-debian-patch>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:528
msgid ""
"Use B<debian/patches/debian-changes> instead of "
"B<debian/patches/debian-changes->I<version> for the name of the automatic "
"patch generated during build. This option is particularly useful when the "
"package is maintained in a VCS and a patch set can't reliably be "
"generated. Instead the current diff with upstream should be stored in a "
"single patch. The option would be put in B<debian/source/local-options> and "
"would be accompanied by a B<debian/source/local-patch-header> file "
"explaining how the Debian changes can be best reviewed, for example in the "
"VCS that is used."
msgstr ""

#. type: TP
#: dpkg-source.1:528
#, no-wrap
msgid "B<--create-empty-orig>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:534
msgid ""
"Automatically create the main original tarball as empty if it's missing and "
"if there are supplementary original tarballs. This option is meant to be "
"used when the source package is just a bundle of multiple upstream software "
"and where there's no \"main\" software."
msgstr ""

#. type: TP
#: dpkg-source.1:534
#, no-wrap
msgid "B<--unapply-patches>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:541
msgid ""
"Unapply the patches in the B<--after-build> hook. You usually don't need "
"this option as dpkg-source will automatically unapply the patches if it did "
"apply them during B<--before-build>. This option is only allowed in "
"B<debian/source/local-options> so that all generated source packages have "
"the same behavior by default."
msgstr ""

#. type: Plain text
#: dpkg-source.1:548
msgid ""
"The process fails if an automatic patch has been generated. This option can "
"be used to ensure that all changes were properly recorded in separate quilt "
"patches prior to the source package build. This option is not allowed in "
"B<debian/source/options> but can be used in B<debian/source/local-options>."
msgstr ""

#. type: TP
#: dpkg-source.1:548
#, no-wrap
msgid "B<--auto-commit>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:552
msgid ""
"The process doesn't fail if an automatic patch has been generated, instead "
"it's immediately recorded in the quilt series."
msgstr ""

#. type: Plain text
#: dpkg-source.1:555
msgid "B<Extract options>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:558
msgid "Skips extraction of the debian tarball on top of the upstream sources."
msgstr ""

#. type: TP
#: dpkg-source.1:558
#, no-wrap
msgid "B<--skip-patches>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:561
msgid "Do not apply patches at the end of the extraction."
msgstr ""

#. type: SS
#: dpkg-source.1:562
#, no-wrap
msgid "Format: 3.0 (custom)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:565
msgid ""
"This format is special. It doesn't represent a real source package format "
"but can be used to create source packages with arbitrary files."
msgstr ""

#. type: Plain text
#: dpkg-source.1:571
msgid ""
"All non-option arguments are taken as files to integrate in the generated "
"source package. They must exist and are preferably in the current "
"directory. At least one file must be given."
msgstr ""

#. type: TP
#: dpkg-source.1:571
#, no-wrap
msgid "B<--target-format=>I<value>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:576
msgid ""
"B<Required>. Defines the real format of the generated source package.  The "
"generated .dsc file will contain this value in its I<Format> field and not "
"\"3.0 (custom)\"."
msgstr ""

#. type: SS
#: dpkg-source.1:577
#, no-wrap
msgid "Format: 3.0 (git)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:579
msgid "This format is experimental."
msgstr ""

#. type: Plain text
#: dpkg-source.1:584
msgid ""
"A source package in this format consists of a single bundle of a git "
"repository B<.git> to hold the source of a package.  There may also be a "
"B<.gitshallow> file listing revisions for a shallow git clone."
msgstr ""

#. type: Plain text
#: dpkg-source.1:590
msgid ""
"The bundle is cloned as a git repository to the target directory.  If there "
"is a gitshallow file, it is installed as `.git/shallow` inside the cloned "
"git repository."
msgstr ""

#. type: Plain text
#: dpkg-source.1:595
msgid ""
"Note that by default the new repository will have the same branch checked "
"out that was checked out in the original source. (Typically \"master\", but "
"it could be anything.) Any other branches will be available under "
"`remotes/origin/`."
msgstr ""

#. type: Plain text
#: dpkg-source.1:600 dpkg-source.1:633
msgid ""
"Before going any further, some checks are done to ensure that we don't have "
"any non-ignored uncommitted changes."
msgstr ""

#. type: Plain text
#: dpkg-source.1:604
msgid ""
"B<git-bundle>(1) is used to generate a bundle of the git repository.  By "
"default, all branches and tags in the repository are included in the bundle."
msgstr ""

#. type: TP
#: dpkg-source.1:606
#, no-wrap
msgid "B<--git-ref=>I<ref>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:616
msgid ""
"Allows specifying a git ref to include in the git bundle. Use disables the "
"default behavior of including all branches and tags. May be specified "
"multiple times. The I<ref> can be the name of a branch or tag to include. It "
"may also be any parameter that can be passed to B<git-rev-list>(1). For "
"example, to include only the master branch, use --git-ref=master. To include "
"all tags and branches, except for the private branch, use --git-ref=--all "
"--git-ref=^private"
msgstr ""

#. type: TP
#: dpkg-source.1:616
#, no-wrap
msgid "B<--git-depth=>I<number>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:620
msgid ""
"Creates a shallow clone with a history truncated to the specified number of "
"revisions."
msgstr ""

#. type: SS
#: dpkg-source.1:620
#, no-wrap
msgid "Format: 3.0 (bzr)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:623
msgid ""
"This format is experimental. It generates a single tarball containing the "
"bzr repository."
msgstr ""

#. type: Plain text
#: dpkg-source.1:628
msgid "The tarball is unpacked and then bzr is used to checkout the current branch."
msgstr ""

#. type: Plain text
#: dpkg-source.1:637
msgid ""
"Then the VCS specific part of the source directory is copied over to a "
"temporary directory. Before this temporary directory is packed in a tarball, "
"various cleanup are done to save space."
msgstr ""

#. type: SH
#: dpkg-source.1:637
#, no-wrap
msgid "WARNINGS AND ERRORS"
msgstr ""

#. type: SS
#: dpkg-source.1:638
#, no-wrap
msgid "no source format specified in debian/source/format"
msgstr ""

#. type: Plain text
#: dpkg-source.1:644
msgid ""
"The file B<debian/source/format> should always exist and indicate the "
"desired source format. For backwards compatibility, format \"1.0\" is "
"assumed when the file doesn't exist but you should not rely on this: at some "
"point in the future dpkg-source will be modified to fail when that file "
"doesn't exist."
msgstr ""

#. type: Plain text
#: dpkg-source.1:650
msgid ""
"The rationale is that format \"1.0\" is no longer the recommended format, "
"you should usually pick one of the newer formats (\"3.0 (quilt)\", \"3.0 "
"(native)\") but B<dpkg-source> will not do this automatically for you.  If "
"you want to continue using the old format, you should be explicit about it "
"and put \"1.0\" in B<debian/source/format>."
msgstr ""

#. type: SS
#: dpkg-source.1:650
#, no-wrap
msgid "the diff modifies the following upstream files"
msgstr ""

#. type: Plain text
#: dpkg-source.1:657
msgid ""
"When using source format \"1.0\" it is usually a bad idea to modify upstream "
"files directly as the changes end up hidden and mostly undocumented in the "
".diff.gz file. Instead you should store your changes as patches in the "
"debian directory and apply them at build-time. To avoid this complexity you "
"can also use the format \"3.0 (quilt)\" that offers this natively."
msgstr ""

#. type: SS
#: dpkg-source.1:657
#, no-wrap
msgid "cannot represent change to I<file>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:663
msgid ""
"Changes to upstream sources are usually stored with patch files, but not all "
"changes can be represented with patches: they can only alter the content of "
"plain text files. If you try replacing a file with something of a different "
"type (for example replacing a plain file with a symlink or a directory), you "
"will get this error message."
msgstr ""

#. type: SS
#: dpkg-source.1:663
#, no-wrap
msgid "newly created empty file I<file> will not be represented in diff"
msgstr ""

#. type: Plain text
#: dpkg-source.1:666
msgid ""
"Empty files can't be created with patch files. Thus this change is not "
"recorded in the source package and you are warned about it."
msgstr ""

#. type: SS
#: dpkg-source.1:666
#, no-wrap
msgid "executable mode I<perms> of I<file> will not be represented in diff"
msgstr ""

#. type: SS
#: dpkg-source.1:667
#, no-wrap
msgid "special mode I<perms> of I<file> will not be represented in diff"
msgstr ""

#. type: Plain text
#: dpkg-source.1:671
msgid ""
"Patch files do not record permissions of files and thus modified permissions "
"are not stored in the source package. This warning reminds you of that fact."
msgstr ""

#. type: SH
#: dpkg-source.1:671
#, no-wrap
msgid "FILE FORMATS"
msgstr ""

#. type: SS
#: dpkg-source.1:672
#, no-wrap
msgid "debian/source/format"
msgstr ""

#. type: Plain text
#: dpkg-source.1:676
msgid ""
"This file contains on a single line the format that should be used to build "
"the source package (possible formats are described above). No leading or "
"trailing spaces are allowed."
msgstr ""

#. type: SS
#: dpkg-source.1:676
#, no-wrap
msgid "debian/source/include-binaries"
msgstr ""

#. type: Plain text
#: dpkg-source.1:680
msgid ""
"This file contains a list of binary files (one per line) that should be "
"included in the debian tarball. Leading and trailing spaces are stripped.  "
"Lines starting with \"#\" are comments and are skipped. Empty lines are "
"ignored."
msgstr ""

#. type: SS
#: dpkg-source.1:680
#, no-wrap
msgid "debian/source/options"
msgstr ""

#. type: Plain text
#: dpkg-source.1:686
msgid ""
"This file contains a list of long options that should be automatically "
"prepended to the set of command line options of a B<dpkg-source -b> or "
"B<dpkg-source --print-format> call. Options like B<--compression> and "
"B<--compression-level> are well suited for this file."
msgstr ""

#. type: Plain text
#: dpkg-source.1:692
msgid ""
"Each option should be put on a separate line. Empty lines and lines starting "
"with \"#\" are ignored. The leading \"--\" should be stripped and short "
"options are not allowed. Optional spaces are allowed around the \"=\" symbol "
"and optional quotes are allowed around the value.  Here's an example of such "
"a file:"
msgstr ""

#. type: Plain text
#: dpkg-source.1:700
#, no-wrap
msgid ""
"  # let dpkg-source create a debian.tar.bz2 with maximal compression\n"
"  compression = \"bzip2\"\n"
"  compression-level = 9\n"
"  # use debian/patches/debian-changes as automatic patch\n"
"  single-debian-patch\n"
"  # ignore changes on config.{sub,guess}\n"
"  extend-diff-ignore = \"(^|/)(config.sub|config.guess)$\"\n"
msgstr ""

#. type: Plain text
#: dpkg-source.1:703
msgid ""
"Note: B<format> options are not accepted in this file, you should use "
"B<debian/source/format> instead."
msgstr ""

#. type: SS
#: dpkg-source.1:703
#, no-wrap
msgid "debian/source/local-options"
msgstr ""

#. type: Plain text
#: dpkg-source.1:708
msgid ""
"Exactly like B<debian/source/options> except that the file is not included "
"in the generated source package. It can be useful to store a preference tied "
"to the maintainer or to the VCS repository where the source package is "
"maintained."
msgstr ""

#. type: SS
#: dpkg-source.1:708
#, no-wrap
msgid "debian/source/local-patch-header"
msgstr ""

#. type: SS
#: dpkg-source.1:709
#, no-wrap
msgid "debian/source/patch-header"
msgstr ""

#. type: Plain text
#: dpkg-source.1:713
msgid ""
"Free form text that is put on top of the automatic patch generated in "
"formats \"2.0\" or \"3.0 (quilt)\". B<local-patch-header> is not included in "
"the generated source package while B<patch-header> is."
msgstr ""

#. type: SS
#: dpkg-source.1:713
#, no-wrap
msgid "debian/patches/series"
msgstr ""

#. type: Plain text
#: dpkg-source.1:722
msgid ""
"This file lists all patches that have to be applied (in the given order)  on "
"top of the upstream source package. Leading and trailing spaces are "
"stripped. Lines starting with \"#\" are comments and are skipped. Empty "
"lines are ignored. Remaining lines start with a patch filename (relative to "
"the B<debian/patches/> directory) up to the first space character or the end "
"of line. Optional quilt options can follow up to the end of line or the "
"first \"#\" preceded by one or more spaces (which marks the start of a "
"comment up to the end of line)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:729
msgid "B<dpkg-deb>(1), B<dpkg>(1), B<dselect>(1)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:736
msgid "Copyright \\(co 2008-2011 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: TH
#: dpkg-split.1:2
#, no-wrap
msgid "dpkg-split"
msgstr ""

#. type: Plain text
#: dpkg-split.1:5
msgid "dpkg-split - Debian package archive split/join tool"
msgstr ""

#. type: Plain text
#: dpkg-split.1:9
msgid "B<dpkg-split> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:15
msgid ""
"B<dpkg-split> splits Debian binary package files into smaller parts and "
"reassembles them again, to support the storage of large package files on "
"small media such as floppy disks."
msgstr ""

#. type: Plain text
#: dpkg-split.1:19
msgid ""
"It can be operated manually using the B<--split>, B<--join> and B<--info> "
"options."
msgstr ""

#. type: Plain text
#: dpkg-split.1:27
msgid ""
"It also has an automatic mode, invoked using the B<--auto> option, where it "
"maintains a queue of parts seen but not yet reassembled and reassembles a "
"package file when it has seen all of its parts. The B<--listq> and "
"B<--discard> options allow the management of the queue."
msgstr ""

#. type: Plain text
#: dpkg-split.1:30
msgid ""
"All splitting, joining and queueing operations produce informative messages "
"on standard output; these may safely be ignored."
msgstr ""

#. type: TP
#: dpkg-split.1:32
#, no-wrap
msgid "B<-s>, B<--split> I<complete-archive> [I<prefix>]"
msgstr ""

#. type: Plain text
#: dpkg-split.1:35
msgid "Splits a single Debian binary package into several parts."
msgstr ""

#. type: Plain text
#: dpkg-split.1:43
msgid ""
"The parts are named I<prefix>B<.>I<N>B<of>I<M>B<.deb> where I<N> is the part "
"number, starting at 1, and I<M> is the total number of parts (both in "
"decimal)."
msgstr ""

#. type: Plain text
#: dpkg-split.1:51
msgid ""
"If no I<prefix> is supplied then the I<complete-archive> filename is taken, "
"including directory, with any trailing B<.deb> removed."
msgstr ""

#. type: TP
#: dpkg-split.1:51
#, no-wrap
msgid "B<-j>, B<--join> I<part>..."
msgstr ""

#. type: Plain text
#: dpkg-split.1:55
msgid ""
"Joins the parts of a package file together, reassembling the original file "
"as it was before it was split."
msgstr ""

#. type: Plain text
#: dpkg-split.1:59
msgid ""
"The part files given as arguments must be all the parts of exactly the same "
"original binary file. Each part must occur exactly once in the argument "
"list, though the parts to not need to be listed in order."
msgstr ""

#. type: Plain text
#: dpkg-split.1:64
msgid ""
"The parts must of course all have been generated with the same part size "
"specified at split time, which means that they must usually have been "
"generated by the same invocation of B<dpkg-split --split>."
msgstr ""

#. type: Plain text
#: dpkg-split.1:66
msgid "The parts' filenames are not significant for the reassembly process."
msgstr ""

#. type: Plain text
#: dpkg-split.1:69
msgid ""
"By default the output file is called "
"I<package>B<_>I<version>B<_>I<arch>B<.deb>."
msgstr ""

#. type: TP
#: dpkg-split.1:70
#, no-wrap
msgid "B<-I>, B<--info> I<part>..."
msgstr ""

#. type: Plain text
#: dpkg-split.1:75
msgid ""
"Prints information, in a human-readable format, about the part file(s)  "
"specified. Arguments which are not binary package parts produce a message "
"saying so instead (but still on standard output)."
msgstr ""

#. type: TP
#: dpkg-split.1:75
#, no-wrap
msgid "B<-a>, B<--auto -o> I<complete-output part>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:78
msgid "Automatically queue parts and reassemble a package if possible."
msgstr ""

#. type: Plain text
#: dpkg-split.1:83
msgid ""
"The I<part> specified is examined, and compared with other parts of the same "
"package (if any) in the queue of packages file parts."
msgstr ""

#. type: Plain text
#: dpkg-split.1:90
msgid ""
"If all parts of the package file of which I<part> is a part are available "
"then the package is reassembled and written to I<complete-output> (which "
"should not usually already exist, though this is not an error)."
msgstr ""

#. type: Plain text
#: dpkg-split.1:96
msgid ""
"If not then the I<part> is copied into the queue and I<complete-output> is "
"not created."
msgstr ""

#. type: Plain text
#: dpkg-split.1:103
msgid ""
"If I<part> is not a split binary package part then B<dpkg-split> will exit "
"with status B<1>; if some other trouble occurs then it will exit with status "
"B<2>."
msgstr ""

#. type: Plain text
#: dpkg-split.1:110
msgid ""
"The B<--output> or B<-o> option must be supplied when using B<--auto>.  (If "
"this were not mandatory the calling program would not know what output file "
"to expect.)"
msgstr ""

#. type: TP
#: dpkg-split.1:110
#, no-wrap
msgid "B<-l>, B<--listq>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:113
msgid "Lists the contents of the queue of packages to be reassembled."
msgstr ""

#. type: Plain text
#: dpkg-split.1:117
msgid ""
"For each package file of which parts are in the queue the output gives the "
"name of the package, the parts in the queue, and the total number of bytes "
"stored in the queue."
msgstr ""

#. type: TP
#: dpkg-split.1:117
#, no-wrap
msgid "B<-d>, B<--discard> [I<package>...]"
msgstr ""

#. type: Plain text
#: dpkg-split.1:121
msgid ""
"This discards parts from the queue of those waiting for the remaining parts "
"of their packages."
msgstr ""

#. type: Plain text
#: dpkg-split.1:126
msgid ""
"If no I<package> is specified then the queue is cleared completely; if any "
"are specified then only parts of the relevant package(s) are deleted."
msgstr ""

#. type: TP
#: dpkg-split.1:134
#, no-wrap
msgid "B<--depotdir>I< directory>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:139
msgid ""
"Specifies an alternative directory for the queue of parts awaiting automatic "
"reassembly. The default is B</var/lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg-split.1:139
#, no-wrap
msgid "B<-S>, B<--partsize> I<kibibytes>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:143
msgid ""
"Specifies the maximum part size when splitting, in kibibytes (1024 "
"bytes). The default is 450 KiB."
msgstr ""

#. type: TP
#: dpkg-split.1:143
#, no-wrap
msgid "B<-o>, B<--output> I<complete-output>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:146
msgid "Specifies the output file name for a reassembly."
msgstr ""

#. type: Plain text
#: dpkg-split.1:151
msgid ""
"This overrides the default for a manual reassembly (B<--join>)  and is "
"mandatory for an automatic queue-or-reassemble (B<--auto>)."
msgstr ""

#. type: TP
#: dpkg-split.1:151
#, no-wrap
msgid "B<-Q>, B<--npquiet>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:162
msgid ""
"When doing automatic queue-or-reassembly B<dpkg-split> usually prints a "
"message if it is given a I<part> that is not a binary package part. This "
"option suppresses this message, to allow programs such as B<dpkg> to cope "
"with both split and unsplit packages without producing spurious messages."
msgstr ""

#. type: TP
#: dpkg-split.1:162
#, no-wrap
msgid "B<--msdos>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:167
msgid "Forces the output filenames generated by B<--split> to be msdos-compatible."
msgstr ""

#. type: Plain text
#: dpkg-split.1:173
msgid ""
"This mangles the prefix - either the default derived from the input filename "
"or the one supplied as an argument: alphanumerics are lowercased, plus signs "
"are replaced by B<x>'s and all other characters are discarded."
msgstr ""

#. type: Plain text
#: dpkg-split.1:178
msgid ""
"The result is then truncated as much as is necessary, and filenames of the "
"form I<prefixN>B<of>I<M>B<.deb> are generated."
msgstr ""

#. type: Plain text
#: dpkg-split.1:186
msgid ""
"The requested split, merge, or other command succeeded.  B<--info> commands "
"count as successful even if the files are not binary package parts."
msgstr ""

#. type: Plain text
#: dpkg-split.1:193
msgid ""
"Only occurs with B<--auto> and indicates that the I<part> file was not a "
"binary package part."
msgstr ""

#. type: TP
#: dpkg-split.1:193 start-stop-daemon.8:275 update-alternatives.8:378
#, no-wrap
msgid "B<2>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:198
msgid ""
"Some kind of trouble happened, such as a system call failure, a file that "
"looked like a package part file but was corrupted, a usage error or some "
"other problem."
msgstr ""

#. type: Plain text
#: dpkg-split.1:202
msgid ""
"Full details of the packages in the queue are impossible to get without "
"digging into the queue directory yourself."
msgstr ""

#. type: Plain text
#: dpkg-split.1:205
msgid ""
"There is no easy way to test whether a file that may be a binary package "
"part is one."
msgstr ""

#. type: TP
#: dpkg-split.1:207
#, no-wrap
msgid "I</var/lib/dpkg/parts>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:211
msgid "The default queue directory for part files awaiting automatic reassembly."
msgstr ""

#. type: Plain text
#: dpkg-split.1:216
msgid ""
"The filenames used in this directory are in a format internal to "
"B<dpkg-split> and are unlikely to be useful to other programs, and in any "
"case the filename format should not be relied upon."
msgstr ""

#. type: Plain text
#: dpkg-split.1:222
msgid "B<deb>(5), B<deb-control>(5), B<dpkg-deb>(1), B<dpkg>(1)."
msgstr ""

#. type: TH
#: dpkg-statoverride.8:1
#, no-wrap
msgid "dpkg-statoverride"
msgstr ""

#. type: TH
#: dpkg-statoverride.8:1
#, no-wrap
msgid "Debian project"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:4
msgid "dpkg-statoverride - override ownership and mode of files"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:8
msgid "B<dpkg-statoverride> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:18
msgid ""
"`B<stat overrides>' are a way to tell B<dpkg>(1)  to use a different owner "
"or mode for a file when a package is installed. (note: I use the word `file' "
"here, but in reality this can be any filesystem object that dpkg handles, "
"including directories, devices, etc.). This can be used to force programs "
"that are normally setuid to be install without a setuid flag, or only "
"executable by a certain group."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:22
msgid ""
"B<dpkg-statoverride> is a utility to manage the list of stat overrides. It "
"has three basic functions: adding, removing and listing overrides."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:24
#, no-wrap
msgid "B<--add>I< user group mode file>"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:32
msgid ""
"Add an override for I<file>. I<file> does not need to exist when this "
"command is used; the override will be stored and used later.  Users and "
"groups can be specified by their name (for example B<root> or B<nobody>), or "
"by their number by prepending the number with a `B<#>' (for example B<#0> or "
"B<#65534>). The I<mode> needs to be specified in octal."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:35
msgid ""
"If --update is specified and I<file> exists, it is immediately set to the "
"new owner and mode."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:39
msgid ""
"Remove an override for I<file>, the status of I<file> is left unchanged by "
"this command."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:39
#, no-wrap
msgid "B<--list> [I<glob-pattern>]"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:44
msgid ""
"List all overrides. If a glob pattern is specified restrict the output to "
"overrides which match the glob. If there are no overrides or none match the "
"glob B<dpkg-statoverride> will exit with an exitcode of 1."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:56
msgid ""
"Change the I<directory> of the dpkg database where the statoverride file is "
"also stored. Defaults to I</var/lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:56 update-alternatives.8:336
#, no-wrap
msgid "B<--force>"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:60
msgid ""
"Force an action, even if a sanity check would otherwise prohibit it.  This "
"is necessary to override an existing override."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:60
#, no-wrap
msgid "B<--update>"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:64
msgid "Immediately try to change the file to the new owner and mode if it exists."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:67
msgid "Be less verbose about what we do."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:75
#, no-wrap
msgid "I</var/lib/dpkg/statoverride>"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:80
msgid ""
"File which contains the current list of stat overrides of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as `status' or `available'."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:83
msgid ""
"Note: B<dpkg-statoverride> preserves the old copy of this file, with "
"extension \"-old\", before replacing it with the new one."
msgstr ""

#. type: TH
#: dpkg-trigger.1:1
#, no-wrap
msgid "dpkg-trigger"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:4
msgid "dpkg-trigger - a package trigger utility"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:8
msgid "B<dpkg-trigger> [I<option>...] I<trigger-name>"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:11
msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:15
msgid ""
"B<dpkg-trigger> is a tool to explicitly activate triggers and check for its "
"support on the running B<dpkg>."
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:21
msgid ""
"This can be used by maintainer scripts in complex and conditional situations "
"where the file triggers, or the declarative B<activate> triggers control "
"file directive, are insufficiently rich. It can also be used for testing and "
"by system administrators (but note that the triggers won't actually be run "
"by B<dpkg-trigger>)."
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:23
msgid "Unrecognised trigger name syntaxes are an error for B<dpkg-trigger>."
msgstr ""

#. type: TP
#: dpkg-trigger.1:25
#, no-wrap
msgid "B<--check-supported>"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:31
msgid ""
"Check if the running B<dpkg> supports triggers (usually called from a "
"postinst). Will exit B<0> if a triggers-capable B<dpkg> has run, or B<1> "
"with an error message to stderr if not. Normally, however, it is better just "
"to activate the desired trigger with B<dpkg-trigger>."
msgstr ""

#. type: TP
#: dpkg-trigger.1:43
#, no-wrap
msgid "B<--by-package=>I<package>"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:49
msgid ""
"Override trigger awaiter (normally set by B<dpkg> through the "
"B<DPKG_MAINTSCRIPT_PACKAGE> environment variable of the maintainer scripts, "
"naming the package to which the script belongs, and this will be used by "
"default)."
msgstr ""

#. type: TP
#: dpkg-trigger.1:49
#, no-wrap
msgid "B<--no-await>"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:56
msgid ""
"This option arranges that the calling package T (if any) need not await the "
"processing of this trigger; the interested package(s) I, will not be added "
"to T's trigger processing awaited list and T's status is unchanged.  T may "
"be considered installed even though I may not yet have processed the "
"trigger."
msgstr ""

#. type: TP
#: dpkg-trigger.1:56
#, no-wrap
msgid "B<--no-act>"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:59
msgid "Just test, do not actually change anything."
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:69
msgid "B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr ""

#. type: TH
#: dpkg-vendor.1:1
#, no-wrap
msgid "dpkg-vendor"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:4
msgid "dpkg-vendor - queries information about distribution vendors"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:8
msgid "B<dpkg-vendor> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:13
msgid ""
"B<dpkg-vendor> is a tool to query information about vendors listed in "
"B</etc/dpkg/origins>. B</etc/dpkg/origins/default> contains information "
"about the current vendor."
msgstr ""

#. type: TP
#: dpkg-vendor.1:15
#, no-wrap
msgid "B<--is>I< vendor>"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:19
msgid ""
"Exits with B<0> if the current vendor is I<vendor>. Otherwise exits with "
"non-zero."
msgstr ""

#. type: TP
#: dpkg-vendor.1:19
#, no-wrap
msgid "B<--derives-from>I< vendor>"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:24
msgid ""
"Exits with B<0> if the current vendor distribution is a derivative of "
"I<vendor>, otherwise exits with non-zero. It uses the \"Parent\" field to "
"browse all ancestors of the current vendor."
msgstr ""

#. type: TP
#: dpkg-vendor.1:24
#, no-wrap
msgid "B<--query>I< field>"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:28
msgid ""
"Print on standard output the value of the vendor-specific I<field> for the "
"current vendor."
msgstr ""

#. type: TP
#: dpkg-vendor.1:36
#, no-wrap
msgid "B<--vendor>I< vendor>"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:41
msgid ""
"Assumes the current vendor is I<vendor> instead of discovering it with the "
"B<DEB_VENDOR> environment variable or B</etc/dpkg/origins/default>."
msgstr ""

#. type: TP
#: dpkg-vendor.1:43
#, no-wrap
msgid "B<DEB_VENDOR>"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:47
msgid ""
"This setting defines the current vendor. If not set, it will discover the "
"current vendor by reading B</etc/dpkg/origins/default>."
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:50 update-alternatives.8:498
msgid "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: TH
#: dselect.1:1
#, no-wrap
msgid "dselect"
msgstr ""

#. type: Plain text
#: dselect.1:4
msgid "dselect - Debian package management frontend"
msgstr ""

#. type: Plain text
#: dselect.1:8
msgid "B<dselect> [I<option>...] [I<action>]"
msgstr ""

#. type: Plain text
#: dselect.1:17
#, no-wrap
msgid ""
"B<dselect>\n"
"is one of the primary user interfaces for managing packages on a Debian\n"
"system. At the B<dselect> main menu, the system administrator can:\n"
" - Update the list of available package versions,\n"
" - View the status of installed and available packages,\n"
" - Alter package selections and manage dependencies,\n"
" - Install new packages or upgrade to newer versions.\n"
msgstr ""

#. type: Plain text
#: dselect.1:29
msgid ""
"B<dselect> operates as a front-end to B<dpkg>(1), the low-level debian "
"package handling tool. It features a full-screen package selections manager "
"with package depends and conflicts resolver. When run with administrator "
"privileges, packages can be installed, upgraded and removed. Various access "
"methods can be configured to retrieve available package version information "
"and installable packages from package repositories.  Depending on the used "
"access method, these repositories can be public archive servers on the "
"internet, local archive servers or cdroms.  The recommended access method is "
"I<apt>, which is provided by the package B<apt>."
msgstr ""

#. type: Plain text
#: dselect.1:35
msgid ""
"Normally B<dselect> is invoked without parameters. An interactive menu is "
"presented, offering the user a list of actions. If an action is given as "
"argument, then that action is started immediately. Several command line "
"parameters are still available to modify the running behaviour of B<dselect> "
"or show additional information about the program."
msgstr ""

#. type: Plain text
#: dselect.1:43
msgid ""
"All options can be specified both on the command line and in the B<dselect> "
"configuration file I</etc/dpkg/dselect.cfg> or the files on the "
"configuration directory I</etc/dpkg/dselect.cfg.d/>. Each line in the "
"configuration file is either an option (exactly the same as the command line "
"option but without leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""

#. type: Plain text
#: dselect.1:49
msgid ""
"Changes the directory where the dpkg `I<status>', `I<available>' and similar "
"files are located. This defaults to I</var/lib/dpkg> and normally there "
"shouldn't be any need to change it."
msgstr ""

#. type: TP
#: dselect.1:49
#, no-wrap
msgid "B<--debug>I< file >|I< >B<-D>I<file>"
msgstr ""

#. type: Plain text
#: dselect.1:52
msgid "Turn on debugging. Debugging information is sent to I<file>."
msgstr ""

#. type: TP
#: dselect.1:52
#, no-wrap
msgid "B<--expert>"
msgstr ""

#. type: Plain text
#: dselect.1:56
msgid "Turns on expert mode, i.e. doesn't display possibly annoying help messages."
msgstr ""

#. type: TP
#: dselect.1:56
#, no-wrap
msgid ""
"B<--colour>|B<--color> "
"I<screenpart:>[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]"
msgstr ""

#. type: Plain text
#: dselect.1:63
msgid ""
"Configures screen colors. This works only if your display supports colors.  "
"This option may be used multiple times (and is best used in "
"I<dselect.cfg>). Each use changes the color (and optionally, other "
"attributes) of one part of the screen.  The parts of the screen (from top to "
"bottom) are:"
msgstr ""

#. type: TP
#: dselect.1:64
#, no-wrap
msgid "B<title>"
msgstr ""

#. type: Plain text
#: dselect.1:67
msgid "The screen title."
msgstr ""

#. type: TP
#: dselect.1:67
#, no-wrap
msgid "B<listhead>"
msgstr ""

#. type: Plain text
#: dselect.1:70
msgid "The header line above the list of packages."
msgstr ""

#. type: TP
#: dselect.1:70
#, no-wrap
msgid "B<list>"
msgstr ""

#. type: Plain text
#: dselect.1:73
msgid "The scrolling list of packages (and also some help text)."
msgstr ""

#. type: TP
#: dselect.1:73
#, no-wrap
msgid "B<listsel>"
msgstr ""

#. type: Plain text
#: dselect.1:76
msgid "The selected item in the list."
msgstr ""

#. type: TP
#: dselect.1:76
#, no-wrap
msgid "B<pkgstate>"
msgstr ""

#. type: Plain text
#: dselect.1:80
msgid ""
"In the list of packages, the text indicating the current state of each "
"package."
msgstr ""

#. type: TP
#: dselect.1:80
#, no-wrap
msgid "B<pkgstatesel>"
msgstr ""

#. type: Plain text
#: dselect.1:84
msgid ""
"In the list of packages, the text indicating the current state of the "
"currently selected package."
msgstr ""

#. type: TP
#: dselect.1:84
#, no-wrap
msgid "B<infohead>"
msgstr ""

#. type: Plain text
#: dselect.1:87
msgid "The header line that displays the state of the currently selected package."
msgstr ""

#. type: TP
#: dselect.1:87
#, no-wrap
msgid "B<infodesc>"
msgstr ""

#. type: Plain text
#: dselect.1:90
msgid "The package's short description."
msgstr ""

#. type: TP
#: dselect.1:90
#, no-wrap
msgid "B<info>"
msgstr ""

#. type: Plain text
#: dselect.1:93
msgid "Used to display package info such as the package's description."
msgstr ""

#. type: TP
#: dselect.1:93
#, no-wrap
msgid "B<infofoot>"
msgstr ""

#. type: Plain text
#: dselect.1:96
msgid "The last line of the screen when selecting packages."
msgstr ""

#. type: TP
#: dselect.1:96
#, no-wrap
msgid "B<query>"
msgstr ""

#. type: Plain text
#: dselect.1:99
msgid "Used to display query lines"
msgstr ""

#. type: TP
#: dselect.1:99
#, no-wrap
msgid "B<helpscreen>"
msgstr ""

#. type: Plain text
#: dselect.1:102
msgid "Color of help screens."
msgstr ""

#. type: Plain text
#: dselect.1:107
msgid ""
"After the part of the screen comes a colon and the color specification. You "
"can specify either the foreground color, the background color, or both, "
"overriding the compiled-in colors. Use standard curses color names."
msgstr ""

#. type: Plain text
#: dselect.1:113
msgid ""
"Optionally, after the color specification is another colon, and an attribute "
"specification. This is a list of one or more attributes, separated by plus "
"(\"+\") characters. Available attributes include (not all of these will work "
"on all terminals): normal, standout, underline, reverse, blink, bright, dim, "
"bold"
msgstr ""

#. type: Plain text
#: dselect.1:116
msgid "Print a brief help text and exit successfully."
msgstr ""

#. type: Plain text
#: dselect.1:119
msgid "Print version information and exit successfully."
msgstr ""

#. type: Plain text
#: dselect.1:126
msgid ""
"When B<dselect> is started it can perform the following actions, either "
"directly if it was specified on the command line or by prompting the user "
"with a menu of available actions if running interactively:"
msgstr ""

#. type: SS
#: dselect.1:126
#, no-wrap
msgid "access"
msgstr ""

#. type: Plain text
#: dselect.1:128
msgid "Choose and configure an access method to access package repositories."
msgstr ""

#. type: Plain text
#: dselect.1:134
msgid ""
"By default, B<dselect> provides several methods such as I<cdrom>, "
"I<multi_cd>, I<nfs>, I<multi_nfs>, I<harddisk>, I<mounted>, I<multi_mount>, "
"I<floppy> or I<ftp>, but other packages may provide additional methods, "
"eg. the I<apt> access method provided by the B<apt> package."
msgstr ""

#. type: Plain text
#: dselect.1:136
msgid "The use of the I<apt> access method is strongly recommended."
msgstr ""

#. type: SS
#: dselect.1:137
#, no-wrap
msgid "update"
msgstr ""

#. type: Plain text
#: dselect.1:139
msgid "Refresh the available packages database."
msgstr ""

#. type: Plain text
#: dselect.1:146
msgid ""
"Retrieves a list of available package versions from the package repository, "
"configured for the current access method, and update the dpkg database. The "
"package lists are commonly provided by the repository as files named "
"I<Packages> or I<Packages.gz>.  These files can be generated by repository "
"maintainers, using the program B<dpkg-scanpackages>(1)."
msgstr ""

#. type: Plain text
#: dselect.1:149
msgid ""
"Details of the update action depend on the access method's implementation.  "
"Normally the process is straightforward and requires no user interaction."
msgstr ""

#. type: SS
#: dselect.1:150
#, no-wrap
msgid "select"
msgstr ""

#. type: Plain text
#: dselect.1:152
msgid "View or manage package selections and dependencies."
msgstr ""

#. type: Plain text
#: dselect.1:158
msgid ""
"This is the main function of B<dselect>. In the select screen, the user can "
"review a list of all available and installed packages. When run with "
"administrator privileges, it is also possible to interactively change "
"packages selection state. B<dselect> tracks the implications of these "
"changes to other depending or conflicting packages."
msgstr ""

#. type: Plain text
#: dselect.1:165
msgid ""
"When a conflict or failed depends is detected, a dependency resolution "
"subscreen is prompted to the user. In this screen, a list of conflicting or "
"depending packages is shown, and for each package listed, the reason for its "
"listing is shown. The user may apply the suggestions proposed by B<dselect>, "
"override them, or back out all the changes, including the ones that created "
"the unresolved depends or conflicts."
msgstr ""

#. type: Plain text
#: dselect.1:168
msgid ""
"The use of the interactive package selections management screen is explained "
"in more detail below."
msgstr ""

#. type: SS
#: dselect.1:169
#, no-wrap
msgid "install"
msgstr ""

#. type: Plain text
#: dselect.1:171
msgid "Installs selected packages."
msgstr ""

#. type: Plain text
#: dselect.1:177
msgid ""
"The configured access method will fetch installable or upgradable packages "
"from the relevant repositories and install these using B<dpkg>.  Depending "
"on the implementation of the access method, all packages can be prefetched "
"before installation, or fetched when needed.  Some access methods may also "
"remove packages that were marked for removal."
msgstr ""

#. type: Plain text
#: dselect.1:185
msgid ""
"If an error occurred during install, it is usually advisable to run install "
"again. In most cases, the problems will disappear or be solved.  If problems "
"persist or the installation performed was incorrect, please investigate into "
"the causes and circumstances, and file a bug in the Debian bug tracking "
"system. Instructions on how to do this can be found at "
"http://bugs.debian.org/ or by reading the documentation for B<bug>(1) or "
"B<reportbug>(1), if these are installed."
msgstr ""

#. type: Plain text
#: dselect.1:192
msgid ""
"Details of the install action depend on the access method's implementation.  "
"The user's attention and input may be required during installation, "
"configuration or removal of packages. This depends on the maintainer scripts "
"in the package. Some packages make use of the B<debconf>(1)  library, "
"allowing for more flexible or even automated installation setups."
msgstr ""

#. type: SS
#: dselect.1:193
#, no-wrap
msgid "config"
msgstr ""

#. type: Plain text
#: dselect.1:195
msgid "Configures any previously installed, but not fully configured packages."
msgstr ""

#. type: SS
#: dselect.1:196
#, no-wrap
msgid "remove"
msgstr ""

#. type: Plain text
#: dselect.1:198
msgid "Removes or purges installed packages, that are marked for removal."
msgstr ""

#. type: SS
#: dselect.1:199
#, no-wrap
msgid "quit"
msgstr ""

#. type: Plain text
#: dselect.1:201
msgid "Quit B<dselect>"
msgstr ""

#. type: Plain text
#: dselect.1:203
msgid "Exits the program with zero (successful) errorcode."
msgstr ""

#. type: SH
#: dselect.1:205
#, no-wrap
msgid "Package selections management"
msgstr ""

#. type: SS
#: dselect.1:207
#, no-wrap
msgid "Introduction"
msgstr ""

#. type: Plain text
#: dselect.1:223
msgid ""
"B<dselect> directly exposes the administrator to some of the complexities "
"involved with managing large sets of packages with many "
"interdependencies. For a user who is unfamiliar with the concepts and the "
"ways of the debian package management system, it can be quite "
"overwhelming. Although B<dselect> is aimed at easing package management and "
"administration, it is only instrumental in doing so and can not be assumed "
"to be a sufficient substitute for administrator skill and understanding. The "
"user is required to be familiar with the concepts underlying the Debian "
"packaging system.  In case of doubt, consult the B<dpkg>(1) manpage and the "
"Debian Policy manual, contained in the B<debian-policy> package."
msgstr ""

#. type: Plain text
#: dselect.1:229
msgid ""
"Unless B<dselect> is run in expert or immediate mode, a help screen is first "
"displayed when choosing this action from the menu. The user is I<strongly> "
"advised to study all of the information presented in the online help "
"screens, when one pops up.  The online help screens can at any time be "
"invoked with the B<'?'> key."
msgstr ""

#. type: SS
#: dselect.1:230
#, no-wrap
msgid "Screen layout"
msgstr ""

#. type: Plain text
#: dselect.1:238
msgid ""
"The select screen is by default split in a top and a bottom half.  The top "
"half shows a list of packages. A cursor bar can select an individual "
"package, or a group of packages, if applicable, by selecting the group "
"header. The bottom half of the screen shows some details about the package "
"currently selected in the top half of the screen.  The type of detail that "
"is displayed can be varied."
msgstr ""

#. type: Plain text
#: dselect.1:241
msgid ""
"Pressing the B<'I'> key toggles a full-screen display of the packages list, "
"an enlarged view of the package details, or the equally split screen."
msgstr ""

#. type: SS
#: dselect.1:242
#, no-wrap
msgid "Package details view"
msgstr ""

#. type: Plain text
#: dselect.1:251
#, no-wrap
msgid ""
"The package details view by default shows the extended package description\n"
"for the package that is currently selected in the packages status list.\n"
"The type of detail can be toggled by pressing the B<'i'> key. This\n"
"alternates between:\n"
" - the extended description\n"
" - the control information for the installed version\n"
" - the control information for the available version\n"
msgstr ""

#. type: Plain text
#: dselect.1:255
msgid ""
"In a dependency resolution screen, there is also the possibility of viewing "
"the specific unresolved depends or conflicts related to the package and "
"causing it to be listed."
msgstr ""

#. type: SS
#: dselect.1:256
#, no-wrap
msgid "Packages status list"
msgstr ""

#. type: Plain text
#: dselect.1:261
msgid ""
"The main select screen displays a list of all packages known to the debian "
"package management system. This includes packages installed on the system "
"and packages known from the available packages database."
msgstr ""

#. type: Plain text
#: dselect.1:269
msgid ""
"For every package, the list shows the package's status, priority, section, "
"installed and available versions, the package name and its short "
"description, all in one line. By pressing the B<'V'> key, the display of the "
"installed and available version can be toggled between on an off. By "
"pressing the B<'v'> key, the package status display is toggled between "
"verbose and shorthand.  Shorthand display is the default."
msgstr ""

#. type: Plain text
#: dselect.1:275
msgid ""
"The shorthand status indication consists of four parts: an error flag, which "
"should normally be clear, the current status, the last selection state and "
"the current selection state.  The first two relate to the actual state of "
"the package, the second pair are about the selections set by the user."
msgstr ""

#. type: Plain text
#: dselect.1:293
#, no-wrap
msgid ""
"These are the meanings of the shorthand package status indicator codes:\n"
" Error flag:\n"
"  I<empty>   no error\n"
"  B<R>       serious error, needs reinstallation;\n"
" Installed state:\n"
"  I<empty>   not installed;\n"
"  B<*>       fully installed and configured;\n"
"  B<->       not installed but some config files may remain;\n"
"  B<U>       unpacked but not yet configured;\n"
"  B<C>       half-configured (an error happened);\n"
"  B<I>       half-installed (an error happened).\n"
" Current and requested selections:\n"
"  B<*>       marked for installation or upgrade;\n"
"  B<->       marked for removal, configuration files remain;\n"
"  B<=>       on hold: package will not be processed at all;\n"
"  B<_>       marked for purge, also remove configuration;\n"
"  B<n>       package is new and has yet to be marked.\n"
msgstr ""

#. type: SS
#: dselect.1:294
#, no-wrap
msgid "Cursor and screen movement"
msgstr ""

#. type: Plain text
#: dselect.1:299
msgid ""
"The package selection list and the dependency conflict resolution screens "
"can be navigated using motion commands mapped to the following keys:"
msgstr ""

#. type: Plain text
#: dselect.1:316
#, no-wrap
msgid ""
"  B<p, Up, k>           move cursor bar up\n"
"  B<n, Down, j>         move cursor bar down\n"
"  B<P, Pgup, Backspace> scroll list 1 page up\n"
"  B<N, Pgdn, Space>     scroll list 1 page down\n"
"  B<^p>                 scroll list 1 line up\n"
"  B<^n>                 scroll list 1 line down\n"
"  B<t, Home>            jump to top of list\n"
"  B<e, End>             jump to end of list\n"
"  B<u>                  scroll info 1 page up\n"
"  B<d>                  scroll info 1 page down\n"
"  B<^u>                 scroll info 1 line up\n"
"  B<^d>                 scroll info 1 line down\n"
"  B<B, Left-arrow>      pan display 1/3 screen left\n"
"  B<F, Right-arrow>     pan display 1/3 screen right\n"
"  B<^b>                 pan display 1 character left\n"
"  B<^f>                 pan display 1 character right\n"
msgstr ""

#. type: SS
#: dselect.1:317
#, no-wrap
msgid "Searching and sorting"
msgstr ""

#. type: Plain text
#: dselect.1:331
msgid ""
"The list of packages can be searched by package name. This is done by "
"pressing B<'/'>, and typing a simple search string. The string is "
"interpreted as a B<regex>(7)  regular expression.  If you add B<'/d'> to the "
"search expression, dselect will also search in descriptions. If you add "
"B<'/i'> the search will be case insensitive.  You may combine these two "
"suffixes like this: B<'/id'>.  Repeated searching is accomplished by "
"repeatedly pressing the B<'n'> or B<'\\e'> keys, until the wanted package is "
"found.  If the search reaches the bottom of the list, it wraps to the top "
"and continues searching from there."
msgstr ""

#. type: Plain text
#: dselect.1:338
#, no-wrap
msgid ""
"The list sort order can be varied by pressing\n"
"the B<'o'> and B<'O'> keys repeatedly.\n"
"The following nine sort orderings can be selected:\n"
" alphabet          available           status\n"
" priority+section  available+priority  status+priority\n"
" section+priority  available+section   status+section\n"
msgstr ""

#. type: Plain text
#: dselect.1:341
msgid ""
"Where not listed above explicitly, alphabetic order is used as the final "
"subordering sort key."
msgstr ""

#. type: SS
#: dselect.1:342
#, no-wrap
msgid "Altering selections"
msgstr ""

#. type: Plain text
#: dselect.1:351
#, no-wrap
msgid ""
"The requested selection state of individual packages may be\n"
"altered with the following commands:\n"
"  B<+, Insert>    install or upgrade\n"
"  B<=, H>         hold in present state and version\n"
"  B<:, G>         unhold: upgrade or leave uninstalled\n"
"  B<-, Delete>    remove, but leave configuration\n"
"  B<_>            remove & purge configuration\n"
msgstr ""

#. type: Plain text
#: dselect.1:355
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution "
"screen. This will be further explained below."
msgstr ""

#. type: Plain text
#: dselect.1:360
msgid ""
"It is also possible to apply these commands to groups of package selections, "
"by pointing the cursor bar onto a group header. The exact grouping of "
"packages is dependent on the current list ordering settings."
msgstr ""

#. type: Plain text
#: dselect.1:366
msgid ""
"Proper care should be taken when altering large groups of selections, "
"because this can instantaneously create large numbers of unresolved depends "
"or conflicts, all of which will be listed in one dependency resolution "
"screen, making them very hard to handle. In practice, only hold and unhold "
"operations are useful when applied to groups."
msgstr ""

#. type: SS
#: dselect.1:367
#, no-wrap
msgid "Resolving depends and conflicts"
msgstr ""

#. type: Plain text
#: dselect.1:372
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution "
"screen. First however, an informative help screen is displayed."
msgstr ""

#. type: Plain text
#: dselect.1:379
msgid ""
"The top half of this screen lists all the packages that will have unresolved "
"depends or conflicts, as a result of the requested change, and all the "
"packages whose installation can resolve any of these depends or whose "
"removal can resolve any of the conflicts.  The bottom half defaults to show "
"the depends or conflicts that cause the currently selected package to be "
"listed."
msgstr ""

#. type: Plain text
#: dselect.1:385
msgid ""
"When the sublist of packages is displayed initially, B<dselect> may have "
"already set the requested selection status of some of the listed packages, "
"in order to resolve the depends or conflicts that caused the dependency "
"resolution screen to be displayed. Usually, it is best to follow up the "
"suggestions made by B<dselect>."
msgstr ""

#. type: Plain text
#: dselect.1:393
msgid ""
"The listed packages' selection state may be reverted to the original "
"settings, as they were before the unresolved depends or conflicts were "
"created, by pressing the B<'R'> key. By pressing the B<'D'> key, the "
"automatic suggestions are reset, but the change that caused the dependency "
"resolution screen to be prompted is kept as requested.  Finally, by pressing "
"B<'U'>, the selections are again set to the automatic suggestion values."
msgstr ""

#. type: SS
#: dselect.1:394
#, no-wrap
msgid "Establishing the requested selections"
msgstr ""

#. type: Plain text
#: dselect.1:401
msgid ""
"By pressing B<enter>, the currently displayed set of selections is "
"accepted. If B<dselect> detects no unresolved depends as a result of the "
"requested selections, the new selections will be set.  However, if there are "
"any unresolved depends, B<dselect> will again prompt the user with a "
"dependency resolution screen."
msgstr ""

#. type: Plain text
#: dselect.1:407
msgid ""
"To alter a set of selections that creates unresolved depends or conflicts "
"and forcing B<dselect> to accept it, press the B<'Q'> key. This sets the "
"selections as specified by the user, unconditionally. Generally, don't do "
"this unless you've read the fine print."
msgstr ""

#. type: Plain text
#: dselect.1:414
msgid ""
"The opposite effect, to back out any selections change requests and go back "
"to the previous list of selections, is attained by pressing the B<'X'> or "
"B<escape> keys. By repeatedly pressing these keys, any possibly detrimental "
"changes to the requested package selections can be backed out completely to "
"the last established settings."
msgstr ""

#. type: Plain text
#: dselect.1:421
msgid ""
"If you mistakenly establish some settings and wish to revert all the "
"selections to what is currently installed on the system, press the B<'C'> "
"key.  This is somewhat similar to using the unhold command on all packages, "
"but provides a more obvious panic button in cases where the user pressed "
"B<enter> by accident."
msgstr ""

#. type: Plain text
#: dselect.1:428
msgid ""
"If set, B<dselect> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""

#. type: Plain text
#: dselect.1:434
msgid ""
"The B<dselect> package selection interface is confusing to some new users.  "
"Reportedly, it even makes seasoned kernel developers cry."
msgstr ""

#. type: Plain text
#: dselect.1:436
msgid "The documentation is lacking."
msgstr ""

#. type: Plain text
#: dselect.1:438
msgid "There is no help option in the main menu."
msgstr ""

#. type: Plain text
#: dselect.1:440
msgid "The visible list of available packages cannot be reduced."
msgstr ""

#. type: Plain text
#: dselect.1:444
msgid ""
"The built in access methods can no longer stand up to current quality "
"standards. Use the access method provided by apt, it is not only not broken, "
"it is also much more flexible than the built in access methods."
msgstr ""

#. type: Plain text
#: dselect.1:450
msgid "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."
msgstr ""

#. type: Plain text
#: dselect.1:455
msgid ""
"B<dselect> was written by Ian Jackson (ijackson@gnu.ai.mit.edu). Full list "
"of contributors may be found in 'dselect --version'."
msgstr ""

#. type: Plain text
#: dselect.1:458
msgid ""
"This manual page was written by Juho Vuori E<lt>javuori@cc.helsinki.fiE<gt>, "
"Josip Rodin and Joost kooij."
msgstr ""

#. type: TH
#: dselect.cfg.5:1
#, no-wrap
msgid "dselect.cfg"
msgstr ""

#. type: TH
#: dselect.cfg.5:1
#, no-wrap
msgid "2011-07-03"
msgstr ""

#. type: Plain text
#: dselect.cfg.5:4
msgid "dselect.cfg - dselect configuration file"
msgstr ""

#. type: Plain text
#: dselect.cfg.5:11
msgid ""
"This file contains default options for dselect. Each line contains a single "
"option which is exactly the same as a normal command line option for dselect "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""

#. type: Plain text
#: dselect.cfg.5:14
msgid "I</etc/dpkg/dselect.cfg.d/[0-9a-zA-Z_-]*>"
msgstr ""

#. type: Plain text
#: dselect.cfg.5:16
msgid "I</etc/dpkg/dselect.cfg>"
msgstr ""

#. type: Plain text
#: dselect.cfg.5:18
msgid "I<~/.dselect.cfg>"
msgstr ""

#. type: Plain text
#: dselect.cfg.5:22
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dselect>."
msgstr ""

#. type: Plain text
#: dselect.cfg.5:24
msgid "B<dselect>(1)."
msgstr ""

#. type: TH
#: start-stop-daemon.8:1
#, no-wrap
msgid "start-stop-daemon"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:4
msgid "start-stop-daemon - start and stop system daemon programs"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:8
msgid "B<start-stop-daemon> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:14
msgid ""
"B<start-stop-daemon> is used to control the creation and termination of "
"system-level processes.  Using one of the matching options, "
"B<start-stop-daemon> can be configured to find existing instances of a "
"running process."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:33
msgid ""
"Note: unless B<--pidfile> is specified, B<start-stop-daemon> behaves similar "
"to B<killall>(1).  B<start-stop-daemon> will scan the process table looking "
"for any processes which match the process name, uid, and/or gid (if "
"specified). Any matching process will prevent B<--start> from starting the "
"daemon. All matching processes will be sent the TERM signal (or the one "
"specified via B<--signal> or B<--retry>) if B<--stop> is specified. For "
"daemons which have long-lived children which need to live through a "
"B<--stop>, you must specify a pidfile."
msgstr ""

#. type: TP
#: start-stop-daemon.8:35
#, no-wrap
msgid "B<-S>, B<--start> [B<-->] I<arguments>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:52
msgid ""
"Check for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> does nothing, and exits with error status 1 (0 if "
"B<--oknodo> is specified).  If such a process does not exist, it starts an "
"instance, using either the executable specified by B<--exec> or, if "
"specified, by B<--startas>.  Any arguments given after B<--> on the command "
"line are passed unmodified to the program being started."
msgstr ""

#. type: TP
#: start-stop-daemon.8:52
#, no-wrap
msgid "B<-K>, B<--stop>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:70
msgid ""
"Checks for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> sends it the signal specified by B<--signal>, and exits "
"with error status 0.  If such a process does not exist, B<start-stop-daemon> "
"exits with error status 1 (0 if B<--oknodo> is specified). If B<--retry> is "
"specified, then B<start-stop-daemon> will check that the process(es) have "
"terminated."
msgstr ""

#. type: TP
#: start-stop-daemon.8:70
#, no-wrap
msgid "B<-T>, B<--status>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:74
msgid ""
"Check for the existence of a specified process, and returns an exit status "
"code, according to the LSB Init Script Actions."
msgstr ""

#. type: TP
#: start-stop-daemon.8:74
#, no-wrap
msgid "B<-H>, B<--help>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:77
msgid "Show usage information and exit."
msgstr ""

#. type: TP
#: start-stop-daemon.8:77
#, no-wrap
msgid "B<-V>, B<--version>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:80
msgid "Show the program version and exit."
msgstr ""

#. type: SH
#: start-stop-daemon.8:81
#, no-wrap
msgid "MATCHING OPTIONS"
msgstr ""

#. type: TP
#: start-stop-daemon.8:82
#, no-wrap
msgid "B<-p>, B<--pidfile> I<pid-file>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:86
msgid "Check whether a process has created the file I<pid-file>."
msgstr ""

#. type: TP
#: start-stop-daemon.8:86
#, no-wrap
msgid "B<-x>, B<--exec> I<executable>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:90
msgid ""
"Check for processes that are instances of this executable (according to "
"B</proc/>I<pid>B</exe>)."
msgstr ""

#. type: TP
#: start-stop-daemon.8:90
#, no-wrap
msgid "B<-n>, B<--name> I<process-name>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:96
msgid ""
"Check for processes with the name I<process-name> (according to "
"B</proc/>I<pid>B</stat>)."
msgstr ""

#. type: TP
#: start-stop-daemon.8:96
#, no-wrap
msgid "B<-u>, B<--user> I<username>|I<uid>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:102
msgid "Check for processes owned by the user specified by I<username> or I<uid>."
msgstr ""

#. type: TP
#: start-stop-daemon.8:104
#, no-wrap
msgid "B<-g>, B<--group> I<group>|I<gid>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:107
msgid "Change to I<group> or I<gid> when starting the process."
msgstr ""

#. type: TP
#: start-stop-daemon.8:107
#, no-wrap
msgid "B<-s>, B<--signal> I<signal>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:112
msgid ""
"With B<--stop>, specifies the signal to send to processes being stopped "
"(default TERM)."
msgstr ""

#. type: TP
#: start-stop-daemon.8:112
#, no-wrap
msgid "B<-R>, B<--retry> I<timeout>|I<schedule>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:122
msgid ""
"With B<--stop>, specifies that B<start-stop-daemon> is to check whether the "
"process(es)  do finish. It will check repeatedly whether any matching "
"processes are running, until none are. If the processes do not exit it will "
"then take further action as determined by the schedule."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:133
msgid ""
"If I<timeout> is specified instead of I<schedule>, then the schedule "
"I<signal>B</>I<timeout>B</KILL/>I<timeout> is used, where I<signal> is the "
"signal specified with B<--signal>."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:149
msgid ""
"I<schedule> is a list of at least two items separated by slashes (B</>); "
"each item may be B<->I<signal-number> or [B<->]I<signal-name>, which means "
"to send that signal, or I<timeout>, which means to wait that many seconds "
"for processes to exit, or B<forever>, which means to repeat the rest of the "
"schedule forever if necessary."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:159
msgid ""
"If the end of the schedule is reached and B<forever> is not specified, then "
"B<start-stop-daemon> exits with error status 2.  If a schedule is specified, "
"then any signal specified with B<--signal> is ignored."
msgstr ""

#. type: TP
#: start-stop-daemon.8:159
#, no-wrap
msgid "B<-a>, B<--startas> I<pathname>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:167
msgid ""
"With B<--start>, start the process specified by I<pathname>.  If not "
"specified, defaults to the argument given to B<--exec>."
msgstr ""

#. type: TP
#: start-stop-daemon.8:167
#, no-wrap
msgid "B<-t>, B<--test>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:171
msgid ""
"Print actions that would be taken and set appropriate return value, but take "
"no action."
msgstr ""

#. type: TP
#: start-stop-daemon.8:171
#, no-wrap
msgid "B<-o>, B<--oknodo>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:174
msgid "Return exit status 0 instead of 1 if no actions are (would be) taken."
msgstr ""

#. type: TP
#: start-stop-daemon.8:174
#, no-wrap
msgid "B<-q>, B<--quiet>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:177
msgid "Do not print informational messages; only display error messages."
msgstr ""

#. type: TP
#: start-stop-daemon.8:177
#, no-wrap
msgid "B<-c>, B<--chuid> I<username>|I<uid>[B<:>I<group>|I<gid>]"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:195
msgid ""
"Change to this username/uid before starting the process. You can also "
"specify a group by appending a B<:>, then the group or gid in the same way "
"as you would for the `chown' command (I<user>B<:>I<group>).  If a user is "
"specified without a group, the primary GID for that user is used.  When "
"using this option you must realize that the primary and supplemental groups "
"are set as well, even if the B<--group> option is not specified. The "
"B<--group> option is only for groups that the user isn't normally a member "
"of (like adding per process group membership for generic users like "
"B<nobody>)."
msgstr ""

#. type: TP
#: start-stop-daemon.8:195
#, no-wrap
msgid "B<-r>, B<--chroot> I<root>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:201
msgid ""
"Chdir and chroot to I<root> before starting the process. Please note that "
"the pidfile is also written after the chroot."
msgstr ""

#. type: TP
#: start-stop-daemon.8:201
#, no-wrap
msgid "B<-d>, B<--chdir> I<path>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:209
msgid ""
"Chdir to I<path> before starting the process. This is done after the chroot "
"if the B<-r>|B<--chroot> option is set. When not specified, "
"start-stop-daemon will chdir to the root directory before starting the "
"process."
msgstr ""

#. type: TP
#: start-stop-daemon.8:209
#, no-wrap
msgid "B<-b>, B<--background>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:221
msgid ""
"Typically used with programs that don't detach on their own. This option "
"will force B<start-stop-daemon> to fork before starting the process, and "
"force it into the background.  B<WARNING: start-stop-daemon> cannot check "
"the exit status if the process fails to execute for B<any> reason. This is a "
"last resort, and is only meant for programs that either make no sense "
"forking on their own, or where it's not feasible to add the code for them to "
"do this themselves."
msgstr ""

#. type: TP
#: start-stop-daemon.8:221
#, no-wrap
msgid "B<-N>, B<--nicelevel> I<int>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:224
msgid "This alters the priority of the process before starting it."
msgstr ""

#. type: TP
#: start-stop-daemon.8:224
#, no-wrap
msgid "B<-P>, B<--procsched> I<policy>B<:>I<priority>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:230
msgid ""
"This alters the process scheduler policy and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 0. The currently supported "
"policy values are B<other>, B<fifo> and B<rr>."
msgstr ""

#. type: TP
#: start-stop-daemon.8:230
#, no-wrap
msgid "B<-I>, B<--iosched> I<class>B<:>I<priority>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:237
msgid ""
"This alters the IO scheduler class and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 4, unless I<class> is "
"B<idle>, then I<priority> will always be 7. The currently supported values "
"for I<class> are B<idle>, B<best-effort> and B<real-time>."
msgstr ""

#. type: TP
#: start-stop-daemon.8:237
#, no-wrap
msgid "B<-k>, B<--umask> I<mask>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:240
msgid "This sets the umask of the process before starting it."
msgstr ""

#. type: TP
#: start-stop-daemon.8:240
#, no-wrap
msgid "B<-m>, B<--make-pidfile>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:255
msgid ""
"Used when starting a program that does not create its own pid file. This "
"option will make B<start-stop-daemon> create the file referenced with "
"B<--pidfile> and place the pid into it just before executing the "
"process. Note, the file will not be removed when stopping the program.  "
"B<NOTE:> This feature may not work in all cases. Most notably when the "
"program being executed forks from its main process. Because of this, it is "
"usually only useful when combined with the B<--background> option."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:258
msgid "Print verbose informational messages."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:270
msgid ""
"The requested action was performed. If B<--oknodo> was specified, it's also "
"possible that nothing had to be done.  This can happen when B<--start> was "
"specified and a matching process was already running, or when B<--stop> was "
"specified and there were no matching processes."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:275
msgid "If B<--oknodo> was not specified and nothing was done."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:283
msgid ""
"If B<--stop> and B<--retry> were specified, but the end of the schedule was "
"reached and the processes were still running."
msgstr ""

#. type: TP
#: start-stop-daemon.8:283 start-stop-daemon.8:295
#, no-wrap
msgid "B<3>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:286
msgid "Any other error."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:289
msgid "When using the B<--status> command, the following status codes are returned:"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:292
msgid "Program is running."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:295
msgid "Program is not running and the pid file exists."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:298
msgid "Program is not running."
msgstr ""

#. type: TP
#: start-stop-daemon.8:298
#, no-wrap
msgid "B<4>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:301
msgid "Unable to determine program status."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:305
msgid ""
"Start the B<food> daemon, unless one is already running (a process named "
"food, running as user food, with pid in food.pid):"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:308
#, no-wrap
msgid ""
"start-stop-daemon --start --oknodo --user food --name food --pidfile "
"/var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon\n"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:311
msgid "Send B<SIGTERM> to B<food> and wait up to 5 seconds for it to stop:"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:314
#, no-wrap
msgid ""
"start-stop-daemon --stop --oknodo --user food --name food --pidfile "
"/var/run/food.pid --retry 5\n"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:317
msgid "Demonstration of a custom schedule for stopping B<food>:"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:320
#, no-wrap
msgid ""
"start-stop-daemon --stop --oknodo --user food --name food --pidfile "
"/var/run/food.pid --retry=TERM/30/KILL/5\n"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:326
msgid ""
"Marek Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> based on a "
"previous version by Ian Jackson E<lt>ian@chiark.greenend.org.ukE<gt>."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:328
msgid ""
"Manual page by Klee Dienes E<lt>klee@mit.eduE<gt>, partially reformatted by "
"Ian Jackson."
msgstr ""

#. type: TH
#: update-alternatives.8:8
#, no-wrap
msgid "update-alternatives"
msgstr ""

#. type: Plain text
#: update-alternatives.8:11
msgid "update-alternatives - maintain symbolic links determining default commands"
msgstr ""

#. type: Plain text
#: update-alternatives.8:15
msgid "B<update-alternatives> [I<option>...] I<command>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:20
msgid ""
"B<update-alternatives> creates, removes, maintains and displays information "
"about the symbolic links comprising the Debian alternatives system."
msgstr ""

#. type: Plain text
#: update-alternatives.8:28
msgid ""
"It is possible for several programs fulfilling the same or similar functions "
"to be installed on a single system at the same time.  For example, many "
"systems have several text editors installed at once.  This gives choice to "
"the users of a system, allowing each to use a different editor, if desired, "
"but makes it difficult for a program to make a good choice for an editor to "
"invoke if the user has not specified a particular preference."
msgstr ""

#. type: Plain text
#: update-alternatives.8:50
msgid ""
"Debian's alternatives system aims to solve this problem.  A generic name in "
"the filesystem is shared by all files providing interchangeable "
"functionality.  The alternatives system and the system administrator "
"together determine which actual file is referenced by this generic name.  "
"For example, if the text editors B<ed>(1)  and B<nvi>(1)  are both installed "
"on the system, the alternatives system will cause the generic name "
"I</usr/bin/editor> to refer to I</usr/bin/nvi> by default. The system "
"administrator can override this and cause it to refer to I</usr/bin/ed> "
"instead, and the alternatives system will not alter this setting until "
"explicitly requested to do so."
msgstr ""

#. type: Plain text
#: update-alternatives.8:60
msgid ""
"The generic name is not a direct symbolic link to the selected alternative.  "
"Instead, it is a symbolic link to a name in the I<alternatives> "
"I<directory>, which in turn is a symbolic link to the actual file "
"referenced.  This is done so that the system administrator's changes can be "
"confined within the I</etc> directory: the FHS (q.v.) gives reasons why this "
"is a Good Thing."
msgstr ""

#. type: Plain text
#: update-alternatives.8:72
msgid ""
"When each package providing a file with a particular functionality is "
"installed, changed or removed, B<update-alternatives> is called to update "
"information about that file in the alternatives system.  "
"B<update-alternatives> is usually called from the B<postinst> (configure) or "
"B<prerm> (install) scripts in Debian packages."
msgstr ""

#. type: Plain text
#: update-alternatives.8:91
msgid ""
"It is often useful for a number of alternatives to be synchronised, so that "
"they are changed as a group; for example, when several versions of the "
"B<vi>(1)  editor are installed, the man page referenced by "
"I</usr/share/man/man1/vi.1> should correspond to the executable referenced "
"by I</usr/bin/vi>.  B<update-alternatives> handles this by means of "
"I<master> and I<slave> links; when the master is changed, any associated "
"slaves are changed too.  A master link and its associated slaves make up a "
"I<link> I<group>."
msgstr ""

#. type: Plain text
#: update-alternatives.8:100
msgid ""
"Each link group is, at any given time, in one of two modes: automatic or "
"manual.  When a group is in automatic mode, the alternatives system will "
"automatically decide, as packages are installed and removed, whether and how "
"to update the links.  In manual mode, the alternatives system will retain "
"the choice of the administrator and avoid changing the links (except when "
"something is broken)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:109
msgid ""
"Link groups are in automatic mode when they are first introduced to the "
"system.  If the system administrator makes changes to the system's automatic "
"settings, this will be noticed the next time B<update-alternatives> is run "
"on the changed link's group, and the group will automatically be switched to "
"manual mode."
msgstr ""

#. type: Plain text
#: update-alternatives.8:116
msgid ""
"Each alternative has a I<priority> associated with it.  When a link group is "
"in automatic mode, the alternatives pointed to by members of the group will "
"be those which have the highest priority."
msgstr ""

#. type: Plain text
#: update-alternatives.8:133
msgid ""
"When using the B<--config> option, B<update-alternatives> will list all of "
"the choices for the link group of which given I<name> is the master "
"alternative name. The current choice is marked with a '*'.  You will then be "
"prompted for your choice regarding this link group.  Depending on the choice "
"made, the link group might no longer be in I<auto> mode. You will need to "
"use the B<--auto> option in order to return to the automatic mode (or you "
"can rerun B<--config> and select the entry marked as automatic)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:137
msgid ""
"If you want to configure non-interactively you can use the B<--set> option "
"instead (see below)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:148
msgid ""
"Different packages providing the same file need to do so B<cooperatively>.  "
"In other words, the usage of B<update-alternatives> is B<mandatory> for all "
"involved packages in such case. It is not possible to override some file in "
"a package that does not employ the B<update-alternatives> mechanism."
msgstr ""

#. type: SH
#: update-alternatives.8:149
#, no-wrap
msgid "TERMINOLOGY"
msgstr ""

#. type: Plain text
#: update-alternatives.8:154
msgid ""
"Since the activities of B<update-alternatives> are quite involved, some "
"specific terms will help to explain its operation."
msgstr ""

#. type: TP
#: update-alternatives.8:154
#, no-wrap
msgid "generic name (or alternative link)"
msgstr ""

#. type: Plain text
#: update-alternatives.8:160
msgid ""
"A name, like I</usr/bin/editor>, which refers, via the alternatives system, "
"to one of a number of files of similar function."
msgstr ""

#. type: TP
#: update-alternatives.8:160
#, no-wrap
msgid "alternative name"
msgstr ""

#. type: Plain text
#: update-alternatives.8:163
msgid "The name of a symbolic link in the alternatives directory."
msgstr ""

#. type: TP
#: update-alternatives.8:163
#, no-wrap
msgid "alternative (or alternative path)"
msgstr ""

#. type: Plain text
#: update-alternatives.8:167
msgid ""
"The name of a specific file in the filesystem, which may be made accessible "
"via a generic name using the alternatives system."
msgstr ""

#. type: TP
#: update-alternatives.8:167
#, no-wrap
msgid "alternatives directory"
msgstr ""

#. type: Plain text
#: update-alternatives.8:172
msgid "A directory, by default I</etc/alternatives>, containing the symlinks."
msgstr ""

#. type: TP
#: update-alternatives.8:172
#, no-wrap
msgid "administrative directory"
msgstr ""

#. type: Plain text
#: update-alternatives.8:179
msgid ""
"A directory, by default I</var/lib/dpkg/alternatives>, containing "
"B<update-alternatives>' state information."
msgstr ""

#. type: TP
#: update-alternatives.8:179
#, no-wrap
msgid "link group"
msgstr ""

#. type: Plain text
#: update-alternatives.8:182
msgid "A set of related symlinks, intended to be updated as a group."
msgstr ""

#. type: TP
#: update-alternatives.8:182
#, no-wrap
msgid "master link"
msgstr ""

#. type: Plain text
#: update-alternatives.8:186
msgid ""
"The alternative link in a link group which determines how the other links in "
"the group are configured."
msgstr ""

#. type: TP
#: update-alternatives.8:186
#, no-wrap
msgid "slave link"
msgstr ""

#. type: Plain text
#: update-alternatives.8:190
msgid ""
"An alternative link in a link group which is controlled by the setting of "
"the master link."
msgstr ""

#. type: TP
#: update-alternatives.8:190
#, no-wrap
msgid "automatic mode"
msgstr ""

#. type: Plain text
#: update-alternatives.8:196
msgid ""
"When a link group is in automatic mode, the alternatives system ensures that "
"the links in the group point to the highest priority alternative appropriate "
"for the group."
msgstr ""

#. type: TP
#: update-alternatives.8:196
#, no-wrap
msgid "manual mode"
msgstr ""

#. type: Plain text
#: update-alternatives.8:201
msgid ""
"When a link group is in manual mode, the alternatives system will not make "
"any changes to the system administrator's settings."
msgstr ""

#. type: TP
#: update-alternatives.8:203
#, no-wrap
msgid "B<--install> I<link name path priority> [B<--slave> I<link name path>]..."
msgstr ""

#. type: Plain text
#: update-alternatives.8:222
msgid ""
"Add a group of alternatives to the system.  I<link> is the generic name for "
"the master link, I<name> is the name of its symlink in the alternatives "
"directory, and I<path> is the alternative being introduced for the master "
"link.  The arguments after B<--slave> are the generic name, symlink name in "
"the alternatives directory and the alternative path for a slave link.  Zero "
"or more B<--slave> options, each followed by three arguments, may be "
"specified. Note that the master alternative must exist or the call will "
"fail. However if a slave alternative doesn't exist, the corresponding slave "
"alternative link will simply not be installed (a warning will still be "
"displayed). If some real file is installed where an alternative link has to "
"be installed, it is kept unless B<--force> is used."
msgstr ""

#. type: Plain text
#: update-alternatives.8:233
msgid ""
"If the alternative name specified exists already in the alternatives "
"system's records, the information supplied will be added as a new set of "
"alternatives for the group.  Otherwise, a new group, set to automatic mode, "
"will be added with this information.  If the group is in automatic mode, and "
"the newly added alternatives' priority is higher than any other installed "
"alternatives for this group, the symlinks will be updated to point to the "
"newly added alternatives."
msgstr ""

#. type: TP
#: update-alternatives.8:233
#, no-wrap
msgid "B<--set> I<name path>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:242
msgid ""
"Set the program I<path> as alternative for I<name.> This is equivalent to "
"B<--config> but is non-interactive and thus scriptable."
msgstr ""

#. type: TP
#: update-alternatives.8:242
#, no-wrap
msgid "B<--remove> I<name path>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:263
msgid ""
"Remove an alternative and all of its associated slave links.  I<name> is a "
"name in the alternatives directory, and I<path> is an absolute filename to "
"which I<name> could be linked. If I<name> is indeed linked to I<path>, "
"I<name> will be updated to point to another appropriate alternative (and the "
"group is put back in automatic mode), or removed if there is no such "
"alternative left.  Associated slave links will be updated or removed, "
"correspondingly.  If the link is not currently pointing to I<path>, no links "
"are changed; only the information about the alternative is removed."
msgstr ""

#. type: TP
#: update-alternatives.8:263
#, no-wrap
msgid "B<--remove-all> I<name>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:268
msgid ""
"Remove all alternatives and all of their associated slave links.  I<name> is "
"a name in the alternatives directory."
msgstr ""

#. type: Plain text
#: update-alternatives.8:275
msgid ""
"Call B<--config> on all alternatives. It can be usefully combined with "
"B<--skip-auto> to review and configure all alternatives which are not "
"configured in automatic mode. Broken alternatives are also displayed.  Thus "
"a simple way to fix all broken alternatives is to call B<yes \\[aq]\\[aq] | "
"update-alternatives --force --all>."
msgstr ""

#. type: TP
#: update-alternatives.8:275
#, no-wrap
msgid "B<--auto> I<name>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:282
msgid ""
"Switch the link group behind the alternative for I<name> to automatic mode.  "
"In the process, the master symlink and its slaves are updated to point to "
"the highest priority installed alternatives."
msgstr ""

#. type: TP
#: update-alternatives.8:282
#, no-wrap
msgid "B<--display> I<name>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:291
msgid ""
"Display information about the link group.  Information displayed includes "
"the group's mode (auto or manual), which alternative the master link "
"currently points to, what other alternatives are available (and their "
"corresponding slave alternatives), and the highest priority alternative "
"currently installed."
msgstr ""

#. type: TP
#: update-alternatives.8:291
#, no-wrap
msgid "B<--get-selections>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:299
msgid ""
"List all master alternative names (those controlling a link group)  and "
"their status. Each line contains up to 3 fields (separated by one or more "
"spaces). The first field is the alternative name, the second one is the "
"status (either \"auto\" or \"manual\"), and the last one contains the "
"current choice in the alternative (beware: it's a filename and thus might "
"contain spaces)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:304
msgid ""
"Read configuration of alternatives on standard input in the format generated "
"by B<update-alternatives --get-selections> and reconfigure them accordingly."
msgstr ""

#. type: TP
#: update-alternatives.8:304
#, no-wrap
msgid "B<--query> I<name>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:309
msgid ""
"Display information about the link group like --display does, but in a "
"machine parseable way (see section B<QUERY FORMAT> below)."
msgstr ""

#. type: TP
#: update-alternatives.8:309
#, no-wrap
msgid "B<--list> I<name>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:312
msgid "Display all targets of the link group."
msgstr ""

#. type: TP
#: update-alternatives.8:312
#, no-wrap
msgid "B<--config> I<name>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:316
msgid ""
"Show available alternatives for a link group and allow the user to "
"interactively select which one to use. The link group is updated."
msgstr ""

#. type: TP
#: update-alternatives.8:324
#, no-wrap
msgid "B<--altdir>I< directory>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:328
msgid ""
"Specifies the alternatives directory, when this is to be different from the "
"default."
msgstr ""

#. type: Plain text
#: update-alternatives.8:332
msgid ""
"Specifies the administrative directory, when this is to be different from "
"the default."
msgstr ""

#. type: TP
#: update-alternatives.8:332
#, no-wrap
msgid "B<--log>I< file>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:336
msgid ""
"Specifies the log file, when this is to be different from the default "
"(/var/log/alternatives.log)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:340
msgid ""
"Let B<update-alternatives> replace or drop any real file that is installed "
"where an alternative link has to be installed or removed."
msgstr ""

#. type: TP
#: update-alternatives.8:340
#, no-wrap
msgid "B<--skip-auto>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:345
msgid ""
"Skip configuration prompt for alternatives which are properly configured in "
"automatic mode. This option is only relevant with B<--config> or B<--all>."
msgstr ""

#. type: TP
#: update-alternatives.8:345
#, no-wrap
msgid "B<--verbose>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:350
msgid "Generate more comments about what B<update-alternatives> is doing."
msgstr ""

#. type: Plain text
#: update-alternatives.8:353
msgid "Don't generate any comments unless errors occur."
msgstr ""

#. type: Plain text
#: update-alternatives.8:359
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the base administrative directory."
msgstr ""

#. type: TP
#: update-alternatives.8:361
#, no-wrap
msgid "I</etc/alternatives/>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:367
msgid ""
"The default alternatives directory.  Can be overridden by the B<--altdir> "
"option."
msgstr ""

#. type: TP
#: update-alternatives.8:367
#, no-wrap
msgid "I</var/lib/dpkg/alternatives/>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:373
msgid ""
"The default administration directory.  Can be overridden by the "
"B<--admindir> option."
msgstr ""

#. type: Plain text
#: update-alternatives.8:378
msgid "The requested action was successfully performed."
msgstr ""

#. type: Plain text
#: update-alternatives.8:382
msgid ""
"Problems were encountered whilst parsing the command line or performing the "
"action."
msgstr ""

#. type: SH
#: update-alternatives.8:383
#, no-wrap
msgid "QUERY FORMAT"
msgstr ""

#. type: Plain text
#: update-alternatives.8:388
msgid ""
"The B<update-alternatives --query> format is using an RFC822-like flat "
"format. It's made of I<n> + 1 blocks where I<n> is the number of "
"alternatives available in the queried link group. The first block contains "
"the following fields:"
msgstr ""

#. type: TP
#: update-alternatives.8:388
#, no-wrap
msgid "B<Link:>I< link>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:391
msgid "The generic name of the alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:391
#, no-wrap
msgid "B<Status:>I< status>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:394
msgid "The status of the alternative (B<auto> or B<manual>)."
msgstr ""

#. type: TP
#: update-alternatives.8:394
#, no-wrap
msgid "B<Best:>I< best-choice>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:398
msgid ""
"The path of the best alternative for this link group. Not present if there "
"is no alternatives available."
msgstr ""

#. type: TP
#: update-alternatives.8:398
#, no-wrap
msgid "B<Value:>I< currently-selected-alternative>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:402
msgid ""
"The path of the currently selected alternative. It can also take the magic "
"value B<none>. It is used if the link doesn't exist."
msgstr ""

#. type: TP
#: update-alternatives.8:403
#, no-wrap
msgid ""
"The other blocks describe the available alternatives in the queried link "
"group:"
msgstr ""

#. type: TP
#: update-alternatives.8:405
#, no-wrap
msgid "B<Alternative:>I< path-of-this-alternative>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:408
msgid "Path to this block's alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:408
#, no-wrap
msgid "B<Priority:>I< priority-value>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:411
msgid "Value of the priority of this alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:411
#, no-wrap
msgid "B<Slaves:>I< list-of-slaves>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:417
msgid ""
"When this header is present, the B<next> lines hold all slave alternatives "
"associated to the master link of the alternative. There is one slave per "
"line. Each line contains one space, the generic name of the slave "
"alternative, another space, and the path to the slave alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:418
#, no-wrap
msgid "B<Example>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:426
#, no-wrap
msgid ""
"$ update-alternatives --query editor\n"
"Link: editor\n"
"Status: auto\n"
"Best: /usr/bin/vim.gtk\n"
"Value: /usr/bin/vim.gtk\n"
msgstr ""

#. type: Plain text
#: update-alternatives.8:431
#, no-wrap
msgid ""
"Alternative: /bin/ed\n"
"Priority: -100\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/ed.1.gz\n"
msgstr ""

#. type: Plain text
#: update-alternatives.8:446
#, no-wrap
msgid ""
"Alternative: /usr/bin/vim.gtk\n"
"Priority: 50\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/vim.1.gz\n"
" editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz\n"
" editor.pl.ISO8859-2.1.gz /usr/share/man/pl.ISO8859-2/man1/vim.1.gz\n"
" editor.it.ISO8859-1.1.gz /usr/share/man/it.ISO8859-1/man1/vim.1.gz\n"
" editor.pl.UTF-8.1.gz /usr/share/man/pl.UTF-8/man1/vim.1.gz\n"
" editor.it.1.gz /usr/share/man/it/man1/vim.1.gz\n"
" editor.fr.UTF-8.1.gz /usr/share/man/fr.UTF-8/man1/vim.1.gz\n"
" editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz\n"
" editor.it.UTF-8.1.gz /usr/share/man/it.UTF-8/man1/vim.1.gz\n"
" editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz\n"
" editor.fr.ISO8859-1.1.gz /usr/share/man/fr.ISO8859-1/man1/vim.1.gz\n"
msgstr ""

#. type: Plain text
#: update-alternatives.8:458
msgid ""
"With B<--verbose> B<update-alternatives> chatters incessantly about its "
"activities on its standard output channel.  If problems occur, "
"B<update-alternatives> outputs error messages on its standard error channel "
"and returns an exit status of 2.  These diagnostics should be "
"self-explanatory; if you do not find them so, please report this as a bug."
msgstr ""

#. type: Plain text
#: update-alternatives.8:464
msgid ""
"There are several packages which provide a text editor compatible with "
"B<vi>, for example B<nvi> and B<vim>. Which one is used is controlled by the "
"link group B<vi>, which includes links for the program itself and the "
"associated manpage."
msgstr ""

#. type: Plain text
#: update-alternatives.8:467
msgid ""
"To display the available packages which provide B<vi> and the current "
"setting for it, use the B<--display> action:"
msgstr ""

#. type: Plain text
#: update-alternatives.8:470
msgid "B<update-alternatives --display vi>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:474
msgid ""
"To choose a particular B<vi> implementation, use this command as root and "
"then select a number from the list:"
msgstr ""

#. type: Plain text
#: update-alternatives.8:477
msgid "B<update-alternatives --config vi>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:481
msgid ""
"To go back to having the B<vi> implementation chosen automatically, do this "
"as root:"
msgstr ""

#. type: Plain text
#: update-alternatives.8:484
msgid "B<update-alternatives --auto vi>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:488
msgid "If you find a bug, please report it using the Debian bug-tracking system."
msgstr ""

#. type: Plain text
#: update-alternatives.8:493
msgid ""
"If you find any discrepancy between the operation of B<update-alternatives> "
"and this manual page, it is a bug, either in the implementation or the "
"documentation; please report it."
msgstr ""

#. type: Plain text
#: update-alternatives.8:504
msgid "This manual page is copyright 1997,1998 Charles Briscoe-Smith and others."
msgstr ""

#. type: Plain text
#: update-alternatives.8:507
msgid ""
"This is free documentation; see the GNU General Public Licence version 2 or "
"later for copying conditions. There is NO WARRANTY."
msgstr ""

#. type: Plain text
#: update-alternatives.8:510
msgid "B<ln>(1), FHS, the Filesystem Hierarchy Standard."
msgstr ""
