# Hungarian translation of the manpages in the dpkg package
# This file is distributed under the same license as the dpkg package.
# Copyright (C) FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2011-10-14 07:11+0300\n"
"PO-Revision-Date: 2010-03-07 22:17+0100\n"
"Last-Translator: SZERVÁC Attila <sas@321.hu>\n"
"Language-Team: Hungarian\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Hungarian\n"
"X-Poedit-Country: HUNGARY\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
#, fuzzy, no-wrap
msgid "2011-08-14"
msgstr "2006-02-28"

#. 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 "Debian Project"

#. 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 "Debian"

#. 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 "NÉV"

#. 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 "SZINOPSZIS"

#. 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 "LEÍRÁS"

#. 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 "LÁSD MÉG"

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

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

#. type: Plain text
#: deb-control.5:6
msgid "deb-control - Debian packages' master control file format"
msgstr "deb-control - Debian csomag fő kontroll fájl formátum"

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

#. type: Plain text
#: deb-control.5:24
#, fuzzy
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 ""
"Minden Debian csomag tartalmazza a mester `control' fájlt, mely mezőkből "
"áll. Minden mező egy tag-gel kezdődik, pl. B<Package> vagy B<Version> "
"(nagybetű-érzéketlen), melyet kettőspont és mezőtörzs követ. A mezőket csak "
"a mező tag-ek választják el. Vagyis, a mező szövege több sorból is állhat, "
"de a telepítő eszközök általában összefűzik ezeket egy mezőtörzs "
"feldolgozásakor (kivéve a B<Description> mezőt, l. alább)."

#. type: SH
#: deb-control.5:25
#, no-wrap
msgid "REQUIRED FIELDS"
msgstr "KÖTELEZŐ MEZŐK"

#. type: TP
#: deb-control.5:26
#, fuzzy, no-wrap
msgid "B<Package:>I< package-name>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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 ""
"E mező értéke adja meg a csomag nevét, melyből a legtöbb telepítő eszköz "
"fájlneveket állít elő."

#. type: TP
#: deb-control.5:30
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>version stringE<gt>"
msgid "B<Version:>I< version-string>"
msgstr "B<Version:> E<lt>verzióE<gt>"

#. type: Plain text
#: deb-control.5:37
#, fuzzy
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 ""
"Ez általában az eredeti csomag verzió szám, a program szerzője által "
"használt formában. Debian revízió számot is tartalmazhat (nem-natív "
"csomagoknál). Ha mindkettő meg van adva, elválasztásuk kötőjellel történik, "
"`-'. Ezért az eredeti változat nem tartalmazhat kötőjelet verziószámában."

#. type: TP
#: deb-control.5:37
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Maintainer:>I< fullname-email>"
msgstr "B<Maintainer:> E<lt>teljes.név emailE<gt>"

#. 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 ""
"Formája ilyen lehet: `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', és általában "
"nem a szoftver szerzőjét hanem a csomag készítőjét tartalmazza."

#. type: TP
#: deb-control.5:42
#, fuzzy, no-wrap
#| msgid "B<Description:> E<lt>short descriptionE<gt>"
msgid "B<Description:>I< short-description>"
msgstr "B<Description:> E<lt>rövid leírásE<gt>"

#. type: Plain text
#: deb-control.5:45
#, fuzzy
#| msgid "B< >E<lt>long descriptionE<gt>"
msgid "B< >I<long-description>"
msgstr "B< >E<lt>hosszú leírásE<gt>"

#. 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 ""
"A csomagok leírásának formátuma egy rövid összefoglaló az 1. sorban (a "
"\"Description\" tag után). A következő sorok hosszabb leírásra használhatók. "
"A hosszú leírás minden sora szóközzel kell kezdődjön, és a hosszú leírás "
"üres sorai egy '.'-t kell tartalmazzanak a vezető szóköz után."

#. type: SH
#: deb-control.5:52
#, no-wrap
msgid "OPTIONAL FIELDS"
msgstr "LEHETSÉGES MEZŐK"

#. type: TP
#: deb-control.5:53 deb-src-control.5:90
#, fuzzy, no-wrap
#| msgid "B<Section:> E<lt>sectionE<gt>"
msgid "B<Section:>I< section>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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 ""
"Ez egy általános mező, mely a csomagot egy témakörhöz (szakaszhoz) társítja, "
"például ilyenekhez: `utils', `net', `mail', `text', `x11' stb."

#. type: TP
#: deb-control.5:58 deb-src-control.5:96
#, fuzzy, no-wrap
#| msgid "B<Priority:> E<lt>priorityE<gt>"
msgid "B<Priority:>I< priority>"
msgstr "B<Priority:> E<lt>elsőbbségE<gt>"

#. 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 ""
"Megadja e csomag fontosságát a rendszer egészében. Ilyenek például: "
"`required', `standard', `optional', `extra' (kötelező, szokásos...) stb."

#. type: Plain text
#: deb-control.5:71 deb-src-control.5:109
#, fuzzy
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 ""
"A Debianban a B<Section> és B<Priority> mezők a Policy Manual leírásban "
"adott értékeket vehetik fel. Ezek adják meg egy csomag elhelyezkedését az "
"archívumban. Ezek megtekinthetők a B<debian-policy> csomag legutóbbi "
"verziójában."

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

#. type: Plain text
#: deb-control.5:78
#, fuzzy
#| msgid ""
#| "This field is usually only needed when the answer is `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)."
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 ""
"E mező általában csak akkor kell, ha válasz `yes' (igen). Ez a csomagot a "
"rendszer helyes működéséhez lényegesnek írja le. A dpkg vagy más telepítő "
"eszköz alapértelmezetten nem hajtja végre az B<Essential> (lényeges) "
"csomagok eltávolítását (csak kényszerítő lehetőségekkel)."

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

#. 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 ""
"Az architektúra megadja, hogy e csomag milyen gépre fordított. A "
"leggyakrabbak `i386', `amd64', `powerpc', `m68k', `sparc', `alpha', stb. Az "
"B<all> lehetőség az ettől független csomagokat jelenti. Például ilyenek a "
"Perl parancsfájlok és dokumentációk."

#. type: TP
#: deb-control.5:86 deb-src-control.5:85
#, fuzzy, no-wrap
msgid "B<Origin:>I< name>"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Bugs:>I< url>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Homepage:>I< url>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Tag:>I< tag-list>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Multi-Arch:> B<same>|B<foreign>|B<allowed>"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Source:>I< source-name>"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. 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 ""
"Annak a forrás csomagnak a neve, ahonnan e bináris is származik, ha eltér."

#. type: TP
#: deb-control.5:118 deb-src-control.5:202
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Subarchitecture:>I< value>"
msgstr "B<Architecture:> E<lt>arch|allE<gt>"

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

#. type: TP
#: deb-control.5:124 deb-src-control.5:208
#, fuzzy, no-wrap
msgid "B<Installer-Menu-Item:>I< value>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Depends:>I< package-list>"
msgstr "B<Depends:> E<lt>csomag listaE<gt>"

#. type: Plain text
#: deb-control.5:143
#, fuzzy
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 ""
"Azon csomagok listája, melyek szükségesek egy csomag rendes működéséhez. A "
"csomag-karbantartó szoftver nem engedi a telepítést a B<Depends> mezőben "
"megadott csomagok telepítése nélkül (csak kényszerítő lehetőségekkel), és "
"lefuttatja a postinst és prerm parancsfájlokat."

#. type: TP
#: deb-control.5:143 deb-src-control.5:236
#, fuzzy, no-wrap
#| msgid "B<Pre-Depends:> E<lt>package listE<gt>"
msgid "B<Pre-Depends:>I< package-list>"
msgstr "B<Pre-Depends:> E<lt>csomag listaE<gt>"

#. 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 ""
"Azon csomagok listája, melyek telepítése B<és> konfigurálása kötelező ennek "
"telepítése előtt. Általában akkor használatos, ha e csomag a telepítés "
"előtti (preinst) parancsfájl lefuttatásához egy másik csomagot igényel "

#. type: TP
#: deb-control.5:150 deb-src-control.5:239
#, fuzzy, no-wrap
#| msgid "B<Recommends:> E<lt>package listE<gt>"
msgid "B<Recommends:>I< package-list>"
msgstr "B<Recommends:> E<lt>csomag listaE<gt>"

#. 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 ""
"Azon csomagok listája, melyeket e csomaggal mindig együtt szokás használni, "
"kivéve egyes, szokásostól eltérő telepítéseket. A csomag-karbantartó "
"szoftver figyelmezteti a felhasználót, ha a B<Recommends> mezőben lévő "
"csomagok kijelölése nélkül telepít."

#. type: TP
#: deb-control.5:157 deb-src-control.5:242
#, fuzzy, no-wrap
#| msgid "B<Suggests:> E<lt>package listE<gt>"
msgid "B<Suggests:>I< package-list>"
msgstr "B<Suggests:> E<lt>csomag listaE<gt>"

#. 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 ""
"Azon csomagok listája, melyek ennek képességeit növelhetik, de melyek "
"mellőzhetők."

#. 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 ""
"A B<Depends>, B<Pre-Depends>, B<Recommends> és B<Suggests> mezők szintaxisa "
"más csomagok csoportjainak listája. Minden csoport egy függőleges vonalakkal "
"(ún. `pipa', `|' jelekkel) elválasztott csomaglista. A csoportok vesszőkkel "
"vannak elválasztva. A vessző jelentése `ÉS', a pipáé `VAGY', akár nagyobb "
"kötésekkel. Minden csomagnevet a verziószám megadása követhet zárójelben."

#. 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 ""
"A verziószám kezdődhet így: `E<gt>E<gt>', ekkor bármely későbbi verzió "
"megfelel, és megadhat Debian csomag revíziót (kötőjellel elválasztva). "
"Elfogadott verzióviszonyok: \"E<gt>E<gt>\" nagyobb mint, \"E<lt>E<lt>\" "
"kisebb mint, \"E<gt>=\" nagyobb vagy egyenlő, \"E<lt>=\" kisebb vagy "
"egyenlő, és \"=\" egyenlő."

#. type: TP
#: deb-control.5:180 deb-src-control.5:245
#, fuzzy, no-wrap
msgid "B<Breaks:>I< package-list>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. type: Plain text
#: deb-control.5:188
#, fuzzy
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 ""
"Ütköző csomagok, például azonos nevű fájlokat tartalmazók. A "
"csomagkarbantartó szoftver nem engedi ezek egyidejű telepítését. 2 ütköző "
"csomag 1-1 B<Conflicts> mezőben hivatkozik egymásra."

#. type: TP
#: deb-control.5:188 deb-src-control.5:254
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Conflicts:>I< package-list>"
msgstr "B<Conflicts:> E<lt>csomag listaE<gt>"

#. 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 ""
"Ütköző csomagok, például azonos nevű fájlokat tartalmazók. A "
"csomagkarbantartó szoftver nem engedi ezek egyidejű telepítését. 2 ütköző "
"csomag 1-1 B<Conflicts> mezőben hivatkozik egymásra."

#. type: TP
#: deb-control.5:196 deb-src-control.5:251
#, fuzzy, no-wrap
#| msgid "B<Replaces:> E<lt>package listE<gt>"
msgid "B<Replaces:>I< package-list>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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 ""
"Az e csomag által lecserélt csomag fájlok listája.  Ez lehetővé teszi e "
"csomagnak más csomag fájljainak felülírását és általában a B<Conflicts> "
"mezővel használatos a másik csomag törlésére, ha ez azonos nevű fájlt "
"tartalmaz, mint az ütköző csomag."

#. type: TP
#: deb-control.5:204 deb-src-control.5:257
#, fuzzy, no-wrap
#| msgid "B<Provides:> E<lt>package listE<gt>"
msgid "B<Provides:>I< package-list>"
msgstr "B<Provides:> E<lt>csomag listaE<gt>"

#. 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 ""
"Ez egy e csomag által adott virtuális csomaglista. Általában eltérő csomagok "
"által nyújtott hasonló szolgáltatás esetén használt. Például a sendmail és "
"exim levelező-kiszolgálók, így egy általános csomagot adnak (`mail-transport-"
"agent'), melytől más csomagok függhetnek. Így a sendmail vagy exim érvényes "
"függőségként szolgálhat. Így a csomagoknak nem kell ismerniük az összes "
"levelező-kiszolgálót egy `|'-kkal elválasztott listában."

#. type: Plain text
#: deb-control.5:233
#, fuzzy
#| msgid ""
#| "The syntax of B<Conflicts>, B<Replaces> and B<Provides> is a list of "
#| "package names, separated by commas (and optional whitespace).  In the "
#| "B<Conflicts> field, the comma should be read as `OR'. An optional version "
#| "can also be given with the same syntax as above for the B<Conflicts> and "
#| "B<Replaces> fields."
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 ""
"A B<Conflicts>, B<Replaces> és B<Provides> szintaxisa egy vesszőkkel (és "
"tetszőleges helykitöltőkkel) elválasztott csomagnév lista. A B<Conflicts> "
"mezőben, a vessző `VAGY'. A verzió szintén megadható a már ismert módon."

#. type: TP
#: deb-control.5:234 deb-src-control.5:260
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Built-Using:>I< package-list>"
msgstr "B<Depends:> E<lt>csomag listaE<gt>"

#. 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 "PÉLDA"

#. type: Plain text
#: deb-control.5:268
#, fuzzy, 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 ""
"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"

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

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

#. type: Plain text
#: deb-src-control.5:6
#, fuzzy
#| msgid "deb-control - Debian packages' master control file format"
msgid "deb-src-control - Debian source packages' master control file format"
msgstr "deb-control - Debian csomag fő kontroll fájl formátum"

#. 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
#, fuzzy, no-wrap
#| msgid "REQUIRED FIELDS"
msgid "SOURCE FIELDS"
msgstr "KÖTELEZŐ MEZŐK"

#. type: TP
#: deb-src-control.5:30
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Source:> I<source-package-name> (required)"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Maintainer:> I<fullname-email> (required)"
msgstr "B<Maintainer:> E<lt>teljes.név emailE<gt>"

#. type: Plain text
#: deb-src-control.5:43
#, fuzzy
#| 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."
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 ""
"Formája ilyen lehet: `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', és általában "
"nem a szoftver szerzőjét hanem a csomag készítőjét tartalmazza."

#. type: TP
#: deb-src-control.5:44
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Uploaders:>I< fullname-email>"
msgstr "B<Maintainer:> E<lt>teljes.név emailE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>version stringE<gt>"
msgid "B<Standards-Version:>I< version-string>"
msgstr "B<Version:> E<lt>verzióE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Essential:> E<lt>yes|noE<gt>"
msgid "B<DM-Upload-Allowed:> B<yes>|B<no>"
msgstr "B<Essential:> E<lt>yes|noE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Vcs-*:>I< url>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Vcs-Browser:>I< url>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy
#| 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."
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 ""
"Ez egy általános mező, mely a csomagot egy témakörhöz (szakaszhoz) társítja, "
"például ilyenekhez: `utils', `net', `mail', `text', `x11' stb."

#. type: Plain text
#: deb-src-control.5:100
#, fuzzy
#| msgid ""
#| "Sets the importance of this package in relation to the system as a "
#| "whole.  Common priorities are `required', `standard', `optional', `extra' "
#| "etc."
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are \"required\", \"standard\", \"optional\", \"extra\", "
"etc."
msgstr ""
"Megadja e csomag fontosságát a rendszer egészében. Ilyenek például: "
"`required', `standard', `optional', `extra' (kötelező, szokásos...) stb."

#. type: TP
#: deb-src-control.5:110
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Build-Depends:>I< package-list>"
msgstr "B<Depends:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Build-Depends-Indep:>I< package-list>"
msgstr "B<Depends:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Build-Conflicts:>I< package-list>"
msgstr "B<Conflicts:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Build-Conflicts-Indep:>I< package-list>"
msgstr "B<Conflicts:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy
#| 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."
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 ""
"A B<Depends>, B<Pre-Depends>, B<Recommends> és B<Suggests> mezők szintaxisa "
"más csomagok csoportjainak listája. Minden csoport egy függőleges vonalakkal "
"(ún. `pipa', `|' jelekkel) elválasztott csomaglista. A csoportok vesszőkkel "
"vannak elválasztva. A vessző jelentése `ÉS', a pipáé `VAGY', akár nagyobb "
"kötésekkel. Minden csomagnevet a verziószám megadása követhet zárójelben."

#. 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
#, fuzzy
#| 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."
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 ""
"A verziószám kezdődhet így: `E<gt>E<gt>', ekkor bármely későbbi verzió "
"megfelel, és megadhat Debian csomag revíziót (kötőjellel elválasztva). "
"Elfogadott verzióviszonyok: \"E<gt>E<gt>\" nagyobb mint, \"E<lt>E<lt>\" "
"kisebb mint, \"E<gt>=\" nagyobb vagy egyenlő, \"E<lt>=\" kisebb vagy "
"egyenlő, és \"=\" egyenlő."

#. 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
#, fuzzy, no-wrap
#| msgid "OPTIONAL FIELDS"
msgid "BINARY FIELDS"
msgstr "LEHETSÉGES MEZŐK"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Package:> E<lt>package nameE<gt>"
msgid "B<Package:> I<binary-package-name> (required)"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Architecture:> I<arch>|B<all>|B<any> (required)"
msgstr "B<Architecture:> E<lt>arch|allE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Package:> E<lt>package nameE<gt>"
msgid "B<Package-Type:> B<deb>|B<udeb>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Description:> E<lt>short descriptionE<gt>"
msgid "B<Description:> I<short-description> (required)"
msgstr "B<Description:> E<lt>rövid leírásE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<Replaces:> E<lt>package listE<gt>"
msgid "B<Enhances:>I< package-list>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
#| msgid "REQUIRED FIELDS"
msgid "USER-DEFINED FIELDS"
msgstr "KÖTELEZŐ MEZŐK"

#. 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
#, fuzzy
msgid "B<deb-control>(5), B<deb-version>(5), B<dpkg-source>(1)"
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. type: TH
#: deb-split.5:1
#, fuzzy, no-wrap
msgid "deb-split"
msgstr "dpkg készlet"

#. 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
#, fuzzy, no-wrap
msgid "2011-07-04"
msgstr "2006-02-28"

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

# type: Plain text
#. 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
#. 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
#, fuzzy
msgid "The total size of the package."
msgstr "Kiszedi az ellenőrző információs fájlt egy bináris csomagarchívumból"

#. 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
#. 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
#. 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
#, fuzzy
msgid "B<deb>(5), B<dpkg-split>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. type: TH
#: deb-version.5:5
#, fuzzy, no-wrap
msgid "deb-version"
msgstr "B<--version>"

#. type: Plain text
#: deb-version.5:8
#, fuzzy
msgid "deb-version - Debian package version number format"
msgstr "deb-control - Debian csomag fő kontroll fájl formátum"

#. 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
#, fuzzy, no-wrap
msgid "I<upstream-version>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "I<debian-revision>"
msgstr "B<--version>"

#. 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
#, fuzzy
msgid "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. 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
#, fuzzy, no-wrap
msgid "AUTHORS"
msgstr "SZERZŐ"

#. 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
#, fuzzy
msgid ""
"This is free software; see the GNU General Public Licence version 2 or later "
"for copying conditions. There is NO WARRANTY."
msgstr ""
"A B<dpkg-deb> és e manoldal szerzője Ian Jackson.  Ő adta hozzá a Copyright "
"(C)1995-1996 bejegyzést és adta ki GNU General Public Licence alatt; NINCS "
"GARANCIA. Lásd a I</usr/share/doc/dpkg/copyright> és I</usr/share/common-"
"licenses/GPL> fájlt a részletekért."

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

#. 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
#, fuzzy
msgid "B<deb>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

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

#. 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
#, fuzzy, no-wrap
msgid "dpkg utilities"
msgstr "dpkg készlet"

#. 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
#, fuzzy
msgid ""
"B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1), B</"
"usr/share/doc/debian-policy/policy.html/index.html>."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

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

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

#. 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
#, fuzzy
msgid "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

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

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

#. 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
#, fuzzy, no-wrap
msgid "EXAMPLES"
msgstr "PÉLDA"

#. 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
#, fuzzy
msgid "B<dpkg-shlibdeps>(1), B<deb-symbols>(5)."
msgstr "B<dpkg>(1)."

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

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

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

#. type: Plain text
#: deb-substvars.5:8
#, fuzzy
msgid "substvars"
msgstr "B<--fsys-tarfile>"

#. 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
#, fuzzy, no-wrap
msgid "B<source:Version>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<binary:Version>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<Source-Version>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<dpkg:Version>"
msgstr "B<--version>"

#. 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 "FÁJLOK"

#. 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 "HIBÁK"

#. 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
#, fuzzy
msgid ""
"B<dpkg>(1), B<dpkg-genchanges>(1), B<dpkg-gencontrol>(1), B<dpkg-shlibdeps>"
"(1), B<dpkg-source>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. 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 "SZERZŐ"

#. 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
#, fuzzy, no-wrap
msgid "deb-symbols"
msgstr "deb-control"

#. 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
#, fuzzy
msgid "B<dpkg-shlibdeps>(1), B<dpkg-gensymbols>(1)."
msgstr "B<dpkg>(1)."

#. type: TH
#: deb-triggers.5:1
#, fuzzy, no-wrap
msgid "deb-triggers"
msgstr "B<--version>"

#. 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
#, fuzzy
msgid ""
"B<dpkg-trigger>(1), B<dpkg>(1), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

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

#. 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 "dpkg készlet"

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

#. type: Plain text
#: dpkg.1:8
#, fuzzy
msgid "B<dpkg> [I<option>...] I<action>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<hold>"
msgstr "B<--old>"

#. 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
#, fuzzy, no-wrap
msgid "ACTIONS"
msgstr "MŰVELETI LEHETŐSÉGEK"

#. type: TP
#: dpkg.1:90
#, fuzzy, no-wrap
msgid "B<-i>, B<--install> I<package-file>..."
msgstr "B<dpkg-deb> B<-f>|B<--field> I<archívum> [I<ellenőrző-mező-név> ...]"

#. 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
#, fuzzy
msgid "B<1.> Extract the control files of the new package."
msgstr "Kiszedi az ellenőrző információs fájlt egy bináris csomagarchívumból"

#. 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
#, fuzzy, no-wrap
msgid "B<--unpack >I<package-file>..."
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--update-avail>, B<--merge-avail> I<Packages-file>"
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<-A>, B<--record-avail> I<package-file>..."
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<--clear-avail>"
msgstr "B<--old>"

#. type: Plain text
#: dpkg.1:208
#, fuzzy
msgid "Erase the existing information about what packages are available."
msgstr "Egy bináris csomagarchívumról ad információkat."

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

#. 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
#, fuzzy, no-wrap
msgid "B<--get-selections> [I<package-name-pattern>...]"
msgstr "B<dpkg-deb> B<-f>|B<--field> I<archívum> [I<ellenőrző-mező-név> ...]"

#. 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
#, fuzzy, no-wrap
msgid "B<--set-selections>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--clear-selections>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--print-architecture>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<--command-fd >I<n>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--help>"
msgstr "B<--help>, B<-h>"

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

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

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

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

#. 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 "B<--version>"

#. type: Plain text
#: dpkg.1:265
#, fuzzy
msgid "Display B<dpkg> version information."
msgstr "Kiírja a B<dpkg-deb> verziószámát."

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

#. type: Plain text
#: dpkg.1:268
#, fuzzy
msgid "See B<dpkg-deb>(1) for more information about the following actions."
msgstr ""
"A B<dpkg-deb> Debian archívumokat csomagol, kibont és információkat nyújt "
"róluk."

#. 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
#, fuzzy, no-wrap
msgid "OPTIONS"
msgstr "MÁS LEHETŐSÉGEK"

#. 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
#, fuzzy, no-wrap
msgid "B<-B>, B<--auto-deconfigure>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-R>, B<--recursive>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<-G>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--instdir=>I<dir>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--root=>I<dir>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy, no-wrap
msgid "B<-O>, B<--selected-only>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-E>, B<--skip-same-version>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--log=>I<filename>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<--no-debsig>"
msgstr "B<--new>"

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

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

#. 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
#, fuzzy, no-wrap
msgid "B<--triggers>"
msgstr "B<--new>"

#. 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 "I</etc/dpkg/dpkg.cfg>"

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

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

#. 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
#, fuzzy, no-wrap
msgid "I<control>"
msgstr "kontroll"

#. 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
#, fuzzy, no-wrap
msgid "B<HOME>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<PAGER>"
msgstr "B<--new>"

#. 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 ""
"Lásd a I</usr/share/doc/dpkg/THANKS> fájlt, melyben a B<dpkg> készítését "
"segítő személyek listája található."

#. 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
#, fuzzy
msgid "B<dpkg-architecture> [I<option>...] [I<command>]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-l>"
msgstr "B<--old>"

#. 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
#, fuzzy, no-wrap
msgid "B<-s>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-u>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-L>"
msgstr "B<--new>"

#. 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
#, fuzzy
msgid "Show the version and exit."
msgstr "Kiírja a B<dpkg-deb> verziószámát."

#. 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
#, fuzzy, no-wrap
msgid "B<-f>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "Debian architecture"
msgstr "Debian Project"

#. 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
#, fuzzy
msgid "eval \\`dpkg-architecture -u\\`"
msgstr "Debian Project"

#. 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
#, fuzzy
msgid "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. 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 "dpkg.cfg"

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

#. type: Plain text
#: dpkg.cfg.5:4
msgid "dpkg.cfg - dpkg configuration file"
msgstr "dpkg.cfg - dpkg konfigurációs fájl"

#. type: Plain text
#: dpkg.cfg.5:11
#, fuzzy
#| 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. Comments are "
#| "allowed by starting a line with a hash sign (\"B<#>\")."
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 ""
"E fájl tartalmazza a dpkg alapbeállításait. Minden sor 1 lehetőséget "
"tartalmaz, mely pontosan megfelel a sima parancssoros dpkg lehetőségeknek "
"kivéve a vezető kötőjeleket, melyek itt nincsenek. Megjegyzések egy sor "
"elején a (\"B<#>\") jellel lehetségesek."

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

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

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

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

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

#. 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
#, fuzzy
msgid "B<dpkg-buildflags> [I<option>...] [I<command>]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--dump>"
msgstr "B<--debug>, B<-D>"

#. 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
#, fuzzy, no-wrap
msgid "B<--list>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<--showformat=>I<format>"
msgid "B<--export=>I<format>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--get>I< flag>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<--origin>I< flag>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<vendor>"
msgstr "B<--showformat=>I<formátum>"

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

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

#. 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
#, fuzzy, no-wrap
msgid "B<user>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<env>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
#| msgid "I</etc/dpkg/dpkg.cfg>"
msgid "B</etc/dpkg/buildflags.conf>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dpkg-buildflags.1:125
#, fuzzy
#| msgid "dselect.cfg - dselect configuration file"
msgid "System wide configuration file."
msgstr "dselect.cfg - dselect konfigurációs fájl"

#. 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
#, fuzzy
#| msgid "dselect.cfg - dselect configuration file"
msgid "User configuration file."
msgstr "dselect.cfg - dselect konfigurációs fájl"

#. 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
#, fuzzy, no-wrap
msgid "B<format>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<relro>"
msgstr "B<--new>"

#. 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
#, fuzzy
msgid "dpkg-buildpackage - build binary or source packages from sources"
msgstr ""
"A B<dpkg-deb> Debian archívumokat csomagol, kibont és információkat nyújt "
"róluk."

#. type: Plain text
#: dpkg-buildpackage.1:8
#, fuzzy
msgid "B<dpkg-buildpackage> [I<option>...]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<1.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<2.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<3.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<4.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<5.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<6.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<7.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<8.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<9.>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-b>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-B>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-A>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-S>"
msgstr "B<--new>"

#. 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
#, fuzzy
msgid "B<--target=>I<target>"
msgstr "B<--showformat=>I<formátum>"

#. type: Plain text
#: dpkg-buildpackage.1:75
#, fuzzy
msgid "B<--target >I<target>"
msgstr "B<--showformat=>I<formátum>"

#. type: Plain text
#: dpkg-buildpackage.1:77
#, fuzzy
msgid "B<-T>I<target>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--as-root>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-si>"
msgstr "B<--new>"

#. type: TP
#: dpkg-buildpackage.1:92 dpkg-genchanges.1:42
#, fuzzy, no-wrap
msgid "B<-sa>"
msgstr "B<--new>"

#. type: TP
#: dpkg-buildpackage.1:94 dpkg-genchanges.1:45
#, fuzzy, no-wrap
msgid "B<-sd>"
msgstr "B<--new>"

#. type: TP
#: dpkg-buildpackage.1:96 dpkg-genchanges.1:49 dpkg-gencontrol.1:38
#: dpkg-gensymbols.1:377
#, fuzzy, no-wrap
msgid "B<-v>I<version>"
msgstr "B<--version>"

#. type: TP
#: dpkg-buildpackage.1:98 dpkg-genchanges.1:54
#, fuzzy, no-wrap
msgid "B<-C>I<changesdescription>"
msgstr "B< >E<lt>hosszú leírásE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<-j>I<jobs>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy, no-wrap
msgid "B<-D>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-d>"
msgstr "B<--old>"

#. type: Plain text
#: dpkg-buildpackage.1:133
msgid "Do not check build dependencies and conflicts."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:133
#, fuzzy, no-wrap
msgid "B<-nc>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-R>I<rules-file>"
msgstr "B<--fsys-tarfile>"

#. 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
#, fuzzy, no-wrap
msgid "B<-us>"
msgstr "B<--new>"

#. type: Plain text
#: dpkg-buildpackage.1:194
msgid "Do not sign the source package."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:194
#, fuzzy, no-wrap
msgid "B<-uc>"
msgstr "B<--new>"

#. 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
#, fuzzy
msgid "B<-I>I<[pattern]>"
msgstr "B<--version>"

#. type: Plain text
#: dpkg-buildpackage.1:203
msgid "B<-s>[B<nsAkurKUR>]"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:205
#, fuzzy
msgid "B<-z>, B<-Z>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<--showformat=>I<format>"
msgid "B<--source-option=>I<opt>"
msgstr "B<--showformat=>I<formátum>"

#. type: Plain text
#: dpkg-buildpackage.1:212
msgid "Pass option I<opt> to B<dpkg-source>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:212
#, fuzzy, no-wrap
msgid "B<--changes-option=>I<opt>"
msgstr "B< >E<lt>hosszú leírásE<gt>"

#. type: Plain text
#: dpkg-buildpackage.1:215
msgid "Pass option I<opt> to B<dpkg-genchanges>."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:219
#, fuzzy
msgid "B<--admindir >I<dir>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<-h>, B<--help>"
msgstr "B<--help>, B<-h>"

#. 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
#, fuzzy, no-wrap
msgid "Variables set by dpkg-architecture"
msgstr "Debian Project"

#. 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
#, fuzzy
msgid ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), B<dpkg-"
"genchanges>(1), B<fakeroot>(1), B<gpg>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. 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
#, fuzzy
msgid "B<dpkg-checkbuilddeps> [I<option>...] [I<control-file>]"
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy
msgid "B<dpkg-distaddfile> [I<option>...]I< filename section priority>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-f>I<fileslistfile>"
msgstr "B<--fsys-tarfile>"

#. 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 "dpkg-deb"

#. type: Plain text
#: dpkg-deb.1:4
msgid "dpkg-deb - Debian package archive (.deb) manipulation tool"
msgstr "dpkg-deb - Debian csomag archívum (.deb) kezelő eszköz"

#. type: Plain text
#: dpkg-deb.1:8
#, fuzzy
msgid "B<dpkg-deb> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. type: Plain text
#: dpkg-deb.1:12
msgid ""
"B<dpkg-deb> packs, unpacks and provides information about Debian archives."
msgstr ""
"A B<dpkg-deb> Debian archívumokat csomagol, kibont és információkat nyújt "
"róluk."

#. type: Plain text
#: dpkg-deb.1:16
msgid "Use B<dpkg> to install and remove packages from your system."
msgstr ""
"Csomagok telepítéséhez és eltávolításához a rendszerből a B<dpkg> programot "
"kell használni."

#. 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 ""
"A B<dpkg-deb> a B<dpkg>-val is hívható minden lehetéséggel, melyet át akarsz "
"adni a B<dpkg-deb>-nek. A B<dpkg> látja, hogy a B<dpkg-deb>-et akarod és el "
"fogja indítani."

#. type: TP
#: dpkg-deb.1:28
#, fuzzy, no-wrap
msgid "B<-b>, B<--build> I<directory> [I<archive>|I<directory>]"
msgstr "B<dpkg-deb> B<-b>|B<--build> I<könyvtár> [I<archívum>|I<könyvtár>]"

#. 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 ""
"Létrehoz egy Debian archívumot a I<könyvtár>-ban lévő fájlokból. A "
"I<könyvtár> egy B<DEBIAN> alkönyvtár kell legyen, mely egyaránt tartalmazza "
"az ellenőrző információs fájlokat és az ellenőrző fájlt magát. E könyvtár "
"I<nem> jelenik meg a bináris csomag fájlrendszer archívumában, a benne lévő "
"fájlok a bináris csomag ellenőrző információs területére kerülnek."

#. 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 ""
"A B<--nocheck> megadása nélkül, a B<dpkg-deb> elolvassa és értelmezi a "
"B<DEBIAN/control> fájlt. Nyelvtani és más hibákat ellenőriz és kiírja a "
"bináris csomag nevét. A B<dpkg-deb> ellenőrzi a karbantartói szkriptek "
"jogait és a B<DEBIAN> ellenőrző információs könyvtárban lévő más fájlokat."

#. 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 ""
"Ha nincs I<archívum> megadva, a B<dpkg-deb> a csomagot a I<directory>B<.deb> "
"fájlba készíti el."

#. type: Plain text
#: dpkg-deb.1:61
msgid "If the archive to be created already exists it will be overwritten."
msgstr "A már létező hasonló archívumot felülírja."

#. 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 ""
"Ha a második argumentum egy könyvtár, a B<dpkg-deb> a "
"I<csomag>B<_>I<verzió>B<_>I<architektúra>B<.deb>, vagy ha nincs "
"B<Architektúra> mező a csomag ellenőrző fájlban, a I<csomag>B<_>I<verzió>B<."
"deb> fájlba ír.  Ha nem fájl, hanem célkönyvtár van megadva, a B<--nocheck> "
"lehetőség nem használható (mivel a B<dpkg-deb>-nek el kell olvasni a csomag "
"ellenőrző fájlt a fájlnév meghatározásához)."

#. type: TP
#: dpkg-deb.1:77
#, fuzzy, no-wrap
msgid "B<-I>, B<--info> I<archive> [I<control-file-name>...]"
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. type: Plain text
#: dpkg-deb.1:80
msgid "Provides information about a binary package archive."
msgstr "Egy bináris csomagarchívumról ad információkat."

#. 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 ""
"Ha nincs megadva I<ellenőrző-fájl-név>, kiírja a csomag és ellenőrző fájlja "
"tartalmát"

#. 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 ""
"Ha meg van adva I<ellenőrző-fájl-név>, a B<dpkg-deb> a megadott sorrendben "
"mutat rájuk, és ha bármely összetevő hiányzik, azokról hibaüzenetet küld a "
"stderr-re és kilép 2-es kóddal."

#. type: TP
#: dpkg-deb.1:93
#, fuzzy, no-wrap
msgid "B<-W>, B<--show> I<archive>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. type: Plain text
#: dpkg-deb.1:100
#, fuzzy
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 ""
"Egy bináris csomagarchívumról ad információkat a B<--showformat> "
"argumentumban megadott formátumban. Az alap formátum kiírja a csomag nevét "
"és verzióját 1 sorban tabulátorral elválasztva."

#. type: TP
#: dpkg-deb.1:100
#, fuzzy, no-wrap
msgid "B<-f>, B<--field> I<archive> [I<control-field-name>...]"
msgstr "B<dpkg-deb> B<-f>|B<--field> I<archívum> [I<ellenőrző-mező-név> ...]"

#. type: Plain text
#: dpkg-deb.1:103
msgid "Extracts control file information from a binary package archive."
msgstr "Kiszedi az ellenőrző információs fájlt egy bináris csomagarchívumból"

#. 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 ""
"Ha nincsenek B<ellenőrző-fájl-mezők>k megadva, kiírja az egész ellenőrző "
"fájlt."

#. 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 ""
"Ha vannak, a B<dpkg-deb> kiírja tartalmukat az ellenőrző fájlban megadott "
"sorrendben. Ha több, mint 1 B<ellenőrző-fájl-mező> került megadásra, a "
"B<dpkg-deb> mezőnevükkel (és egy kettősponttal és szóközzel) azonosítja őket."

#. type: Plain text
#: dpkg-deb.1:118
msgid "No errors are reported for fields requested but not found."
msgstr "Nem ad hibajelet kért, de nem lelt mezőkre."

#. type: TP
#: dpkg-deb.1:118
#, fuzzy, no-wrap
msgid "B<-c>, B<--contents> I<archive>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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 ""
"Kilistázza a csomag archívum fájlrendszer fa archívum részét. Jelenleg a "
"B<tar> részletes lista formátumban teszi meg ezt."

#. type: TP
#: dpkg-deb.1:124
#, fuzzy, no-wrap
msgid "B<-x>, B<--extract> I<archive directory>"
msgstr "B<dpkg-deb> B<-e>|B<--control> I<archívum könyvtár>"

#. type: Plain text
#: dpkg-deb.1:128
msgid ""
"Extracts the filesystem tree from a package archive into the specified "
"directory."
msgstr ""
"Kibontja egy csomag archívum fájlrendszer fáját egy megadott könyvtárba."

#. 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 ""
"Egy csomag kibontása a gyökérkönyvtárba I<nem> ad helyes telepítést! A "
"B<dpkg> vagy valamely felülete használható csomagok telepítésére."

#. type: Plain text
#: dpkg-deb.1:138
#, fuzzy
msgid ""
"I<directory> (but not its parents) will be created if necessary, and its "
"permissions modified to match the contents of the package."
msgstr "Létrehozza a I<könyvtár>at (de szüleit nem), ha szükséges."

#. type: TP
#: dpkg-deb.1:138
#, fuzzy, no-wrap
msgid "B<-X>, B<--vextract> I<archive directory>"
msgstr "B<dpkg-deb> B<-e>|B<--control> I<archívum könyvtár>"

#. type: Plain text
#: dpkg-deb.1:145
#, fuzzy
msgid ""
"Is like B<--extract> (B<-x>)  with B<--verbose> (B<-v>)  which prints a "
"listing of the files extracted as it goes."
msgstr ""
"A B<--vextract> (B<-X>)  kiírja a kibontásra került fájlokat, a B<--extract> "
"(B<-x>)  csak hibánál ír."

#. type: TP
#: dpkg-deb.1:145
#, fuzzy, no-wrap
msgid "B<-R>, B<--raw-extract> I<archive directory>"
msgstr "B<dpkg-deb> B<-e>|B<--control> I<archívum könyvtár>"

#. type: Plain text
#: dpkg-deb.1:150
#, fuzzy
#| msgid ""
#| "Extracts the filesystem tree from a package archive into the specified "
#| "directory."
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 ""
"Kibontja egy csomag archívum fájlrendszer fáját egy megadott könyvtárba."

#. 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 "Létrehozza a célkönyvtárat (de szüleit nem), ha szükséges."

#. type: TP
#: dpkg-deb.1:152
#, fuzzy, no-wrap
msgid "B<--fsys-tarfile> I<archive>"
msgstr "B<dpkg-deb --fsys-tarfile> I<archívum>"

#. type: Plain text
#: dpkg-deb.1:161
#, fuzzy
#| 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."
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 ""
"Kibontja a fájlrendszer fa adatokat egy bináris csomagból és a szabvány "
"kimenetre küldi B<tar> formátumban. A B<tar>(1)-ral együtt egyes fájlok "
"kibontására használható egy csomag archívumból."

#. type: TP
#: dpkg-deb.1:161
#, fuzzy, no-wrap
msgid "B<-e>, B<--control> I<archive> [I<directory>]"
msgstr "B<dpkg-deb> B<-e>|B<--control> I<archívum könyvtár>"

#. type: Plain text
#: dpkg-deb.1:165
msgid ""
"Extracts the control information files from a package archive into the "
"specified directory."
msgstr ""
"Kiszedi a csomag információs fájlokat egy csomag archívumból a megadott "
"könyvtárba."

#. 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 ""
"Ha nincs megadva könyvtár a jelen könyvtár B<DEBIAN> alkönyvtárát fogja "
"használni."

#. type: TP
#: dpkg-deb.1:180
#, no-wrap
msgid "B<--showformat=>I<format>"
msgstr "B<--showformat=>I<formátum>"

#. 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 ""
"E lehetőség adja meg a B<--show> kimentének formátumát. A formátum egy "
"szöveg, melyet minden listázott csomag visszaad."

#. 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 ""
"Ez az argumentum egy szöveg, mely a \"${I<field-name>}\" formát használó "
"bármely állapotmezőre hivatkozhat, az érvényes mezők listája könnyen "
"előállítható a B<-I>-lel ugyanazon csomagon. A formázási lehetőségek teljes "
"magyarázata (ideértve az escape sorozatokat és mező oszlopokat) a B<dpkg-"
"query>(1) B<--showformat> lehetőségének magyarázatában található."

#. type: Plain text
#: dpkg-deb.1:196
msgid "The default for this field is \"${Package}\\et${Version}\\en\"."
msgstr "E mező alapértelmezettje: \"${Package}\\et${Version}\\en\"."

#. type: TP
#: dpkg-deb.1:196
#, fuzzy, no-wrap
msgid "B<-z>I<compress-level>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy, no-wrap
msgid "B<-Z>I<compress-type>"
msgstr "B<--version>"

#. 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 "B<--new>"

#. type: Plain text
#: dpkg-deb.1:210
msgid ""
"Ensures that B<dpkg-deb> builds a `new' format archive. This is the default."
msgstr "`Új' formátumú archívum használata. Ez az alap."

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

#. 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 ""
"A B<dpkg-deb>-et `régi' formátumú archívumra bírja. E régi archívum "
"formátumot nehezebben értik nem-Debian eszközök és elavult; egyetlen "
"használata olyan csomagok készítése, mely a 0.93.76-nál (1995 szeptember) "
"régebbi verziójú dpkg számára is érthető, mely csak i386 a.out-ként volt "
"kiadva."

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

#. 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 ""
"Tiltja egy tervezett archívum tartalom szokásos B<dpkg-deb --build> "
"ellenőrzését. Így bármilyen archívum készíthető, vagyis nem számít, milyen "
"hibákat tartalmaz."

#. type: TP
#: dpkg-deb.1:224 start-stop-daemon.8:255
#, fuzzy, no-wrap
msgid "B<-v>, B<--verbose>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<-D>, B<--debug>"
msgstr "B<--debug>, B<-D>"

#. type: Plain text
#: dpkg-deb.1:231
msgid "Enables debugging output. This is not very interesting."
msgstr "Hibajavító kimenet bekapcsolva. Nem túl érdekes."

#. 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 "B<dpkg-deb -I> I<csomag1>B<.deb> I<csomag2>B<.deb> hibát okoz."

#. 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 ""
"A B<dpkg-deb> önmagában nem használható telepítésre! A B<dpkg> programot "
"kell használni annak biztosításához, hogy minden fájl a helyére kerüljön, a "
"csomagok szkriptjei lefussanak és állapotuk és tartalmuk rögzítésre kerüljön."

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

#. type: TH
#: dpkg-divert.8:1
#, fuzzy, no-wrap
msgid "dpkg-divert"
msgstr "dpkg-deb"

#. 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
#, fuzzy
msgid "B<dpkg-divert> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "[B<--add>] I<file>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy, no-wrap
msgid "B<--remove>I< file>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--listpackage>I< file>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--truename>I< file>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--admindir>I< directory>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--divert>I< divert-to>"
msgstr "B<Priority:> E<lt>elsőbbségE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--local>"
msgstr "B<--old>"

#. 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
#, fuzzy, no-wrap
msgid "B<--package>I< package>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--quiet>"
msgstr "B<--new>"

#. type: Plain text
#: dpkg-divert.8:64
msgid "Quiet mode, i.e. no verbose output."
msgstr ""

#. type: TP
#: dpkg-divert.8:64
#, fuzzy, no-wrap
msgid "B<--rename>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--test>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "dpkg-genchanges"
msgstr "dpkg-deb"

#. type: Plain text
#: dpkg-genchanges.1:4
msgid "dpkg-genchanges - generate Debian .changes files"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:8
#, fuzzy
msgid "B<dpkg-genchanges> [I<option>...]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-b>, B<-B>, B<-A>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<-T>I<substvarsfile>"
msgstr "B<--fsys-tarfile>"

#. 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
#, fuzzy, no-wrap
msgid "B<-U>I<field>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy, no-wrap
msgid "B<-c>I<controlfile>"
msgstr "B<--control>, B<-e>"

#. 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
#, fuzzy, no-wrap
msgid "B<-q>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "dpkg-gencontrol"
msgstr "deb-control"

#. type: Plain text
#: dpkg-gencontrol.1:4
msgid "dpkg-gencontrol - generate Debian control files"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:8
#, fuzzy
msgid "B<dpkg-gencontrol> [I<option>...]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-is>, B<-ip>, B<-isp>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-O>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<debian/control>"
msgstr "deb-control"

#. 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
#, fuzzy, no-wrap
msgid "dpkg-gensymbols"
msgstr "deb-control"

#. 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
#, fuzzy
msgid "B<dpkg-gensymbols> [I<option>...]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy
msgid "debian/symbols.I<arch>"
msgstr "deb-control"

#. type: Plain text
#: dpkg-gensymbols.1:26
msgid "debian/I<package>.symbols"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:28
#, fuzzy
msgid "debian/symbols"
msgstr "deb-control"

#. 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
#, fuzzy, no-wrap
msgid "B<optional>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<arch=>I<architecture list>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<ignore-blacklist>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<c++>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<symver>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<regex>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-P>I<package-build-dir>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy, no-wrap
msgid "B<-e>I<library-file>"
msgstr "B<--fsys-tarfile>"

#. 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
#, fuzzy, no-wrap
msgid "B<-I>I<filename>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<-O>I<filename>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<-t>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-c>I<[0-4]>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<-a>I<arch>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<-V>"
msgstr "B<--new>"

#. 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
#, fuzzy
msgid "B<deb-symbols>(5), B<dpkg-shlibdeps>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. 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
#, fuzzy, no-wrap
#| msgid "B<Pre-Depends:> E<lt>package listE<gt>"
msgid "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"
msgstr "B<Pre-Depends:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "dpkg-mergechangelogs"
msgstr "dpkg-deb"

#. 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
#, fuzzy
msgid ""
"B<dpkg-mergechangelogs> [I<option>...] I<old> I<new-a> I<new-b> [I<out>]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "LIMITATIONS"
msgstr "MŰVELETI LEHETŐSÉGEK"

#. 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
#, fuzzy, no-wrap
msgid "dpkg-name"
msgstr "dpkg-deb"

#. 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
#, fuzzy
msgid "B<dpkg-name> [I<option>...] [B<-->] I<file>..."
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-a>, B<--no-architecture>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-name.1:34
msgid "The destination filename will not have the architecture information."
msgstr ""

#. type: TP
#: dpkg-name.1:34
#, fuzzy, no-wrap
msgid "B<-k>, B<--symlink>"
msgstr "B<--version>"

#. type: Plain text
#: dpkg-name.1:37
msgid "Create a symlink, instead of moving."
msgstr ""

#. type: TP
#: dpkg-name.1:37
#, fuzzy, no-wrap
msgid "B<-o>, B<--overwrite>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<-s>, B<--subdir> [I<dir>]"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<-c>, B<--create-dir>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-v>, B<--version>"
msgstr "B<--version>"

#. 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
#, fuzzy
msgid ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. 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
#, fuzzy
msgid "B<dpkg-parsechangelog> [I<option>...]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-L>I<libdir>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy, no-wrap
msgid "B<--format>I< outputformat>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<Source:>I< pkg-name>"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:56
#, fuzzy, no-wrap
msgid "B<Version:>I< version>"
msgstr "B<Version:> E<lt>verzióE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:58
#, fuzzy, no-wrap
msgid "B<Distribution:>I< target-distribution>"
msgstr "B<Description:> E<lt>rövid leírásE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:60
#, fuzzy, no-wrap
msgid "B<Urgency:>I< urgency>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:63
msgid "The highest urgency of all included entries is used."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:63
#, fuzzy, no-wrap
msgid "B<Maintainer:>I< author>"
msgstr "B<Maintainer:> E<lt>teljes.név emailE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:65
#, fuzzy, no-wrap
msgid "B<Date:>I< date>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:67
#, fuzzy, no-wrap
msgid "B<Closes:>I< bug-number>"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:70
msgid "The Closes fields of all included entries are merged."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:70
#, fuzzy, no-wrap
msgid "B<Changes:>I< changelog-entries>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--since> I<version>, B<-s>I<version>,B< -v>I<version>"
msgstr "B<--show>, B<-W>"

#. type: Plain text
#: dpkg-parsechangelog.1:87
msgid "include all changes later than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:87
#, fuzzy, no-wrap
msgid "B<--until> I<version>, B<-u>I<version>"
msgstr "B<--version>"

#. type: Plain text
#: dpkg-parsechangelog.1:90
msgid "include all changes earlier than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:90
#, fuzzy, no-wrap
msgid "B<--from> I<version>, B<-f>I<version>"
msgstr "B<--version>"

#. type: Plain text
#: dpkg-parsechangelog.1:93
msgid "include all changes equal or later than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:93
#, fuzzy, no-wrap
msgid "B<--to> I<version>, B<-t>I<version>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--count> I<number>, B<-c>I<number>, B<-n>I<number>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<--offset> I<number>, B<-o>I<number>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<--all>"
msgstr "B<--old>"

#. 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
#, fuzzy, no-wrap
msgid "dpkg-query"
msgstr "dpkg-deb"

#. 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
#, fuzzy, no-wrap
msgid "B<-l>, B<--list> [I<package-name-pattern>...]"
msgstr "B<dpkg-deb> B<-f>|B<--field> I<archívum> [I<ellenőrző-mező-név> ...]"

#. 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
#, fuzzy, no-wrap
msgid "B<-W>, B<--show> [I<package-name-pattern>...]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-s>, B<--status> I<package-name>..."
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-L>, B<--listfiles> I<package-name>..."
msgstr "B<dpkg-deb> B<-f>|B<--field> I<archívum> [I<ellenőrző-mező-név> ...]"

#. 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
#, fuzzy, no-wrap
msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<-S>, B<--search> I<filename-search-pattern>..."
msgstr "B<dpkg-deb> B<-f>|B<--field> I<archívum> [I<ellenőrző-mező-név> ...]"

#. 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
#, fuzzy, no-wrap
msgid "B<-p>, B<--print-avail> I<package-name>..."
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<-f>, B<--showformat=>I<format>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-t>, B<--type> I<type>"
msgstr "B<--info>, B<-I>"

#. type: Plain text
#: dpkg-scanpackages.1:75
msgid "Scan for *.I<type> packages, instead of *.deb."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:75
#, fuzzy, no-wrap
msgid "B<-u>, B<--udeb>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<-e>, B<--extra-override> I<file>"
msgstr "B<--help>, B<-h>"

#. 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
#, fuzzy, no-wrap
msgid "B<-a>, B<--arch> I<arch>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<-m>, B<--multiversion>"
msgstr "B<--version>"

#. type: Plain text
#: dpkg-scanpackages.1:91
msgid "Include all found packages in the output."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:91
#, fuzzy, no-wrap
msgid "B<-M>, B<--medium> I<id-string>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy
msgid ""
"B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<deb-extra-override>(5), "
"B<dpkg-scansources>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

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

#. type: Plain text
#: dpkg-scansources.1:4
#, fuzzy
msgid "dpkg-scansources - create Sources index files"
msgstr ""
"A B<dpkg-deb> Debian archívumokat csomagol, kibont és információkat nyújt "
"róluk."

#. 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
#, fuzzy, no-wrap
msgid "B<-n>, B<--no-sort>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<--debug>"
msgstr "B<--debug>, B<-D>"

#. type: Plain text
#: dpkg-scansources.1:66
msgid "Turn debugging on."
msgstr ""

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

#. type: Plain text
#: dpkg-scansources.1:77
msgid "Roderick Schertler E<lt>roderick@argon.orgE<gt>"
msgstr ""

#. type: TH
#: dpkg-shlibdeps.1:1
#, fuzzy, no-wrap
msgid "dpkg-shlibdeps"
msgstr "dpkg készlet"

#. type: Plain text
#: dpkg-shlibdeps.1:4
msgid "dpkg-shlibdeps - generate shared library substvar dependencies"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:8
#, fuzzy
msgid "B<dpkg-shlibdeps> [I<option>...] [B<-e>]I<executable> [I<option>...]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "/etc/dpkg/shlibs.override"
msgstr "I</etc/dpkg/dselect.cfg>"

#. 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
#, fuzzy, no-wrap
msgid "/etc/dpkg/shlibs.default"
msgstr "I</etc/dpkg/dselect.cfg>"

#. 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
#, fuzzy, no-wrap
msgid "B<-v>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-x>I<package>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<-S>I<pkgbuilddir>"
msgstr "B<--field>, B<-f>"

#. 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
#, fuzzy
msgid "B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. type: Plain text
#: dpkg-shlibdeps.1:335
msgid "Copyright \\(co 2006 Frank Lichtenheld"
msgstr ""

#. type: TH
#: dpkg-source.1:2
#, fuzzy, no-wrap
msgid "dpkg-source"
msgstr "dpkg készlet"

#. type: Plain text
#: dpkg-source.1:5
#, fuzzy
msgid "dpkg-source - Debian source package (.dsc) manipulation tool"
msgstr ""
"A B<dpkg-deb> Debian archívumokat csomagol, kibont és információkat nyújt "
"róluk."

#. type: Plain text
#: dpkg-source.1:9
#, fuzzy
msgid "B<dpkg-source> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. type: Plain text
#: dpkg-source.1:13
#, fuzzy
msgid "B<dpkg-source> packs and unpacks Debian source archives."
msgstr ""
"A B<dpkg-deb> Debian archívumokat csomagol, kibont és információkat nyújt "
"róluk."

#. 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
#, fuzzy, no-wrap
msgid "B<-b> I<directory> [I<format-specific-parameters>]"
msgstr "B<dpkg-deb> B<-b>|B<--build> I<könyvtár> [I<archívum>|I<könyvtár>]"

#. 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
#, fuzzy, no-wrap
msgid "B<--print-format> I<directory>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--before-build> I<directory>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--after-build> I<directory>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--commit> [I<directory>] ..."
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--format=>I<value>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "GENERIC EXTRACT OPTIONS"
msgstr "MÁS LEHETŐSÉGEK"

#. type: TP
#: dpkg-source.1:216
#, fuzzy, no-wrap
msgid "B<--no-copy>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<--no-check>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<-sk>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-sp>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-su>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-sr>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-ss>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-sn>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-sa> or B<-sA>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<--skip-debianization>"
msgstr "B<--version>"

#. 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
#. 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
#. 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
#, fuzzy, no-wrap
msgid "B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]"
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<--allow-version-of-quilt-db=>I<version>"
msgstr "B<--version>"

# type: Plain text
#. 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
#, fuzzy, no-wrap
msgid "B<--include-removal>"
msgstr "B<--old>"

#. 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
#, fuzzy, no-wrap
msgid "B<--include-binaries>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<--no-preparation>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--single-debian-patch>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--unapply-patches>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--auto-commit>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<--skip-patches>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--target-format=>I<value>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--git-ref=>I<ref>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--git-depth=>I<number>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "debian/source/include-binaries"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "debian/source/options"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "debian/source/local-options"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "debian/source/local-patch-header"
msgstr "B<--licence>"

#. type: SS
#: dpkg-source.1:709
#, fuzzy, no-wrap
msgid "debian/source/patch-header"
msgstr "B<--licence>"

#. 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
#, fuzzy
msgid "B<dpkg-deb>(1), B<dpkg>(1), B<dselect>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

#. type: Plain text
#: dpkg-source.1:736
msgid "Copyright \\(co 2008-2011 Rapha\\[:e]l Hertzog"
msgstr ""

#. type: TH
#: dpkg-split.1:2
#, fuzzy, no-wrap
msgid "dpkg-split"
msgstr "dpkg készlet"

#. type: Plain text
#: dpkg-split.1:5
#, fuzzy
msgid "dpkg-split - Debian package archive split/join tool"
msgstr "dpkg-deb - Debian csomag archívum (.deb) kezelő eszköz"

#. type: Plain text
#: dpkg-split.1:9
#, fuzzy
msgid "B<dpkg-split> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-s>, B<--split> I<complete-archive> [I<prefix>]"
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<-j>, B<--join> I<part>..."
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-I>, B<--info> I<part>..."
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<-l>, B<--listq>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<-d>, B<--discard> [I<package>...]"
msgstr "B<dpkg-deb> B<-f>|B<--field> I<archívum> [I<ellenőrző-mező-név> ...]"

#. 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
#, fuzzy, no-wrap
msgid "B<-S>, B<--partsize> I<kibibytes>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-Q>, B<--npquiet>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--msdos>"
msgstr "B<--old>"

#. 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
#, fuzzy
msgid "B<deb>(5), B<deb-control>(5), B<dpkg-deb>(1), B<dpkg>(1)."
msgstr "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."

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

#. type: TH
#: dpkg-statoverride.8:1
#, fuzzy, no-wrap
msgid "Debian project"
msgstr "Debian Project"

#. type: Plain text
#: dpkg-statoverride.8:4
msgid "dpkg-statoverride - override ownership and mode of files"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:8
#, fuzzy
msgid "B<dpkg-statoverride> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--force>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<--update>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "dpkg-trigger"
msgstr "dpkg-deb"

#. type: Plain text
#: dpkg-trigger.1:4
msgid "dpkg-trigger - a package trigger utility"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:8
#, fuzzy
msgid "B<dpkg-trigger> [I<option>...] I<trigger-name>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. type: Plain text
#: dpkg-trigger.1:11
#, fuzzy
msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

# type: Plain text
#. 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
#, fuzzy, no-wrap
msgid "B<--check-supported>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<--by-package=>I<package>"
msgstr "B<Package:> E<lt>csomag névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--no-await>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--no-act>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-trigger.1:59
msgid "Just test, do not actually change anything."
msgstr ""

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

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

#. type: Plain text
#: dpkg-vendor.1:4
msgid "dpkg-vendor - queries information about distribution vendors"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:8
#, fuzzy
msgid "B<dpkg-vendor> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--is>I< vendor>"
msgstr "B<--showformat=>I<formátum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--derives-from>I< vendor>"
msgstr "B<Priority:> E<lt>elsőbbségE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--query>I< field>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--vendor>I< vendor>"
msgstr "B<Priority:> E<lt>elsőbbségE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "dselect"
msgstr "dselect.cfg"

#. type: Plain text
#: dselect.1:4
#, fuzzy
msgid "dselect - Debian package management frontend"
msgstr "deb-control - Debian csomag fő kontroll fájl formátum"

#. type: Plain text
#: dselect.1:8
#, fuzzy
msgid "B<dselect> [I<option>...] [I<action>]"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
#| msgid "B<--debug>, B<-D>"
msgid "B<--debug>I< file >|I< >B<-D>I<file>"
msgstr "B<--debug>, B<-D>"

#. type: Plain text
#: dselect.1:52
msgid "Turn on debugging. Debugging information is sent to I<file>."
msgstr ""

#. type: TP
#: dselect.1:52
#, fuzzy, no-wrap
msgid "B<--expert>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<infohead>"
msgstr "B<--nocheck>"

#. 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
#, fuzzy, no-wrap
msgid "B<infodesc>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dselect.1:90
msgid "The package's short description."
msgstr ""

#. type: TP
#: dselect.1:90
#, fuzzy, no-wrap
msgid "B<info>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "select"
msgstr "dselect.cfg"

#. 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
#, fuzzy
msgid "Quit B<dselect>"
msgstr "B<dselect>(1)."

#. 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 "dselect.cfg"

#. type: TH
#: dselect.cfg.5:1
#, fuzzy, no-wrap
msgid "2011-07-03"
msgstr "2006-02-28"

#. type: Plain text
#: dselect.cfg.5:4
msgid "dselect.cfg - dselect configuration file"
msgstr "dselect.cfg - dselect konfigurációs fájl"

#. type: Plain text
#: dselect.cfg.5:11
#, fuzzy
#| msgid ""
#| "This file contains default options for dselect. Each line contains a "
#| "single option which is exactly the same as a normal commandline option "
#| "for dselect except for the leading dashes which are not used here. "
#| "Comments are allowed by starting a line with a hash sign (\"B<#>\")."
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 ""
"E fájl tartalmazza a dselect alapbeállításait. Minden sor 1 lehetőséget "
"tartalmaz, mely pontosan megfelel a sima parancssoros dpkg lehetőségeknek "
"kivéve a vezető kötőjeleket, melyek itt nincsenek. Megjegyzések egy sor "
"elején a (\"B<#>\") jellel lehetségesek."

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

#. type: Plain text
#: dselect.cfg.5:16
msgid "I</etc/dpkg/dselect.cfg>"
msgstr "I</etc/dpkg/dselect.cfg>"

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

#. 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 ""
"Lásd a I</usr/share/doc/dpkg/THANKS> fájlt, melyben a B<dselect> készítését "
"segítő személyek listája található."

#. type: Plain text
#: dselect.cfg.5:24
msgid "B<dselect>(1)."
msgstr "B<dselect>(1)."

#. 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
#, fuzzy
msgid "B<start-stop-daemon> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-S>, B<--start> [B<-->] I<arguments>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<-K>, B<--stop>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-T>, B<--status>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-H>, B<--help>"
msgstr "B<--help>, B<-h>"

#. type: Plain text
#: start-stop-daemon.8:77
msgid "Show usage information and exit."
msgstr ""

#. type: TP
#: start-stop-daemon.8:77
#, fuzzy, no-wrap
msgid "B<-V>, B<--version>"
msgstr "B<--version>"

#. type: Plain text
#: start-stop-daemon.8:80
#, fuzzy
msgid "Show the program version and exit."
msgstr "Kiírja a B<dpkg-deb> verziószámát."

#. type: SH
#: start-stop-daemon.8:81
#, fuzzy, no-wrap
msgid "MATCHING OPTIONS"
msgstr "MŰVELETI LEHETŐSÉGEK"

#. 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
#, fuzzy, no-wrap
msgid "B<-s>, B<--signal> I<signal>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<-a>, B<--startas> I<pathname>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<-t>, B<--test>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-o>, B<--oknodo>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-q>, B<--quiet>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<-c>, B<--chuid> I<username>|I<uid>[B<:>I<group>|I<gid>]"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-r>, B<--chroot> I<root>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-d>, B<--chdir> I<path>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<-b>, B<--background>"
msgstr "B<--build>, B<-b>"

#. 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
#, fuzzy, no-wrap
msgid "B<-I>, B<--iosched> I<class>B<:>I<priority>"
msgstr "B<dpkg-deb> B<-I>|B<--info> I<archívum> [I<ellenőrző-fájl-név> ..]"

#. 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
#, fuzzy, no-wrap
msgid "B<-k>, B<--umask> I<mask>"
msgstr "B<--show>, B<-W>"

#. 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
#, fuzzy, no-wrap
msgid "B<-m>, B<--make-pidfile>"
msgstr "B<--help>, B<-h>"

#. 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
#, fuzzy
msgid "B<update-alternatives> [I<option>...] I<command>"
msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#. 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
#, fuzzy, no-wrap
msgid "B<--auto> I<name>"
msgstr "B<--info>, B<-I>"

#. 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
#, fuzzy, no-wrap
msgid "B<--display> I<name>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<--get-selections>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--query> I<name>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<--list> I<name>"
msgstr "B<--info>, B<-I>"

#. type: Plain text
#: update-alternatives.8:312
msgid "Display all targets of the link group."
msgstr ""

#. type: TP
#: update-alternatives.8:312
#, fuzzy, no-wrap
msgid "B<--config> I<name>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<--altdir>I< directory>"
msgstr "B<Section:> E<lt>szakaszE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<--log>I< file>"
msgstr "B<--licence>"

#. 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
#, fuzzy, no-wrap
msgid "B<--skip-auto>"
msgstr "B<--new>"

#. 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
#, fuzzy, no-wrap
msgid "B<--verbose>"
msgstr "B<--version>"

#. 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
#, fuzzy, no-wrap
msgid "B<Link:>I< link>"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. type: Plain text
#: update-alternatives.8:391
msgid "The generic name of the alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:391
#, fuzzy, no-wrap
msgid "B<Status:>I< status>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Best:>I< best-choice>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Value:>I< currently-selected-alternative>"
msgstr "B<Source:> E<lt>forrás névE<gt>"

#. 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
#, fuzzy, no-wrap
msgid "B<Priority:>I< priority-value>"
msgstr "B<Priority:> E<lt>elsőbbségE<gt>"

#. type: Plain text
#: update-alternatives.8:411
msgid "Value of the priority of this alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:411
#, fuzzy, no-wrap
msgid "B<Slaves:>I< list-of-slaves>"
msgstr "B<Replaces:> E<lt>csomag listaE<gt>"

#. 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
#, fuzzy
msgid ""
"This is free documentation; see the GNU General Public Licence version 2 or "
"later for copying conditions. There is NO WARRANTY."
msgstr ""
"A B<dpkg-deb> és e manoldal szerzője Ian Jackson.  Ő adta hozzá a Copyright "
"(C)1995-1996 bejegyzést és adta ki GNU General Public Licence alatt; NINCS "
"GARANCIA. Lásd a I</usr/share/doc/dpkg/copyright> és I</usr/share/common-"
"licenses/GPL> fájlt a részletekért."

#. type: Plain text
#: update-alternatives.8:510
msgid "B<ln>(1), FHS, the Filesystem Hierarchy Standard."
msgstr ""

#, fuzzy
#~ msgid "2009-02-27"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2011-04-29"
#~ msgstr "2006-02-28"

#~ msgid "2006-02-28"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-03-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-07-16"
#~ msgstr "2006-06-17"

#, fuzzy
#~ msgid "2009-03-15"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2011-04-27"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2011-07-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-04-18"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "dselect.cfg - dselect configuration file"
#~ msgid "Package maintainer configuration file."
#~ msgstr "dselect.cfg - dselect konfigurációs fájl"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-07-29"
#~ msgstr "2006-02-28"

#~ msgid "B<Package:> E<lt>package nameE<gt>"
#~ msgstr "B<Package:> E<lt>csomag névE<gt>"

#, fuzzy
#~ msgid "2010-11-22"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "B<Source:> E<lt>source nameE<gt>"
#~ msgid "B<Multi-Arch:> E<lt>same|foreign|allowedE<gt> "
#~ msgstr "B<Source:> E<lt>forrás névE<gt>"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-01-28"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-08-18"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--new>, B<--old>"
#~ msgstr "B<--info>, B<-I>"

#, fuzzy
#~ msgid "2009-08-15"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-11-21"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2010-03-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-10-12"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-08-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2010-04-16"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-05-19"
#~ msgstr "2006-06-17"

#, fuzzy
#~ msgid "2009-10-01"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-06-26"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-05-10"
#~ msgstr "2006-06-17"

#, fuzzy
#~ msgid "B<--admindir>I< E<lt>directoryE<gt>>"
#~ msgstr "B<Section:> E<lt>szakaszE<gt>"

#, fuzzy
#~ msgid "2009-03-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-11-11"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-02-26"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-04-13"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-10-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2010-04-11"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-11-12"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--licence>, B<--license>"
#~ msgstr "B<--licence>"

#, fuzzy
#~ msgid "2009-06-13"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-01-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--license>, B<--licence>"
#~ msgstr "B<--licence>"

#, fuzzy
#~ msgid "B<-l>, B<--license>"
#~ msgstr "B<--licence>"

#, fuzzy
#~ msgid "2009-09-06"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<-I>[I<file-pattern>]"
#~ msgstr "B<--licence>"

#, fuzzy
#~ msgid "2009-08-20"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--licence>|B<--license>"
#~ msgstr "B<--licence>"

#, fuzzy
#~ msgid "B<-h>"
#~ msgstr "B<--new>"

#, fuzzy
#~ msgid "B<--without-quilt>"
#~ msgstr "B<--new>"

#, fuzzy
#~ msgid "2008-04-09"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-03-06"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-06-12"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-01-04"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-02-18"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--remove>"
#~ msgstr "B<--new>"

#, fuzzy
#~ msgid "B<--infodir=>I<infodir>"
#~ msgstr "B<--showformat=>I<formátum>"

#, fuzzy
#~ msgid "B<--keep-old>"
#~ msgstr "B<--old>"

#, fuzzy
#~ msgid "B<emacs>(1), B<info>(1), B<gzip(1).>"
#~ msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#, fuzzy
#~ msgid "2007-01-24"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--unsafe>"
#~ msgstr "B<--new>"

#, fuzzy
#~ msgid "2008-01-30"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<Error:> E<lt>error detailsE<gt>"
#~ msgstr "B<Priority:> E<lt>elsőbbségE<gt>"

#, fuzzy
#~ msgid "2007-10-06"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-03-14"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<-E>"
#~ msgstr "B<--new>"

#, fuzzy
#~ msgid "B<-W>"
#~ msgstr "B<--new>"

#, fuzzy
#~ msgid "2007-09-08"
#~ msgstr "2006-02-28"

#~ msgid ""
#~ "There is no authentication on B<.deb> files; in fact, there isn't even a "
#~ "straightforward checksum."
#~ msgstr ""
#~ "Nincs hitelesítés a B<deb> fájlokhoz; illetve nincs ellenőrző összeg. (Ez "
#~ "megoldva - a fordító)"

#, fuzzy
#~ msgid "2008-03-02"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-01-13"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-03-25"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-03-16"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-04-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-01-03"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-09-24"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<-b> I<directory> [I<orig-directory>|I<orig-targz>|\\(aq\\(aq]"
#~ msgstr "B<dpkg-deb> B<-b>|B<--build> I<könyvtár> [I<archívum>|I<könyvtár>]"

#, fuzzy
#~ msgid "2007-03-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-09-28"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid ""
#~ "See I</usr/share/doc/dpkg/THANKS> for the list of people who have\n"
#~ "contributed to B<dpkg>.\n"
#~ msgstr ""
#~ "Lásd a I</usr/share/doc/dpkg/THANKS> fájlt, melyben a B<dpkg> készítését "
#~ "segítő személyek listája található."

#, fuzzy
#~ msgid "2007-08-31"
#~ msgstr "2006-06-17"

#, fuzzy
#~ msgid "2007-05-15"
#~ msgstr "2006-06-17"

#, fuzzy
#~ msgid "B<dpkg --help>"
#~ msgstr "B<--help>, B<-h>"

#, fuzzy
#~ msgid "B<dpkg --version>"
#~ msgstr "B<--version>"

#, fuzzy
#~ msgid ""
#~ "B<dpkg-deb> and this manpage were written by Ian Jackson.  They are "
#~ "Copyright (C) 1995-1996 by him and released under the GNU General Public "
#~ "Licence version 2 or later; there is NO WARRANTY. See I</usr/share/doc/"
#~ "dpkg/copyright> and I</usr/share/common-licenses/GPL> for details."
#~ msgstr ""
#~ "A B<dpkg-deb> és e manoldal szerzője Ian Jackson.  Ő adta hozzá a "
#~ "Copyright (C)1995-1996 bejegyzést és adta ki GNU General Public Licence "
#~ "alatt; NINCS GARANCIA. Lásd a I</usr/share/doc/dpkg/copyright> és I</usr/"
#~ "share/common-licenses/GPL> fájlt a részletekért."

#, fuzzy
#~ msgid ""
#~ "B<dpkg-split> and this manpage were written by Ian Jackson. They are "
#~ "Copyright (C) 1995-1996 by him and released under the GNU General Public "
#~ "Licence version 2 or later; there is NO WARRANTY. See I</usr/share/doc/"
#~ "dpkg/copyright> and I</usr/share/common-licenses/GPL> for details."
#~ msgstr ""
#~ "A B<dpkg-deb> és e manoldal szerzője Ian Jackson.  Ő adta hozzá a "
#~ "Copyright (C)1995-1996 bejegyzést és adta ki GNU General Public Licence "
#~ "alatt; NINCS GARANCIA. Lásd a I</usr/share/doc/dpkg/copyright> és I</usr/"
#~ "share/common-licenses/GPL> fájlt a részletekért."

#, fuzzy
#~ msgid "2006-04-09"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-03-13"
#~ msgstr "2006-06-17"

#, fuzzy
#~ msgid "B<date>(1)."
#~ msgstr "B<dpkg>(1)."

#, fuzzy
#~ msgid "2006-05-23"
#~ msgstr "2006-02-28"

#~ msgid "B<dpkg-deb> B<-W>|B<--show> [B<--showformat>=I<format>] I<archive>"
#~ msgstr ""
#~ "B<dpkg-deb> B<-W>|B<--show> [B<--showformat>=I<formátum>] I<archívum>"

#~ msgid ""
#~ "B<dpkg-deb> B<-x>|B<--extract>|B<-X>|B<--vextract> I<archive directory>"
#~ msgstr ""
#~ "B<dpkg-deb> B<-x>|B<--extract>|B<-X>|B<--vextract> I<archívum könyvtár>"

#~ msgid ""
#~ "You can specify the compression level used by adding a B<-z#> option.  "
#~ "B<dpkg-deb> will pass that option on to gzip."
#~ msgstr ""
#~ "A B<-z#> lehetőséggel megadható a tömörítási szint. A B<dpkg-deb> átadja "
#~ "ezt a gzip-nek.."

#~ msgid "B<--info>, B<-I>"
#~ msgstr "B<--info>, B<-I>"

#~ msgid "B<--show>, B<-W>"
#~ msgstr "B<--show>, B<-W>"

#~ msgid "B<--field>, B<-f>"
#~ msgstr "B<--field>, B<-f>"

#~ msgid "B<--contents>, B<-c>"
#~ msgstr "B<--contents>, B<-c>"

#~ msgid "B<--extract>, B<-x>, B<--vextract>, B<-X>"
#~ msgstr "B<--extract>, B<-x>, B<--vextract>, B<-X>"

#~ msgid "B<--fsys-tarfile>"
#~ msgstr "B<--fsys-tarfile>"

#~ msgid "B<--control>, B<-e>"
#~ msgstr "B<--control>, B<-e>"

#~ msgid "B<--help>, B<-h>"
#~ msgstr "B<--help>, B<-h>"

#~ msgid ""
#~ "Prints B<dpkg-deb>'s usage message, giving a summary of its options and "
#~ "their uses."
#~ msgstr ""
#~ "Kiírja a B<dpkg-deb> használatát, megadva lehetőségei és azok használata "
#~ "összefoglalóját."

#~ msgid "Prints B<dpkg-deb>'s version number."
#~ msgstr "Kiírja a B<dpkg-deb> verziószámát."

#~ msgid ""
#~ "Prints information about B<dpkg-deb>'s copyright licensing and lack of "
#~ "warranty. (The American spelling B<--license> is also supported)."
#~ msgstr ""
#~ "Kiírja a B<dpkg-deb> szerzői jogi információit, a felhasználói engedélyt "
#~ "(licenc) és a garancia hiányát. (Az amerikai B<--license> helyesírás is "
#~ "támogatott.) "

#~ msgid "OTHER OPTIONS"
#~ msgstr "MÁS LEHETŐSÉGEK"

#, fuzzy
#~ msgid "B<-h, --help>"
#~ msgstr "B<--help>, B<-h>"

#, fuzzy
#~ msgid "B<dpkg-query> B<--licence>|B<--license>"
#~ msgstr "B<dpkg-deb> B<-c>|B<--contents> I<archívum>"

#, fuzzy
#~ msgid "COMMON OPTIONS"
#~ msgstr "MŰVELETI LEHETŐSÉGEK"

#, fuzzy
#~ msgid "dpkg-SOURCE OPTIONS"
#~ msgstr "MÁS LEHETŐSÉGEK"

#, fuzzy
#~ msgid "B<-x>"
#~ msgstr "B<--new>"

#, fuzzy
#~ msgid "B<-IE<lt>filenameE<gt>>"
#~ msgstr "B<Source:> E<lt>forrás névE<gt>"

#, fuzzy
#~ msgid "B<--join>, B<-j>"
#~ msgstr "B<--info>, B<-I>"

#, fuzzy
#~ msgid "B<--discard>, B<-d>"
#~ msgstr "B<--build>, B<-b>"

#, fuzzy
#~ msgid ""
#~ "Prints B<dpkg-split>'s usage message, giving a summary of its options and "
#~ "their uses."
#~ msgstr ""
#~ "Kiírja a B<dpkg-deb> használatát, megadva lehetőségei és azok használata "
#~ "összefoglalóját."

#, fuzzy
#~ msgid "Prints B<dpkg-split>'s version number."
#~ msgstr "Kiírja a B<dpkg-deb> verziószámát."

#, fuzzy
#~ msgid ""
#~ "Prints information about B<dpkg-split>'s copyright licensing and lack of "
#~ "warranty. (The American spelling B<--license> is also supported.)"
#~ msgstr ""
#~ "Kiírja a B<dpkg-deb> szerzői jogi információit, a felhasználói engedélyt "
#~ "(licenc) és a garancia hiányát. (Az amerikai B<--license> helyesírás is "
#~ "támogatott.) "

#, fuzzy
#~ msgid "B<--npquiet>, B<-Q>"
#~ msgstr "B<--build>, B<-b>"

#, fuzzy
#~ msgid "2007-07-18"
#~ msgstr "2006-06-17"
