# Translation of dpkg man pages to Polish
# Copyright (C) 1999 Software in the Public Interest, Inc.
# This file is distributed under the same license as the dpkg package.
#
# Robert Luberda <robert@debian.org>, 2006-2008
# Wiktor Wandachowicz <siryes@gmail.com>, 2008-2009
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.15.4\n"
"POT-Creation-Date: 2011-10-14 07:11+0300\n"
"PO-Revision-Date: 2010-03-07 22:18+0100\n"
"Last-Translator: Wiktor Wandachowicz <siryes@gmail.com>\n"
"Language-Team: Polish <debian-l10n-polish@lists.debian.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

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

#. 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 "2007-03-07"
msgid "2011-08-14"
msgstr "2007-03-07"

#. 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 "Projekt Debiana"

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

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

#. 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 "SKŁADNIA"

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

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

#. 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 ""
"Format B<.deb> jest formatem pliku binarnego pakietu Debiana. Jest rozumiany "
"przez dpkg 0.93.76 i późniejsze i domyślnie generowany przez wszystkie "
"wersje dpkg większe niż 1.2.0 i wszystkie wersje i386/ELF począwszy od "
"1.1.1elf."

#. 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 ""
"Opisany tu format jest używany od wersji 0.93 Debiana; szczegóły starego "
"formatu są opisane w B<dpkg-deb>(5)."

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

#. 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 ""
"Plik ten jest archiwum B<ar> mającym liczbę magiczną z B<!E<lt>archE<gt>>. "
"Nazwy plików mogą zawierać kończący znak ukośnika."

#. 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 ""
"Aktualnie dozwolone archiwa B<tar> mogą mieć: format w starym stylu (v7), "
"poprzedzający POSIX format ustar, podzbiór formatu GNU (jedynie długie "
"ścieżki i długie nazwy dowiązań w nowym stylu, wspierane od dpkg 1.4.1.17), "
"oraz zgodny z POSIX format ustar (długie nazwy wspierane od dpkg 1.15.0). "
"Nieznane flagi typów tar są uważane za błąd."

#. 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 ""
"Pierwszy składnik nazywa się B<debian-binary> i zawiera serię linii "
"rozdzielonych znakami nowej linii. Obecnie plik ten zawiera tylko jedną "
"linię - numer wersji formatu, który - w czasie pisania tej strony "
"podręcznika - wynosił B<2.0>. Programy obsługujące archiwa w nowym formacie "
"powinny być gotowe na obsłużenie zmiany liczby pobocznej (po kropce) oraz na "
"obecność nowych linii, które powinny ignorować."

#. 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 ""
"Jeżeli zmieni się główna liczba numeru wersji (liczba przed kropką), oznacza "
"to, że wprowadzone zmiany w formacie są niekompatybilne z poprzednią wersją "
"i program powinien się zatrzymać. Jeżeli się nie zatrzyma, to powinien "
"kontynuować działanie aż do napotkania nieoczekiwanego składnika w archiwum "
"(chyba, że występuje on na końcu), tak jak to opisano poniżej."

#. 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 ""
"Drugi wymagany składnik nazywa się B<control.tar.gz>. Jest to spakowane "
"archiwum tar zawierające informacje kontrolne pakietu, jako serię plików "
"tekstowych, wśród których wymaganym plikiem jest B<control>, zawierający "
"podstawowe informacje kontrolne. Archiwum tar może zawierać opcjonalny wpis "
"dotyczący bieżącego katalogu \"B<.>\"."

#. type: Plain text
#: deb.5:62
#, fuzzy
#| 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), bzip2 (with B<."
#| "bz2> extension, supported since dpkg 1.10.24) or lzma (with B<.lzma> "
#| "extension, supported since dpkg 1.13.25)."
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 ""
"Trzeci i ostatni wymagany składnik nazywa się B<data.tar>. Zawiera system "
"plików w postaci archiwum tar, niespakowanego (wspierane od dpkg 1.10.24) "
"lub spakowanego programem gzip (z rozszerzeniem B<.gz>), bzip2 (z "
"rozszerzeniem B<.bz2>, wspierane od dpkg 1.10.24) lub lzma (z rozszerzeniem "
"B<.lzma>, wspierane od dpkg 1.13.25)."

#. 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 ""
"Składniki te muszą występować w tym powyższym porządku. Implementacje "
"powinny ignorować jakiekolwiek dodatkowe składniki występujące po B<data."
"tar>. Kolejne składniki mogą zostać zdefiniowane w przyszłości i (jeżeli "
"będzie to możliwe) będą umieszczone po trzech wyżej wymienionych. Dodatkowe "
"składniki, dla których wymagane by było ich umieszczenie przed B<data.tar> i "
"które powinny być ignorowane przez starsze programy, będą miały nazwy "
"zaczynające się od znaku podkreślenia \"B<_>\"."

#. 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 ""
"Te nowe składniki, które nie będą mogły zostać zignorowane, zostaną "
"umieszczone przed B<data.tar>, a ich nazwy będą się zaczynać od znaku innego "
"niż podkreślenie, lub (co jest bardziej prawdopodobne) spowodują zwiększenie "
"głównej (major) wersji formatu pliku deb."

#. 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 "ZOBACZ TAKŻE"

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

#. 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 - format głównego pliku pakietu Debiana"

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

#. type: Plain text
#: deb-control.5:24
msgid ""
"Each Debian package contains the master `control' file, which contains a "
"number of fields, or comments when the line starts with B<'#'>. Each field "
"begins with a tag, such as B<Package> or B<Version> (case insensitive), "
"followed by a colon, and the body of the field.  Fields are delimited only "
"by field tags. In other words, field text may be multiple lines in length, "
"but the installation tools will generally join lines when processing the "
"body of the field (except in the case of the B<Description> field, see "
"below)."
msgstr ""
"Każdy pakiet Debiana zawiera główny plik \"control\", składający się z "
"pewnej liczby pól lub linii komentarza, czyli linii zaczynających się "
"znakiem \"B<#>\". Każde pole zaczyna się od identyfikatora, takiego jak "
"B<Package> lub B<Version> (wielkość liter nie ma znaczenia), po którym "
"następują dwukropek oraz wartość pola. Pola są rozdzielane od siebie "
"identyfikatorami pól. Innymi słowy, tekst pola może się składać z wielu "
"linii, jednakże narzędzia instalacyjne połączą te linie podczas "
"przetwarzania wartości pola (z wyjątkiem pola B<Description>, patrz niżej)."

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

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

#. 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 ""
"Wartość tego pola określa nazwę pakietu i przez większość narzędzi "
"instalacyjnych jest używana do generowania nazw plików."

#. 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>oznaczenie wersjiE<gt>"

#. type: Plain text
#: deb-control.5:37
msgid ""
"Typically, this is the original package's version number in whatever form "
"the program's author uses. It may also include a Debian revision number (for "
"non-native packages). The exact format and sorting algorithm are described "
"in B<deb-version>(5)."
msgstr ""
"Zazwyczaj jest to oryginalna wersja pakietu w takiej postaci, jakiej używa "
"autor pakietu. Może także zwierać wersję zmian pakietu Debiana (dla pakietów "
"nienatywnych). Dokładny format i algorytm sortowania są opisane w B<deb-"
"version>(5)."

#. 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>pełna-nazwa e-mailE<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 ""
"Powinna być w formacie \"Jan Nowak E<lt>jnowak@foo.comE<gt>\" i zazwyczaj "
"oznacza osobę, która utworzyła pakiet (a nie osobę, która jest autorem "
"programu)."

#. 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>krótki opisE<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>długi opisE<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 ""
"Format opisu pakietu jest następujący: pierwsza linia (zaraz po polu "
"\"Description\") zawiera krótkie podsumowanie. Kolejne linie powinny "
"zawierać dłuższy, bardziej szczegółowy opis. Każda linia długiego opisu musi "
"być poprzedzona znakiem spacji, a linie, które mają być puste, powinny "
"zawierać pojedynczą kropkę (\".\") poprzedzoną znakiem spacji."

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

#. 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>sekcjaE<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 ""
"Jest to ogólne pole zawierające kategorię pakietu bazowaną na "
"oprogramowaniu, które zawiera. Niektóre częściej występujące sekcje to: "
"\"utils\", \"net\", \"mail\", \"text\", \"x11\" itp."

#. 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>priorytetE<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 ""
"Ustawia ważność pakietu w stosunku do całego systemu. Najczęściej używane "
"priorytety to: \"required\" (wymagany), \"standard\" (standardowy) , "
"\"optional\" (opcjonalny), \"extra\" (dodatkowy) itp."

#. type: Plain text
#: deb-control.5:71 deb-src-control.5:109
msgid ""
"In Debian, the B<Section> and B<Priority> fields have a defined set of "
"accepted values based on the Policy Manual.  A list of these values can be "
"obtained from the latest version of the B<debian-policy> package."
msgstr ""
"W Debianie pola B<Section> i B<Pririty> mają ściśle zdefiniowany zbiór "
"akceptowalnych wartości opisany w Zasadach polityki Debiana. Listę tych "
"wartości można znaleźć w najnowszej wersji pakietu B<debian-policy>."

#. 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 ""
"To pole jest użyteczne tylko, gdy jego wartością jest \"yes\". Oznacza ono, "
"że pakiet jest niezbędny do poprawnego działania systemu. Ani dpkg, ani "
"żadne inne narzędzie instalacyjne nie pozwolą usunąć pakietu oznaczonego "
"jako B<Essential> (chyba, że użyje się specjalnej opcji wymuszającej "
"usunięcie takiego pakietu)."

#. 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>architektura|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 ""
"Architektura określa, dla jakiego typu maszyn pakiet został skompilowany. "
"Zwyczajowe architektury to \"i386\", \"m68k\", \"sparc\", \"alpha\", "
"\"powerpc\" itp. Uwaga: opcja B<all> oznacza, że pakiet jest niezależny od "
"architektury - na przykład zawiera tylko skrypty powłoki lub Perla albo "
"dokumentację."

#. type: TP
#: deb-control.5:86 deb-src-control.5:85
#, fuzzy, no-wrap
#| msgid "B<Origin:> E<lt>nameE<gt>"
msgid "B<Origin:>I< name>"
msgstr "B<Origin:> E<lt>nazwaE<gt>"

#. type: Plain text
#: deb-control.5:89
msgid "The name of the distribution this package is originating from."
msgstr "Nazwa dystrybucji, z której pochodzi pakiet."

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

#. type: Plain text
#: deb-control.5:94
#, fuzzy
#| msgid ""
#| "The url of the bug tracking system for this package. The current used "
#| "format is B<E<lt>bts_typeE<gt>://E<lt>bts_addressE<gt>>, like B<debbugs://"
#| "bugs.debian.org>."
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 ""
"URL systemu zgłaszania błędów dla tego pakietu. Obecnie używanym formatem "
"jest is B<E<lt>typ_btsE<gt>://E<lt>adres_btsE<gt>>, na przykład: B<debbugs://"
"bugs.debian.org>."

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

#. type: Plain text
#: deb-control.5:97
#, fuzzy
#| msgid "The upstream project home page URL."
msgid "The upstream project home page I<url>."
msgstr "URL do strony domowej projektu."

#. type: TP
#: deb-control.5:97 deb-src-control.5:222
#, fuzzy, no-wrap
#| msgid "B<Tag:> E<lt>tag listE<gt>"
msgid "B<Tag:>I< tag-list>"
msgstr "B<Tag:> E<lt>lista znacznikówE<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 ""
"Lista znaczników opisujących cechy pakietu. Opis i listę obsługiwanych "
"znaczników można znaleźć w pakiecie B<debtags>."

#. 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>nazwa źródłaE<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>nazwa źródłaE<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 ""
"Nazwa pakietu źródłowego, na podstawie którego został utworzony dany pakiet "
"binarny, jeżeli jest różna od nazwy tego pakietu binarnego."

#. 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>architektura|allE<gt>"

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

#. type: TP
#: deb-control.5:124 deb-src-control.5:208
#, fuzzy, no-wrap
#| msgid "B<Date:> E<lt>dateE<gt>"
msgid "B<Installer-Menu-Item:>I< value>"
msgstr "B<Date:> E<lt>dataE<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>lista pakietówE<gt>"

# check me!
#. type: Plain text
#: deb-control.5:143
msgid ""
"List of packages that are required for this package to provide a non-trivial "
"amount of functionality. The package maintenance software will not allow a "
"package to be installed if the packages listed in its B<Depends> field "
"aren't installed (at least not without using the force options).  In an "
"installation, the postinst scripts of packages listed in Depends: fields are "
"run before those of the packages which depend on them. On the opposite, in a "
"removal, the prerm script of a package is run before those of the packages "
"listed in its Depends: field."
msgstr ""
"Lista pakietów potrzebnych temu pakietowi, aby mógł dostarczyć znaczącą "
"część swojej funkcjonalności. Narzędzia do zarządzania pakietami nie pozwolą "
"na zainstalowanie pakietu (o ile nie użyje się opcji typu --force), zanim "
"nie zostaną zainstalowane wszystkie pakiety wymienione w polu B<Depends>. "
"Podczas instalacji skrypty poinstalacyjne pakietów wymienionych w polu "
"Depends: są uruchamiane przed skryptami pakietów, które od nich zależą. "
"Podczas usuwania, skrypty przedusuwające pakietu są uruchamiane przed "
"skryptami pakietów wymienionych w polu Depends:."

#. 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>lista pakietówE<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 ""
"Lista pakietów, które muszą być zainstalowane B<oraz> skonfigurowane zanim "
"ten pakiet będzie mógł być zainstalowany. Zazwyczaj jest używane w przypadku "
"gdy pakiet wymaga innego pakietu do uruchomienia swoich skryptów "
"preinstalacyjnych."

#. 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>lista pakietówE<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 ""
"Lista pakietów, które powinny się znaleźć razem we wszystkich instalacjach "
"poza tymi bardzo niestandardowymi. Narzędzia do zarządzania pakietami "
"ostrzegą użytkownika, podczas instalacji pakietu bez instalowania pakietów "
"wymienionych w polu B<Recommends>."

#. 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>lista pakietówE<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 ""
"Lista pakietów powiązanych z tym pakietem, które mogą zwiększyć jego "
"użyteczność, ale bez których pakiet może się obejść."

#. 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 ""
"Wartością pól B<Depends>, B<Pre-Depends>, B<Recommends> i B<Suggests> jest "
"lista grup alternatywnych pakietów. Każda grupa jest listą pakietów "
"oddzielonych symbolami pionowej kreski (\"|\"). Grupy oddzielone są od "
"siebie przecinkami. Przecinki mają znaczenie \"I\" (koniunkcja), a kreski - "
"\"LUB\" (alternatywa), przy czym priorytet koniunkcji jest wyższy. Po każdej "
"nawie pakietu może opcjonalnie występować numer wersji podany w nawiasach."

#. 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 ""
"Numer wersji może zaczynać się od \"E<gt>E<gt>\", co oznacza, że każda "
"późniejsza wersja pakietu będzie odpowiednia; można także podawać lub "
"pomijać wersję zmian Debiana (po znaku myślnika). Akceptowalne relacje są "
"następujące: \"E<gt>E<gt>\" - większy niż, \"E<lt>E<lt>\" - mniejszy niż, "
"\"E<gt>=\" - większy lub równy, \"E<lt>=\" - mniejszy lub równy oraz \"=\" - "
"równy."

#. type: TP
#: deb-control.5:180 deb-src-control.5:245
#, fuzzy, no-wrap
#| msgid "B<Breaks:> E<lt>package listE<gt>"
msgid "B<Breaks:>I< package-list>"
msgstr "B<Breaks:> E<lt>lista pakietówE<gt>"

#. type: Plain text
#: deb-control.5:188
msgid ""
"Lists packages that this one breaks, for example by exposing bugs when the "
"named packages rely on this one. The package maintenance software will not "
"allow broken packages to be configured; generally the resolution is to "
"upgrade the packages named in a B<Breaks> field."
msgstr ""
"Lista pakietów psutych przez dany pakiet, na przykład przez ujawnianie się "
"błędów, kiedy dany pakiet zależy od tego. Narzędzia do zarządzania pakietami "
"nie pozwolą na skonfigurowanie takich zepsutych pakietów; rozwiązaniem tego "
"problemu jest aktualizacja pakietu wymienionego w polu B<Breaks>."

#. 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>lista pakietówE<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 ""
"Lista pakietów, które są w konflikcie z danym pakietem, na przykład "
"zawierają plik o tej samej nazwie, Narzędzia do zarządzania pakietami nie "
"pozwolą na zainstalowanie pakietów będących w konflikcie w tym samym czasie. "
"Każdy z pakietów będących w konflikcie powinien zawierać pole B<Conflicts> "
"wskazujące na drugi pakiet."

#. 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>lista pakietówE<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 ""
"Lista pakietów, które są zastępowane przez dany pakiet. Pozwala to na to, "
"aby pakiet mógł nadpisać pliki znajdujące się w innym pakiecie i zazwyczaj "
"jest używane równocześnie z polem B<Conflicts>, żeby wymusić usunięcie "
"innego pakietu, jeżeli zawiera on pliki o takich samych nazwach."

#. 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>lista pakietówE<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 ""
"Jest to lista pakietów wirtualnych dostarczanych przez ten pakiet. Zazwyczaj "
"jest to używane w przypadku, gdy kilka pakietów dostarcza tej samej usługi. "
"Na przykład sendmail i exim są serwerami poczty, dlatego dostarczają "
"wspólnego pakietu (\"mail-transport-agent\"), od którego inne pakiety mogą "
"zależeć. Pozwala to zarówno sendmailowi, jak i eximowi spełnić tę zależność. "
"Ponadto w ten sposób pakiety, które zależą od serwera poczty, nie muszą znać "
"nazw wszystkich pakietów dostarczających tej usługi ani używać \"|\" do "
"rozdzielenia listy takich pakietów."

#. 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 ""
"Pola B<Conflicts>, B<Replaces> i B<Provides> zawierają listę nazw pakietów, "
"rozdzieloną od siebie przecinkami (i opcjonalnie białymi znakami). W polu "
"B<Conflicts> przecinek oznacza \"LUB\". Opcjonalnie w polach B<Conflicts> i "
"B<Replaces> można podać numery wersji pakietów, używając składni opisanej "
"wyżej."

#. 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>lista pakietówE<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 "PRZYKŁAD"

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

#. type: Plain text
#: deb-control.5:276
msgid ""
"B<deb>(5), B<deb-version>(5), B<debtags>(1), B<dpkg>(1), B<dpkg-deb>(1)."
msgstr ""
"B<deb>(5), B<deb-version>(5), B<debtags>(1), 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 - format głównego pliku pakietu Debiana"

#. 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 "POLA WYMAGANE"

#. 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>nazwa źródłaE<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>pełna-nazwa e-mailE<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 ""
"Powinna być w formacie \"Jan Nowak E<lt>jnowak@foo.comE<gt>\" i zazwyczaj "
"oznacza osobę, która utworzyła pakiet (a nie osobę, która jest autorem "
"programu)."

#. 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>pełna-nazwa e-mailE<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>oznaczenie wersjiE<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 "URL do strony domowej projektu."

#. type: Plain text
#: deb-src-control.5:71
#, fuzzy
#| msgid ""
#| "The url of the bug tracking system for this package. The current used "
#| "format is B<E<lt>bts_typeE<gt>://E<lt>bts_addressE<gt>>, like B<debbugs://"
#| "bugs.debian.org>."
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 ""
"URL systemu zgłaszania błędów dla tego pakietu. Obecnie używanym formatem "
"jest is B<E<lt>typ_btsE<gt>://E<lt>adres_btsE<gt>>, na przykład: B<debbugs://"
"bugs.debian.org>."

#. type: TP
#: deb-src-control.5:72
#, fuzzy, no-wrap
#| msgid "B<Bugs:> E<lt>urlE<gt>"
msgid "B<Vcs-*:>I< url>"
msgstr "B<Bugs:> E<lt>urlE<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<Bugs:> E<lt>urlE<gt>"
msgid "B<Vcs-Browser:>I< url>"
msgstr "B<Bugs:> E<lt>urlE<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
#, fuzzy
#| msgid "The name of the distribution this package is originating from."
msgid ""
"The name of the distribution this package is originating from. This field is "
"usually not needed."
msgstr "Nazwa dystrybucji, z której pochodzi pakiet."

#. 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 ""
"Jest to ogólne pole zawierające kategorię pakietu bazowaną na "
"oprogramowaniu, które zawiera. Niektóre częściej występujące sekcje to: "
"\"utils\", \"net\", \"mail\", \"text\", \"x11\" itp."

#. 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 ""
"Ustawia ważność pakietu w stosunku do całego systemu. Najczęściej używane "
"priorytety to: \"required\" (wymagany), \"standard\" (standardowy) , "
"\"optional\" (opcjonalny), \"extra\" (dodatkowy) itp."

#. 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>lista pakietówE<gt>"

#
#. type: Plain text
#: deb-src-control.5:114
#, fuzzy
#| msgid ""
#| "In the list of packages, the text indicating the current state of the "
#| "currently selected package."
msgid ""
"A list of packages that need to be installed and configured to be able to "
"build the source package."
msgstr ""
"W liście pakietów - tekst oznaczający obecny stan podświetlonego pakietu."

#. 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>lista pakietówE<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>lista pakietówE<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>lista pakietówE<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 ""
"Wartością pól B<Depends>, B<Pre-Depends>, B<Recommends> i B<Suggests> jest "
"lista grup alternatywnych pakietów. Każda grupa jest listą pakietów "
"oddzielonych symbolami pionowej kreski (\"|\"). Grupy oddzielone są od "
"siebie przecinkami. Przecinki mają znaczenie \"I\" (koniunkcja), a kreski - "
"\"LUB\" (alternatywa), przy czym priorytet koniunkcji jest wyższy. Po każdej "
"nawie pakietu może opcjonalnie występować numer wersji podany w nawiasach."

#. 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 ""
"Numer wersji może zaczynać się od \"E<gt>E<gt>\", co oznacza, że każda "
"późniejsza wersja pakietu będzie odpowiednia; można także podawać lub "
"pomijać wersję zmian Debiana (po znaku myślnika). Akceptowalne relacje są "
"następujące: \"E<gt>E<gt>\" - większy niż, \"E<lt>E<lt>\" - mniejszy niż, "
"\"E<gt>=\" - większy lub równy, \"E<lt>=\" - mniejszy lub równy oraz \"=\" - "
"równy."

#. 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 "POLA NIEWYMAGANE"

#. 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>nazwa pakietuE<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>architektura|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>nazwa pakietuE<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>krótki opisE<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>lista pakietówE<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 "POLA WYMAGANE"

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

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

#. 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 "2007-03-07"
msgid "2011-07-04"
msgstr "2007-03-07"

#. type: Plain text
#: deb-split.5:4
#, fuzzy
#| msgid "deb - Debian binary package format"
msgid "deb-split - Debian multi-part binary package format"
msgstr "deb - format binarnego pakietu Debiana"

# 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
#: deb-split.5:12
#, fuzzy
#| 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."
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 ""
"Plik ten jest archiwum B<ar> mającym liczbę magiczną z B<!E<lt>archE<gt>>. "
"Nazwy plików mogą zawierać kończący znak ukośnika."

#. 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
#, fuzzy
#| msgid "The source package version."
msgid "The package name."
msgstr "Wersja pakietu źródłowego"

#
#. type: Plain text
#: deb-split.5:22
#, fuzzy
#| msgid "The source package version."
msgid "The package version."
msgstr "Wersja pakietu źródłowego"

#
#. type: Plain text
#: deb-split.5:24
#, fuzzy
#| msgid "The source package version."
msgid "The md5sum of the package."
msgstr "Wersja pakietu źródłowego"

#
#. type: Plain text
#: deb-split.5:26
#, fuzzy
#| msgid "The header line above the list of packages."
msgid "The total size of the package."
msgstr "Linia nagłówka nad listą pakietów."

#. 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
#: deb-split.5:41
#, fuzzy
#| 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."
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 ""
"Jeżeli zmieni się główna liczba numeru wersji (liczba przed kropką), oznacza "
"to, że wprowadzone zmiany w formacie są niekompatybilne z poprzednią wersją "
"i program powinien się zatrzymać. Jeżeli się nie zatrzyma, to powinien "
"kontynuować działanie aż do napotkania nieoczekiwanego składnika w archiwum "
"(chyba, że występuje on na końcu), tak jak to opisano poniżej."

#. type: Plain text
#: deb-split.5:44
#, fuzzy
#| msgid ""
#| "The third, last required member is named B<data.tar.gz>.  It contains the "
#| "filesystem archive as a gzipped tar archive."
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 ""
"Trzeci, ostatni wymagany, członek nazywa się B<data.tar.gz>. Zawiera "
"archiwum systemu plików w postaci spakowanego gzipem archiwum tar."

#. type: Plain text
#: deb-split.5:49
#, fuzzy
#| 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<_>'."
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 ""
"Składniki te muszą występować w tym powyższym porządku. Implementacje "
"powinny ignorować jakiekolwiek dodatkowe składniki występujące po B<data."
"tar>. Kolejne składniki mogą zostać zdefiniowane w przyszłości i (jeżeli "
"będzie to możliwe) będą umieszczone po trzech wyżej wymienionych. Dodatkowe "
"składniki, dla których wymagane by było ich umieszczenie przed B<data.tar> i "
"które powinny być ignorowane przez starsze programy, będą miały nazwy "
"zaczynające się od znaku podkreślenia \"B<_>\"."

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

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

#. type: Plain text
#: deb-version.5:8
msgid "deb-version - Debian package version number format"
msgstr "deb-version - format numerów wersji pakietów Debiana"

#. type: Plain text
#: deb-version.5:11
#, fuzzy
#| msgid "[ I<epoch>:] I<upstream_version> [-I<debian_revision> ]"
msgid "[I<epoch>B<:>]I<upstream-version>[B<->I<debian-revision>]"
msgstr "[ I<epoka>:] I<wersja_upstream> [-I<rewizja_debiana> ]"

#. 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 ""
"Numery wersji używane dla binarnych i źródłowych pakietów Debiana składają "
"się z trzech części. Są to:"

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

#. type: Plain text
#: deb-version.5:20
#, fuzzy
#| 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."
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 ""
"Jest to pojedyncza (typowo niewielka), liczba całkowita bez znaku. Może być "
"pominięta, w takim przypadku jest przyjmowana jako zero. Jeśli jest "
"pominięta, wtedy I<wersja_upstream> nie może zawierać żadnego dwukropka."

#. 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 ""
"Jest używana aby można było pozbyć się pomyłek w numerach wersji starszych "
"wersji pakietów, oraz poradzić sobie ze zmianą poprzednich schematów "
"numerowania wersji."

#. type: TP
#: deb-version.5:24
#, fuzzy, no-wrap
#| msgid "I<upstream_version>"
msgid "I<upstream-version>"
msgstr "I<wersja_upstream> (wersja nadana przez autora)"

#. 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 ""
"Główna część numeru wersji. Zwykle jest to numer wersji oryginalnego "
"(\"upstream\") pakietu, na podstawie którego powstał plik I<.deb>, o ile "
"jest to możliwe. Typowo jest w tym samym formacie jaki został użyty przez "
"autora(ów) pakietu. Może jednak zostać przeformatowana aby lepiej pasować do "
"formatu i schematu porównywania wersji używanego przez system zarządzania "
"pakietami."

#. type: Plain text
#: deb-version.5:39
#, fuzzy
#| 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."
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 ""
"Poniżej opisane jest zachowanie systemu zarządzania pakietami podczas "
"porównywania uwzględniającego I<wersję_upstream>. Część I<wersja_upstream> "
"numeru wersji pakietu jest wymagana."

#. type: Plain text
#: deb-version.5:48
#, fuzzy
#| 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."
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 ""
"I<wersja_upstream> może zawierać jedynie znaki alfanumeryczne (\"A-Za-"
"z0-9\") oraz znaki B<.> B<+> B<-> B<:> B<~> (kropkę, plus, myślnik, "
"dwukropek, tyldę) i powinna zaczynać się od cyfry. Jeśli nie jest używana "
"I<rewizja_debiana>, wtedy nie są dozwolone myślniki; jeśli zaś nie jest "
"używana I<epoka>, wtedy nie są dozwolone dwukropki."

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

#. type: Plain text
#: deb-version.5:57
#, fuzzy
#| 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."
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 ""
"Ta część numeru wersji określa wersję pakietu Debiana bazującego na tej "
"samej wersji upstream. Może zawierać jedynie znaki alfanumeryczne oraz znaki "
"B<+> B<.> (plus, kropkę, tyldę) i jest porównywana w ten sam sposób co "
"I<wersja_upstream>."

#. type: Plain text
#: deb-version.5:64
#, fuzzy
#| 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."
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 ""
"Jest to część opcjonalna. Jeśli nie jest używana, wtedy I<wersja_upstream> "
"nie może zawierać dwukropka. Taki format odpowiada przypadkowi, gdzie "
"oprogramowanie było tworzone z myślą o zamianie go w pakiet Debiana, więc "
"jest tylko jedna jego \"debianizacja\" i dlatego wskazywanie rewizji nie "
"jest potrzebne."

#. type: Plain text
#: deb-version.5:68
#, fuzzy
#| msgid ""
#| "It is conventional to restart the I<debian_revision> at '1' each time "
#| "time the I<upstream_version> is increased."
msgid ""
"It is conventional to restart the I<debian-revision> at '1' each time time "
"the I<upstream-version> is increased."
msgstr ""
"Powszechnie przyjęte jest rozpoczynanie I<rewizji_debiana> od 1 za każdym "
"razem, gdy I<wersja_upstream> się zwiększa."

#. type: Plain text
#: deb-version.5:76
#, fuzzy
#| 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)."
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 ""
"Dpkg dzieli numer wersji na części względem ostatniego myślnika w napisie "
"(jeśli taki jest), aby określić I<wersję upstream> oraz I<rewizję_debiana>. "
"Przy porównywaniu brakująca I<rewizja_debiana> poprzedza każde jej "
"wystąpienie (jednak warto pamiętać, że jest to najmniej znacząca część "
"wumeru wersji)."

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

#. type: Plain text
#: deb-version.5:80
#, fuzzy
#| msgid ""
#| "The I<upstream_version> and I<debian_revision> parts are compared by the "
#| "package management system using the same algorithm:"
msgid ""
"The I<upstream-version> and I<debian-revision> parts are compared by the "
"package management system using the same algorithm:"
msgstr ""
"System zarządzania pakietami porównuje I<wersję_upstream> oraz "
"I<rewizję_debiana> używając tego samego algorytmu:"

#. type: Plain text
#: deb-version.5:82
msgid "The strings are compared from left to right."
msgstr "Napisy są porównywane od lewej do prawej."

#. 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 ""
"Najpierw określane są początkowe części każdego napisu, składające się "
"wyłącznie ze znaków nie będących cyframi. Te dwie części (z których jedna "
"może być pusta) są porównywane leksykalnie. Jeśli zostanie znaleziona "
"różnica, jest ona zwracana. Porównanie leksykalne jest porównaniem wartości "
"ASCII zmodyfikowanych tak, że wszystkie litery poprzedzają wszystkie inne "
"znaki nie będące literami, a dodatkowo tylda poprzedza wszystko, nawet "
"koniec części. W następującym przykładzie części występują w kolejności "
"posortowanej: \"~~\", \"~~a\", \"~\", część pusta, \"a\"."

#. 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 ""
"Następnie określane są początki pozostałych części z każdego napisu, "
"składające się wyłącznie z samych cyfr. Wartości liczbowe tych dwóch części "
"są porównywane i jeśli zostanie znaleziona różnica, jest ona zwracana jako "
"wynik porównania. Pusty ciąg znaków (który może się pojawić jedynie na końcu "
"jednego lub obu porównywanych napisów) jest przy tym liczony jako zero."

#. 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 ""
"Te dwa kroki (porównywanie i usuwanie początkowych napisów bez cyfr oraz "
"początkowych napisów z samymi cyframi) są powtarzane, aż zostanie znaleziona "
"różnica lub oba ciągi zostaną wyczerpane."

#. 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 ""
"Należy zauważyć, że celem epok jest umożliwienie pozbycia się pomyłek w "
"numerach wersji pakietów, jak również poradzenie sobie ze zmianą schematu "
"numerowania wersji. B<Nie> są one natomiast przeznaczone do radzenia sobie z "
"numerami wersji zawierających ciągi znaków, których system zarządzania "
"pakietami nie może zinterpretować (jak np. \"ALPHA\" lub \"pre-\"), czy z "
"inną dziwną kolejnością."

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

#. 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 ""
"Znak tyldy oraz jego specyficzny sposób sortowania zostały wprowadzone w "
"wersji 1.10 dpkg, zaś niektóre inne elementy dpkg-dev uzyskały odpowiednie "
"wsparcie dopiero później w serii 1.10.x."

#. type: Plain text
#: deb-version.5:120
msgid "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"
msgstr "B<deb-control>(5), B<deb>(5), B<dpkg>(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
#, no-wrap
msgid "AUTHORS"
msgstr "AUTORZY"

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

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

#. type: Plain text
#: deb-version.5:126 deb-substvars.5:167 dpkg-buildflags.1:273
#: dpkg-buildpackage.1:267 dpkg-checkbuilddeps.1:44 dpkg-distaddfile.1:53
#: dpkg-deb.1:269 dpkg-divert.8:139 dpkg-genchanges.1:154
#: dpkg-gencontrol.1:150 dpkg-gensymbols.1:464 dpkg-maintscript-helper.1:139
#: dpkg-mergechangelogs.1:71 dpkg-name.1:108 dpkg-parsechangelog.1:131
#: dpkg-query.1:219 dpkg-shlibdeps.1:339 dpkg-source.1:738 dpkg-split.1:227
#: dpkg-statoverride.8:91 dpkg-vendor.1:53 update-alternatives.8:501
msgid ""
"This is free software; see the GNU General Public Licence version 2 or later "
"for copying conditions. There is NO WARRANTY."
msgstr ""
"Niniejszy program jest oprogramowaniem wolnym, sprawdź Powszechną Licencję "
"Publiczną GNU w wersji drugiej lub późniejszej, by dowiedzieć się o "
"warunkach dystrybucji. Brak JAKIEJKOLWIEK gwarancji."

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

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

#. 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 ""
"Format B<.deb> jest formatem binarnego pakietu Debiana. Ta strona "
"podręcznika opisuje B<stary> format, używany przed wersją 0.93 Debiana. "
"Szczegóły nowego formatu można znaleźć w B<deb>(5)."

#. 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 ""
"Plik składa się z dwu linii informacji o formacie jako tekst ASCII, po "
"których następują dwa połączone pliki ustar spakowane gzipem."

#. 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 ""
"Pierwszą linią jest numer wersji formatu, wyrównany do 8 cyfr. Dla starego "
"formatu numer ten wynosi B<0.939000>."

#. 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 ""
"W drugiej linii jest zapisana liczba dziesiętna (bez początkowych zer) "
"podające długość pierwszego zgzipowanego pliku tar."

#. type: Plain text
#: deb-old.5:30
msgid "Each of these lines is terminated with a single newline character."
msgstr "Każda z tych linii jest zakończona pojedynczym znakiem nowej linii."

#. 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 ""
"Pierwszy plik tar zawiera informacje kontrolne, jako serię zwyczajnych "
"plików. Zawsze musi być obecny plik B<control> zawierający główne informacje "
"kontrolne."

#. 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 ""
"W bardzo starych archiwach, pliki w archiwum kontrolnym mogły być "
"umieszczone w podkatalogu B<DEBIAN>. W takim wypadku katalog B<DEBIAN> "
"będzie występował również w archiwum kontrolnym, które będzie zawierało "
"pliki tylko w tym katalogu. Opcjonalnie archiwum kontrolne może zawierać "
"również wpis dla \"B<.>\", czyli katalogu bieżącego."

#. 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 ""
"Drugim skompresowanym archiwum tar jest archiwum systemu plików, zawierające "
"nazwy ścieżek relatywne do głównego katalogu systemu, na którym będą "
"instalowane. Nazwy te nie zaczynają się od ukośników."

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

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

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

#. type: Plain text
#: deb-override.5:18
msgid "deb-override - Debian archive override file"
msgstr "deb-override - plik nadpisań archiwum Debiana"

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

#. type: Plain text
#: deb-override.5:27
#, fuzzy
#| msgid ""
#| "While most information about a package can be found in the control file, "
#| "some must be filled in by the distribution czars rather than by the "
#| "maintainer, because they relate to the arrangement of files for release "
#| "rather than the actual dependencies and description of the package.  This "
#| "information is found in the override file."
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 ""
"Chociaż większość informacji o pakiecie można znaleźć w pliku kontrolnym, to "
"niektóre z nich, związane z umiejscowieniem plików w dystrybucji a nie z "
"zależnościami i opisem pakietu, muszą być wypełnione przez carów "
"dystrybucji, a nie przez opiekuna. Do tego służy plik nadpisań."

#. 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 ""
"Plik nadpisań ma prosty format pól rozdzielonych białymi znakami (spacjami). "
"Dozwolone są komentarze (zaczynające się od B<#>)."

#. type: Plain text
#: deb-override.5:37
msgid "I<package> I<priority> I<section> [I<maintainerinfo>]"
msgstr "I<pakiet> I<priorytet> I<sekcja> [I<informacje-o-opiekunie>]"

#. 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 ""
"I<pakiet> jest nazwą pakietu. Ignorowane są wpisy w pliku nadpisań dotyczące "
"pakietów nie znajdujących się w drzewie pakietów binarnych."

#. 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 ""
"I<informacje_o_opiekunie>, jeżeli są obecne, mogą być albo samą nazwą "
"opiekuna bezwarunkowego nadpisania, albo są w postaci I<stary_opiekun> "
"B<=E<gt>> I<nowy_opiekun>, by przeprowadzić zamianę informacji o opiekunie."

#. 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 ""
"Pliki nadpisań używane do stworzenia oficjalnego pliku Packages można "
"znaleźć w katalogu I<indices> na każdym mirrorze Debiana."

#. type: Plain text
#: deb-override.5:66
#, fuzzy
#| msgid ""
#| "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."
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<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."

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

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

#. type: Plain text
#: deb-extra-override.5:4
msgid "deb-extra-override - Debian archive extra override file"
msgstr "deb-extra-override - plik dodatkowych nadpisań archiwum Debiana"

#. 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 ""
"Większość informacji o binarnym lub źródłowym pakiecie może być zawarta w "
"pliku control/.dsc, jednak cała ta informacja może być nadpisana podczas "
"eksportowania do plików Packages/Sources. Plik dodatkowych nadpisań zawiera "
"takie właśnie nadpisania."

#. 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 ""
"Dodatkowy plik nadpisań ma prosty format pól rozdzielonych białymi znakami "
"(spacjami). Dozwolone są komentarze (zaczynające się od B<#>)."

#. type: Plain text
#: deb-extra-override.5:21
msgid "I<package> I<field-name> I<value>"
msgstr "I<pakiet> I<nazwa-pola> I<wartość>"

#. type: Plain text
#: deb-extra-override.5:25
msgid "I<package> is the name of the binary/source package."
msgstr "I<pakiet> jest nazwą binarnego lub źródłowego pakietu."

#. 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 ""
"I<nazwa-pola> jest nazwą nadpisywanego pola. I<wartość> jest wartością, "
"która będzie umieszczona w tym polu. Może ona zawierać spacje, ponieważ "
"linia jest dzielona podczas parsowania na nie więcej niż 3 kolumny."

#. 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 ""
"Dodatkowe pliki nadpisań używane do stworzenia oficjalnych list Packages "
"można znaleźć w katalogu I<indices> na każdym mirrorze Debiana."

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

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

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

#. type: Plain text
#: deb-shlibs.5:19
msgid "deb-shlibs - Debian shared library information file"
msgstr ""
"deb-shlibs - plik z informacjami o bibliotekach współdzielonych w Debianie"

#. 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 ""
"Pliki B<shlibs> odwzorowują nazwy i wersje (tzw. I<sonames>) bibliotek "
"współdzielonych na zależności odpowiednie dla pliku kontrolnego pakietu. W "
"każdej linii może być umieszczony tylko jeden wpis. Puste linie I<nie> mogą "
"występować. Linie zaczynające się od znaku B<#> są uważane za komentarze i "
"ignorowane. Wszystkie pozostałe linie muszą mieć następujący format:"

#. type: Plain text
#: deb-shlibs.5:34
#, fuzzy
#| msgid "[I<tag:>] I<library> I<version> I<dependencies>"
msgid "[I<type>B<:>] I<library> I<version> I<dependencies>"
msgstr "[I<tag:>] I<biblioteka> I<wersja> I<zależności>"

#. type: Plain text
#: deb-shlibs.5:38
#, fuzzy
#| 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<tag> field "
#| "is optional and normally not needed."
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 ""
"Pola I<biblioteka> i I<wersja> są oddzielone od siebie białymi znakami "
"(spacjami), a pole I<zależności> rozciąga się do końca linii. Pole I<tag> "
"jest opcjonalne i zazwyczaj nie jest potrzebne."

#. type: Plain text
#: deb-shlibs.5:40
msgid "See the Debian Policy Manual for further details."
msgstr "Dalsze szczegóły można znaleźć w Zasadach polityki Debiana."

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

#. 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 ""
"Plik B<shlibs> dla typowego pakietu z bibliotekami, nazwanego I<libcrunch1>, "
"dostarczającego tylko jedną bibliotekę, której soname to I<libcrunch.so.1>, "
"może wyglądać tak:"

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

#. 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 ""
"Pole I<zależności> musi wymieniać najnowszą wersję pakietu, w której dodano "
"nowe symbole do biblioteki: w powyższym przykładzie nowe symbole były dodane "
"do wersji 1.2 biblioteki  I<libcrunch>. Nie jest to jedyny powód,dla którego "
"zależności mogą być zawężane; szczegóły można znaleźć w dokumencie \"Zasady "
"polityki Debiana\"."

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

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

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

#. type: Plain text
#: deb-substvars.5:5
msgid "deb-substvars - Debian source substitution variables"
msgstr "deb-substvars - zmienne podstawiania źródłowych pakietów Debiana"

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

#. 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 ""
"Zanim B<dpkg-source>, B<dpkg-gencontrol> i B<dpkg-genchanges> zapiszą swoje "
"informacje kontrolne (do źródłowego pliku B<.dsc> w wypadku B<dpkg-source> i "
"na standardowe wyjście w wypadku B<dpkg-gencontrol> i B<dpkg-genchanges>), "
"wykonują podstawienia pewnych zmiennych na pliku wyjściowym."

#. 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 ""
"Podstawienie zmiennej ma postać B<${>I<nazwa-zmiennej>B<}>. Nazwy zmiennych "
"składają się ze znaków alfanumerycznych, myślników oraz dwukropków i "
"zaczynają się od znaku alfanumerycznego. Podstawienia zmiennych są "
"powtarzane dopóty, aż nie będzie nic do podstawienia; pełen tekst pola po "
"podstawieniu jest ponownie skanowany w poszukiwaniu kolejnych podstawień."

#. 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 ""
"Po dokonaniu wszystkich podstawień, każde wystąpienie łańcucha B<${}> (który "
"nie jest poprawnym podstawieniem) jest zastępowane przez znak B<$>."

#. 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 ""
"Podstawianie zmiennych jest wykonywane na wszystkich polach kontrolnych, "
"jednak niektóre z tych pól są używane oraz wymagane podczas budowania, gdy "
"podstawienie nie zostało jeszcze wykonane. Dlatego nie można używać "
"zmiennych w polach B<Package>, B<Source> oraz B<Architecture>."

#. 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 ""
"Zmienne można ustawić za pomocą opcji B<-V>. Można je także podać w pliku "
"B<debian/substvars> (lub jakimkolwiek innym pliku wskazanym opcją B<-T>). "
"Plik ten składa się z linii w postaci I<nazwa>B<=>I<wartość>. Końcowe spacje "
"w każdej linii, linie puste oraz linie zaczynające się od znaku B<#> (czyli "
"komentarze) są ignorowane."

#. type: Plain text
#: deb-substvars.5:73
msgid "Additionally, the following standard variables are available:"
msgstr "Dodatkowo dostępne są następujące standardowe zmienne:"

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

#. type: Plain text
#: deb-substvars.5:77
msgid "The current build architecture (from B<dpkg --print-architecture>)."
msgstr "Bieżąca architektura budowania (z B<dpkg --print-architecture>)."

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

#
#. type: Plain text
#: deb-substvars.5:80
msgid "The source package version."
msgstr "Wersja pakietu źródłowego"

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

#. type: Plain text
#: deb-substvars.5:84
msgid ""
"The upstream source package version, including the Debian version epoch if "
"any."
msgstr ""
"Oryginalna wersja autora pakietu źródłowego, włączając wersję epoki Debiana "
"jeśli jest."

#. type: TP
#: deb-substvars.5:84
#, no-wrap
msgid "B<binary:Version>"
msgstr "B<binary: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 ""
"Wersja pakietu binarnego (może się różnić od source:Version na przykład w "
"przypadku binNMU)."

#. type: TP
#: deb-substvars.5:88
#, no-wrap
msgid "B<Source-Version>"
msgstr "B<Source-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 ""
"Wersja pakietu źródłowego (z dziennika zmian). Ta zmienna jest obecnie "
"B<przestarzała>, jako że jej znaczenie jest inne niż jej funkcjonalność. "
"Prosimy używać B<source:Version> lub B<binary:Version>, w zależności od "
"wymagań."

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

#. 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 ""
"Całkowity rozmiar plików zainstalowanych przez pakiet. Wartość ta jest "
"kopiowana do odpowiadającego jej pola w pliku kontrolnym; ustawienie jej "
"zmodyfikuje wartość tego pola. Jeśli nie ustawiono zmiennej, to B<dpkg-"
"gencontrol> użyje B<du -k debian/tmp>, aby znaleźć jej wartość domyślną."

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

#. 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 ""
"Dodatkowa przestrzeń dyskowa, używana podczas instalowania pakietu. Jeśli ta "
"zmienna jest ustawiona, to jej wartość jest dodawana do wartości zmiennej "
"B<Installed-Size> (niezależnie od tego, czy została otwarcie ustawiona, czy "
"ma wartość domyślną), zanim zostania skopiowana do pola B<Installed-Size> "
"pliku kontrolnego."

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

#. 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 ""
"Wartość pola wyjściowego I<nazwa_pola> (które musi być podane z użyciem "
"Notacji-Wielbłądziej). Ustawienie takich zmiennych wpływa tylko na miejsca, "
"gdzie są one jawnie rozwijane."

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

#. 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 ""
"Wersja formatu pliku B<.changes> wygenerowana przez tę wersję skryptów "
"przygotowujących pakiety źródłowe. Ustawienie tej zmiennej zmienia również "
"zawartość pola B<Format> w pliku B<.changes>."

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

#. type: Plain text
#: deb-substvars.5:131
msgid "These variables each hold the corresponding character."
msgstr "Każda z tych zmiennych zawiera odpowiadający jej znak."

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

#. type: Plain text
#: deb-substvars.5:135
msgid ""
"Variable settings with names of this form are generated by B<dpkg-shlibdeps>."
msgstr ""
"Ustawienia zmiennych w tej postaci są generowane przez B<dpkg-shlibdeps>."

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

#. type: Plain text
#: deb-substvars.5:138
msgid "The upstream version of dpkg."
msgstr "Oryginalna wersja dpkg, nadana przez autorów."

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

#. type: Plain text
#: deb-substvars.5:141
msgid "The full version of dpkg."
msgstr "Pełna wersja programu dpkg."

#. 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 ""
"Jeżeli jest odwołanie do niezdefiniowanej zmiennej, to generowane jest "
"ostrzeżenie i przyjmowana jest pusta wartość zmiennej."

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

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

#. type: Plain text
#: deb-substvars.5:149
msgid "List of substitution variables and values."
msgstr "Lista zmiennych podstawiania i ich wartości."

#. 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 "BŁĘDY"

#. 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 ""
"Punkt, w którym następuje nadpisywanie pól w porównaniu do pewnych "
"standardowych ustawień pól wyjściowych jest dość zagmatwany."

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

#. 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 "Copyright \\(co 1995-1996 Ian Jackson"

#. 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 "Copyright \\(co 2000 Wichert Akkerman"

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

#. type: Plain text
#: deb-symbols.5:5
msgid "deb-symbols - Debian's extended shared library information file"
msgstr ""
"deb-symbols - plik z rozszerzonymi informacjami o bibliotekach "
"współdzielonych w Debianie"

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

#. type: Plain text
#: deb-symbols.5:12
msgid ""
"The format for an extended shared library dependency information entry in "
"these files is:"
msgstr ""
"Format wpisów określających rozszerzone zależności bibliotek współdzielonych "
"w tych plikach jest następujący:"

#. type: Plain text
#: deb-symbols.5:14
#, fuzzy
#| msgid "E<lt>library sonameE<gt> E<lt>main dependency templateE<gt>"
msgid "I<library-soname main-dependency-template>"
msgstr "E<lt>soname bibliotekiE<gt> E<lt>szablon głównych zależnościE<gt>"

#. type: Plain text
#: deb-symbols.5:16
#, fuzzy
#| msgid "[ | E<lt>alternative dependency templateE<gt> ]"
msgid "[ | I<alternative-dependency-template> ]"
msgstr "[ | E<lt>alternatywny szablon zależnościE<gt> ]"

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

#. type: Plain text
#: deb-symbols.5:20
#, fuzzy
#| msgid "[ * E<lt>field-nameE<gt>: E<lt>field valueE<gt> ]"
msgid "[ * I<field-name>: I<field-value> ]"
msgstr "[ * E<lt>nazwa-polaE<gt>: E<lt>wartość polaE<gt> ]"

#. type: Plain text
#: deb-symbols.5:23
#, fuzzy, no-wrap
#| msgid ""
#| "[ ... ]\n"
#| " E<lt>symbolE<gt> E<lt>minimal versionE<gt>[ E<lt>id of dependency templateE<gt> ]\n"
msgid ""
"[ ... ]\n"
" I<symbol> I<minimal-version>[ I<id-of-dependency-template> ]\n"
msgstr ""
"[ ... ]\n"
" E<lt>symbolE<gt> E<lt>minimalna wersjaE<gt>[ E<lt>id szablonu zależnościE<gt> ]\n"

#. type: Plain text
#: deb-symbols.5:29
#, fuzzy
#| 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)."
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 ""
"I<Wersja biblioteki> jest dokładną wartością pola SONAME, jak ją wypisuje "
"B<objdump>(1). I<Szablon zależności> jest zależnością, w której I<#MINVER#> "
"jest dynamicznie zamieniane albo przez zależność wersji w postaci \"(E<gt>= "
"I<minimalna wersja>)\", albo jest usuwane (jeżeli wystarcza niewersjonowana "
"zależność)."

#. type: Plain text
#: deb-symbols.5:36
#, fuzzy
#| 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."
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 ""
"Z każdym wyeksportowanym I<symbolem> (wymienionym jako I<nazwa>@I<wersja>, "
"gdzie I<wersja> jest równa \"Base\", jeśli biblioteka nie jest wersjonowana) "
"jest skojarzona I<minimalna wersja> w szablonie zależności (główny szablon "
"zależności jest używany, jeżeli nie podano I<id szablonu zależności>). "
"Alternatywne szablony zależności są kolejno numerowane, pierwszy ma numer 1, "
"drugi - 2, itd."

#. type: Plain text
#: deb-symbols.5:43
#, fuzzy
#| 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 dpkg-"
#| "shlibdeps to make sure that the dependency generated is at least as "
#| "strict as the corresponding build dependency."
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 ""
"Każdy wpis dotyczący biblioteki może mieć także parę pól zawierających "
"metadane. Pola te są przechowywane w liniach zaczynających się od znaku "
"gwiazdki. Obecnie, jedynym poprawnym polem jest I<Build-Depends-Package>, "
"które określa nazwę pakietu \"-dev\" skojarzonego z biblioteką i używanego "
"przez dpkg-shlibdeps do upewnienia się, że wygenerowana zależność jest co "
"najmniej tak restrykcyjna jak odpowiadająca jej zależność czasu budowania."

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

#. 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 ""
"libftp.so.3 libftp3 #MINVER#\n"
" DefaultNetbuf@Base 3.1-1-6\n"
" FtpAccess@Base 3.1-1-6\n"
" [...]\n"

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

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

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

#. 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 ""
"* Build-Depends-Package: libgl1-mesa-dev\n"
" publicGlSymbol@Base 6.3-1\n"
" [...]\n"
" implementationSpecificSymbol@Base 6.5.2-7 1\n"
" [...]\n"

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

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

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

#. type: Plain text
#: deb-triggers.5:4
msgid "deb-triggers - package triggers"
msgstr "deb-triggers - wyzwalacze dla pakietów"

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

#. 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 ""
"Pakiet deklaruje swój związek z pewnym wyzwalaczem lub wyzwalaczami, "
"załączając plik I<triggers> warunków uruchomienia wyzwalaczy w swoim "
"archiwum kontrolnym (czyli I<DEBIAN/triggers> podczas tworzenia pakietu)."

#. 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 ""
"Ten plik zawiera dyrektywy, po jednej w linii. Początkowe i końcowe spacje "
"oraz wszystkie znaki po pierwszym B<#> w liniach są usuwane, zaś puste linie "
"są ignorowane."

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

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

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

#. type: Plain text
#: deb-triggers.5:33
#, fuzzy
#| 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."
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 ""
"Określa, że pakiet będzie uruchamiał nazwany wyzwalacz. Wszystkie wyzwalacze "
"interesujące dla pakietu muszą być wymienione z użyciem tej dyrektywy w "
"pliku kontrolnym triggers."

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

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

#. type: Plain text
#: deb-triggers.5:50
#, fuzzy
#| 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."
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 ""
"Powoduje, że zmiany stanu pakietu aktywują określony wyzwalacz. Aktywacja "
"wyzwalacza nastąpi na początku następujących operacji: unpack, configure, "
"remove (dodany do obsługi pakietów będących w konflikcie), purge i "
"deconfigure."

#. 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 ""
"Jeśli pakiet zniknie podczas rozpakowywania innego pakietu, wyzwalacz "
"zostanie aktywowany gdy zniknięcie zostanie odnotowane pod koniec operacji "
"unpack. Przetwarzanie wyzwalaczy oraz przejście pakietu ze stanu "
"\"wyzwalacze-oczekujące\" (triggers-awaited) do stanu \"zainstalowany\" nie "
"powodują aktywacji wyzwalaczy. W przypadku rozpakowywania aktywowane zostaną "
"wyzwalacze wymienione zarówno w starej jak i w nowej wersji pakietu."

#. type: Plain text
#: deb-triggers.5:61
msgid ""
"Unknown directives are an error which will prevent installation of the "
"package."
msgstr "Nieznane dyrektywy są błędami uniemożliwiającymi instalację pakietu."

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

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

#. 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 "użytki dpkg"

#
#. type: Plain text
#: dpkg.1:4
msgid "dpkg - package manager for Debian"
msgstr "dpkg - menedżer pakietów Debiana"

#
#. type: Plain text
#: dpkg.1:8
#, fuzzy
#| msgid "B<dpkg> [I<options>] I<action>"
msgid "B<dpkg> [I<option>...] I<action>"
msgstr "B<dpkg> [I<opcje>] I<działanie>"

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

#
#. 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 ""
"Ten podręcznik jest przeznaczony dla użytkowników, którzy chcą poznać opcje "
"programu B<dpkg> oraz chcą dowiedzieć się o pakietach więcej niż podaje to "
"B<dpkg --help>."

#
#. 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 ""
"Ten podręcznik I<nie> wyjaśnia technicznych szczegółów, np. w jaki sposób "
"B<dpkg> instaluje lub usuwa swoje pakiety, gdyż jest to dla przeciętnego "
"użytkownika zupełnie nieistotne."

#. 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 ""
"B<dpkg> jest narzędziem do instalowania, tworzenia, usuwania pakietów "
"systemu Debian oraz do zarządzania nimi. Podstawowym i bardziej przyjaznym "
"użytkownikowi narzędziem-nakładką B<dpkg> jest B<aptitude>(1). Sam B<dpkg> "
"jest obsługiwany z linii komend, przez podanie dokładnie jednego działania "
"oraz dodatkowych, nieobowiązkowych opcji. Parametr działanie określa, co "
"B<dpkg> ma zrobić, a dodatkowe opcje modyfikują to działanie."

#. 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 "INFORMACJE O PAKIETACH"

#
#. 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 ""
"B<dpkg> zarządza informacjami o dostępnych pakietach. Informacje zostały "
"podzielone na trzy klasy: B<stan bieżący>, B<stan wyboru> oraz B<flagę>. "
"Wartości te mogą zostać zmienione za pomocą programu B<dselect>."

#. type: SS
#: dpkg.1:39
#, no-wrap
msgid "PACKAGE STATES"
msgstr "STAN BIEŻĄCY PAKIETÓW"

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

#
#. type: Plain text
#: dpkg.1:43
msgid "The package is not installed on your system."
msgstr "Pakiet nie jest zainstalowany w systemie."

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

#
#. type: Plain text
#: dpkg.1:46
msgid "Only the configuration files of the package exist on the system."
msgstr "Tylko pliki konfiguracyjne pakietu zostały w systemie."

#. type: TP
#: dpkg.1:46
#, no-wrap
msgid "B<half-installed>"
msgstr "B<half-installed (wpółzainstalowany)>"

#
#. type: Plain text
#: dpkg.1:50
msgid ""
"The installation of the package has been started, but not completed for some "
"reason."
msgstr ""
"Instalacja pakietu została rozpoczęta, ale niedokończona z pewnych powodów."

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

#
#. type: Plain text
#: dpkg.1:53
msgid "The package is unpacked, but not configured."
msgstr "Pakiet jest rozpakowany, ale nie skonfigurowany."

#. type: TP
#: dpkg.1:53
#, no-wrap
msgid "B<half-configured>"
msgstr "B<half-configured (wpółskonfigurowany)>"

#
#. type: Plain text
#: dpkg.1:57
msgid ""
"The package is unpacked and configuration has been started, but not yet "
"completed for some reason."
msgstr ""
"Pakiet jest rozpakowany, a konfiguracja została rozpoczęta, ale "
"niedokończona z pewnych powodów."

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

#. type: Plain text
#: dpkg.1:60
msgid "The package awaits trigger processing by another package."
msgstr "Pakiet oczekuje przetworzenia wyzwalaczy przez inny pakiet."

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

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

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

#
#. type: Plain text
#: dpkg.1:66
msgid "The package is unpacked and configured OK."
msgstr "Pakiet jest rozpakowany i poprawnie skonfigurowany."

#. type: SS
#: dpkg.1:66
#, no-wrap
msgid "PACKAGE SELECTION STATES"
msgstr "STAN WYBORU PAKIETÓW"

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

#
#. type: Plain text
#: dpkg.1:70
msgid "The package is selected for installation."
msgstr "Pakiet został wybrany do zainstalowania."

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

#. 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 ""
"Pakiet oznaczony jako B<wstrzymany> nie jest obsługiwany przez B<dpkg>, "
"chyba że użyje się opcji B<--force-hold>."

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

#
#. 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 ""
"Pakiet został wybrany do odinstalowania (to znaczy, że chcemy skasować "
"wszystkie pliki pakietu oprócz plików konfiguracyjnych)."

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

#
#. type: Plain text
#: dpkg.1:82
#, fuzzy
#| msgid ""
#| "The package is selected to be purged (i.e. we want to remove everything, "
#| "even configuration files)."
msgid ""
"The package is selected to be purged (i.e. we want to remove everything from "
"system directories, even configuration files)."
msgstr ""
"Pakiet został wybrany do wyczyszczenia (to znaczy, że chcemy skasować "
"wszystko, włącznie z plikami konfiguracyjnymi)."

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

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

#. 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 ""
"Pakiet oznaczony jako B<konieczna-reinstalacja> jest uszkodzony i wymaga "
"reinstalacji. Taki pakiet nie może zostać usunięty, chyba że użyje się opcji "
"B<--force-remove-reinstreq>."

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

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

#
#. type: Plain text
#: dpkg.1:94
#, fuzzy
#| msgid ""
#| "Install the package. If B<--recursive> or B<-R> option is specified, "
#| "I<package_file> must refer to a directory instead."
msgid ""
"Install the package. If B<--recursive> or B<-R> option is specified, "
"I<package-file> must refer to a directory instead."
msgstr ""
"Instalacja pakiet. Jeśli została użyta opcja B<--recursive> lub B<-R>, "
"I<plik_pakietu> musi oznaczać wybrany katalog."

#
#. type: Plain text
#: dpkg.1:96
msgid "Installation consists of the following steps:"
msgstr "Instalacja składa się z następujących kroków:"

#
#. type: Plain text
#: dpkg.1:99
msgid "B<1.> Extract the control files of the new package."
msgstr "B<1.> Rozpakowanie plików kontrolnych nowego pakietu."

#
#. 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 ""
"B<2.> Jeśli inna wersja tego samego pakietu jest już zainstalowana, "
"uruchomienie skryptu I<prerm> starego pakietu."

#
#. type: Plain text
#: dpkg.1:106
msgid "B<3.> Run I<preinst> script, if provided by the package."
msgstr "B<3.> Uruchomienie skryptu I<preinst>, jeśli pakiet go zawiera."

#
#. 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 ""
"B<4.> Rozpakowanie nowych plików, ale przechowanie starych na wypadek, gdyby "
"instalacja się nie powiodła i trzeba by je odzyskać."

#
#. 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 ""
"B<5.> Jeśli inna wersja tego samego pakietu była poprzednio zainstalowana, "
"uruchomienie skryptu I<postrm> starego pakietu. Proszę zauważyć, że ten "
"skrypt jest uruchamiany po skrypcie I<preinst> nowego pakietu, ponieważ nowe "
"pliki są zapisywane w tym samym czasie, gdy stare są kasowane."

#
#. type: Plain text
#: dpkg.1:121
msgid ""
"B<6.> Configure the package. See B<--configure> for detailed information "
"about how this is done."
msgstr ""
"B<6.> Konfiguracja pakietu. Bardziej szczegółowe informacje zawarto przy "
"opisie parametru B<--configure>."

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

#
#. type: Plain text
#: dpkg.1:126
#, fuzzy
#| 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."
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 ""
"Rozpakowanie pakietu, ale bez konfigurowania go. Jeśli została użyta opcja "
"B<--recursive> lub B<-R>, I<plik_pakietu> musi oznaczać wybrany katalog."

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

#
#. type: Plain text
#: dpkg.1:131
#, fuzzy
#| msgid ""
#| "Reconfigure an unpacked package. If B<-a> or B<--pending> is given "
#| "instead of I<package>, all unpacked but unconfigured packages are "
#| "configured."
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 ""
"Ponowne konfigurowanie rozpakowanego pakietu. Jeśli zamiast nazwy I<pakietu> "
"została podana opcja B<-a> lub B<--pending>, rekonfiguracja obejmie "
"wszystkie pakiety rozpakowane, ale jeszcze nie skonfigurowane."

#. 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 "Konfigurowanie składa się z następujących kroków:"

#
#. 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 ""
"B<1.> Rozpakowanie nowych plików konfiguracyjnych, ale przechowanie starych "
"na wypadek, gdyby konfigurowanie się nie powiodło i trzeba by je odzyskać."

#
#. type: Plain text
#: dpkg.1:145
msgid "B<2.> Run I<postinst> script, if provided by the package."
msgstr "B<2.> Uruchomienie skryptu I<postinst>, jeśli pakiet go zawiera."

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

#. 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 ""
"Przetwarzanie samych wyzwalaczy. Wszystkie zaplanowane wyzwalacze zostaną "
"przetworzone. Jeśli podane są nazwy pakietów, tylko ich wyzwalacze zostaną "
"przetworzone - każdy dokładnie raz, tam gdzie to potrzebne. Użycie tej opcji "
"może pozostawić pakiety w niewłaściwym stanie B<triggers-awaited> lub "
"B<triggers-pending>. Może to być później naprawione przez wywołanie: B<dpkg "
"--configure --pending>."

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

#
#. type: Plain text
#: dpkg.1:169
#, fuzzy
#| 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."
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 ""
"Usuwanie zainstalowanych pakietów. Parametr B<-r> lub B<--remove> powoduje "
"usunięcie wszystkich plików oprócz plików konfiguracyjnych. Pozwala to "
"uniknąć powtórnej konfiguracji, gdyby pakiet był znów instalowany później. "
"(Pliki konfiguracyjne są wymienione w pliku kontrolnym I<DEBIAN/conffiles> "
"pakietu). Parametr B<-P> lub B<--purge> usuwa wszystko, łącznie z plikami "
"konfiguracyjnymi. Jeśli zamiast nazwy pakietu została podana opcja B<-a> lub "
"B<--pending>, usunięte lub wyczyszczone zostaną wszystkie pakiety "
"rozpakowane i wybrane w pliku I</var/lib/dpkg/status> do usunięcia lub "
"wyczyszczenia. Uwaga: niektóre pliki konfiguracyjne mogą być nieznane dla "
"B<dpkg> ponieważ są oddzielnie tworzone i zarządzane przez skrypty "
"konfiguracyjne. W takim przypadku B<dpkg> nie usunie ich samodzielnie, ale "
"skrypt I<postrm> pakietu (wywoływany przez B<dpkg>) musi zatroszczyć się o "
"ich usunięcie podczas czyszczenia."

#
#. type: Plain text
#: dpkg.1:171
msgid "Removing of a package consists of the following steps:"
msgstr "Usunięcie pakietu składa się z następujących kroków:"

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

#
#. type: Plain text
#: dpkg.1:177
msgid "B<2.> Remove the installed files"
msgstr "B<2.> Usunięcie zainstalowanych plików"

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

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

#. 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 ""
"Zaktualizowanie bazy danych programu B<dpkg> oraz B<dselect> o dostępnych "
"pakietach. Opcja B<--merge-avail> powoduje, że poprzednie informacje są "
"łączone z nowymi z I<pliku_pakietów>. Opcja B<--update-avail> powoduje "
"zastąpienie starych informacji nowymi z I<pliku_pakietów>. I<Plik_pakietów> "
"dystrybuowany razem z systemem Debian nazywa się po prostu I<Packages>. "
"B<dpkg> przechowuje informacje o dostępnych pakietach w pliku I</var/lib/"
"dpkg/available>."

#. 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 ""
"Prostszym poleceniem, którego można użyć w celu pobrania i odświeżenia pliku "
"I<available>, jest B<dselect update>. Proszę zauważyć, że plik ten jest "
"zasadniczo nieużyteczny, jeśli nie używa się B<dselect> tylko nakładki "
"bazującej na APT. Przyczyną tego jest fakt, że APT posiada własny system "
"określania dostępności pakietów."

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

#
#. type: Plain text
#: dpkg.1:201
#, fuzzy
#| 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."
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 ""
"Zaktualizowanie bazy danych programów B<dpkg> oraz B<dselect> o dostępnych "
"pakietach, uwzględniając informacje zawarte w pakiecie I<plik_pakietu>. "
"Jeśli została użyta opcja B<--recursive> lub B<-R>, I<plik_pakietu> musi "
"oznaczać wybrany katalog."

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

#. type: Plain text
#: dpkg.1:205
msgid ""
"Now B<obsolete> and a no-op as B<dpkg> will automatically forget uninstalled "
"unavailable packages."
msgstr ""
"Aktualnie B<przestarzałe> i nie daje żadnego efektu, ponieważ B<dpkg> "
"automatycznie zapomina o niezainstalowanych, niedostępnych pakietach."

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

#
#. type: Plain text
#: dpkg.1:208
msgid "Erase the existing information about what packages are available."
msgstr "Skasowanie informacji o dostępnych pakietach."

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

#
#. 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 ""
"Wyszukanie pakietów, które zainstalowane są w systemie tylko częściowo. "
"B<dpkg> zasugeruje, co można zrobić z tymi pakietami, aby w pełni działały."

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

#
#. 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 ""
"Pobranie listy wybranych pakietów i wypisanie jej na stdout. Jeżeli nie "
"podano wzorca, pakiety niezainstalowane (czyli takie, które nie zostały "
"uprzednio wyczyszczone) nie zostaną wyświetlone."

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

#. type: Plain text
#: dpkg.1:224
#, fuzzy
#| msgid ""
#| "Set package selections using file read from stdin. This file should be in "
#| "the format 'E<lt>packageE<gt> E<lt>stateE<gt>', where state is one of "
#| "install, hold, deinstall or purge. Blank lines and comment lines "
#| "beginning with '#' are also permitted."
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 ""
"Ustawia wybór pakietów używając pliku przeczytanego ze standardowego "
"wejścia. Plik ten powinien być w następującym formacie \"E<lt>pakietE<gt> "
"E<lt>stanE<gt>\", gdzie stan jest jednym z install, hold, deinstall lub "
"purge. Dozwolone są także linie puste i linie komentarza - zaczynające się "
"od \"#\"."

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

#. 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 ""
"Oznacza wszystkie pakiety nie będące pakietami niezbędnymi (essential) jako "
"przeznaczone do usunięcia. Opcja ta powinna być użyta bezpośrednio przed --"
"set-selections, aby usunąć wszystkie pakiety niewymienione w --set-"
"selections."

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

#
#. type: Plain text
#: dpkg.1:233
msgid ""
"Searches for packages selected for installation, but which for some reason "
"still haven't been installed."
msgstr ""
"Wyszukanie pakietów przeznaczonych do zainstalowania, które z pewnych "
"powodów nie mogły zostać zainstalowane."

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

#
#. type: Plain text
#: dpkg.1:237
msgid ""
"Print architecture of packages B<dpkg> installs (for example, \"i386\")."
msgstr ""
"Podanie architektury pakietów instalowanych przez B<dpkg> (na przykład "
"\"i386\")."

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

#. 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 ""
"Porównanie numerów wersji, gdzie I<op> jest operatorem binarnym. B<dpkg> "
"zwróci prawdę (rezultat zerowy) - gdy warunek jest spełniony, lub zwróci "
"fałsz (rezultat niezerowy) - w przeciwnym razie. Istnieją dwie grupy "
"operatorów, w zależności od tego, w jaki sposób traktuje się pusty numer "
"I<wersji1> lub I<wersji2>. Operatory, dla których pusty numer wersji oznacza "
"wersję wcześniejszą niż dowolna: B<lt le eq ne ge gt>. Operatory, dla "
"których pusty numer wersji oznacza wersję późniejszą niż dowolna: B<lt-nl le-"
"nl ge-nl gt-nl>. Operatory istniejące, aby zachować kompatybilność z plikiem "
"kontrolnym: B<E<lt> E<lt>E<lt> E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."

#. type: TP
#: dpkg.1:248
#, fuzzy, no-wrap
#| msgid "B<--command-fd >I<E<lt>nE<gt>>"
msgid "B<--command-fd >I<n>"
msgstr "B<--command-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:253
#, fuzzy
#| msgid ""
#| "Accept a series of commands on input file descriptor I<E<lt>nE<gt>>. "
#| "Note: additional options set on the command line, and thru this file "
#| "descriptor, are not reset for subsequent commands executed during the "
#| "same run."
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 ""
"Wykonuje listę poleceń odczytywanych z deskryptora pliku I<E<lt>nE<gt>>. "
"Uwaga: dodatkowe opcje ustawione w linii komend oraz przez polecenia "
"odczytane z tego deskryptora pliku nie są czyszczone dla kolejnych poleceń "
"wykonywanych podczas tego samego przebiegu."

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

#
#. type: Plain text
#: dpkg.1:256
msgid "Display a brief help message."
msgstr "Wyświetlenie krótkiego komunikatu pomocy."

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

#
#. type: Plain text
#: dpkg.1:259
msgid "Give help about the B<--force->I<thing> options."
msgstr "Wyświetlenie opisu opcji B<--force->I<działanie>."

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

#
#. type: Plain text
#: dpkg.1:262
msgid "Give help about debugging options."
msgstr "Wyświetlenie opisu opcji debuggera."

#. 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
msgid "Display B<dpkg> version information."
msgstr "Wyświetlenie informacji o wersji B<dpkg>."

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

#
#. type: Plain text
#: dpkg.1:268
msgid "See B<dpkg-deb>(1) for more information about the following actions."
msgstr ""
"Proszę zajrzeć do B<dpkg-deb>(1), aby poznać pełny opis następujących "
"działań."

#. 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 ""
"B<-b>, B<--build> I<katalog> [I<archiwum>|I<katalog>]\n"
"    Zbudowanie pakietu deb.\n"
"B<-c>, B<--contents> I<archiwum>\n"
"    Podanie zawartości pakietu deb.\n"
"B<-e>, B<--control> I<nazwa-pliku> [I<katalog>]\n"
"    Rozpakowanie plików kontrolnych z pakietu.\n"
"B<-x>, B<--extract> I<archiwum katalog>\n"
"     Rozpakowanie plików zawartych w pakiecie.\n"
"B<-X>, B<--vextract> I<archiwum katalog>\n"
"    Rozpakowanie pakietu i podanie nazw plików, które\n"
"    zawiera pakiet.\n"
"B<-f>, B<--field> I<archiwum> [I<pole-kontrolne>...]\n"
"    Podanie informacji z pól kontrolnych pakietu.\n"
"B<--fsys-tarfile> I<archiwum>\n"
"    Podanie na stdout archiwum tar, które zawiera pakiet\n"
"    Debiana.\n"
"B<-I>, B<--info> I<archiwum> [I<plik-kontrolny>...]\n"
"     Podanie informacji o pakiecie.\n"

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

#
#. type: Plain text
#: dpkg.1:293
msgid "See B<dpkg-query>(1) for more information about the following actions."
msgstr ""
"Proszę przeczytać B<dpkg-query>(8), aby uzyskać szczegółowe informacje o "
"następujących działaniach."

#. 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 ""
"B<-l>, B<--list> I<wzorzec-nazw-pakietów>...\n"
"    Wyświetla pakiety pasujące do wzorca.\n"
"B<-s>, B<--status> I<nazwa-pakietu>...\n"
"    Wyświetla informacje o stanie danego pakietu.\n"
"B<-L>, B<--listfiles> I<nazwa-pakietu>...\n"
"    Wyświetla listę plików zainstalowanych w systemie przez pakiet I<nazwa-pakietu>.\n"
"B<-S>, B<--search> I<wzorzec-wyszukiwania-nazw-plików>...\n"
"    Wyszukuje nazwy plików w zainstalowanych pakietach.\n"
"B<-p>, B<--print-avail> I<nazwa-pakietu>...\n"
"    Wyświetla szczegółowe informacje na temat pakietu I<nazwa-pakietu>,\n"
"    pochodzące z pliku I</var/lib/dpkg/available>. Użytkownicy nakładek\n"
"    opartych o APT powinni używać B<apt-cache show> I<package-name> zamiast\n"
"    tej opcji.\n"

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

#
#. 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 ""
"Wszystkie opcje mogą być podane zarówno w linii poleceń, jak i w pliku "
"konfiguracyjnym I</etc/dpkg/dpkg.cfg> programu B<dpkg> lub w plikach w "
"katalogu konfiguracyjnym I</etc/dpkg/dpkg.cfg.d/>. Każda linia pliku "
"konfiguracyjnego jest albo opcją (dokładnie taką samą jak opcja linii "
"poleceń, ale bez początkowych myślników), albo komentarzem (jeżeli zaczyna "
"się od B<#>)."

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

#
#. type: Plain text
#: dpkg.1:320
msgid "Change after how many errors B<dpkg> will abort. The default is 50."
msgstr ""
"Zmiana liczby błędów, po których B<dpkg> zaprzestanie działania. Domyślna "
"wartość to 50."

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

#
#. 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 ""
"Gdy pakiet jest usuwany, możliwe jest, że inny zainstalowany pakiet zależy "
"od tego usuwanego. Podanie tej opcji spowoduje automatyczne dekonfigurowanie "
"pakietów, które są zależne od usuwanego."

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

#. 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 ""
"Włączenie trybu debuggera. I<ósemkowo> jest liczbą ósemkową będącą sumą "
"logiczną bitów opcji debuggera z poniższej listy (te wartości mogą się "
"zmienić w przyszłości). Parametr B<-Dh> lub B<--debug=help> wyświetla te "
"wartości."

#. type: Plain text
#: dpkg.1:347
#, fuzzy, 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"
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 ""
"      numer  opis\n"
"         1   Ogólnie przydatne informacje o postępie\n"
"         2   Wywołanie i stan skryptów kontrolnych\n"
"        10   Informacje o każdym przetwarzanym pliku\n"
"       100   Więcej informacji o każdym przetwarzanym pliku\n"
"        20   Informacje o każdym pliku konfiguracyjnym\n"
"       200   Więcej informacji o każdym pliku konfiguracyjnym\n"
"        40   Zależności i konflikty\n"
"       400   Więcej informacji o zależnościach i konfliktach\n"
"     10000   Informacje o aktywacji i przetwarzaniu wyzwalaczy\n"
"     20000   Więcej informacji dotyczących wyzwalaczy\n"
"     40000   Szczegółowe informacje dotyczące wyzwalaczy\n"
"      1000   Mnóstwo informacji m.in. o plikach info z bazy danych dpkg\n"
"      2000   Reszta szczegółowych informacji\n"

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

#
#. 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 ""
"Wymuś (B<--force->) wykonanie pewnych działań lub pozostaw domyślny sposób "
"(B<no-force> i B<refuse> oznaczają to samo) wykonania działań. I<działania> "
"to rozdzielona przecinkami lista działań. B<--force-help> wyświetla opis "
"tych działań. Działania oznaczone przez (*) są domyślnie wymuszone."

#
#. 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 ""
"I<Ostrzeżenie: Te opcje są zwykle przeznaczone wyłącznie dla doświadczonych "
"użytkowników. Użycie ich bez pełnego zrozumienia efektu działania może "
"spowodować uszkodzenie systemu.>"

#
#. type: Plain text
#: dpkg.1:361
msgid "B<all>: Turns on (or off) all force options."
msgstr "B<all>: Włącza (lub wyłącza) wszystkie opcje typu \"force\"."

#
#. type: Plain text
#: dpkg.1:364
msgid ""
"B<downgrade>(*): Install a package, even if newer version of it is already "
"installed."
msgstr ""
"B<downgrade>(*): Zainstalowanie pakietu, nawet gdy nowsza jego wersja jest "
"już zainstalowana."

#
#. 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 ""
"I<Ostrzeżenie: W chwili obecnej dpkg nie sprawdza zależności podczas "
"instalowania starszej wersji pakietu i dlatego nie wypisze ostrzeżenia, "
"jeżeli zainstalowanie starszej wersji popsuje zależności innych pakietów. "
"Instalowanie starszych wersji niezbędnych (essential) pakietów może "
"spowodować - i jest to poważny skutek uboczny - że Twój system nie będzie "
"się nadawał do użytku. Proszę używać tej opcji ostrożnie.>"

#
#. type: Plain text
#: dpkg.1:375
msgid ""
"B<configure-any>: Configure also any unpacked but unconfigured packages on "
"which the current package depends."
msgstr ""
"B<configure-any>: Skonfigurowanie wszystkich rozpakowanych ale "
"nieskonfigurowanych pakietów, od których zależy bieżący pakiet."

#
#. type: Plain text
#: dpkg.1:378
msgid "B<hold>: Process packages even when marked \"hold\"."
msgstr ""
"B<hold>: Działanie obejmie także pakiety oznaczone jako \"wstrzymane"
"\" (hold)."

#
#. 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 ""
"B<remove-reinstreq>: Usunięcie pakietu, nawet wtedy gdy jest uszkodzony i "
"wymaga przeinstalowania. Może to spowodować pozostawienie części pakietu w "
"systemie, gdyż B<dpkg> zapomni o niej."

#. 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 ""
"B<remove-essential>: Usunięcie pakietu, nawet wtedy gdy jest on uznany za "
"niezbędny (essential). Pakiety niezbędne zawierają podstawowe polecenia "
"Uniksa. Usunięcie ich może spowodować, że system przestanie działać. Należy "
"zachować szczególną ostrożność przy użyciu tej opcji."

#
#. type: Plain text
#: dpkg.1:391
msgid "B<depends>: Turn all dependency problems into warnings."
msgstr ""
"B<depends>: Zamiana wszystkich problemów z zależnościami na ostrzeżenia."

#
#. type: Plain text
#: dpkg.1:394
msgid ""
"B<depends-version>: Don't care about versions when checking dependencies."
msgstr ""
"B<depends-version>: Zignorowanie problemów z numerami wersji przy "
"sprawdzaniu zależności."

#. type: Plain text
#: dpkg.1:397
msgid "B<breaks>: Install, even if this would break another package."
msgstr "B<breaks>: Instalacja, nawet jeśliby to popsuło inny pakiet."

#
#. 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 ""
"B<conflicts>: Instalacja, nawet gdy pakiet powoduje konflikt z innym. "
"Powstać może niebezpieczeństwo nadpisania plików z innego pakietu, dlatego "
"należy zachować ostrożność przy użyciu tej opcji."

#. 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 ""
"B<confmiss>: Zawsze będą instalowane brakujące pliki konfiguracyjne. "
"Używanie tej opcji może być niebezpieczne, ponieważ nie zachowuje to zmiany "
"dokonanej na pliku (czyli jego usunięcia)."

#. 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 ""
"B<confnew>: Jeśli plik konfiguracyjny został zmodyfikowany, zainstalowana "
"zostanie jego nowa wersja bez pytania, chyba że użyto również opcji B<--"
"force-confdef>, co spowoduje wykonanie domyślnej akcji."

#. 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 ""
"B<confold>: Jeśli plik konfiguracyjny został zmodyfikowany, stara wersja "
"zostanie zachowana bez pytania, chyba że użyto również opcji B<--force-"
"confdef>, co spowoduje wykonanie domyślnej akcji."

#
#. 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 ""
"B<confdef>: Jeśli plik konfiguracyjny został zmodyfikowany, wybrane zostanie "
"domyślne działanie. Jeżeli nie określono domyślnej akcji, użytkownik "
"zostanie poproszony o dokonanie wyboru. Podanie dodatkowo opcji B<--force-"
"confnew> lub B<--force-confold> zdecyduje o dalszym działaniu."

#
#. type: Plain text
#: dpkg.1:429
#, fuzzy
#| 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."
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 ""
"B<confdef>: Jeśli plik konfiguracyjny został zmodyfikowany, wybrane zostanie "
"domyślne działanie. Jeżeli nie określono domyślnej akcji, użytkownik "
"zostanie poproszony o dokonanie wyboru. Podanie dodatkowo opcji B<--force-"
"confnew> lub B<--force-confold> zdecyduje o dalszym działaniu."

#
#. type: Plain text
#: dpkg.1:432
msgid "B<overwrite>: Overwrite one package's file with another's file."
msgstr ""
"B<overwrite>: Nadpisanie plików z innych pakietów, w przypadku gdy dany plik "
"występuje także w innym pakiecie."

#
#. type: Plain text
#: dpkg.1:435
msgid "B<overwrite-dir> Overwrite one package's directory with another's file."
msgstr ""
"B<overwrite-dir> Nadpisanie katalogów z innych pakietów, w przypadku gdy "
"dany katalog występuje także w innym pakiecie."

#
#. type: Plain text
#: dpkg.1:438
msgid ""
"B<overwrite-diverted>: Overwrite a diverted file with an undiverted version."
msgstr ""
"B<overwrite-diverted>: Nadpisanie plików ominiętych plikami nieominiętymi."

#. 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
#, fuzzy
#| msgid "B<architecture>: Process even packages with the wrong architecture."
msgid "B<architecture>: Process even packages with wrong or no architecture."
msgstr "B<architecture>: Działanie obejmie pakiety z niepoprawną architekturą."

#
#. type: Plain text
#: dpkg.1:461
#, fuzzy
#| msgid "B<architecture>: Process even packages with the wrong architecture."
msgid "B<bad-version>: Process even packages with wrong versions."
msgstr "B<architecture>: Działanie obejmie pakiety z niepoprawną architekturą."

#. type: Plain text
#: dpkg.1:464
msgid ""
"B<bad-path>: B<PATH> is missing important programs, so problems are likely."
msgstr ""
"B<bad-path>: Zignorowanie braku pewnych programów w ścieżce zmiennej "
"systemowej B<PATH>."

#. type: Plain text
#: dpkg.1:467
msgid "B<not-root>: Try to (de)install things even when not root."
msgstr ""
"B<not-root>: Próba (de)instalacji, gdy dpkg nie jest uruchamiany z konta "
"administartora."

#. type: Plain text
#: dpkg.1:470
msgid "B<bad-verify>: Install a package even if it fails authenticity check."
msgstr ""
"B<bad-verify>: Instalowanie pakietu, nawet jeżeli nie powiedzie się "
"sprawdzenie jego autentyczności."

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

#
#. 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 ""
"Zignorowanie sprawdzania zależności od podanych pakietów (a ściślej rzecz "
"biorąc, sprawdzanie się odbywa, ale w przypadku konfliktów wyświetlane jest "
"tylko ostrzeżenie)."

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

#
#. 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 ""
"Podejmowane działania nie powodują żadnych zmian. Ta opcja jest użyteczna, "
"gdy potrzeba sprawdzić, czy działanie się wykona, ale bez powodowania zmian "
"czegokolwiek."

#. 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 ""
"Opcję B<--no-act> należy podać jako pierwszy parametr, gdyż w przeciwnym "
"razie można otrzymać niespodziewane efekty. (np. B<dpkg --purge bla --no-"
"act> wyczyści pakiet bla, a następnie spróbuje wyczyścić pakiet o nazwie --"
"no-act, mimo że najprawdopodobniej spodziewałeś się, że takie polecenie nic "
"nie zrobi)."

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

#
#. 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 ""
"Działanie obejmie wszystkie pliki B<*.deb> z podanego katalogu, wraz z "
"podkatalogami tego katalogu. Ta opcja może zostać użyta wraz z B<-i>, B<-A>, "
"B<--install>, B<--unpack> oraz B<--avail>."

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

#
#. 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 ""
"Nieinstalowanie pakietu, jeśli jego nowsza wersja jest już zainstalowana. "
"Jest to dokładnie to samo, co B<--refuse-downgrade>."

#. 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 "B<--admindir=>I<katalog>"

#. 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 ""
"Zmiana domyślnego katalogu administracyjnego, zawierającego wiele plików "
"dostarczających informacji o stanie zainstalowanych i niezainstalowanych "
"pakietów itp. (Wartość domyślna to I</var/lib/dpkg>)."

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

#
#. 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 ""
"Zmiana domyślnego katalogu instalacyjnego, czyli katalogu, w którym pakiety "
"są instalowane. B<instdir> jest także katalogiem przekazywanym do B<chroot>"
"(2) przed uruchomieniem skryptów dostarczonyhc przez opiekuna pakietu, co "
"oznacza, że skrypty te widzą B<instdir> jako główny katalog hierarchii. "
"(Wartość domyślna to I</>)."

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

#. 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 ""
"Zmiana B<root> zmienia B<instdir> na I<katalog> i B<admindir> na "
"I<katalog>B</var/lib/dpkg>."

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

#
#. 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 ""
"Działanie obejmuje wyłącznie pakiety wybrane do instalacji. Wybór może "
"zostać dokonany przez polecenie B<dselect> lub B<dpkg>, gdy wykonuje "
"operacje na pakietach. Na przykład pakiet usuwany jest zaznaczany jako "
"wybrany do odinstalowania."

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

#
#. type: Plain text
#: dpkg.1:521
msgid ""
"Don't install the package if the same version of the package is already "
"installed."
msgstr ""
"Nieinstalowanie pakietu, jeśli o tej samej wersji jest już zainstalowany w "
"systemie."

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

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

#. 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 ""
"Określa dodatkowe I<polecenie>, które będzie wywołane przez \"sh -c\" przed "
"lub po wykonaniu przez dpkg akcji: I<unpack>, I<configure>, I<install>, "
"I<triggers-only>, I<remove> oraz I<purge>. Opcja ta może być podana "
"wielokrotnie. Zachowywana jest kolejność podawania opcji, poprzedzane są one "
"jeszcze opcjami z plików konfiguracyjnych. Zmienna środowiska "
"B<DPKG_HOOK_ACTION> jest ustawiana dla dodatkowych poleceń na wartość "
"odpowiadającą bieżącej akcji dpkg. Uwaga: nakładki mogą uruchamiać dpkg "
"kilka razy w ciągu jednego wywołania, co może spowodować uruchomienie "
"dodatkowych poleceń więcej razy niż oczekiwano."

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

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

#. 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 "B<--status-fd >I<n>"

#. 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 ""
"Wysłanie \"czytelnego dla maszyny\" statusu pakietu i informacji o postępie "
"do deskryptora pliku I<n>. Ta opcja może być podana wielokrotnie. Informacja "
"jest ogólnie zapisywana po jednym wpisie w linii, w jednej z następujących "
"form:"

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

#. type: Plain text
#: dpkg.1:580
msgid "Package status changed; I<status> is as in the status file."
msgstr ""
"Nastąpiła zmiana statusu pakietu, I<status> jest taki jak w pliku statusu "
"pakietu."

#. type: TP
#: dpkg.1:580
#, no-wrap
msgid "B<status: >I<package>B< : error : >I<extended-error-message>"
msgstr "B<status: >I<pakiet>B< : error : >I<rozszerzony-komunikat-błędu>"

#. 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 "B<status: >I<plik>B< : conffile-prompt : '>I<prawdziwy-stary>B<' '>I<prawdziwy-nowy>B<' >I<zmiany-użytkownika>B< >I<zmiany-dystrybucyjne>"

#. type: Plain text
#: dpkg.1:587
msgid "User is being asked a conffile question."
msgstr ""
"Użytkownikowi zostanie przedstawione pytanie odnośnie pliku konfiguracyjnego."

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

#. type: Plain text
#: dpkg.1:592
#, fuzzy
#| 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<remove>, B<purge>."
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 ""
"Wysyłane tuż przez rozpoczęciem etapu przetwarzania. I<etap> jest jednym z "
"B<upgrade>, B<install> (oba wysyłane przed rozpakowaniem), B<configure>, "
"B<trigproc>, B<remove>, B<purge>."

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

#. type: Plain text
#: dpkg.1:598
#, fuzzy
#| 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:"
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 ""
"Wysłanie \"czytelnego dla maszyny\" statusu pakietu i informacji o postępie "
"do deskryptora pliku I<n>. Ta opcja może być podana wielokrotnie. Informacja "
"jest ogólnie zapisywana po jednym wpisie w linii, w jednej z następujących "
"form:"

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

#. type: Plain text
#: dpkg.1:611
#, fuzzy
#| 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 E<lt>stateE<gt> E<lt>pkgE<gt> E<lt>installed-versionE<gt>' for "
#| "status change updates; `YYYY-MM-DD HH:MM:SS E<lt>actionE<gt> "
#| "E<lt>pkgE<gt> E<lt>installed-versionE<gt> E<lt>available-versionE<gt>' "
#| "for actions where I<E<lt>actionE<gt>> is one of install, upgrade, remove, "
#| "purge; and `YYYY-MM-DD HH:MM:SS conffile E<lt>filenameE<gt> "
#| "E<lt>decisionE<gt>' for conffile changes where I<E<lt>decisionE<gt>> is "
#| "either install or keep."
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 ""
"Zapisuje informacje o zmianach stanu i akcjach do pliku logu I<nazwa-pliku>, "
"zamiast do domyślnego pliku I</var/log/dpkg.log>. Jeżeli tę opcję podano "
"kilka razy, brany jest pod uwagę plik podany w ostatniej opcji. Komunikaty "
"logu są w postaci\"YYYY-MM-DD HH:MM:SS E<lt>statusE<gt> E<lt>pakietE<gt> "
"E<lt>wersja-zainstalowanaE<gt>\" dla zmian stanu; \"YYYY-MM-DD HH:MM:SS "
"E<lt>akcjaE<gt> E<lt>pakietE<gt> E<lt>wersja-instalowanaE<gt> E<lt>wersja-"
"dostępnaE<gt>\" dla akcji, gdzie I<E<lt>akcjaE<gt>> jest jedną z install "
"(instalacja), upgrade (aktualizacja), remove (usuwanie), purge (czyszczenie) "
"oraz \"YYYY-MM-DD HH:MM:SS conffile E<lt>nazwa-plikuE<gt> E<lt>decyzjaE<gt>"
"\" dla zmian plików konfiguracyjnych, gdzie I<E<lt>decyzjaE<gt>> to albo "
"install (instalacja nowej wersji), albo keep (zachowanie poprzedniej wersji)."

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

#. type: Plain text
#: dpkg.1:614
msgid "Do not try to verify package signatures."
msgstr "Nie próbuje weryfikować sygnatur pakietu."

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

#. 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 ""
"Nie uruchamiaj żadnych wyzwalaczy w tym przebiegu (aktywacje nadal będą "
"zarejestrowane). Przy użyciu wraz z B<--configure> I<pakiet> lub B<--"
"triggers-only> I<pakiet> skrypt \"postinst\" wskazanego pakietu nadal "
"zostanie uruchomiony, nawet jeśli wymagane jest tylko uruchomienie "
"wyzwalaczy. Użycie tej opcji może pozostawić pakiety w niewłaściwym stanie "
"B<triggers-awaited> lub B<triggers-pending>. Może to być później naprawione "
"przez wywołanie: B<dpkg --configure --pending>."

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

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

#. 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 "Plik konfiguracyjny zawierający domyślne opcje."

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

#. type: Plain text
#: dpkg.1:635
msgid "Default log file (see I</etc/dpkg/dpkg.cfg>(5) and option B<--log>)."
msgstr "Domyślny plik logu (patrz I</etc/dpkg/dpkg.cfg>(5) i opcja B<--log>)."

#
#. 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 ""
"Pozostałe pliki wymienione poniżej odnoszą się do swoich domyślnych "
"katalogów. Opcja B<--admindir> może zmienić lokalizację tych plików."

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

#
#. type: Plain text
#: dpkg.1:641
msgid "List of available packages."
msgstr "Lista dostępnych pakietów."

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

#
#. 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 ""
"Stan dostępnych pakietów. Ten plik zawiera informacje o tym, czy dany pakiet "
"jest wybrany do skasowania, czy jest zainstalowany itp. Te informacje są "
"opisane w sekcji B<INFORMACJE O PAKIETACH>."

#. 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 ""
"Kopia zapasowa pliku statusu jest tworzona w I</var/backups> każdego dnia. "
"Może to być przydatne jeśli zostanie on utracony lub uszkodzony z powodu "
"kłopotów z systemami plików."

#
#. 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 ""
"Poniższe pliki są częścią składową pakietów binarnych. Więcej informacji o "
"nich można znaleźć w B<deb>(5)."

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

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

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

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

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

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

#. 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 "ŚRODOWISKO"

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

#. 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<CPPFLAGS>"
msgid "B<PAGER>"
msgstr "B<CPPFLAGS>"

#
#. type: Plain text
#: dpkg.1:678
#, fuzzy
#| msgid "The program B<dpkg> will execute when starting a new shell."
msgid "The program B<dpkg> will execute when displaying the conffiles."
msgstr ""
"Program uruchamiany przez B<dpkg>, gdy trzeba uruchomić nową sesję powłoki."

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

#
#. type: Plain text
#: dpkg.1:681
msgid "The program B<dpkg> will execute when starting a new shell."
msgstr ""
"Program uruchamiany przez B<dpkg>, gdy trzeba uruchomić nową sesję powłoki."

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

#
#. 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 ""
"Ustawia liczbę kolumn używanych przez B<dpkg> w czasie wyświetlania "
"sformatowanego tekstu. Obecnie używane tylko przez opcję -l."

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

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

#. 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 ""
"Zdefiniowana przez B<dpkg> w środowisku skryptu opiekuna pakietu, jako "
"wersja aktualnie uruchomionej instancji programu B<dpkg>."

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

#. type: Plain text
#: dpkg.1:705
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the package name "
"being handled."
msgstr ""
"Zdefiniowana przez B<dpkg> w środowisku skryptu opiekuna pakietu, jako nazwa "
"przetwarzanego pakietu."

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

#. 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 ""
"Zdefiniowana przez B<dpkg> w środowisku skryptu opiekuna pakietu, jako "
"architektura dla której budowano pakiet."

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

#. type: Plain text
#: dpkg.1:713
#, fuzzy
#| msgid ""
#| "Defined by B<dpkg> on the maintainer script environment to the version of "
#| "the currently running B<dpkg> instance."
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the name of the "
"script running (preinst, postinst, prerm, postrm)."
msgstr ""
"Zdefiniowana przez B<dpkg> w środowisku skryptu opiekuna pakietu, jako "
"wersja aktualnie uruchomionej instancji programu B<dpkg>."

#
#. type: Plain text
#: dpkg.1:716
msgid "To list packages related to the editor B<vi>(1):"
msgstr "Wyświetlenie wszystkich pakietów związanych z edytorem B<vi>(1):"

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

#
#. type: Plain text
#: dpkg.1:721
msgid "To see the entries in I</var/lib/dpkg/available> of two packages:"
msgstr ""
"Wyświetlenie informacji z pliku I</var/lib/dpkg/available> o dwóch pakietach:"

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

#
#. type: Plain text
#: dpkg.1:726
msgid "To search the listing of packages yourself:"
msgstr "Samodzielne przeszukanie informacji o pakietach:"

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

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

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

#
#. 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 ""
"Aby zainstalować pakiet, należy wpierw znaleźć go w archiwum lub na CDROM. "
"Plik \"available\" pokazuje, że pakiet vim jest w sekcji \"editors\":"

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

#
#. type: Plain text
#: dpkg.1:744
msgid "To make a local copy of the package selection states:"
msgstr "Aby stworzyć kopię lokalnie wybranych pakietów:"

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

#
#. type: Plain text
#: dpkg.1:750
msgid ""
"You might transfer this file to another computer, and install it there with:"
msgstr ""
"Ten plik można przenieść do innego systemu i zainstalować te pakiety poprzez:"

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

#
#. 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 ""
"Należy zauważyć, że ta opcja nie powoduje zainstalowania lub usunięcia "
"czegokolwiek, ale tylko zaznacza wskazane pakiety do zainstalowania bądź "
"usunięcia. Do pobrania i zainstalowania tych pakietów trzeba użyć innego "
"programu. Na przykład można w tym celu użyć polecenia B<apt-get dselect-"
"upgrade>."

#
#. 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 ""
"Zwyczajowo do wyboru pakietów służy B<dselect>(1), który daje większe "
"możliwości zmiany ich stanu."

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

#
#. 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 ""
"Dodatkową funkcjonalność można uzyskać, instalując którykolwiek z "
"następujących pakietów: B<apt>, B<aptitude> oraz B<debsums>."

#
#. 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 ""
"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), oraz B<dpkg-reconfigure>(8)."

#
#. type: Plain text
#: dpkg.1:782
msgid "B<--no-act> usually gives less information than might be helpful."
msgstr "B<--no-act> podaje raczej zbyt mało pomocnych informacji."

#. 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 ""
"Patrz plik I</usr/share/doc/dpkg/THANKS.gz> zawierający listę osób, które "
"przyczyniły się do rozwoju programu B<dpkg>."

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

#. type: Plain text
#: dpkg-architecture.1:4
msgid ""
"dpkg-architecture - set and determine the architecture for package building"
msgstr "dpkg-architecture - ustawia i zwraca architekturę budowania pakietów."

#
#. type: Plain text
#: dpkg-architecture.1:8
#, fuzzy
#| msgid "B<dpkg-architecture> [I<options>] [I<commands>]"
msgid "B<dpkg-architecture> [I<option>...] [I<command>]"
msgstr "B<dpkg-architecture> [I<opcje>] [I<polecenia>]"

#. 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 ""
"dpkg-architecture dostarcza sposobu na określenie i ustawienie architektury "
"budowania oraz architektury docelowej dla budowania pakietów."

#. 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 ""
"Architektura budowania jest zawsze określana przez wywołanie B<dpkg> i nie "
"może być ustawiona w linii poleceń."

#. 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 ""
"Można podać architekturę docelową przez podanie jednej lub obu opcji spośród "
"B<-a> i B<-t>. Wartość domyślna jest określana przez wywołanie programu "
"B<gcc>(1), a w razie gdy \\s-1CC\\s0 i gcc nie są dostępne, jest taka sama "
"jak architektura budowania. Wystarczy podać tylko jedną spośród opcji B<-a> "
"i B<-t>, ponieważ ta druga zostanie ustawiona na sensowną wartość domyślną. "
"Co więcej, często podanie jednej opcji jest lepsze niż podanie ich obu "
"naraz, gdyż B<dpkg-architecture> wypisze ostrzeżenie, jeśli podane wartości "
"nie będą odpowiadały wartościom domyślnym."

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

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

#. 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 ""
"Wyświetla zmienne środowiskowe, po jednej w każdej linii, w formacie "
"I<ZMIENNA=wartość>. Jest to domyślna akcja."

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

#. 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 ""
"Sprawdza równoważność architektur. Domyślnie I<architektura-debiana> jest "
"porównywana z bieżącą architekturą Debiana, traktowaną jako architektura "
"gospodarza. Ta akcja nie rozwija masek architektur. Polecenie kończy się "
"kodem wyjścia 0 jeśli dopasowanie architektur się powiodło, lub kodem 1 "
"jeśli nie było dopasowania."

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

#. 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 ""
"Sprawdzenie architektury przez rozwinięcie w odpowiedni sposób I<maski-"
"architektury> i porównanie z bieżącą architekturą Debiana. Polecenie kończy "
"się kodem wyjścia 0 jeśli dopasowanie architektur się powiodło, lub kodem 1 "
"jeśli nie było dopasowania."

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

#. type: Plain text
#: dpkg-architecture.1:46
msgid "Print the value of a single variable."
msgstr "Wyświetla wartość pojedynczej zmiennej."

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

#. type: Plain text
#: dpkg-architecture.1:50
msgid ""
"Print an export command. This can be used to set the environment variables "
"using eval."
msgstr ""
"Wyświetla polecenie export, które może być użyte do ustawienia zmiennych "
"środowiskowych za pomocą eval."

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

#. type: Plain text
#: dpkg-architecture.1:53
msgid "Print a similar command to B<-s> but to unset all variables."
msgstr ""
"Wyświetla polecenie podobne do B<-s>, jednakże ze wszystkimi zmiennymi "
"nieustawionymi."

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

#. 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 ""
"Wykonuje I<polecenie> w środowisku, które ma wszystkie zmienne ustawione na "
"wyznaczone wartości. "

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

#. type: Plain text
#: dpkg-architecture.1:60
msgid "Print a list of valid architecture names."
msgstr "Wyświetla listę poprawnych nazw architektur."

#. 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 "Wyświetla informację o użytkowaniu i kończy działanie."

#
#. type: Plain text
#: dpkg-architecture.1:66 dpkg-buildflags.1:95 dpkg-buildpackage.1:229
#: dpkg-checkbuilddeps.1:39 dpkg-distaddfile.1:38 dpkg-deb.1:178
#: dpkg-divert.8:77 dpkg-genchanges.1:137 dpkg-gencontrol.1:127
#: dpkg-gensymbols.1:449 dpkg-mergechangelogs.1:44 dpkg-name.1:64
#: dpkg-parsechangelog.1:39 dpkg-query.1:116 dpkg-scanpackages.1:102
#: dpkg-scansources.1:70 dpkg-shlibdeps.1:221 dpkg-source.1:102
#: dpkg-split.1:132 dpkg-statoverride.8:50 dpkg-trigger.1:37 dpkg-vendor.1:34
#: update-alternatives.8:322
msgid "Show the version and exit."
msgstr "Wyświetla informację o wersji i pomyślnie kończy działanie."

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

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

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

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

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

#. 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 ""
"Honorowane są wartości ustawione w istniejących zmiennych środowiskowych o "
"tych samych nazwach, co używane w skryptach (np. użyte przez B<dpkg-"
"architecture>), chyba że jest obecna ta flaga wymuszenia. Pozwala to na "
"nadpisanie wartości nawet jeśli wywołanie B<dpkg-architecture> jest ukryte "
"głęboko w jakimś innym skrypcie (np. B<dpkg-buildpackage>(1))."

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

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

#. type: Plain text
#: dpkg-architecture.1:85
msgid "The machine the package is built on."
msgstr "Rodzaj maszyny, na której pakiet jest budowany."

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

#. type: Plain text
#: dpkg-architecture.1:87
msgid "The machine the package is built for."
msgstr "Rodzaj maszyny, dla której pakiet jest budowany."

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

#. 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 ""
"Łańcuch znaków zawierający architekturę Debiana, która określa drzewo "
"binarne w archiwum \\s-1FTP\\s0. Przykłady: i386, sparc, hurd-i386."

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

#. 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 ""
"Maska architektury jest specjalnym łańcuchem znaków, który będzie pasował do "
"każdej architektury, która jest jego częścią. Ogólna postać jest "
"następująca: E<lt>jądroE<gt>-E<lt>procesorE<gt>. Przykłady: linux-any, any-"
"i386, hurd-any."

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

#. 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 ""
"Łańcuch znaków określający architekturę składający się z dwóch części "
"oddzielonych myślnikiem: procesor i system. Przykłady: i386-linux-gnu, sparc-"
"linux-gnu, i386-gnu, x86_64-netbsd."

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

#. type: Plain text
#: dpkg-architecture.1:101
msgid "The following variables are set by B<dpkg-architecture>:"
msgstr "B<dpkg-architecture> ustawia następujące zmienne:"

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

#. type: Plain text
#: dpkg-architecture.1:103
msgid "The Debian architecture of the build machine."
msgstr "Architektura wg Debiana komputera, na którym budowany jest pakiet."

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

#. type: Plain text
#: dpkg-architecture.1:105
msgid "The Debian system name of the build machine."
msgstr "Nazwa systemu wg Debiana komputera, na którym budowany jest pakiet."

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

#. type: Plain text
#: dpkg-architecture.1:107
msgid "The Debian cpu name of the build machine."
msgstr "Nazwa procesora wg Debiana komputera, na którym budowany jest pakiet."

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

#. type: Plain text
#: dpkg-architecture.1:109
msgid "The pointer size of the build machine (in bits)."
msgstr "Rozmiar wskaźnika na komputerze budującym (w bitach)."

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

#. type: Plain text
#: dpkg-architecture.1:111
msgid "The endianness of the build machine (little / big)."
msgstr "Kolejność bajtów (endian) na komputerze budującym (little / big)."

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

#. type: Plain text
#: dpkg-architecture.1:113
#, fuzzy
#| msgid "The \\s-1CPU\\s0 part of \\s-1DEB_BUILD_GNU_TYPE\\s0"
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr "Część dotycząca \\s-1CPU\\s0 z \\s-1DEB_BUILD_GNU_TYPE\\s0"

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

#. type: Plain text
#: dpkg-architecture.1:115
msgid "The System part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr "Cześć dotycząca systemu z \\s-1DEB_BUILD_GNU_TYPE\\s0."

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

#. type: Plain text
#: dpkg-architecture.1:117
msgid "The \\s-1GNU\\s0 system type of the build machine."
msgstr "Typ systemu \\s-1GNU\\s0 komputera, na którym budowany jest pakiet."

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

#. type: Plain text
#: dpkg-architecture.1:120
#, fuzzy
#| msgid "The \\s-1GNU\\s0 system type of the build machine."
msgid ""
"The clarified \\s-1GNU\\s0 system type of the build machine, used for "
"filesystem paths."
msgstr "Typ systemu \\s-1GNU\\s0 komputera, na którym budowany jest pakiet."

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

#. type: Plain text
#: dpkg-architecture.1:122
msgid "The Debian architecture of the host machine."
msgstr "Architektura wg Debiana dla maszyny docelowej."

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

#. type: Plain text
#: dpkg-architecture.1:124
msgid "The Debian system name of the host machine."
msgstr "Nazwa systemu wg Debiana dla maszyny docelowej."

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

#. type: Plain text
#: dpkg-architecture.1:126
msgid "The Debian cpu name of the host machine."
msgstr "Nazwa procesora wg Debiana dla maszyny docelowej."

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

#. type: Plain text
#: dpkg-architecture.1:128
msgid "The pointer size of the host machine (in bits)."
msgstr "Rozmiar wskaźnika na maszynie docelowej (w bitach)."

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

#. type: Plain text
#: dpkg-architecture.1:130
msgid "The endianness of the host machine (little / big)."
msgstr "Kolejność bajtów (endian) na maszynie docelowej (little / big)."

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

#. type: Plain text
#: dpkg-architecture.1:132
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr "Część dotycząca \\s-1CUP\\s0 z \\s-1DEB_HOST_GNU_TYPE\\s0."

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

#. type: Plain text
#: dpkg-architecture.1:134
msgid "The System part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr "Część dotycząca systemu z \\s-1DEB_HOST_GNU_TYPE\\s0."

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

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

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

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

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

#. 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 ""
"Zmienne środowiskowe ustawione przez B<dpkg-architecture> są przekazywane do "
"I<debian/rules> jako zmienne programu make (patrz dokumentacja do make). "
"Jednakże nie należy na nich polegać, gdyż psuje to ręczne uruchomienie tego "
"skryptu. Zamiast tego, należy zawsze inicjować je, używając B<dpkg-"
"architecture> z opcją -q. Poniżej znajduje się parę przykładów, które także "
"pokazują, jak można polepszyć wsparcie dla kompilacji krzyżowej pakietu:"

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

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

#. type: Plain text
#: dpkg-architecture.1:158
msgid "please use the following:"
msgstr "proszę używać:"

#. 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 ""
"\\&\\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"

#. 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 "configure --build=$(\\s-1DEB_BUILD_GNU_TYPE\\s0) --host=$(\\s-1DEB_HOST_GNU_TYPE\\s0)\n"

#. 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 ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"ifeq ($(\\s-1ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"

#. type: Plain text
#: dpkg-architecture.1:177
msgid "please use:"
msgstr "proszę używać:"

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

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

#. 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 ""
"albo jeśli trzeba sprawdzić tylko typ CPU lub OS, należy użyć zmiennych "
"DEB_HOST_ARCH_CPU lub DEB_HOST_ARCH_OS."

#. 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 ""
"Ogólnie wywoływanie dpkg w pliku rules w celu pobrania informacji o "
"architekturze jest przestarzałe (chyba że chce się zachować kompatybilność "
"wsteczną, patrz niżej). W szczególności opcja --print-architecture jest "
"niezbyt wiarygodna, ponieważ istnieją architektury Debiana, które nie są "
"równe nazwie procesora."

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

#. 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 ""
"Zmienne DEB_*_ARCH_BITS oraz DEB_*_ARCH_ENDIAN zostały wprowadzone w dpkg-"
"dev 1.15.4. Używanie ich w I<debian/rules> wymaga więc zależności czasu "
"budowania dla dpkg-dev (E<gt>= 1.15.4)."

#. 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 ""
"Zmienne DEB_HOST_ARCH_CPU oraz DEB_HOST_ARCH_OS są dostępne w miarę nowych "
"wersjach B<dpkg-architecture> (od dpkg 1.13.2). Wcześniej w plikach I<debian/"
"rules> były sprawdzane zmienne DEB_HOST_GNU_CPU lub DEB_HOST_GNU_TYPE, które "
"zostały zmienione."

#. 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 ""
"Wszystkie pliki I<debian/rules>, decydujące na podstawie tych zmiennych jak "
"i co kompilować, powinny być zaktualizowane i przystosowane do używania "
"nowych zmiennych i ich wartości. Aby zachować wsteczną kompatybilność z "
"poprzednimi wersjami dpkg-dev, można użyć następującego kodu:"

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

#. 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 ""
"# Bierze pod uwagę wyjście ze starego dpkg-architecture.\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"

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

#. 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 ""
"Jeśli chcesz wciąż obsługiwać wersje dpkg-dev, które nie zawierają B<dpkg-"
"architecture>, to poniższy kod wykonuje to zadanie:"

#. 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 ""
"\\&\\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"

#. 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 ""
"\\&\\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"

#. 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 ""
"Umieść podzbiór tych linii na górze pliku debian/rules; te domyślne wartości "
"będą nadpisane przez dpkg-architecture, jeśli jest używane."

#. 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 ""
"Nie ma potrzeby używania pełnego zestawu zmiennych. Można wybrać spójny ich "
"zbiór, zawierający wartości używane w pliku rules. Na przykład, jeżeli "
"potrzebna jest tylko architektura Debiana maszyny, dla której budowany jest "
"pakiet, wystarczające jest użycie \"DEB_HOST_ARCH=\\`dpkg --print-"
"architecture\\`\" (tak naprawdę jest to architektura Debiana maszyny, na "
"której jest budowany pakiet, ale proszę pamiętać, że próbujemy tylko "
"zachować wsteczną zgodność z natywną kompilacją)."

#. 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 ""
"Opcje B<-e> i B<-i> zostały wprowadzone w miarę nowych wersjach B<dpkg-"
"architecture> (od wersji dpkg 1.13.13)."

#. 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 ""
"B<dpkg-buildpackage> akceptuje opcję B<-a> i przekazuje ją do B<dpkg-"
"architecture>. Inne przykłady:"

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

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

#. type: Plain text
#: dpkg-architecture.1:272
msgid ""
"Check if an architecture is equal to the current architecture or a given one:"
msgstr ""
"Sprawdzanie, czy architektura jest równa architekturze bieżącej lub podanej:"

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

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

#. type: Plain text
#: dpkg-architecture.1:279
msgid ""
"Check if the current architecture or an architecture provided with -a are "
"Linux systems:"
msgstr ""
"Sprawdzanie, czy architektura bieżąca podana przez -a jest systemem Linuksa:"

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

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

#. type: Plain text
#: dpkg-architecture.1:288
#, fuzzy
#| 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 "
#| "DPKG_DATADIR."
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 ""
"Wszystkie te pliki muszą być obecne, aby B<dpkg-architecture> w ogóle "
"działał. Ich położenie możnazmienić w czasie działania programu przez "
"ustawienie zmiennej środowiskowej DPKG_DATADIR."

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

#. type: Plain text
#: dpkg-architecture.1:291
msgid "Table of known CPU names and mapping to their GNU name."
msgstr "Tabela znanych nazw procesorów i ich mapowanie na nazwy GNU."

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

#. type: Plain text
#: dpkg-architecture.1:294
msgid "Table of known operating system names and mapping to their GNU name."
msgstr ""
"Tabela nazw znanych systemów operacyjnych i ich mapowanie na nazwy GNU."

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

#. type: Plain text
#: dpkg-architecture.1:298
msgid ""
"Mapping between Debian architecture triplets and Debian architecture names."
msgstr ""
"Mapowanie między trójkami architektur Debiana a nazwami architektur Debiana."

#. type: Plain text
#: dpkg-architecture.1:302
msgid "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."
msgstr "B<dpkg-buildpackage>(1), B<dpkg-cross>(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 ""
"B<dpkg-architecture> i ta strona podręcznika ekranowego zostały napisane "
"Marcusa Brinkmanna E<lt>brinkmd@debian.orgE<gt>."

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

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

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

#. type: Plain text
#: dpkg.cfg.5:11
msgid ""
"This file contains default options for dpkg. Each line contains a single "
"option which is exactly the same as a normal command line option for dpkg "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""
"Plik ten zawiera domyślne opcje programu dpkg. W każdej linii wymieniona "
"jest pojedyncza opcja, dokładnie taka sama jak normalna opcja linii poleceń "
"programu dpkg, z wyjątkiem tego, że nie są używane początkowe myślniki. "
"Znaki cudzysłowów otaczające wartości opcji są usuwane. Można używać "
"komentarzy, zaczynając linię znakiem hash (\"B<#>\")."

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

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

#. type: TH
#: dpkg-buildflags.1:1
#, fuzzy, no-wrap
#| msgid "2007-03-07"
msgid "2011-09-13"
msgstr "2007-03-07"

#. 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-trigger> [I<option>...] I<command>"
msgid "B<dpkg-buildflags> [I<option>...] [I<command>]"
msgstr "B<dpkg-trigger> [I<opcja>...] I<polecenie>"

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

#. 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
#, fuzzy
#| msgid ""
#| "It prepares the build environment by setting various environment "
#| "variables (see B<ENVIRONMENT VARIABLES>)."
msgid ""
"temporarily by the user with environment variables (see section "
"B<ENVIRONMENT>);"
msgstr ""
"Przygotowuje środowisko budowania poprzez ustawienie różnych zmiennych "
"środowiska (patrz B<ZMIENNE ŚRODOWISKA>)."

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

#. type: Plain text
#: dpkg-buildflags.1:26
#, fuzzy
#| msgid ""
#| "It prepares the build environment by setting various environment "
#| "variables (see B<ENVIRONMENT VARIABLES>)."
msgid ""
"dynamically by the package maintainer with environment variables set via "
"B<debian/rules> (see section B<ENVIRONMENT>)."
msgstr ""
"Przygotowuje środowisko budowania poprzez ustawienie różnych zmiennych "
"środowiska (patrz B<ZMIENNE ŚRODOWISKA>)."

#. 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<--debug>"
msgid "B<--dump>"
msgstr "B<--debug>"

#. 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>"
msgid "B<--list>"
msgstr "B<list>"

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

#. 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<--log>I< file>"
msgid "B<--get>I< flag>"
msgstr "B<--log>I< plik>"

#. 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<--log>I< file>"
msgid "B<--origin>I< flag>"
msgstr "B<--log>I< plik>"

#. 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<--is>I< vendor>"
msgid "B<vendor>"
msgstr "B<--is>I< twórca>"

#. 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<-sr>"
msgid "B<system>"
msgstr "B<-sr>"

#. 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<query>"
msgid "B<user>"
msgstr "B<query>"

#. 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<-v>"
msgid "B<env>"
msgstr "B<-v>"

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

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

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

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

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

#. 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 ""
"Opcje przekazywane do kompilatora podczas łączenia plików wykonywalnych lub "
"współdzielonych bibliotek (jeśli linker jest wywoływany bezpośrednio, B<-Wl> "
"i B<,> muszą być usunięte z tych opcji). Wartość domyślna: puste."

#. 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 - plik konfiguracyjny programu dselect "

#. 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 - plik konfiguracyjny programu dselect "

#. 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
#, fuzzy, no-wrap
#| msgid "WARNING"
msgid "HARDENING"
msgstr "UWAGA"

#. 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>"
msgid "B<format>"
msgstr "B<Format>"

#. 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<purge>"
msgid "B<relro>"
msgstr "B<purge (wyczyszczenie)>"

#. 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
#, fuzzy
#| msgid "Copyright \\(co 2008-2009 Rapha\\[:e]l Hertzog"
msgid "Copyright \\(co 2010-2011 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2008-2009 Rapha\\[:e]l Hertzog"

#. type: Plain text
#: dpkg-buildflags.1:270
#, fuzzy
#| msgid "Copyright \\(co 2001 Joey Hess"
msgid "Copyright \\(co 2011 Kees Cook"
msgstr "Copyright \\(co 2001 Joey Hess"

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

#. type: Plain text
#: dpkg-buildpackage.1:4
msgid "dpkg-buildpackage - build binary or source packages from sources"
msgstr "dpkg-buildpackage - buduje pakiety źródłowe lub binarne ze źródeł"

#
#. type: Plain text
#: dpkg-buildpackage.1:8
#, fuzzy
#| msgid "B<dpkg-buildpackage> [I<options>]"
msgid "B<dpkg-buildpackage> [I<option>...]"
msgstr "B<dpkg-buildpackage> [I<opcje>]"

#. 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 ""
"B<dpkg-buildpackage> jest programem automatyzującym proces budowania pakietu "
"Debiana. Proces ten składa się z następujących kroków:"

#. type: IP
#: dpkg-buildpackage.1:13
#, no-wrap
msgid "B<1.>"
msgstr "B<1.>"

#. type: Plain text
#: dpkg-buildpackage.1:17
#, fuzzy
#| msgid ""
#| "It prepares the build environment by setting various environment "
#| "variables (see B<ENVIRONMENT VARIABLES>)."
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 ""
"Przygotowuje środowisko budowania poprzez ustawienie różnych zmiennych "
"środowiska (patrz B<ZMIENNE ŚRODOWISKA>)."

#. type: IP
#: dpkg-buildpackage.1:17
#, no-wrap
msgid "B<2.>"
msgstr "B<2.>"

#. 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 ""
"Sprawdza czy zależności i konflikty czasu budowania są spełnione (o ile nie "
"jest podane B<-d>)."

#. type: IP
#: dpkg-buildpackage.1:20
#, no-wrap
msgid "B<3.>"
msgstr "B<3.>"

#. 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 ""
"Jeśli określony cel został wskazany z użyciem opcji B<-T> lub B<--target>, "
"wywołuje ten cel i na tym kończy. W przeciwnym wypadku wywołuje B<fakeroot "
"debian/rules clean>, aby wyczyścić drzewo budowania pakietu (chyba że użyje "
"się opcji B<-nc>)."

#. type: IP
#: dpkg-buildpackage.1:25
#, no-wrap
msgid "B<4.>"
msgstr "B<4.>"

#. type: Plain text
#: dpkg-buildpackage.1:29
#, fuzzy
#| msgid ""
#| "It calls B<dpkg-source> to generate the source package (unless a binary-"
#| "only build has been requested with B<-b>, B<-B> or B<-A>)."
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 ""
"Wywołuje B<dpkg-source> aby wygenerować pakiet źródłowy (chyba że żądano "
"tylko zbudowania pakietu binarnego, podając opcję B<-b>, B<-B> lub B<-A>)."

#. type: IP
#: dpkg-buildpackage.1:29
#, no-wrap
msgid "B<5.>"
msgstr "B<5.>"

#. type: Plain text
#: dpkg-buildpackage.1:36
#, fuzzy
#| 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)."
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 ""
"Wywołuje B<debian/rules> B<build>, a następnie B<fakeroot debian/rules> "
"I<binary-target> (chyba że żądano tylko zbudowania pakietu źródłowego, "
"podając opcję B<-S>). Proszę zauważyć, że I<binary-target> ma wartość "
"B<binary> (domyślnie, lub gdy podano B<-b>), B<binary-arch> (jeśli podano B<-"
"B>) lub B<binary-indep> (jeśli podano B<-A>)."

#. type: IP
#: dpkg-buildpackage.1:36
#, no-wrap
msgid "B<6.>"
msgstr "B<6.>"

#. 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 ""
"Wywołuje B<gpg> aby podpisać plik B<.dsc> (jeśli jest, chyba że podano opcję "
"B<-us>)."

#. type: IP
#: dpkg-buildpackage.1:39
#, no-wrap
msgid "B<7.>"
msgstr "B<7.>"

#. 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 ""
"Wywołuje B<dpkg-genchanges> aby wygenerować plik B<.changes>. Do B<dpkg-"
"genchanges> przekazywanych jest wiele opcji B<dpkg-buildpackage>."

#. type: IP
#: dpkg-buildpackage.1:43
#, no-wrap
msgid "B<8.>"
msgstr "B<8.>"

#. type: Plain text
#: dpkg-buildpackage.1:46
msgid ""
"It calls B<gpg> to sign the B<.changes> file (unless B<-uc> is specified)."
msgstr ""
"Wywołuje B<gpg> aby podpisać plik B<.changes> (chyba że podano opcję B<-uc>)."

#. type: IP
#: dpkg-buildpackage.1:46
#, no-wrap
msgid "B<9.>"
msgstr "B<9.>"

#. type: Plain text
#: dpkg-buildpackage.1:49
#, fuzzy
#| msgid ""
#| "If B<-tc> is specified, it will call B<fakeroot debian/rules clean> again."
msgid ""
"If B<-tc> is specified, it will call B<fakeroot debian/rules clean> again. "
"Finally it calls B<dpkg-source --after-build>."
msgstr ""
"Jeśli podana jest opcja B<-tc>, wywołuje ponownie B<fakeroot debian/rules "
"clean>."

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

#
#. 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 ""
"Określa budowanie tylko pakietów binarnych, żadne pliki źródłowe nie będą "
"budowane ani dystrybuowane. Przekazywane do B<dpkg-genchanges>."

#. type: TP
#: dpkg-buildpackage.1:55 dpkg-checkbuilddeps.1:23
#, no-wrap
msgid "B<-B>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:59
msgid ""
"Specifies a binary-only build, limited to architecture dependent packages.  "
"Passed to B<dpkg-genchanges>."
msgstr ""
"Określa budowanie tylko pakietów binarnych, ograniczone do pakietów "
"zależnych od architektury. Przekazywane do B<dpkg-genchanges>."

#. type: TP
#: dpkg-buildpackage.1:59
#, no-wrap
msgid "B<-A>"
msgstr "B<-A>"

#. type: Plain text
#: dpkg-buildpackage.1:63
msgid ""
"Specifies a binary-only build, limited to architecture independent packages. "
"Passed to B<dpkg-genchanges>."
msgstr ""
"Określa budowanie tylko pakietów binarnych, ograniczone do pakietów "
"niezależnych od architektury. Przekazywane do B<dpkg-genchanges>."

#. type: TP
#: dpkg-buildpackage.1:63 dpkg-genchanges.1:27
#, no-wrap
msgid "B<-S>"
msgstr "B<-S>"

#. 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 ""
"Określa budowanie tylko pakietów źródłowych, bez budowania pakietów "
"binarnych. Przekazywane do B<dpkg-genchanges>."

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

#. type: Plain text
#: dpkg-buildpackage.1:71
msgid ""
"Specifies a normal full build, binary and source packages will be built.  "
"This is the same as the default case when no build option is specified."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:73
msgid "B<--target=>I<target>"
msgstr "B<--target=>I<cel>"

#. type: Plain text
#: dpkg-buildpackage.1:75
msgid "B<--target >I<target>"
msgstr "B<--target >I<cel>"

#. type: Plain text
#: dpkg-buildpackage.1:77
msgid "B<-T>I<target>"
msgstr "B<-T>I<cel>"

#. 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 ""
"Wywołuje B<debian/rules> I<cel> po przygotowaniu środowiska budowania i na "
"tym kończy proces budowania pakietu. Jeśli podana została również opcja B<--"
"as-root>, wtedy polecenie to jest wykonywane z prawami administratora. "
"Proszę zauważyć, że cele oficjalnie określone w Polityce Debiana jako "
"wymagające uruchamiania z prawami administratora nie wymagają tej opcji."

#. type: TP
#: dpkg-buildpackage.1:84
#, no-wrap
msgid "B<--as-root>"
msgstr "B<--as-root>"

#. type: Plain text
#: dpkg-buildpackage.1:88
msgid ""
"Only meaningful together with B<--target>. Requires that the target be run "
"with root rights."
msgstr ""
"Znacząca jedynie w połączeniu z opcją B<--target>. Wymusza uruchomienie celu "
"z prawami administratora."

#. type: TP
#: dpkg-buildpackage.1:90 dpkg-genchanges.1:36
#, no-wrap
msgid "B<-si>"
msgstr "B<-si>"

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

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

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

#. type: TP
#: dpkg-buildpackage.1:98 dpkg-genchanges.1:54
#, no-wrap
msgid "B<-C>I<changesdescription>"
msgstr "B<-C>I<opis_zmian>"

#. type: TP
#: dpkg-buildpackage.1:100 dpkg-genchanges.1:60
#, no-wrap
msgid "B<-m>I<maintaineraddress>"
msgstr "B<-m>I<adres opiekuna>"

#. type: TP
#: dpkg-buildpackage.1:102 dpkg-genchanges.1:66
#, no-wrap
msgid "B<-e>I<maintaineraddress>"
msgstr "B<-e>I<adres_opiekuna>"

#. type: Plain text
#: dpkg-buildpackage.1:104
msgid "Passed unchanged to B<dpkg-genchanges>. See its manual page."
msgstr ""
"Przekazywana bez zmian do B<dpkg-genchanges>. Więcej informacji na stronie "
"podręcznika tego programu."

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

#. 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 ""
"Określa architekturę Debiana dla której jest budowany pakiet. Architektura "
"maszyny, na której jest budowany pakiet, jest określana automatycznie i "
"stanowi również domyślną architekturę docelową."

#. 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 ""
"Określa typ systemu GNU, dla którego budujemy. Może być użyte zamiast -a lub "
"jako uzupełnienie do nadpisania domyślnego typu systemu GNU docelowej "
"architektury Debiana."

#. type: TP
#: dpkg-buildpackage.1:115
#, no-wrap
msgid "B<-j>I<jobs>"
msgstr "B<-j>I<zadania>"

#. 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 ""
"Liczba zadań, które mogą zostać równocześnie uruchomione, odpowiednik opcji "
"B<make>(1) o tej samej nazwie. Dodaje się do zmiennej środowiskowej "
"MAKEFLAGS, co powinno spowodować, że wszystkie kolejne wywołania programu "
"make odziedziczą tę opcję. Także dodaje B<parallel=>I<zadania> do zmiennej "
"środowiskowej DEB_BUILD_OPTIONS, co pozwala plikom debian/rules na "
"korzystanie z tej informacji dla ich własnych celów. Wartość "
"B<parallel=>I<zadania> zmiennej środowiska DEB_BUILD_OPTIONS nadpisuje "
"wartość przekazaną w opcji B<-j>, jeśli została ona podana."

#. type: TP
#: dpkg-buildpackage.1:126
#, no-wrap
msgid "B<-D>"
msgstr "B<-D>"

#. type: Plain text
#: dpkg-buildpackage.1:130
msgid ""
"Check build dependencies and conflicts; abort if unsatisfied. This is the "
"default behavior."
msgstr ""
"Sprawdza zależności i konflikty czasu budowania, przerywa działanie z błędem "
"jeżeli nie będą spełnione. Jest to zachowanie domyślne."

#. type: TP
#: dpkg-buildpackage.1:130 dpkg-gensymbols.1:432
#, no-wrap
msgid "B<-d>"
msgstr "B<-d>"

#. type: Plain text
#: dpkg-buildpackage.1:133
msgid "Do not check build dependencies and conflicts."
msgstr "Nie sprawdza zależności czasu budowania ani konfliktów."

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

#. 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 ""
"Pomija czyszczenie drzewa źródeł pakietu (implikuje B<-b>, jeśli nic innego "
"nie zostało wybrane spośród B<-B>, B<-A> oraz B<-S>)."

#. type: TP
#: dpkg-buildpackage.1:137
#, no-wrap
msgid "B<-tc>"
msgstr "B<-tc>"

#. 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 ""
"Po zbudowaniu pakietu czyści katalog ze źródłami (używając I<gain-root-"
"command> B<debian/rules clean>)."

#. type: TP
#: dpkg-buildpackage.1:143
#, no-wrap
msgid "B<-r>I<gain-root-command>"
msgstr "B<-r>I<polecenie-uzyskiwania-praw-administratora>"

#. 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 ""
"Kiedy B<dpkg-buildpackage> potrzebuje wykonać część procesu budowania jako "
"administrator, poprzedza wykonywane polecenia I<poleceniem-uzyskiwania-praw-"
"administratora>, jeśli takowe zostało podane. Jeśli natomiast nie zostało "
"podane, zostanie domyślnie użyte polecenie B<fakeroot>, o ile jest dostępne. "
"I<polecenie-uzyskiwania-praw-administratora> powinno zaczynać się nazwą "
"programu dostępnego przez zmienną systemową B<PATH>, któremu będą "
"przekazywane argumenty w postaci właściwego programu do wykonania oraz jego "
"parametrów. I<polecenie-uzyskiwania-praw-administratora> może samo zawierać "
"parametry (muszą być one rozdzielone spacjami), ale nie może zawierać "
"metaznaków powłoki. I<poleceniem-uzyskiwania-praw-administratora> mogą "
"typowo być B<fakeroot>, B<sudo>, B<super> lub B<really>. B<su> nie nadaje "
"się do tego celu, ponieważ może tylko wywołać powłokę użytkownika używając "
"B<-c> zamiast przekazywać indywidualnie argumenty dla polecenia do wykonania."

#. type: TP
#: dpkg-buildpackage.1:167
#, no-wrap
msgid "B<-R>I<rules-file>"
msgstr "B<-R>I<plik_rules>"

#. 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 ""
"Budowanie pakietu Debiana zwykle wymaga wywołania B<debian/rules> jako "
"polecenia z kilkoma standardowymi parametrami. Używając tej opcji można "
"podać wywołanie innego programu, który posłuży do zbudowania pakietu (może "
"także zawierać dodatkowe parametry rozdzielone spacjami). Może być także "
"użyta do wykonania standardowego pliku reguł z użyciem innego programu make "
"(np. podając B</usr/local/bin/make -f debian/rules> jako I<plik_rules>)."

#. type: TP
#: dpkg-buildpackage.1:178
#, no-wrap
msgid "B<-p>I<sign-command>"
msgstr "B<-p>I<polecenie-podpisywania>"

#. 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 ""
"Gdy B<dpkg-buildpackage> będzie potrzebował wywołać GPG lub PGP aby podpisać "
"plik kontrolny źródeł (B<.dsc>) lub plik B<.changes>, zostanie uruchomione "
"I<polecenie-podpisywania> (w razie konieczności przeszukując B<PATH>) "
"zamiast B<gpg>. Parametry normalnie przekazywane do B<pgp> zostaną "
"przekazane do I<polecenia-podpisywania>. Jeśli I<polecenie-podpisywania> "
"przyjmuje argumenty w stylu GPG zamiast atylu PGP, należy użyć opcji B<-"
"sgpg>. I<polecenie-podpisywania> nie powinno zawierać spacji ani innych "
"metaznaków powłoki."

#. type: TP
#: dpkg-buildpackage.1:188
#, no-wrap
msgid "B<-k>I<key-id>"
msgstr "B<-k>I<id-klucza>"

#
#. type: Plain text
#: dpkg-buildpackage.1:191
msgid "Specify a key-ID to use when signing packages."
msgstr "Określa ID klucza używanego do podpisywania pakietów."

#. type: TP
#: dpkg-buildpackage.1:191
#, no-wrap
msgid "B<-us>"
msgstr "B<-us>"

#
#. type: Plain text
#: dpkg-buildpackage.1:194
msgid "Do not sign the source package."
msgstr "Nie próbuje podpisywać pakietów."

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

#. type: Plain text
#: dpkg-buildpackage.1:197
msgid "Do not sign the B<.changes> file."
msgstr "Nie próbuje podpisywać plików B<.changes>."

#. type: Plain text
#: dpkg-buildpackage.1:199
msgid "B<-i>[I<regexp>]"
msgstr "B<-i>[I<wyraż_regularne>]"

#. type: Plain text
#: dpkg-buildpackage.1:201
msgid "B<-I>I<[pattern]>"
msgstr "B<-I>I<[wzorzec]>"

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

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

#. type: Plain text
#: dpkg-buildpackage.1:208
msgid "Passed unchanged to B<dpkg-source>. See its manual page."
msgstr ""
"Przekazywana bez zmian do B<dpkg-source>. Więcej informacji na stronie "
"podręcznika tego programu"

#. type: TP
#: dpkg-buildpackage.1:209
#, fuzzy, no-wrap
#| msgid "B<--description=>I<xxx>"
msgid "B<--source-option=>I<opt>"
msgstr "B<--description=>I<xxx>"

#. 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<--description=>I<xxx>"
msgid "B<--changes-option=>I<opt>"
msgstr "B<--description=>I<xxx>"

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

#. type: Plain text
#: dpkg-buildpackage.1:219
msgid "B<--admindir >I<dir>"
msgstr "B<--admindir >I<katalog>"

#
#. 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 ""
"Zmienia położenie bazy danych B<dpkg>. Domyślnie jest to I</var/lib/dpkg>."

#. type: TP
#: dpkg-buildpackage.1:223 dpkg-checkbuilddeps.1:33 dpkg-distaddfile.1:32
#: dpkg-deb.1:172 dpkg-genchanges.1:131 dpkg-gencontrol.1:121
#: dpkg-gensymbols.1:443 dpkg-name.1:58 dpkg-parsechangelog.1:33
#: dpkg-query.1:110 dpkg-scanpackages.1:96 dpkg-shlibdeps.1:215
#: dpkg-source.1:96 dpkg-split.1:126 dpkg-trigger.1:31
#, no-wrap
msgid "B<-h>, B<--help>"
msgstr "B<-h>, B<--help>"

#. type: Plain text
#: dpkg-buildpackage.1:234
msgid ""
"Even if B<dpkg-buildpackage> exports some variables, B<debian/rules> should "
"not rely on their presence and should instead use the respective interface "
"to retrieve the needed values."
msgstr ""

#. type: SS
#: dpkg-buildpackage.1:234
#, no-wrap
msgid "Variables set by dpkg-architecture"
msgstr "Zmienne ustawiane przez dpkg-architecture"

#. 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 ""
"Wywołuje program B<dpkg-architecture> z przekazaniem parametrów B<-a> oraz "
"B<-t>. Wszystkie zmienne uzyskane na wyjściu dzięki jego opcji B<-s> są "
"dołączane do środowiska budowania."

#. 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 ""
"Powinno być możliwe podanie spacji, metaznaków powłoki oraz argumentów dla "
"I<gain-root-command> oraz I<sign-command>."

#
#. type: Plain text
#: dpkg-buildpackage.1:256
#, fuzzy
#| msgid ""
#| "B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-genchanges>(1), "
#| "B<fakeroot>(1), B<gpg>(1)."
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<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-genchanges>(1), "
"B<fakeroot>(1), B<gpg>(1)."

#. type: Plain text
#: dpkg-buildpackage.1:265
#, fuzzy
#| msgid "Copyright \\(co 2008-2009 Rapha\\[:e]l Hertzog"
msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2008-2009 Rapha\\[:e]l Hertzog"

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

#. type: Plain text
#: dpkg-checkbuilddeps.1:4
msgid "dpkg-checkbuilddeps - check build dependencies and conflicts"
msgstr "dpkg-checkbuilddeps - sprawdza zależności i konflikty czasu budowania"

#
#. type: Plain text
#: dpkg-checkbuilddeps.1:9
#, fuzzy
#| msgid "B<dpkg-checkbuilddeps> [I<options>] [I<control-file>]"
msgid "B<dpkg-checkbuilddeps> [I<option>...] [I<control-file>]"
msgstr "B<dpkg-checkbuilddeps> [I<opcje>] [I<plik-kontrolny>]"

#. 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 ""
"Program ten sprawdza pakiety zainstalowane w systemie w stosunku do wymagań "
"i konfliktów zapisanych w pliku kontrolnym. Jeżeli któreś nie są spełnione, "
"wyświetla je i kończy działanie z niezerowym kodem powrotu."

#. type: Plain text
#: dpkg-checkbuilddeps.1:17
#, fuzzy
#| msgid ""
#| "By default, I<debian/control> is read, but an alternate control filename "
#| "may be specified on the command line."
msgid ""
"By default, B<debian/control> is read, but an alternate control filename may "
"be specified on the command line."
msgstr ""
"Domyślnie będzie czytany plik I<debian/control>, jednakże w linii poleceń "
"można podać alternatywny plik kontrolny."

#. type: Plain text
#: dpkg-checkbuilddeps.1:27
msgid ""
"Ignore I<Build-Depends-Indep> lines. Use when no arch-indep packages will be "
"built."
msgstr ""
"Ignoruje linie I<Build-Depends-Indep>. Należy używać, jeśli nie będą "
"budowane pakiety niezależne od architektury."

#. type: TP
#: dpkg-checkbuilddeps.1:27
#, no-wrap
msgid "B<-d >I<build-depends-string>"
msgstr "B<-d >I<zależności_budowania>"

#. type: TP
#: dpkg-checkbuilddeps.1:29
#, no-wrap
msgid "B<-c >I<build-conflicts-string>"
msgstr "B<-c >I<konflikty_budowania>"

#. 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 ""
"Używa podanych zależności/konfliktów czasu budowania zamiast wymienionych w "
"pliku I<debian/control>."

#. type: Plain text
#: dpkg-checkbuilddeps.1:42
msgid "Copyright \\(co 2001 Joey Hess"
msgstr "Copyright \\(co 2001 Joey Hess"

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

#. type: Plain text
#: dpkg-distaddfile.1:4
msgid "dpkg-distaddfile - add entries to debian/files"
msgstr "dpkg-distaddfile - dodaje wpisy do debian/files"

#
#. type: Plain text
#: dpkg-distaddfile.1:8
#, fuzzy
#| msgid "B<dpkg-distaddfile> [I<options>]I< filename section priority>"
msgid "B<dpkg-distaddfile> [I<option>...]I< filename section priority>"
msgstr "B<dpkg-distaddfile> [I<opcje>] I<plik sekcja priorytet>"

#. type: Plain text
#: dpkg-distaddfile.1:13
msgid "B<dpkg-distaddfile> adds an entry for a named file to B<debian/files>."
msgstr ""
"B<dpkg-distaddfile> dodaje wpis dotyczący podanego pliku do B<debian/files>."

#. 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 ""
"Pobiera trzy argumenty nie będące opcjami: nazwę pliku oraz sekcję i "
"priorytet dla pliku B<.changes>."

#. 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 ""
"Nazwa pliku powinna być podana relatywnie w stosunku do katalogu, w którym "
"B<dpkg-genchanges> będzie szukał plików, zazwyczaj jako B<..>, raczej niż "
"być ścieżką relatywną do bieżącego katalogu, podczas działania B<dpkg-"
"distaddfile>."

#. type: TP
#: dpkg-distaddfile.1:28 dpkg-genchanges.1:103 dpkg-gencontrol.1:69
#, no-wrap
msgid "B<-f>I<fileslistfile>"
msgstr "B<-f>I<plik_z_listą_plików>"

#. 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 ""
"Czyta lub zapisuje listę plików wydania do pliku podanego jako argument tej "
"opcji, zamiast do pliku B<debian/files>."

#. type: TP
#: dpkg-distaddfile.1:40 dpkg-genchanges.1:139 dpkg-gencontrol.1:134
#, no-wrap
msgid "B<debian/files>"
msgstr "B<debian/files>"

#. 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 ""
"Lista wygenerowanych plików, które są częścią przygotowywanego wydania. Aby "
"dodać dodatkowe pliki, można użyć B<dpkg-distaddfile>."

#. 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 - narzędzie obsługi plików archiwum Debiana (.deb)"

#
#. type: Plain text
#: dpkg-deb.1:8
#, fuzzy
#| msgid "B<dpkg-deb> [I<options>] I<command>"
msgid "B<dpkg-deb> [I<option>...] I<command>"
msgstr "B<dpkg-deb> [I<opcje>] I<polecenie>"

#
#. type: Plain text
#: dpkg-deb.1:12
msgid ""
"B<dpkg-deb> packs, unpacks and provides information about Debian archives."
msgstr ""
"B<dpkg-deb> tworzy, rozpakowuje i podaje informacje o plikach archiwum "
"(czyli pakietach) Debiana."

#
#. type: Plain text
#: dpkg-deb.1:16
msgid "Use B<dpkg> to install and remove packages from your system."
msgstr "Do instalowania i usuwania pakietów z systemu służy polecenie B<dpkg>."

#
#. 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 ""
"Ponadto można skorzystać z B<dpkg-deb> wywołując B<dpkg> z odpowiednią "
"opcją, która zostanie przekazana do B<dpkg-deb>. B<dpkg> uruchomi B<dpkg-"
"deb> i wykona żądaną operację."

#
#. type: TP
#: dpkg-deb.1:28
#, no-wrap
msgid "B<-b>, B<--build> I<directory> [I<archive>|I<directory>]"
msgstr "B<-b>, B<--build> I<katalog> [I<archiwum>|I<katalog>]"

#
#. 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 ""
"Tworzy archiwum Debiana z plików zawartych w I<katalogu>. I<katalog> musi "
"zawierać podkatalog o nazwie B<DEBIAN>, w którym zawarte są pliki kontrolne, "
"takie jak np. control. Ten katalog I<nie> pojawi się w archiwum binarnym "
"pakietu, tylko zostanie umieszczony jako informacje kontrolne pakietu, które "
"opisują właściwości pakietu."

#. 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 ""
"Jeśli pominięto opcję B<--nocheck>, B<dpkg-deb> odczyta plik B<DEBIAN/"
"control> i przetworzy go. Sprawdzi przy tym, czy nie występują w nim błędy "
"składniowe lub inne problemy, a następnie wyświetli nazwę pakietu, który "
"jest tworzony. B<dpkg-deb> ponadto sprawdzi prawa dostępu skryptów "
"instalacyjnych i innych plików znajdujących się w katalogu B<DEBIAN>."

#
#. 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 ""
"Jeśli nie podano nazwy I<archiwum>, to B<dpkg-deb> zapisze pakiet w pliku "
"I<katalog>B<.deb>."

#
#. type: Plain text
#: dpkg-deb.1:61
msgid "If the archive to be created already exists it will be overwritten."
msgstr "Jeżeli taki pakiet już istnieje, to zostanie nadpisany."

#. 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 ""
"Jeśli drugim argumentem jest I<katalog>, to B<dpkg-deb> zapisze pakiet pod "
"nazwą I<katalog>B</>I<pakiet>B<_>I<wersja>B<_>I<arch>B<.deb> lub "
"I<katalog>B</>I<pakiet>B<_>I<wersja>B<.deb>, jeśli nie zostało określone "
"pole B<Architecture> w pliku kontrolnym. Gdy podany jest I<katalog>, to nie "
"może zostać użyta opcja B<--no-check>, ponieważ B<dpkg-deb> musi przetworzyć "
"plik kontrolny, aby rozpoznać nazwę i wersję pakietu."

#
#. type: TP
#: dpkg-deb.1:77
#, no-wrap
msgid "B<-I>, B<--info> I<archive> [I<control-file-name>...]"
msgstr "B<-I>, B<--info> I<archiwum> [I<nazwa-pliku-kontrolnego>...]"

#
#. type: Plain text
#: dpkg-deb.1:80
msgid "Provides information about a binary package archive."
msgstr "Dostarcza informacji o pakiecie."

#
#. 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 ""
"Gdy nie podano żadnej I<nazwy-pliku-kontrolnego>, wyświetlana jest "
"informacja o zawartości pakietu oraz zestawienie wykorzystanych plików "
"kontrolnych."

#. 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 ""
"W razie podania I<nazwy-pliku-kontrolnego>, B<dpkg-deb> wyświetli zawartość "
"tego pliku. Jeśli ten plik nie istnieje, wyświetlony zostanie komunikat "
"błędu na standardowe wyjście błędów i program zakończy się z kodem błędu 2."

#
#. type: TP
#: dpkg-deb.1:93
#, no-wrap
msgid "B<-W>, B<--show> I<archive>"
msgstr "B<-W>, B<--show> I<archiwum>"

#
#. type: Plain text
#: dpkg-deb.1:100
msgid ""
"Provides information about a binary package archive in the format specified "
"by the B<--showformat> argument. The default format displays the package's "
"name and version on one line, separated by a tabulator."
msgstr ""
"Wyświetla informację o pakiecie binarnym w formacie określonym opcją B<--"
"showformat>. W domyślnym formacie w każdej linii wyświetlane są nazwa i "
"wersja pakietu, oddzielone od siebie znakiem tabulacji."

#
#. type: TP
#: dpkg-deb.1:100
#, no-wrap
msgid "B<-f>, B<--field> I<archive> [I<control-field-name>...]"
msgstr "B<-f>, B<--field> I<archiwum> [I<nazwa-pola-kontrolnego>...]"

#
#. type: Plain text
#: dpkg-deb.1:103
msgid "Extracts control file information from a binary package archive."
msgstr "Wyświetla zawartość pliku kontrolnego o nazwie control."

#
#. 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 ""
"Jeśli nie podano żadnej B<nazwy-pola-kontrolnego>, to wyświetlana jest "
"zawartość całego pliku control."

#
#. 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 ""
"Jeśli podano B<nazwę-pola-kontrolnego>, to B<dpkg-deb> wyświetli jej "
"zawartość. Gdy podano więcej niż jedną B<nazwę-pola-kontrolnego>, to B<dpkg-"
"deb> wyświetli pola wraz z nazwą (oraz dwukropkiem i spacją) w takiej "
"kolejności, w jakiej są wymienione w pliku kontrolnym."

#
#. type: Plain text
#: dpkg-deb.1:118
msgid "No errors are reported for fields requested but not found."
msgstr ""
"Dla nieodnalezionych pól kontrolnych nie są wyświetlane komunikaty błędów."

#
#. type: TP
#: dpkg-deb.1:118
#, no-wrap
msgid "B<-c>, B<--contents> I<archive>"
msgstr "B<-c>, B<--contents> I<archiwum>"

#
#. 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 ""
"Wyświetla zawartość archiwum. Wydruk jest podany w takiej postaci, jaką "
"generuje polecenie B<tar>."

#
#. type: TP
#: dpkg-deb.1:124
#, no-wrap
msgid "B<-x>, B<--extract> I<archive directory>"
msgstr "B<-x>, B<--extract> I<katalog archiwum>"

#
#. type: Plain text
#: dpkg-deb.1:128
msgid ""
"Extracts the filesystem tree from a package archive into the specified "
"directory."
msgstr "Rozpakowuje zawartość archiwum do podanego I<katalogu>."

#
#. 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 ""
"Proszę zauważyć, że rozpakowanie pakietu w katalogu głównym I<nie> jest "
"odpowiednikiem zainstalowania pakietu! Do tego celu służy wyłącznie "
"polecenie B<dpkg>."

#
#. type: Plain text
#: dpkg-deb.1:138
msgid ""
"I<directory> (but not its parents) will be created if necessary, and its "
"permissions modified to match the contents of the package."
msgstr ""
"I<katalog> (ale bez katalogów nadrzędnych) zostanie utworzony jeśli trzeba, "
"a jego uprawnienia zostaną zmodyfikowane tak, aby odpowiadały zawartości "
"pakietu."

#
#. type: TP
#: dpkg-deb.1:138
#, no-wrap
msgid "B<-X>, B<--vextract> I<archive directory>"
msgstr "B<-X>, B<--vextract> I<katalog archiwum>"

#
#. type: Plain text
#: dpkg-deb.1:145
#, fuzzy
#| msgid ""
#| "Is like B<--extract> (B<-x>)  but prints a listing of the files extracted "
#| "as it goes."
msgid ""
"Is like B<--extract> (B<-x>)  with B<--verbose> (B<-v>)  which prints a "
"listing of the files extracted as it goes."
msgstr ""
"Działa podobnie do B<--extract> (B<-x>), z tą różnicą, że wyświetla nazwy "
"plików, które są rozpakowywane."

#
#. type: TP
#: dpkg-deb.1:145
#, fuzzy, no-wrap
#| msgid "B<-x>, B<--extract> I<archive directory>"
msgid "B<-R>, B<--raw-extract> I<archive directory>"
msgstr "B<-x>, B<--extract> I<katalog archiwum>"

#
#. 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 "Rozpakowuje zawartość archiwum do podanego I<katalogu>."

#
#. 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 "W razie potrzeby, katalog docelowy będzie utworzony."

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

#
#. 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 ""
"Rozpakowuje pliki z archiwum i wysyła je na standardowe wyjście w postaci "
"formatu polecenia B<tar>. Gdy ta operacja zostanie połączona z B<tar>'em, "
"możliwe jest rozpakowanie tylko wybranych plików z archiwum."

#
#. type: TP
#: dpkg-deb.1:161
#, no-wrap
msgid "B<-e>, B<--control> I<archive> [I<directory>]"
msgstr "B<-e>, B<--control> I<archiwum> [I<katalog>]"

#
#. type: Plain text
#: dpkg-deb.1:165
msgid ""
"Extracts the control information files from a package archive into the "
"specified directory."
msgstr "Rozpakowuje pliki kontrolne pakietu do podanego I<katalogu>."

#
#. 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 ""
"Jeśli I<katalog> nie został określony, pliki są rozpakowywane do podkatalogu "
"B<DEBIAN> w katalogu bieżącym."

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

#. 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 ""
"Opcja jest używana do podania formatu wyjścia produkowanego przez B<--show>. "
"Format jest łańcuchem znaków, który będzie wyświetlony dla każdego "
"wypisanego pakietu."

#. 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 ""
"Argumentem jest łańcuch znaków w postaci \"${I<nazwa-pola>}\", który może "
"się odnosić do dowolnego pola pliku stanu. Listę nazw poprawnych pól można "
"łatwo wygenerować, używając opcji B<-I> na tym samym pakiecie. Pełne "
"wyjaśnienie opcji formatowania (łącznie z sekwencjami cytowania i "
"rozdzielaniem pól) można znaleźć w opisie opcji B<--showformat> w B<dpkg-"
"query>(1)."

#. type: Plain text
#: dpkg-deb.1:196
msgid "The default for this field is \"${Package}\\et${Version}\\en\"."
msgstr "Domyślną wartością tego pola jest \"${Package}\\et${Version}\\en\"."

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

#. type: Plain text
#: dpkg-deb.1:200
#, fuzzy
#| msgid ""
#| "Specify which compression level to pass to the compressor backend "
#| "program, when building a package."
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 ""
"Określa poziom kompresji przekazywany do programu kompresującego podczas "
"budowania pakietu."

#. type: TP
#: dpkg-deb.1:200
#, fuzzy, no-wrap
#| msgid "B<-Z>I<compress_type>"
msgid "B<-Z>I<compress-type>"
msgstr "B<-Z>I<typ_kompresji>"

#. type: Plain text
#: dpkg-deb.1:205
#, fuzzy
#| msgid ""
#| "Specify which compression type to use when building a package. Allowed "
#| "values are I<gzip>, I<bzip2>, I<lzma>, and I<none> (default is I<gzip>)."
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 ""
"Określa typ kompresji używany podczas budowania pakietu. Dozwolonymi "
"wartościami są: I<gzip>, I<bzip2>, I<lzma> oraz I<none> (domyślną wartością "
"jest I<gzip>)."

#. 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 ""
"Zapewnia, że B<dpkg-deb> utworzy \"nowy\" format archiwum. Ta opcja jest "
"domyślna."

#. 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 ""
"Wymusza utworzenie przez B<dpkg-deb> \"starego\" formatu archiwum. Ten "
"format jest słabo obsługiwany przez narzędzia spoza dystrybucji Debiana i "
"obecnie jest przestarzały. Ta opcja jest użyteczna jedynie w przypadku "
"korzystania z wersji dpkg wcześniejszej niż 0.93.76 (wrzesień 1995), która "
"była opublikowana jedynie dla i386 a.out."

#. 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 ""
"Powoduje, że polecenie B<dpkg-deb --build> nie będzie sprawdzać zawartości "
"archiwum. W ten sposób można utworzyć niepoprawny pakiet, jeśli zajdzie taka "
"potrzeba."

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

#. type: Plain text
#: dpkg-deb.1:228
msgid ""
"Enables verbose output. This currently only affects B<--extract> making it "
"behave like B<--vextract>."
msgstr ""

#. type: TP
#: dpkg-deb.1:228
#, no-wrap
msgid "B<-D>, B<--debug>"
msgstr "B<-D>, B<--debug>"

#
#. type: Plain text
#: dpkg-deb.1:231
msgid "Enables debugging output. This is not very interesting."
msgstr "Włącza opcję debugowania. Nie jest to zbyt interesujące."

#. 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<pakiet1>B<.deb> I<pakiet2>B<.deb> działa niepoprawnie."

#. 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 ""
"Nie ma sprawdzania autentyczności plików B<.deb>, a nawet nie ma prostej "
"sumy kontrolnej. (Narzędzia wyższego poziomu takie jak APT wspierają "
"uwierzytelnianie pakietów B<.deb> pobieranych z danego repozytorium, zaś "
"większość współczesnych pakietów dostarcza plik kontrolny md5sum "
"wygenerowany przez debian/rules. Niestety, nie jest to bezpośrednio "
"wspierane przez narzędzia niższego poziomu.)"

#. 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 ""
"Nie należy używać B<dpkg-deb> do instalowania oprogramowania! Do tego celu "
"należy korzystać z B<dpkg>, który zainstaluje poprawnie pliki i uruchomi "
"potrzebne skrypty instalacyjne."

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

#. type: Plain text
#: dpkg-divert.8:4
msgid "dpkg-divert - override a package's version of a file"
msgstr "dpkg-divert - nadpisywanie plików z pakietów"

#
#. type: Plain text
#: dpkg-divert.8:9
#, fuzzy
#| msgid "B<dpkg-divert> [I<options>] I<command>"
msgid "B<dpkg-divert> [I<option>...] I<command>"
msgstr "B<dpkg-divert> [I<opcje>] I<polecenie>"

#. 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 ""
"B<dpkg-diver> jest narzędziem używanym do tworzenia i aktualizowania listy "
"nadpisań plików."

#. 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 ""
"\"I<Nadpisania>\" plików są sposobem na wymuszenie na programie B<dpkg>(1) "
"instalowania pliku nie w domyślnej lokalizacji, lecz w nowej, I<nadpisanej> "
"lokalizacji. Nadpisania mogą być używane w skryptach pakietów Debiana do "
"przeniesienia plików, które powodują konflikty. Administrator systemu może "
"ich także użyć do nadpisania plików konfiguracyjnych pewnych pakietów, albo "
"wtedy gdy niektóre pliki (nieoznaczone jako \"pliki konfiguracyjne\") muszą "
"być zachowane przez dpkg podczas instalacji nowej wersji pakietu "
"zawierającego te pliki."

#. type: TP
#: dpkg-divert.8:25
#, no-wrap
msgid "[B<--add>] I<file>"
msgstr "[B<--add>] I<plik>"

#. type: Plain text
#: dpkg-divert.8:28
msgid "Add a diversion for I<file>."
msgstr "Dodaje nadpisanie I<pliku>."

#. type: TP
#: dpkg-divert.8:28 dpkg-statoverride.8:35
#, no-wrap
msgid "B<--remove>I< file>"
msgstr "B<--remove> I<plik>"

#. type: Plain text
#: dpkg-divert.8:31
msgid "Remove a diversion for I<file>."
msgstr "Usuwa nadpisanie I<pliku>."

#. type: TP
#: dpkg-divert.8:31
#, no-wrap
msgid "B<--list>I< glob-pattern>"
msgstr "B<--list>I< wzorzec-glob>"

#. type: Plain text
#: dpkg-divert.8:34
msgid "List diversions matching I<glob-pattern>."
msgstr "Wyświetla nadpisania pasujące do I<wzorca-glob>."

#. type: TP
#: dpkg-divert.8:34
#, no-wrap
msgid "B<--listpackage>I< file>"
msgstr "B<--listpackage>I< plik>"

#. 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 ""
"Wyświetla nazwę pakietu, który zawiera ominięcie I<pliku>. Wyświetla napis "
"LOCAL jeśli I<plik> jest ominięty lokalnie, nie wyświetla nic jeśli dla "
"I<pliku> nie ma ominięcia."

#. type: TP
#: dpkg-divert.8:38
#, no-wrap
msgid "B<--truename>I< file>"
msgstr "B<--truename>I< plik>"

#. type: Plain text
#: dpkg-divert.8:41
msgid "Print the real name for a diverted file."
msgstr "Wyświetla rzeczywistą nazwę nadpisanego pliku."

#. type: TP
#: dpkg-divert.8:43 dpkg-statoverride.8:52 dselect.1:44
#: update-alternatives.8:328
#, no-wrap
msgid "B<--admindir>I< directory>"
msgstr "B<--admindir>I< katalog>"

#. type: Plain text
#: dpkg-divert.8:46
msgid ""
"Set the dpkg data directory to I<directory> (default: I</var/lib/dpkg>)."
msgstr ""
"Ustawia katalog bazy danych dpkg na I<katalog> (domyślnie I</var/lib/dpkg>)."

#. type: TP
#: dpkg-divert.8:46
#, no-wrap
msgid "B<--divert>I< divert-to>"
msgstr "B<--divert> I<nadpisz-do>"

#. 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 ""
"I<nadpisz-do> jest lokalizacją, do której zostaną nadpisane wersje I<pliku> "
"dostarczane przez inne pakiety."

#. type: TP
#: dpkg-divert.8:50
#, no-wrap
msgid "B<--local>"
msgstr "B<--local>"

#. 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 ""
"Określa, że zostaną nadpisane wszystkie wersje tego pliku. Oznacza to ,że "
"bez żadnych wyjątków, plik jest nadpisywany, niezależnie od tego, który "
"pakiet jest instalowany. Administrator może tego użyć do zainstalowania "
"lokalnie zmodyfikowanej wersji pliku."

#. type: TP
#: dpkg-divert.8:56
#, no-wrap
msgid "B<--package>I< package>"
msgstr "B<--package>I< pakiet>"

#. 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 ""
"I<pakiet> jest nazwą pakietu, którego kopia I<pliku> nie będzie nadpisana, "
"tj. I<plik> będzie nadpisany dla wszystkich pakietów oprócz podanego "
"I<pakietu>."

#. type: TP
#: dpkg-divert.8:61 dpkg-statoverride.8:64 update-alternatives.8:350
#, no-wrap
msgid "B<--quiet>"
msgstr "B<--quiet>"

#. type: Plain text
#: dpkg-divert.8:64
msgid "Quiet mode, i.e. no verbose output."
msgstr "Tryb cichy, bez rozwlekłych komunikatów."

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

#. 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 ""
"Przenosi plik w jedną lub drugą stronę. B<dpkg-divert> przerwie działanie, "
"jeżeli plik docelowy już istnieje."

#. type: TP
#: dpkg-divert.8:68
#, no-wrap
msgid "B<--test>"
msgstr "B<--test>"

#. type: Plain text
#: dpkg-divert.8:71
msgid "Test mode, i.e. don't actually perform any changes, just demonstrate."
msgstr ""
"Tryb testowy, tzn. nie wykonuje żadnych akcji, tylko pokazuje, co zostałoby "
"zrobione."

#. type: SH
#: dpkg-divert.8:78
#, no-wrap
msgid "NOTES"
msgstr "UWAGI"

#. type: Plain text
#: dpkg-divert.8:82
#, fuzzy
#| msgid ""
#| "When adding, default is B<--local> and B<--divert> I<E<lt>originalE<gt>."
#| "distrib>. When removing, B<--package> or B<--local> and B<--divert> must "
#| "match if specified."
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 ""
"Podczas dodawania domyślnymi opcjami są B<--local> i B<--divert> "
"I<E<lt>oryginalnyE<gt>.distrib>. Podczas usuwania B<--package> lub B<--"
"local> i B<--divert>, jeśli zostały podane, to muszą pasować."

#. type: Plain text
#: dpkg-divert.8:84
msgid "Directories can't be diverted with B<dpkg-divert>."
msgstr "Za pomocą B<dpkg-divert> nie można nadpisać katalogów."

#. 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 ""
"Należy być ostrożnym podczas nadpisywania bibliotek współdzielonych. "
"B<ldconfig>(8) tworzy dowiązania symboliczne na podstawie pola DT_SONAME "
"ustawionego w bibliotece. Ponieważ ldconfig nie honoruje nadpisań (tylko "
"dpkg to robi), dowiązanie symboliczne może wskazywać na nadpisaną "
"bibliotekę, jeżeli ta nadpisana biblioteka ma takie samo SONAME, co "
"nienadpisana."

#. 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 ""
"Aby nadpisać wszystkie kopie pliku I</usr/bin/przykład> do I</usr/bin/"
"przykład.bla>, tj. spowodować, że wszystkie pakiety dostarczające I</usr/bin/"
"przykład> zainstalują ten plik jako I</usr/bin/przykład.bla> i zmienią nazwę "
"pliku, jeśli jest to wymagane:"

#. type: Plain text
#: dpkg-divert.8:97
msgid "dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example"
msgstr "dpkg-divert --divert /usr/bin/przykład.bla --rename /usr/bin/przykład"

#. type: Plain text
#: dpkg-divert.8:99 dpkg-divert.8:109
msgid "To remove that diversion:"
msgstr "Aby usunąć to nadpisanie:"

#. type: Plain text
#: dpkg-divert.8:101
msgid "dpkg-divert --rename --remove /usr/bin/example"
msgstr "dpkg-divert --rename --remove /usr/bin/przykład"

#. 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 ""
"Aby napisać I</usr/bin/przykład> jako I</usr/bin/przykład.bla> wszystkim "
"pakietom, próbującym zainstalować ten plik, oprócz pakietu I<wibble>:"

#. type: Plain text
#: dpkg-divert.8:107
msgid ""
"dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/"
"example"
msgstr ""
"dpkg-divert --package wibble --divert /usr/bin/przykład.bla --rename /usr/"
"bin/przykład"

#. type: Plain text
#: dpkg-divert.8:111
msgid "dpkg-divert --package wibble --rename --remove /usr/bin/example"
msgstr "dpkg-divert --package wibble --rename --remove /usr/bin/przykład"

#. type: TP
#: dpkg-divert.8:113 dpkg-query.1:205 dpkg-statoverride.8:69 dpkg-trigger.1:61
#: update-alternatives.8:355
#, fuzzy, no-wrap
#| msgid "B<DPKG_MAINTSCRIPT_ARCH>"
msgid "B<DPKG_ADMINDIR>"
msgstr "B<DPKG_MAINTSCRIPT_ARCH>"

#. 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 "I</var/lib/dpkg/diversions>"

#. 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 ""
"Plik zawierający obecną listę nadpisań plików w systemie. Zlokalizowany jest "
"w katalogu administracyjnym dpkg, łącznie z innymi plikami ważnymi dla dpkg, "
"takimi jak I<status> lub I<available>."

#. 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 ""
"Uwaga: przed zastąpieniem pliku nową wersją, B<dpkg-divert> zachowuje starą "
"kopię w pliku z rozszerzeniem \"-old\"."

#. type: Plain text
#: dpkg-divert.8:137 update-alternatives.8:496
msgid "Copyright \\(co 1995 Ian Jackson"
msgstr "Copyright \\(co 1995 Ian Jackson"

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

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

#
#. type: Plain text
#: dpkg-genchanges.1:8
#, fuzzy
#| msgid "B<dpkg-genchanges> [I<options>]"
msgid "B<dpkg-genchanges> [I<option>...]"
msgstr "B<dpkg-genchanges> [I<opcje>]"

#. 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 ""
"B<dpkg-genchanges> czyta informacje z rozpakowanego i zbudowanego drzewa "
"pakietu źródłowego Debiana oraz z plików, które wygenerował, i na ich "
"podstawie tworzy plik kontrolny wydania (plik B<.changes>)."

#. type: TP
#: dpkg-genchanges.1:18
#, no-wrap
msgid "B<-b>, B<-B>, B<-A>"
msgstr "B<-b>, B<-B>, B<-A>"

#. 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 ""
"Określa, że wykonywane jest budowanie tylko pakietów binarnych (bez "
"włączania jakichkolwiek plików źródłowych). Nie ma różnicy między B<-b>, B<-"
"B> i B<-A>, wygenerowany plik B<.changes> będzie zawierać wszystkie pliki "
"utworzone przez reguły B<binary-*> budowanych właśnie pakietów."

#. type: Plain text
#: dpkg-genchanges.1:31
msgid ""
"Specifies that only the source should be uploaded (no binary packages will "
"be included)."
msgstr ""
"Określa, że tylko źródła będą dołączone do wydania (bez żadnych pakietów "
"binarnych)."

#. 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 ""
"Opcje B<-s>I<x> określają, czy do wydania dołączane są oryginalne pliki "
"źródłowe, jeżeli zostanie wygenerowany choć jeden z nich (tj. nie użyto "
"opcji B<-b> lub B<-B>)."

#. 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 ""
"Domyślnie lub jeśli to określono, oryginalne źródła będą dołączone tylko "
"jeśli numer oryginalnej wersji autora programu (tzn. wersja bez epoki i bez "
"numeru rewizji Debiana) różni się od numeru wersji autora programu z "
"poprzedniego wpisu dziennika zmian."

#. type: Plain text
#: dpkg-genchanges.1:45
msgid "Forces the inclusion of the original source."
msgstr "Wymusza dołączenie oryginalnych źródeł."

#. type: Plain text
#: dpkg-genchanges.1:48
msgid "Forces the exclusion of the original source and includes only the diff."
msgstr ""
"Wymusza pominięcie oryginalnych źródeł i dołączenie tylko pliku różnic "
"(diff)."

#. type: Plain text
#: dpkg-genchanges.1:54
msgid ""
"Causes changelog information from all versions strictly later than "
"I<version> to be used."
msgstr ""
"Powoduje, że będą używane informacje z dziennika zmian ze wszystkich wersji "
"większych niż I<wersja>."

#. 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 ""
"Czyta opis zmian z pliku I<opis_zmian>, zamiast używać informacji z "
"dziennika zmian z katalogu ze źródłami."

#. 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 ""
"Używa I<adresu_opiekuna> jako nazwy i adresu e-mail opiekuna tego pakietu, "
"zamiast pobierać te wartości z pliku kontrolnego z katalogu ze źródłami."

#. 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 ""
"Używa I<adresu_opiekuna> jako nazwy i adresu e-mail opiekuna tego wydania, "
"zamiast pobierać te wartości z dziennika zmian z katalogu ze źródłami."

#. 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 "B<-V>I<nazwa>B<=>I<wartość>"

#. 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 ""
"Ustawia zmienną podstawienia wyjścia. Szczegółowy opis podstawiania "
"zmiennych wyjściowych znajduje się w B<deb-substvars>(5)."

#. type: TP
#: dpkg-genchanges.1:76 dpkg-gencontrol.1:45 dpkg-shlibdeps.1:169
#: dpkg-source.1:131
#, no-wrap
msgid "B<-T>I<substvarsfile>"
msgstr "B<-T>I<plik_zmiennych_podst>"

#. type: Plain text
#: dpkg-genchanges.1:86
#, fuzzy
#| 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."
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 ""
"Odczytuje zmienne podstawiania z I<pliku_zmiennych_podst>; domyślnie jest to "
"B<debian/substvars>. Nie są robione żadne podstawiania na żadnym z pól, "
"które są wypisywane na wyjściu, jednakże specjalna zmienna I<Format> "
"nadpisze pole o tej samej nazwie."

#. 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 "B<-D>I<pole>B<=>I<wartość>"

#. 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 "Nadpisuje lub dodaje wyjściowe pole pliku kontrolnego."

#. type: TP
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
#, no-wrap
msgid "B<-U>I<field>"
msgstr "B<-U>I<pole>"

#. type: Plain text
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:143
msgid "Remove an output control file field."
msgstr "Usuwa wyjściowe pole pliku kontrolnego."

#. type: TP
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:104
#, no-wrap
msgid "B<-c>I<controlfile>"
msgstr "B<-c>I<plik_kontrolny>"

#. 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 ""
"Określa główny plik kontrolny, z którego będą czytane informacje. Domyślnie "
"jest to B<debian/control>."

#. 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 "B<-l>I<dziennik_zmian>"

#. 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 ""
"Określa dziennik zmian, z którego będą czytane informacje. Domyślnym plikiem "
"jest B<debian/changelog>."

#. type: Plain text
#: dpkg-genchanges.1:107
msgid ""
"Read the list of files to be uploaded here, rather than using B<debian/"
"files>."
msgstr ""
"Czyta z tego pliku listę plików do wydania zamiast używać B<debian/files>."

#. 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 "B<-F>I<format_dziennika_zmian>"

#. 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 ""
"Określa format dziennika zmian. Domyślnie format jest czytany ze specjalnej "
"linii znajdującej się przy końcu pliku lub - jeśli taka linia nie istnieje - "
"używany jest standardowy format Debiana."

#. type: TP
#: dpkg-genchanges.1:112
#, no-wrap
msgid "B<-u>I<uploadfilesdir>"
msgstr "B<-u>I<katalog_z_plikami_wydania>"

#. 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 ""
"Poszukuje plików, które mają być dołączone do wydania w "
"I<katalogu_z_plikami_wydania> zamiast w katalogu B<..> (B<dpkg-genchanges> "
"musi znaleźć te pliki, tak żeby móc zapisać ich rozmiary oraz sumy kontrolne "
"w pliku B<.changes>)."

#. type: TP
#: dpkg-genchanges.1:123 dpkg-gensymbols.1:421
#, no-wrap
msgid "B<-q>"
msgstr "B<-q>"

#. 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 ""
"Zazwyczaj B<dpkg-genchanges> na standardowym wyjściu błędów wypisze "
"komunikaty informujące na przykład o liczbie plików wygenerowanych "
"źródłowych pakietu. B<-q> powstrzymuje wypisywanie takich komunikatów"

#. 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 ""
"Lista wygenerowanych plików, które są częścią przygotowywanego wydania. "
"B<dpkg-genchanges> czyta stąd dane podczas tworzenia pliku B<.changes>."

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

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

#
#. type: Plain text
#: dpkg-gencontrol.1:8
#, fuzzy
#| msgid "B<dpkg-gencontrol> [I<options>]"
msgid "B<dpkg-gencontrol> [I<option>...]"
msgstr "B<dpkg-gencontrol> [I<opcje>]"

#. 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 ""
"B<dpkg-gencontrol> czyta informacje z rozpakowanego drzewa źródeł pakietu "
"Debiana i generuje plik kontrolny pakietu binarnego (domyślnie jest to "
"debian/tmp/DEBIAN/control), upraszczając podczas tego procesu pola dotyczące "
"zależności."

#. 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 ""
"Pola I<Pre-Depends>, I<Depends>, I<Recommends> oraz I<Suggests> są "
"upraszczane w tej właśnie kolejności przez usuwanie zależności o których "
"wiadomo, że są prawdziwe, ponieważ wynikają z innych, przetworzonych już "
"mocniejszych zależności. Usunięte także będą wszelkie zależności pakietu od "
"samego siebie (dokładniej: usunięte będą wszystkie zależności, które będą "
"prawdziwe po zainstalowaniu bieżącej wersji pakietu). Mówiąc językiem "
"logiki, zachowana będzie część wspólna ze zbioru wszystkich zależności "
"dotyczących tego samego pakietu. Porządek zależności jest zachowywany w "
"takim stopniu, w jakim jest to tylko możliwe: jeżeli jakaś zależność musi "
"być usunięta z powodu innej zależności występującej dalej w danym polu, "
"wypierająca zależność zajmie miejsce tej usuwanej."

#. 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 ""
"Pozostałe pola relacyjne (I<Enhances>, I<Conflicts>, I<Breaks>, I<Replaces> "
"oraz I<Provides>) także są indywidualnie upraszczane przez wyliczanie sumy "
"różnych zależności, jeśli w danym polu pakiet jest wymieniony wiele razy."

#. type: Plain text
#: dpkg-gencontrol.1:36
msgid ""
"B<dpkg-gencontrol> also adds an entry for the binary package to B<debian/"
"files>."
msgstr ""
"B<dpkg-gencontrol> dodaje ponadto wpis dotyczący pakietu binarnego do "
"B<debian/files>."

#. type: Plain text
#: dpkg-gencontrol.1:41
msgid "Sets the version number of the binary package which will be generated."
msgstr "Ustawia numer wersji generowanego pakietu binarnego."

#. type: Plain text
#: dpkg-gencontrol.1:45
msgid ""
"Set an output substitution variable. See B<deb-substvars>(5) for discussion "
"of output substitution."
msgstr ""
"Ustawia zmienną podstawienia wyjścia. Szczegółowy opis podstawiania "
"zmiennych wyjściowych znajduje się w B<deb-substvars>(5)."

#. type: Plain text
#: dpkg-gencontrol.1:53
#, fuzzy
#| 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."
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 ""
"Odczytuje zmienne podstawiania z I<pliku_zmiennych_podst>; domyślnie jest to "
"B<debian/substvars>. Nie są robione żadne podstawiania na żadnym z pól, "
"które są wypisywane na wyjściu, jednakże specjalna zmienna I<Format> "
"nadpisze pole o tej samej nazwie."

#. type: TP
#: dpkg-gencontrol.1:78 dpkg-gensymbols.1:373
#, no-wrap
msgid "B<-p>I<package>"
msgstr "B<-p>I<pakiet>"

#. 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 ""
"Generuje informacje o pakiecie binarnym I<pakiet>. Jeżeli plik kontrolny "
"pakietu źródłowego wymienia tylko jeden pakiet binarny, to opcję tę można "
"pominąć, w przeciwnym wypadku wymagane jest wskazanie, dla którego pakietu "
"binarnego wygenerować informacje."

#. type: TP
#: dpkg-gencontrol.1:85
#, no-wrap
msgid "B<-n>I<filename>"
msgstr "B<-n>I<nazwa_pliku>"

#. 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 ""
"Określa, że nazwą pliku pakietu będzie I<nazwa_pliku> zamiast normalnej "
"nazwy pliku w postaci pakiet_wersja_architektura.deb"

#. type: TP
#: dpkg-gencontrol.1:90
#, no-wrap
msgid "B<-is>, B<-ip>, B<-isp>"
msgstr "B<-is>, B<-ip>, B<-isp>"

#. 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 ""
"Te opcje są ignorowane w celu zachowania kompatybilności ze starszymi "
"wersjami dpkg-dev, obecnie są uznawane za przestarzałe. Poprzednio były "
"używane do nakazania programowi dpkg-gencontrol włączenia pól Section i "
"Priority do pliku kontrolnego. Obecnie jest to domyślne zachowanie. Aby "
"uzyskać poprzednie zachowanie, można użyć opcji B<-U>, dzięki której można "
"usunąć powyższe pola z pliku kontrolnego."

#. type: TP
#: dpkg-gencontrol.1:99
#, no-wrap
msgid "B<-P>I<packagebuilddir>"
msgstr "B<-P>I<katalog_budowania_pakietu>"

#. 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 ""
"Mówi programowi B<dpkg-source>, że pakiet jest budowany w "
"I<katalogu_budowania_pakietu>, zamiast w B<debian/tmp>. Katalog ten jest "
"używany do znalezienia domyślnych wartości zmiennej podstawiania B<Installed-"
"Size> i pola w pliku kontrolnym o tej samej nazwie (przy użyciu du) oraz "
"domyślnej lokalizacji pliku wynikowego."

#. type: TP
#: dpkg-gencontrol.1:112 dpkg-gensymbols.1:391 dpkg-shlibdeps.1:150
#, no-wrap
msgid "B<-O>"
msgstr "B<-O>"

#. 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 ""
"Wypisuje plik kontrolny na standardowe wyjście, a nie do pliku B<debian/tmp/"
"DEBIAN/control> (lub I<katalogu_budowania_pakietu>B</DEBIAN/control>, gdy "
"użyto B<-P>)."

#. type: TP
#: dpkg-gencontrol.1:129
#, no-wrap
msgid "B<debian/control>"
msgstr "B<debian/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 ""
"Główny plik kontrolny, zawierający niezależne od wersji informacje zarówno o "
"pakiecie źródłowym, jak i o pakietach binarnych, które są tworzone z pakietu "
"źródłowego."

#. 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 ""
"Lista wygenerowanych plików, które są częścią przygotowywanego wydania. "
"B<dpkg-gencontrol> zapisuje tutaj przypuszczalne nazwy plików-pakietów "
"binarnych generowanych z pliku kontrolnego."

#. type: Plain text
#: dpkg-gencontrol.1:148 dpkg-shlibdeps.1:337
msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"

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

#. type: Plain text
#: dpkg-gensymbols.1:5
#, fuzzy
#| msgid "Per-system default shared library dependency information."
msgid ""
"dpkg-gensymbols - generate symbols files (shared library dependency "
"information)"
msgstr ""
"Domyślna informacja o zależnościach bibliotek współdzielonych, o zakresie "
"systemu."

#
#. type: Plain text
#: dpkg-gensymbols.1:9
#, fuzzy
#| msgid "B<dpkg-gencontrol> [I<options>]"
msgid "B<dpkg-gensymbols> [I<option>...]"
msgstr "B<dpkg-gencontrol> [I<opcje>]"

#. 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
#, fuzzy
#| msgid "/etc/dpkg/symbols/I<package>.symbols.I<arch>"
msgid "debian/I<package>.symbols.I<arch>"
msgstr "/etc/dpkg/symbols/I<pakiet>.symbols.I<arch>"

#. type: Plain text
#: dpkg-gensymbols.1:24
#, fuzzy
#| msgid "B<debian/substvars>"
msgid "debian/symbols.I<arch>"
msgstr "B<debian/substvars>"

#. type: Plain text
#: dpkg-gensymbols.1:26
#, fuzzy
#| msgid "I<admindir>/info/I<package>.symbols"
msgid "debian/I<package>.symbols"
msgstr "I<katalog_admin>/info/I<pakiet>.symbols"

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

#. 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<not-installed>"
msgid "B<optional>"
msgstr "B<not-installed (niezainstalowany)>"

#. 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<-a>I<architecture>"
msgid "B<arch=>I<architecture list>"
msgstr "B<-a>I<architektura>"

#. 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<--no-act>"
msgid "B<ignore-blacklist>"
msgstr "B<--no-act>"

#. 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<-nc>"
msgid "B<c++>"
msgstr "B<-nc>"

#. 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<-sr>"
msgid "B<symver>"
msgstr "B<-sr>"

#. 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<purge>"
msgid "B<regex>"
msgstr "B<purge (wyczyszczenie)>"

#. 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<packagebuilddir>"
msgid "B<-P>I<package-build-dir>"
msgstr "B<-P>I<katalog_budowania_pakietu>"

#. type: Plain text
#: dpkg-gensymbols.1:373
#, fuzzy
#| msgid "Scan for *.I<type> packages, instead of *.deb."
msgid "Scan I<package-build-dir> instead of debian/tmp."
msgstr "Szukanie plików *.I<typ> zamiast *.deb."

#. 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<-R>I<rules-file>"
msgid "B<-e>I<library-file>"
msgstr "B<-R>I<plik_rules>"

#. 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<-n>I<filename>"
msgid "B<-I>I<filename>"
msgstr "B<-n>I<nazwa_pliku>"

#. 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
#, fuzzy
#| 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)."
msgid ""
"Print the generated symbols file to standard output, rather than being "
"stored in the package build tree."
msgstr ""
"Wypisuje plik kontrolny na standardowe wyjście, a nie do pliku B<debian/tmp/"
"DEBIAN/control> (lub I<katalogu_budowania_pakietu>B</DEBIAN/control>, gdy "
"użyto B<-P>)."

#. type: TP
#: dpkg-gensymbols.1:395
#, fuzzy, no-wrap
#| msgid "B<-n>I<filename>"
msgid "B<-O>I<filename>"
msgstr "B<-n>I<nazwa_pliku>"

#. 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<-tc>"
msgid "B<-t>"
msgstr "B<-tc>"

#. 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<-I>I<[pattern]>"
msgid "B<-c>I<[0-4]>"
msgstr "B<-I>I<[wzorzec]>"

#. 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<architecture>"
msgid "B<-a>I<arch>"
msgstr "B<-a>I<architektura>"

#. 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
#, fuzzy
#| msgid ""
#| "Enable verbose mode. Numerous messages are displayed to explain what "
#| "B<dpkg-shlibdeps> does."
msgid ""
"Enable debug mode. Numerous messages are displayed to explain what B<dpkg-"
"gensymbols> does."
msgstr ""
"Włączenie dodatkowych informacji. Wyświetlanych jest wiele komunikatów "
"tłumaczących działanie B<dpkg-shlibdeps>."

#. type: TP
#: dpkg-gensymbols.1:437
#, fuzzy, no-wrap
#| msgid "B<-G>"
msgid "B<-V>"
msgstr "B<-G>"

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

#. type: Plain text
#: dpkg-gensymbols.1:462
#, fuzzy
#| msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgid "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"

#. 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
#, fuzzy, no-wrap
#| msgid "INFORMATION ABOUT PACKAGES"
msgid "INTEGRATION IN PACKAGES"
msgstr "INFORMACJE O PAKIETACH"

#. 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>lista pakietówE<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
#, fuzzy
#| msgid "Copyright \\(co 2008 Rapha\\[:e]l Hertzog"
msgid "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2008 Rapha\\[:e]l Hertzog"

#. type: Plain text
#: dpkg-maintscript-helper.1:132
#, fuzzy
#| msgid "Copyright \\(co 2001 Joey Hess"
msgid "Copyright \\(co 2008 Joey Hess"
msgstr "Copyright \\(co 2001 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:134
#, fuzzy
#| msgid "Copyright \\(co 2001 Joey Hess"
msgid "Copyright \\(co 2007 Guillem Jover"
msgstr "Copyright \\(co 2001 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:136
#, fuzzy
#| msgid "Copyright \\(co 2000 Wichert Akkerman"
msgid "Copyright \\(co 2005 Scott James Remnant"
msgstr "Copyright \\(co 2000 Wichert Akkerman"

#. type: TH
#: dpkg-mergechangelogs.1:1
#, fuzzy, no-wrap
#| msgid "dpkg-parsechangelog"
msgid "dpkg-mergechangelogs"
msgstr "dpkg-parsechangelog"

#. type: Plain text
#: dpkg-mergechangelogs.1:4
#, fuzzy
#| msgid "dpkg-parsechangelog - parse Debian changelog files"
msgid "dpkg-mergechangelogs - 3-way merge of debian/changelog files"
msgstr "dpkg-parsechangelog - przetwarza pliki dzienników zmian Debiana"

#. type: Plain text
#: dpkg-mergechangelogs.1:8
#, fuzzy
#| msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgid ""
"B<dpkg-mergechangelogs> [I<option>...] I<old> I<new-a> I<new-b> [I<out>]"
msgstr "B<dpkg-trigger> [I<opcja>...] I<polecenie>"

#. 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 "ACTIONS"
msgid "LIMITATIONS"
msgstr "AKCJE"

#. 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
#, fuzzy
#| msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgid "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"

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

#. type: Plain text
#: dpkg-name.1:9
msgid "dpkg-name - rename Debian packages to full package names"
msgstr "dpkg-name - zmienia nazwy pakietów Debiana na pełne"

#. type: Plain text
#: dpkg-name.1:15
#, fuzzy
#| msgid "B<dpkg-name> [I<options>] [B<-->] I<files>"
msgid "B<dpkg-name> [I<option>...] [B<-->] I<file>..."
msgstr "B<dpkg-name> [I<opcje>] [B<-->] I<pliki>"

#. type: Plain text
#: dpkg-name.1:29
#, fuzzy
#| 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<E<lt>packageE<gt>_E<lt>versionE<gt>_E<lt>architectureE<gt>."
#| "E<lt>package_typeE<gt>> as specified in the control file of the package. "
#| "The I<E<lt>versionE<gt>> part of the filename consists of the upstream "
#| "version information optionally followed by a hyphen and the revision "
#| "information. The I<E<lt>package_typeE<gt>> part comes from that field if "
#| "present or fallbacks to B<deb>."
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 ""
"Ta strona podręcznika dokumentuje program B<dpkg-name>, który dostarcza "
"prostego sposobu na zmianę nazw pakietów B<Debiana> na pełne nazwy pakietów. "
"Pełna nazwa pakietu jest w postaci "
"I<E<lt>pakietE<gt>_E<lt>wersjaE<gt>_E<lt>architektuaE<gt>."
"E<lt>typ_pakietuE<gt>>, jak to określono w pliku kontrolnym pakietu. Część "
"I<E<lt>wersjaE<gt>> nazwy pliku zawiera oryginalną wersję nadaną przez "
"autora, po której opcjonalnie następuje myślnik oraz informacje o wersji "
"zmian pakietu w Debianie.Część I<E<lt>typ_pakietuE<gt>> pochodzi z "
"odpowiedniego pola, jeśli jest obecne, lub jest równa B<deb>."

#. type: TP
#: dpkg-name.1:31
#, no-wrap
msgid "B<-a>, B<--no-architecture>"
msgstr "B<-a>, B<--no-architecture>"

#. type: Plain text
#: dpkg-name.1:34
msgid "The destination filename will not have the architecture information."
msgstr "Wynikowy plik nie będzie miał informacji o architekturze."

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

#. type: Plain text
#: dpkg-name.1:37
msgid "Create a symlink, instead of moving."
msgstr "Tworzy dowiązanie symboliczne, zamiast przenosić plik."

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

#. type: Plain text
#: dpkg-name.1:41
msgid ""
"Existing files will be overwritten if they have the same name as the "
"destination filename."
msgstr ""
"Istniejące pliki będą nadpisane, jeżeli ich nazwy są takie same jak nazwy "
"plików wynikowych."

#. type: TP
#: dpkg-name.1:41
#, no-wrap
msgid "B<-s>, B<--subdir> [I<dir>]"
msgstr "B<-s>, B<--subdir> [I<katalog>]"

#. type: Plain text
#: dpkg-name.1:53
#, fuzzy
#| 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-E<lt>architectureE<gt>/E<lt>sectionE<gt>'. 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 "
#| "`E<lt>sectionE<gt>/binary-E<lt>architectureE<gt>'. 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."
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 ""
"Pliki będą przeniesione do podkatalogu. Jeśli istnieje katalog podany jako "
"argument tej opcji, to pliki zostaną przeniesione do tego katalogu, w "
"przeciwnym wypadku nazwa katalogu docelowego jest wyodrębniana z pola "
"Section w części kontrolnej pakietu. Katalogiem docelowym będzie wtedy "
"\"unstable/binary-E<lt>architekturaE<gt>/E<lt>sekcjaE<gt>\". Jeśli sekcja "
"nie zostanie znaleziona w pliku kontrolnym, to jest przyjmowane \"no-section"
"\" i w tym przypadku, jak i w przypadku sekcji \"non-free\" oraz \"contrib"
"\", katalogiem docelowym będzie E<lt>sekcjaE<gt>/binary-"
"E<lt>architekturaE<gt>\". Pole kontrolne Section nie jest wymagane, tak więc "
"w ten sposób wiele pakietów będzie umieszczonych w katalogu \"no-section\". "
"Proszę ostrożnie używać tej opcji, jest niechlujna."

#. type: TP
#: dpkg-name.1:53
#, no-wrap
msgid "B<-c>, B<--create-dir>"
msgstr "B<-c>, B<--create-dir>"

#. 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 ""
"Opcja ta może być użyta łącznie z opcją -s. Jeśli katalog docelowy nie "
"istnieje, to zostanie utworzony. B<Proszę ostrożnie używać tej opcji.>"

#. type: TP
#: dpkg-name.1:61
#, no-wrap
msgid "B<-v>, B<--version>"
msgstr "B<-v>, B<--version>"

#. type: TP
#: dpkg-name.1:66
#, no-wrap
msgid "B<dpkg-name bar-foo.deb>"
msgstr "B<dpkg-name bar-foo.deb>"

#. 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 ""
"Nazwa pliku \"bar-foo.deb\" zostanie zmieniona na bar-foo_1.0-2_i386.deb lub "
"coś podobnego (w zależności od informacji zawartych w pliku kontrolnym "
"pakietu \"bar-foo.deb\")."

#. type: TP
#: dpkg-name.1:71
#, no-wrap
msgid "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>"
msgstr "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>"

#. 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 ""
"dpkg-name, jeśli jest to konieczne, zmieni nazwy wszystkich pliki z "
"rozszerzeniem \"deb\" z katalogu /root/debian i jego podkatalogów na nazwy "
"niezawierające informacji o architekturze."

#. 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 "B<find -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a -o -s -c>"

#. 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 ""
"B<Nie rób tego>. Twoje archiwum zostanie kompletnie zepsute, ponieważ wiele "
"pakietów nie będzie miało informacji o sekcji. B<Nie rób tego>."

#. type: TP
#: dpkg-name.1:82
#, no-wrap
msgid "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"
msgstr "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"

#. type: Plain text
#: dpkg-name.1:85
msgid "This can be used when building new packages."
msgstr "Może zostać użyte do budowania nowych pakietów."

#. type: Plain text
#: dpkg-name.1:95
#, fuzzy
#| msgid ""
#| "Some packages don't follow the name structure "
#| "E<lt>packageE<gt>_E<lt>versionE<gt>_E<lt>architectureE<gt>.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."
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 ""
"Niektóre pakiety mają inną strukturę nazwy niż "
"E<lt>pakietE<gt>_E<lt>wersjaE<gt>_E<lt>architekturaE<gt>.deb. Pakiety, "
"którym dpkg-name zmieni nazwę, będą miały powyższą strukturę nazwy. Ogólnie, "
"polecenie to nie będzie miało żadnego wpływu na to, jak pakiety są "
"instalowane przez B<dselect>(1)/ B<dpkg>(1), ale inne narzędzia instalacyjne "
"mogą zależeć od powyższej struktury nazywania pakietów."

#
#. type: Plain text
#: dpkg-name.1:103
msgid ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."
msgstr ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."

#. type: Plain text
#: dpkg-name.1:106
msgid "Copyright \\(co 1995,1996 Erick Branderhorst"
msgstr "Copyright \\(co 1995,1996 Erick Branderhorst"

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

#. type: Plain text
#: dpkg-parsechangelog.1:4
msgid "dpkg-parsechangelog - parse Debian changelog files"
msgstr "dpkg-parsechangelog - przetwarza pliki dzienników zmian Debiana"

#. type: Plain text
#: dpkg-parsechangelog.1:8
#, fuzzy
#| msgid "B<dpkg-parsechangelog> [I<options>]"
msgid "B<dpkg-parsechangelog> [I<option>...]"
msgstr "B<dpkg-parsechangelog> [I<opcje>]"

#. 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 ""
"B<dpkg-parsechangelog> czyta i przetwarza dziennik zmian rozpakowanego "
"drzewa źródeł pakietu Debiana i wypisuje te informacje na standardowym "
"wyjściu w postaci czytelnej dla maszyny."

#. type: TP
#: dpkg-parsechangelog.1:26
#, no-wrap
msgid "B<-L>I<libdir>"
msgstr "B<-L>I<katalog-lib>"

#. 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 ""
"Określa dodatkowy katalog, w którym będą wyszukiwane skrypty parsera. "
"Katalog ten jest przeszukiwany przed domyślnymi katalogami, którymi obecnie "
"są B</usr/local/lib/dpkg/parsechangelog> oraz B</usr/lib/dpkg/"
"parsechangelog>."

#. type: SS
#: dpkg-parsechangelog.1:39
#, no-wrap
msgid "Parser Options"
msgstr "Opcje parsera"

#. 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 ""
"Poniższe opcje mogą być użyte do wpływania na parser dziennika zmian, np. na "
"zakres wpisów lub format wyjścia. Powinny być obsługiwane przez skrypty "
"parsera. Patrz także B<OSTRZEŻENIA>."

#. type: TP
#: dpkg-parsechangelog.1:44
#, no-wrap
msgid "B<--format>I< outputformat>"
msgstr "B<--format> I<format_wyjściowy>"

#. 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 ""
"Ustawia format wyjścia. Obecnie wspieranymi wartościami są I<dpkg> oraz "
"I<rfc822>. I<dpkg> jest klasycznym formatem wyjścia (z czasów sprzed "
"powstania tej opcji) i jest domyślnym formatem. Składa się z jednego akapitu "
"w formacie pliku kontrolnego Debiana (patrz B<dpkg-control>(5)). Jeśli "
"zażądano więcej niż jednego wpisu, to o ile nie podano inaczej - większość "
"pól jest brana z najnowszego wpisu:"

#. type: TP
#: dpkg-parsechangelog.1:54
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>pkg nameE<gt>"
msgid "B<Source:>I< pkg-name>"
msgstr "B<Source:> E<lt>nazwa pakietuE<gt>"

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

#. type: TP
#: dpkg-parsechangelog.1:58
#, fuzzy, no-wrap
#| msgid "B<Distribution:> E<lt>target distributionE<gt>"
msgid "B<Distribution:>I< target-distribution>"
msgstr "B<Distribution:> E<lt>dystrybucja docelowaE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:60
#, fuzzy, no-wrap
#| msgid "B<Urgency:> E<lt>urgencyE<gt>"
msgid "B<Urgency:>I< urgency>"
msgstr "B<Urgency:> E<lt>ważnośćE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:63
msgid "The highest urgency of all included entries is used."
msgstr ""
"Jest używana największa wartość ważności ze wszystkich dołączonych wpisów."

#. type: TP
#: dpkg-parsechangelog.1:63
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>authorE<gt>"
msgid "B<Maintainer:>I< author>"
msgstr "B<Maintainer:> E<lt>autorE<gt>"

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

#. type: TP
#: dpkg-parsechangelog.1:67
#, fuzzy, no-wrap
#| msgid "B<Closes:> E<lt>bug numberE<gt>"
msgid "B<Closes:>I< bug-number>"
msgstr "B<Closes:> E<lt>number błęduE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:70
msgid "The Closes fields of all included entries are merged."
msgstr "Pola Closes wszystkich włączonych wpisów są łączone."

#. type: TP
#: dpkg-parsechangelog.1:70
#, fuzzy, no-wrap
#| msgid "B<Changes:> E<lt>changelog entriesE<gt>"
msgid "B<Changes:>I< changelog-entries>"
msgstr "B<Changes:> E<lt>wpisy dziennika zmianE<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 ""
"Tekst wszystkich wpisów dziennika zmian jest łączony. Aby uczynić to pole "
"poprawnym wieloliniowym polem w formacie pliku kontrolnego Debiana, "
"wszystkie puste linie są zastępowane pojedynczymi kropkami oraz jest "
"dodawana spacja na początku każdej linii. Dokładana zawartość zależy od "
"formatu dziennika zmian."

#. type: Plain text
#: dpkg-parsechangelog.1:80
msgid "There might be additional user-defined fields present."
msgstr "Mogą także występować dodatkowe pola zdefiniowane przez użytkownika."

#. 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 ""
"Format B<rfc822> używa tych samych pól, ale wypisuje osobny akapit dla "
"każdego użytego wpisu z dziennika zmian tak, że zachowane są wszystkie "
"metadane z każdego wpisu."

#. type: TP
#: dpkg-parsechangelog.1:84
#, no-wrap
msgid "B<--since> I<version>, B<-s>I<version>,B< -v>I<version>"
msgstr "B<--since> I<wersja>, B<-s>I<wersja>,B< -v>I<wersja>"

#. type: Plain text
#: dpkg-parsechangelog.1:87
msgid "include all changes later than I<version>."
msgstr "dołącza wszystkie zmiany późniejsze niż I<wersja>."

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

#. type: Plain text
#: dpkg-parsechangelog.1:90
msgid "include all changes earlier than I<version>."
msgstr "dołącza wszystkie zmiany wcześniejsze niż I<versja>."

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

#. type: Plain text
#: dpkg-parsechangelog.1:93
msgid "include all changes equal or later than I<version>."
msgstr "dołącza wszystkie zmiany równe I<wersji> lub późniejsze od niej."

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

#. type: Plain text
#: dpkg-parsechangelog.1:96
msgid "include all changes up to or equal than I<version>."
msgstr "dołącza wszystkie zmiany większe do I<wersji> lub równe jej."

#
#. type: TP
#: dpkg-parsechangelog.1:96
#, no-wrap
msgid "B<--count> I<number>, B<-c>I<number>, B<-n>I<number>"
msgstr "B<--count> I<liczba>, B<-c>I<liczba>, B<-n>I<liczba>"

#. 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 ""
"dołącza I<liczba> wpisów z początku pliku (lub z jego końca, gdy I<liczba> "
"jest mniejsza od zera)."

#. type: TP
#: dpkg-parsechangelog.1:100
#, no-wrap
msgid "B<--offset> I<number>, B<-o>I<number>"
msgstr "B<--offset> I<liczba>, B<-o>I<liczba>"

#. 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 ""
"zmienia punkt początkowy dla opcji --count, licząc od początku pliku (lub od "
"jego końca, jeśli I<liczba> jest mniejsza od zera)."

#. type: TP
#: dpkg-parsechangelog.1:104 update-alternatives.8:268
#, no-wrap
msgid "B<--all>"
msgstr "B<--all>"

#. 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 ""
"Wszystkie B<opcje parsera>, z wyjątkiem -v, są obsługiwane przez B<dpkg> od "
"wersji 1.14.16. Zewnętrzne parsery dzienników zmian w formatach innych niż "
"I<debian> mogą nie obsługiwać wszystkich opcji."

#. type: TP
#: dpkg-parsechangelog.1:116
#, no-wrap
msgid "B<debian/changelog>"
msgstr "B<debian/changelog>"

#. 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 ""
"Dziennik zmian jest używany do pozyskania informacji o pakiecie źródłowym "
"zależnych od jego wersji, takich jak ważność i dystrybucja wydania, zmiany "
"dokonane po określonym wydaniu, oraz numer wersji pakietu."

#. type: Plain text
#: dpkg-parsechangelog.1:129
msgid "Copyright \\(co 2007, 2008 Frank Lichtenheld"
msgstr "Copyright \\(co 2007, 2008 Frank Lichtenheld"

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

#
#. type: Plain text
#: dpkg-query.1:4
msgid "dpkg-query - a tool to query the dpkg database"
msgstr "dpkg-query - narzędzie przepytywania bazy danych dpkg"

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

#
#. 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 ""
"B<dpkg-query> jest narzędziem służącym do pokazywania informacji o pakietach "
"wymienionych w bazie danych B<dpkg>."

#. type: TP
#: dpkg-query.1:14
#, fuzzy, no-wrap
#| msgid "B<-l>, B<--list> I<package-name-pattern>..."
msgid "B<-l>, B<--list> [I<package-name-pattern>...]"
msgstr "B<-l>, B<--list> I<wzorzec-nazwy-pakietu>..."

#
#. 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 ""
"Wypisuje listę pakietów odpowiadających podanemu wzorcu nazwy. Jeśli nie "
"podano I<wzorca-nazwy-pakietu>, wypisuje listę wszystkich pakietów z pliku "
"I</var/lib/dpkg/status>, pomijając jednak te, które są oznaczone jako "
"niezainstalowane (czyli takie, które zostały uprzednio wyczyszczone z plików "
"konfiguracyjnych - purge). Do I<wzorca-nazwy-pakietu> można wpisać znaki "
"specjalne powłoki (wildcards). Prawdopodobnie potrzebne będzie zacytowanie "
"I<wzorca-nazwy-pakietu>, aby powłoka nie rozwinęła tego wzorca. Na przykład, "
"poniższe polecenie wypisze nazwy wszystkich pakietów zaczynających się od "
"\"libc6\":"

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

#. 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
#, fuzzy
#| msgid "Packages status list"
msgid "Package status:"
msgstr "Lista stanów pakietów"

#. 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
#, fuzzy
#| msgid "Compiler flags"
msgid "Error flags:"
msgstr "Flagi kompilatora"

#. 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 ""
"Format wyjścia tej opcji nie jest konfigurowalny, ale automatycznie się "
"zmienia, dostosowując się do szerokości terminalu. Jest to przeznaczone dla "
"ludzi i nie musi być łatwo parsowalne przez maszynę. Patrz opcje B<-W> (B<--"
"show>) and B<--showformat>, aby dowiedzieć się, jak skonfigurować format "
"wyjścia."

#. type: TP
#: dpkg-query.1:67
#, fuzzy, no-wrap
#| msgid "B<-W>, B<--show> I<package-name-pattern>..."
msgid "B<-W>, B<--show> [I<package-name-pattern>...]"
msgstr "B<-W>, B<--show> I<wzorzec-nazwy-pakietu>..."

#
#. 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 ""
"Zupełnie tak jak opcja B<--list>, ta opcja wyświetli wszystkie pakiety "
"pasujące do danego wzorca. Jednakże użytkownik może dostosować format "
"wyjścia do swoich potrzeb za pomocą opcji B<--showformat>. W domyślnym "
"formacie dla każdego pasującego pakietu wyświetlana jest pojedyncza linia "
"zawierająca jego nazwę oraz - po znaku tabulacji - zainstalowaną wersję."

#. type: TP
#: dpkg-query.1:74
#, no-wrap
msgid "B<-s>, B<--status> I<package-name>..."
msgstr "B<-s>, B<--status> I<nazwa-pakietu>..."

#
#. type: Plain text
#: dpkg-query.1:79
#, fuzzy
#| msgid ""
#| "Report status of specified package. This just displays the entry in the "
#| "installed package status database."
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 ""
"Podanie stanu pakietu o podanej nazwie. Polecenie po prostu wyświetli "
"informacje, które znajdują się w bazie danych pakietów."

#. type: TP
#: dpkg-query.1:79
#, no-wrap
msgid "B<-L>, B<--listfiles> I<package-name>..."
msgstr "B<-L>, B<--listfiles> I<nazwa-pakietu>..."

#
#. type: Plain text
#: dpkg-query.1:85
#, fuzzy
#| msgid ""
#| "List files installed to your system from I<package-name>.  However, note "
#| "that files created by package-specific installation-scripts are not "
#| "listed."
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 ""
"Podanie listy plików zainstalowanych z B<nazwy-pakietu>. Jednakże pliki, "
"które zostały utworzone przez skrypty instalacyjne pakietu, nie będą podane."

#
#. type: TP
#: dpkg-query.1:85
#, no-wrap
msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgstr "B<-c>, B<--control-path> I<nazwa-pakietu> [I<plik-kontrolny>]"

#. 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 ""
"Wyświetla listę ścieżek dla plików kontrolnych instalowanych w systemie "
"przez pakiet o podanej I<nazwie-pakietu>. Jeśli podany jest I<plik-"
"kontrolny>, wyświetlana jest jedynie ścieżka dla tego pliku kontrolnego, o "
"ile tylko istnieje. B<Uwaga>: to polecenie jest połowicznie publiczne, "
"powinno być używane tylko w ostateczności jeśli żaden inny interfejs nie "
"jest dostępny. Może zostać uznane za przestarzałe jeśli powstaną lepsze "
"interfejsy lub zostaną rozwiązane bieżące niedostatki architektoniczne."

#. type: TP
#: dpkg-query.1:93
#, no-wrap
msgid "B<-S>, B<--search> I<filename-search-pattern>..."
msgstr "B<-S>, B<--search> I<wzorzec-wyszukiwania-nazwy-pliku>..."

#
#. type: Plain text
#: dpkg-query.1:99
#, fuzzy
#| msgid ""
#| "Search for a filename from installed packages. All 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."
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 ""
"Szukanie pliku o podanym wzorcu pośród zainstalowanych pakietów. Wzorzec "
"może zawierać zwykłe operatory powtórzenia. Polecenie to nie wyszuka "
"dodatkowych plików tworzonych przez skrypty instalacyjne pakietów oraz nie "
"wyświetli alternatyw."

#. type: TP
#: dpkg-query.1:99
#, no-wrap
msgid "B<-p>, B<--print-avail> I<package-name>..."
msgstr "B<-p>, B<--print-avail> I<nazwa-pakietu>..."

#. type: Plain text
#: dpkg-query.1:105
#, fuzzy
#| msgid ""
#| "Display details about I<package-name>, as found in I</var/lib/dpkg/"
#| "available>. 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>."
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 ""
"Wyświetla szczegółowe informacje na temat pakietu I<nazwa-pakietu>, "
"pochodzące z pliku I</var/lib/dpkg/available>. Użytkownicy nakładek opartych "
"o APT powinni używać B<apt-cache show> I<package-name> zamiast tej opcji, "
"ponieważ plik I<available> jest utrzymywany w aktualności jedynie przy "
"użyciu B<dselect>."

#. type: Plain text
#: dpkg-query.1:110
#, fuzzy
#| msgid ""
#| "Display details about I<package-name>, as found in I</var/lib/dpkg/"
#| "available>. 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>."
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 ""
"Wyświetla szczegółowe informacje na temat pakietu I<nazwa-pakietu>, "
"pochodzące z pliku I</var/lib/dpkg/available>. Użytkownicy nakładek opartych "
"o APT powinni używać B<apt-cache show> I<package-name> zamiast tej opcji, "
"ponieważ plik I<available> jest utrzymywany w aktualności jedynie przy "
"użyciu B<dselect>."

#. type: TP
#: dpkg-query.1:122
#, no-wrap
msgid "B<-f>, B<--showformat=>I<format>"
msgstr "B<-f>, B<--showformat=>I<format>"

#. type: Plain text
#: dpkg-query.1:129
msgid "In the format string, \\(lqB<\\e>\\(rq introduces escapes:"
msgstr "W łańcuchu formatu, \\(lqB<\\e>\\(rq jest znakiem cytowania:"

#. type: Plain text
#: dpkg-query.1:134
#, no-wrap
msgid ""
"    B<\\en>  newline\n"
"    B<\\er>  carriage return\n"
"    B<\\et>  tab\n"
msgstr ""
"    B<\\en>  nowa linia\n"
"    B<\\er>  powrót karetki\n"
"    B<\\et>  tabulacja\n"

#. 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 ""
"\\(lqB<\\e>\\(rq poprzedzający jakikolwiek inny znak znosi specjalne "
"znaczenie następującego po nim znaku, co może być przydatne dla \\(lqB<\\e>"
"\\(rq oraz \\(lqB<$>\\(rq."

#. 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 ""
"Informacje o pakiecie można wyświetlać, dodając odwołania do pól pakietu z "
"użyciem składni \\(lqB<${>I<pole>[B<;>I<szerokość>]B<}>\\(rq. Pola są "
"wyrównywane do prawej strony, chyba że I<szerokość> jest liczbą ujemną, w "
"którym to wypadku będzie użyte wyrównanie do lewej strony. Rozpoznawane są "
"następujące I<pola>, ale niekoniecznie są one włączane w pliku statusu "
"(trafiają tam tylko pola wewnętrzne lub pola zawarte w binarnym pakiecie):"

#. type: Plain text
#: dpkg-query.1:182
#, fuzzy, 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, dselect related)\n"
#| "    B<Homepage>\n"
#| "    B<Installed-Size>\n"
#| "    B<MD5sum> (internal, dselect related)\n"
#| "    B<MSDOS-Filename> (internal, dselect 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, dselect related)\n"
#| "    B<Source>\n"
#| "    B<Status> (internal)\n"
#| "    B<Suggests>\n"
#| "    B<Tag> (usually not in the .deb but in APT's Packages files)\n"
#| "    B<Triggers-Awaited> (internal)\n"
#| "    B<Triggers-Pending> (internal)\n"
#| "    B<Version>\n"
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 ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (wewnętrzne)\n"
"    B<Config-Version> (wewnętrzne)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (wewnętrzne, związane z dselect)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (wewnętrzne, związane z dselect)\n"
"    B<MSDOS-Filename> (wewnętrzne, związane z dselect)\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> (przestarzałe)\n"
"    B<Section>\n"
"    B<Size> (wewnętrzne, związane z dselect)\n"
"    B<Source>\n"
"    B<Status> (wewnętrzne)\n"
"    B<Suggests>\n"
"    B<Tag> (zwykle nie w .deb, ale w plikach Packages systemu APT)\n"
"    B<Triggers-Awaited> (wewnętrzne)\n"
"    B<Triggers-Pending> (wewnętrzne)\n"
"    B<Version>\n"

#. 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 ""
"Domyślnym formatem jest \\(lqB<${Package}\\et${Version}\\en>\\(rq. Można "
"również zażądać wszystkich pozostałych pól z pliku status (tj. pól "
"zdefiniowanych przez użytkownika). Zostaną one wypisane w takiej postaci, w "
"jakiej znajdują się w pliku status, nie będzie więc dokonywana żadna "
"konwersja czy sprawdzanie błędów. Aby wyświetlić nazwę opiekuna pakietu dpkg "
"i zainstalowaną wersję tego pakietu, można uruchomić:"

#. 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 "  B<dpkg-query -W -f=\\(aq${Package} ${Version}\\et${Maintainer}\\en\\(aq dpkg>\n"

#. 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 "KOD WYJŚCIA"

#. 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
#, fuzzy
#| msgid "The requested action was successfully performed."
msgid "The requested query was successfully performed."
msgstr "Akcja zakończyła się powodzeniem."

#. 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
#, fuzzy
#| msgid ""
#| "Problems were encountered whilst parsing the command line or performing "
#| "the action."
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 ""
"Wystąpiły problemy podczas przetwarzania linii poleceń lub wykonywania akcji."

#. 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 ""
"Zmienna ta wpływa na wyjście polecenia B<--list>, zmieniając jego szerokość."

#. type: Plain text
#: dpkg-query.1:216
msgid "Copyright \\(co 2001 Wichert Akkerman"
msgstr "Copyright \\(co 2001 Wichert Akkerman"

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

#. type: Plain text
#: dpkg-scanpackages.1:18
msgid "dpkg-scanpackages - create Packages index files"
msgstr "dpkg-scanpackages - tworzy plik indeksowe Packages"

#. type: Plain text
#: dpkg-scanpackages.1:26
#, fuzzy
#| msgid ""
#| "B<dpkg-scanpackages> [I<options>] I<binary-dir> [I<override-file> [I<path-"
#| "prefix>]] B<E<gt>> I<Packages>"
msgid ""
"B<dpkg-scanpackages> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Packages>"
msgstr ""
"B<dpkg-scanpackages> [I<opcje>] I<katalog_binarny> [I<plik_nadpisań> "
"[I<prefiks_ścieżki>]] B<E<gt>> I<Packages>"

#. 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 ""
"B<dpkg-scanpackages> przechodzi po drzewie binarnych pakietów Debiana i "
"tworzy pliki Packages, używane przez B<apt>(8), B<dselect>(1) itp., "
"zawierające informacje o tym, jakie pakiety są dostępne do zainstalowania. "
"Wygenerowane pliki Packages są takie same, jak te, które można znaleźć w "
"mirrorach archiwum Debiana i na CD-ROM-ach. Programu B<dpkg-scanpackages> "
"można użyć podczas tworzenia katalogu lokalnych pakietów do zainstalowania w "
"grupie komputerów."

#. type: Plain text
#: dpkg-scanpackages.1:51
#, fuzzy
#| 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)  (generatinc a Packages.gz file). apt "
#| "ignores uncompressed Packages files except on local access (i.e.  "
#| "B<file://> sources)."
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 ""
"B<Uwaga>: Aby B<apt> mogło użyć wygenerowanego pliku Packages, należy go "
"skompresować programem B<bzip2>(1) (tworząc plik Packages.bz2) lub B<gzip>"
"(1) (tworząc plik Packages.gz). apt ignoruje nieskompresowane pliki Packages "
"z wyjątkiem lokalnego dostępu (tj. pochodzącego z B<file://>)."

#. 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 ""
"I<katalog_binarny> jest nazwą drzewa pakietów binarnych do przetworzenia (na "
"przykład B<contrib/binary-i386>). Najlepiej, żeby był podany relatywnie w "
"stosunku do korzenia drzewa archiwum Debiana, ponieważ  wartość każdego pola "
"Filename w nowym pliku Packages będzie się zaczynać od tego łańcucha znaków."

#. type: Plain text
#: dpkg-scanpackages.1:63
#, fuzzy
#| msgid ""
#| "I<overridefile> is the name of a file to read which contains information "
#| "about how the package fits into the distribution; see B<deb-override>(5)."
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 ""
"I<plik_nadpisań> jest nazwą pliku, z którego będą odczytane informacje o "
"tym, jak umiejscowić pakiet w dystrybucji; patrz B<deb-override>(5)."

#. type: Plain text
#: dpkg-scanpackages.1:66
msgid ""
"I<pathprefix> is an optional string to be prepended to the Filename fields."
msgstr ""
"I<prefiks_ścieżki> jest opcjonalnym łańcuchem znaków, który będzie "
"poprzedzał nazwy plików w polu Filename."

#. 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 ""
"Jeżeli będzie znaleziona więcej niż jedna wersja pakietu, to tylko najnowsza "
"spośród nich będzie dołączona do wyjścia. Jeżeli obie wersje pakietu będą "
"miały ten sam numer wersji, a będą się tylko różniły architekturą, to będzie "
"użyta pierwsza znaleziona wersja."

#. type: TP
#: dpkg-scanpackages.1:72
#, no-wrap
msgid "B<-t>, B<--type> I<type>"
msgstr "B<-t>, B<--type> I<typ>"

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

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

#. type: Plain text
#: dpkg-scanpackages.1:78
msgid "B<Obsolete> alias for B<-tudeb>."
msgstr "B<Przestarzały> alias dla B<-tudeb>."

#. type: IP
#: dpkg-scanpackages.1:78 dpkg-scansources.1:49
#, no-wrap
msgid "B<-e>, B<--extra-override> I<file>"
msgstr "B<-e>, B<--extra-override> I<plik>"

#. type: Plain text
#: dpkg-scanpackages.1:84 dpkg-scansources.1:54
#, fuzzy
#| msgid ""
#| "Scan I<file> to find supplementary overrides. See B<deb-extra-override>"
#| "(5)  for more information on its format."
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 ""
"Przegląda I<plik> w celu znalezienia dodatkowych nadpisań. Proszę zajrzeć do "
"B<deb-extra-override>(5), aby poznać pełny opis wymaganego formatu."

#. type: TP
#: dpkg-scanpackages.1:84
#, no-wrap
msgid "B<-a>, B<--arch> I<arch>"
msgstr "B<-a>, B<--arch> I<architektura>"

#. type: Plain text
#: dpkg-scanpackages.1:88
#, fuzzy
#| msgid ""
#| "Use a pattern consisting of I<*_all.deb> and I<*_arch.deb> instead of "
#| "scanning for all debs,"
msgid ""
"Use a pattern consisting of I<*_all.deb> and I<*_arch.deb> instead of "
"scanning for all debs."
msgstr ""
"Używa wzorca zawierającego I<*_all.deb> i I<*_arch.deb> zamiast poszukiwać "
"wszystkich plików deb."

#. type: TP
#: dpkg-scanpackages.1:88
#, no-wrap
msgid "B<-m>, B<--multiversion>"
msgstr "B<-m>, B<--multiversion>"

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

#. type: TP
#: dpkg-scanpackages.1:91
#, fuzzy, no-wrap
#| msgid "B<-p>, B<--pidfile> I<pid-file>"
msgid "B<-M>, B<--medium> I<id-string>"
msgstr "B<-p>, B<--pidfile> I<pid-file>"

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

#. 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 ""
"B<dpkg-scanpackages> wyświetla zwykłe, samowyjaśniające się komunikaty "
"błędów. Wypisuje także ostrzeżenia o pakietach, które: są umiejscowione w "
"niepoprawnych podkatalogach, zduplikowane, mają w swoim pliku kontrolnym "
"pole Filename, nie są wymienione w pliku nadpisań lub mają zdefiniowane "
"podstawienia opiekunów nie przynoszące efektu."

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

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

#. type: Plain text
#: dpkg-scansources.1:4
msgid "dpkg-scansources - create Sources index files"
msgstr "dpkg-scanpackages - tworzy pliki indeksowe Sources"

#. type: Plain text
#: dpkg-scansources.1:12
#, fuzzy
#| msgid ""
#| "B<dpkg-scansources> [I<options>] I<binary-dir> [I<override-file> [I<path-"
#| "prefix>]] B<E<gt>> I<Sources>"
msgid ""
"B<dpkg-scansources> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Sources>"
msgstr ""
"B<dpkg-scansources> [I<opcje>] I<katalog_binarny> [I<plik_nadpisań> "
"[I<prefiks_ścieżki>]] B<E<gt>> I<Sources>"

#. 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 ""
"B<dpkg-scansources> skanuje podany I<katalog_binarny> w poszukiwaniu plików "
"I<.dsc>, używanych do utworzenia indeksu źródłowych pakietów Debiana, który "
"następnie jest wypisywany na standardowe wyjście."

#. type: Plain text
#: dpkg-scansources.1:28
#, fuzzy
#| 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. See B<dpkg-scanpackages>(1)  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."
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 ""
"I<Plik_nadpisań>, jeśli został podany, jest używany do ustawienia "
"priorytetów w wyjściowym indeksie oraz do nadpisania pola Maintainer z pliku "
"I<.dsc>. Format tego pliku można znaleźć w B<dpkg-scanpackages>(1). "
"\\s-1Notabene:\\s0 Występuje tu mały problem, ponieważ plik nadpisań jest "
"indeksowany pakietami binarnymi, a nie źródłowymi. Obecna implementacja "
"używa jako priorytetu pakietu źródłowego największego spośród priorytetów "
"wszystkich binarnych pakietów generowanych z pliku I<.dsc>, a do "
"zmodyfikowania informacji o opiekunie - nadpisania opiekuna z pierwszego "
"pakietu binarnego wymienionego w pliku I<.dsc>. Może się to zmienić."

#. 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 ""
"I<Prefiks_ścieżki>, jeśli podano, jest dołączany na początek pola Directory "
"w wygenerowanym indeksie źródłowym. Ogólnie jest to używane, aby pola "
"Directory zawierały ścieżkę od najwyższego poziomu hierarchii archiwum "
"Debiana."

#. 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 ""
"B<Uwaga>: Aby B<apt>(8) mogło użyć wygenerowanego pliku Sources, należy go "
"skompresować programem B<gzip>(1) (tworząc plik Sources.gz). apt ignoruje "
"nieskompresowane pliki Sources z wyjątkiem lokalnego dostępu (tj. "
"pochodzącego z B<file://>)."

#. type: IP
#: dpkg-scansources.1:45
#, no-wrap
msgid "B<-n>, B<--no-sort>"
msgstr "B<-n>, B<--no-sort>"

#. type: Plain text
#: dpkg-scansources.1:48
msgid ""
"Don't sort the index records. Normally they are sorted by source package "
"name."
msgstr ""
"Nie sortuje rekordów indeksu. Normalnie są one posortowane po nazwie pakietu "
"źródłowego."

#. type: IP
#: dpkg-scansources.1:54
#, no-wrap
msgid "B<-s>, B<--source-override> I<file>"
msgstr "B<-s>, B<--source-override> I<plik>"

#. type: Plain text
#: dpkg-scansources.1:58
#, fuzzy
#| msgid ""
#| "Use I<file> as the source override file. The default is the name of the "
#| "override file you specified with I<.src> appended."
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 ""
"Używa I<pliku> jako pliku nadpisań źródeł. Domyślnie jest to podana nazwa "
"pliku nadpisań z dołączonym rozszerzeniem I<.src>."

#. 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 ""
"Format plik nadpisań źródeł różni się od formatu nadpisań pakietów "
"binarnych. Zawiera tylko dwa pola oddzielone od siebie białymi znakami: "
"pierwszym jest nazwa pakietu, a drugim - sekcja. Linie puste oraz linie "
"komentarza są ignorowane. Jeśli pakiet pojawia się w obu plikach, to podczas "
"ustawiania sekcji nadpisanie źródeł ma większy priorytet."

#. type: IP
#: dpkg-scansources.1:64
#, no-wrap
msgid "B<--debug>"
msgstr "B<--debug>"

#. type: Plain text
#: dpkg-scansources.1:66
msgid "Turn debugging on."
msgstr "Włącza tryb debugowania."

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

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

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

#. type: Plain text
#: dpkg-shlibdeps.1:4
msgid "dpkg-shlibdeps - generate shared library substvar dependencies"
msgstr ""
"dpkg-shlibdeps - generowanie zależności podstawień współdzielonych bibliotek"

#. type: Plain text
#: dpkg-shlibdeps.1:8
#, fuzzy
#| msgid ""
#| "B<dpkg-shlibdeps> [I<options>] I<executable>|B<-e>I<executable> "
#| "[I<options>]"
msgid "B<dpkg-shlibdeps> [I<option>...] [B<-e>]I<executable> [I<option>...]"
msgstr ""
"B<dpkg-shlibdeps> [I<opcje>] I<plik_wykonywalny>|B<-e>I<plik_wykonywalny> "
"[I<opcje>]"

#. type: Plain text
#: dpkg-shlibdeps.1:22
#, fuzzy
#| 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 I<shlibs:> are removed from the file."
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 ""
"B<dpkg-shlibdeps> określa zależności podstawień współdzielonych bibliotek "
"dla plików wykonywalnych podanych jako argumenty. Zależności te są dodawane "
"do pliku podstawień zmiennych B<debian/substvars> jako zmienne B<shlibs:"
">I<pole-zależności>, przy czym I<pole-zależności> jest nazwą odpowiedniego "
"pola zależności. Wszystkie inne zmienne rozpoczynające się od I<shlibs:> są "
"usuwane z tego pliku."

#. 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 ""
"B<dpkg-shlibdeps> ma dwa źródła informacji służące do generowania informacji "
"o zależnościach. Są to pliki I<symbols> lub pliki I<shlibs>. Dla każdego "
"pliku binarnego analizowanego przez B<dpkg-shlibdeps> określana jest lista "
"bibliotek, z którymi jest on linkowany. Następnie dla każdej biblioteki "
"przeglądany jest plik I<symbols> lub plik I<shlibs> (jeśli ten pierwszy nie "
"istnieje, lub gdy debian/shlibs.local zawiera stosowną zależność). Oba pliki "
"powinny być dostarczane przez pakiet zawierający bibliotekę i powinny więc "
"być dostępne jako /var/lib/dpkg/info/I<pakiet>.I<symbols> lub /var/lib/dpkg/"
"info/I<pakiet>.I<shlibs>. Nazwa pakietu jest określana w dwóch krokach: "
"odnalezienie pliku biblioteki w systemie (sprawdzając w tych samych "
"katalogach, których używa B<ld.so>), a następnie użycie B<dpkg -S >I<plik-"
"biblioteki> w celu określenia pakietu dostarczającego daną bibliotekę."

#. type: SS
#: dpkg-shlibdeps.1:45
#, no-wrap
msgid "Symbols files"
msgstr "Pliki symboli"

#. 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 ""
"Pliki symboli zawierają dokładniejsze określenia informacji o zależnościach, "
"dostarczając minimum zależności dla każdego symbolu eksportowanego przez "
"bibliotekę. Skrypt próbuje odnaleźć plik związany z pakietem biblioteki w "
"następujących miejscach (użyte jest pierwsze dopasowanie):"

#. type: IP
#: dpkg-shlibdeps.1:50
#, no-wrap
msgid "debian/*/DEBIAN/symbols"
msgstr "debian/*/DEBIAN/symbols"

#. 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 ""
"Informacje o współdzielonej bibliotece wygenerowane w bieżącym procesie "
"budowy, który wywołał również B<dpkg-shlibdeps>. Są one generowane przez "
"B<dpkg-gensymbols>(1). Są używane tylko, gdy biblioteka znajduje się w "
"drzewie budowania pakietu. Plik \"symbols\" z tego drzewa ma pierwszeństwo "
"nad plikami symboli z innych pakietów binarnych."

#. type: IP
#: dpkg-shlibdeps.1:58
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols.I<arch>"
msgstr "/etc/dpkg/symbols/I<pakiet>.symbols.I<arch>"

#. type: IP
#: dpkg-shlibdeps.1:59
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols"
msgstr "/etc/dpkg/symbols/I<pakiet>.symbols"

#. 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 ""
"Informacje o zasięgu systemu, które nadpisują informacje o zależnościach "
"bibliotek współdzielonych. I<arch> jest architekturą bieżącego systemu "
"(określoną przez B<dpkg-architecture -qDEB_HOST_ARCH>)."

#. 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
#, fuzzy
#| msgid ""
#| "Package-provided shared library dependency information.  Unless "
#| "overridden, I<admindir> is /var/lib/dpkg."
msgid ""
"Package-provided shared library dependency information.  Unless overridden "
"by --admindir, those files are located in /var/lib/dpkg."
msgstr ""
"Dostarczane przez pakiet informacje o zależnościach bibliotek "
"współdzielonych. O ile nie jest nadpisany, I<admindir> ma wartość /var/lib/"
"dpkg."

#. 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 ""
"Podczas przeszukiwania symboli używanych przez wszystkie pliki binarne, "
"B<dpkg-shlibdeps> zapamiętuje (największą) minimalną wersję wymaganą dla "
"każdej biblioteki. Na końcu procesu jest więc w stanie wypisać minimalne "
"zależności dla każdej użytej biblioteki (pod warunkiem, że informacja z "
"plików I<symbols> jest dokładna)."

#. 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 ""
"Jako zabezpieczenie plik symboli może zawierać pole metainformacji I<Build-"
"Depends-Package>, zaś B<dpkg-shlibdeps> określając minimalną wersję wymaganą "
"przez odpowiadający pakiet z pola Build-Depends będzie używać właśnie tej "
"wersji, jeśli jest ona wyższa niż minimalna wersja określona dzięki "
"przeszukiwaniu symboli."

#. type: SS
#: dpkg-shlibdeps.1:80
#, no-wrap
msgid "Shlibs files"
msgstr "Pliki \"shlibs\""

#. 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 ""
"Pliki \"shlibs\" wiążą bezpośrednio bibliotekę z zależnościami (bez "
"przeglądania symboli). Jest to więc często silniejsze niż naprawdę "
"potrzebne, ale bardzo bezpieczne i łatwe w obsłudze."

#. 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 ""
"Zależności dla biblioteki są wyszukiwane w kilku miejscach. Używany jest "
"pierwszy plik zawierający informacje dla danej biblioteki:"

#. type: IP
#: dpkg-shlibdeps.1:87
#, no-wrap
msgid "debian/shlibs.local"
msgstr "debian/shlibs.local"

#. type: Plain text
#: dpkg-shlibdeps.1:89
msgid "Package-local overriding shared library dependency information."
msgstr ""
"Lokalne informacje z pakietu nadpisujące informacje o zależnościach "
"bibliotek współdzielonych."

#. type: IP
#: dpkg-shlibdeps.1:89
#, no-wrap
msgid "/etc/dpkg/shlibs.override"
msgstr "/etc/dpkg/shlibs.override"

#. type: Plain text
#: dpkg-shlibdeps.1:91
msgid "Per-system overriding shared library dependency information."
msgstr ""
"Informacje o zasięgu systemu, które nadpisują informacje o zależnościach "
"bibliotek współdzielonych."

#. type: IP
#: dpkg-shlibdeps.1:91
#, no-wrap
msgid "debian/*/DEBIAN/shlibs"
msgstr "debian/*/DEBIAN/shlibs"

#. 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 ""
"Informacje o zależnościach współdzielonych bibliotek wygenerowane w bieżącym "
"procesie budowy, który wywołał również B<dpkg-shlibdeps>. Są używane tylko, "
"gdy biblioteka znajduje się w drzewie budowania pakietu. Plik \"shlibs\" z "
"tego drzewa ma pierwszeństwo nad plikami shlibs z innych pakietów binarnych."
"\""

#. type: IP
#: dpkg-shlibdeps.1:97
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> shlibs\\(rq"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:100
#, no-wrap
msgid "/etc/dpkg/shlibs.default"
msgstr "/etc/dpkg/shlibs.default"

#. type: Plain text
#: dpkg-shlibdeps.1:102
msgid "Per-system default shared library dependency information."
msgstr ""
"Domyślna informacja o zależnościach bibliotek współdzielonych, o zakresie "
"systemu."

#. 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 ""
"Uzyskane zależności są używane bezpośrednio (chyba, że są odfiltrowane "
"ponieważ zostały zidentyfikowane jako duplikaty lub słabsze niż jakaś inna "
"zależność)."

#. 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 ""
"B<dpkg-shlibdeps> interpretuje parametry nie będące opcjami jako nazwy "
"plików wykonywalnych, tak jakby były podane przez B<-e>I<plik_wykonywalny>."

#. type: TP
#: dpkg-shlibdeps.1:111
#, no-wrap
msgid "B<-e>I<executable>"
msgstr "B<-e>I<plik_wykonywalny>"

#. type: Plain text
#: dpkg-shlibdeps.1:115
msgid ""
"Include dependencies appropriate for the shared libraries required by "
"I<executable>."
msgstr ""
"Włączenie zależności odpowiadających bibliotekom współdzielonym wymaganym "
"przez I<plik_wykonywalny>."

#. type: TP
#: dpkg-shlibdeps.1:115
#, no-wrap
msgid "B<-d>I<dependencyfield>"
msgstr "B<-d>I<pole_zależności>"

#. 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 ""
"Dodanie zależności, które mają być dodane do pola zależności "
"I<pole_zależności> pliku kontrolnego. (Zależności dla tego pola są "
"umieszczane w zmiennej B<shlibs:>I<pole_zależności>.)"

#. 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 ""
"Opcja B<-d>I<pole_zależności> wpływa na wszystkie pliki wykonywalne podane "
"po tej opcji, aż do następnego B<-d>I<pole_zależności>. Domyślnym "
"I<polem_zależności> jest B<Depends>."

#. 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 ""
"Jeśli to samo określenie zależności (lub zbiór alternatyw) pojawia się w "
"więcej niż jednej nazwie z rozróżnianych pól zależności B<Pre-Depends>, "
"B<Depends>, B<Recommends>, B<Enhances> lub B<Suggests> to B<dpkg-shlibdeps> "
"automatycznie usunie zależność ze wszystkich pól, poza polem reprezentującym "
"najważniejsze zależności."

#. type: TP
#: dpkg-shlibdeps.1:139
#, no-wrap
msgid "B<-p>I<varnameprefix>"
msgstr "B<-p>I<prefiks_nazw_zmiennych>"

#. 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 ""
"Rozpoczynanie nazw zmiennych podstawiania od I<prefiks_nazw_zmiennych>B<:> "
"zamiast B<shlibs:>. Podobnie, wszystkie zmienne rozpoczynające się od "
"I<prefiks_nazw_zmiennych>B<:> (zamiast B<shlibs:>) są usuwane z pliku "
"zmiennych podstawiania."

#. 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 ""
"Wyświetlenie ustawień zmiennych podstawiania na standardowe wyjście, zamiast "
"dodawania ich do pliku zmiennych podstawiania (domyślnie B<debian/"
"substvars>)."

#. type: TP
#: dpkg-shlibdeps.1:156
#, no-wrap
msgid "B<-t>I<type>"
msgstr "B<-t>I<typ>"

#. 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 ""
"Preferowanie informacji o zależnościach bibliotek współdzielonych "
"oznaczonych dla danego typu pakietu. Jeśli informacji oznaczonych nie ma, "
"używane są informacje bez oznaczeń. Domyślnym typem pakietu jest \"deb\". "
"Informacje o zależnościach bibliotek współdzielonych są oznaczane dla danego "
"typu pakietu przez poprzedzenie ich nazwą typu, dwukropkiem oraz białymi "
"znakami (spacjami)."

#. type: TP
#: dpkg-shlibdeps.1:163
#, no-wrap
msgid "B<-L>I<localshlibsfile>"
msgstr "B<-L>I<lokalny_plik_shlibs>"

#. type: Plain text
#: dpkg-shlibdeps.1:169
msgid ""
"Read overriding shared library dependency information from "
"I<localshlibsfile> instead of B<debian/shlibs.local>."
msgstr ""
"Odczyt nadpisań informacji o bibliotekach współdzielonych z "
"I<lokalnego_pliku_shlibs> zamiast B<debian/shlibs.local>."

#. type: Plain text
#: dpkg-shlibdeps.1:175
msgid ""
"Write substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>."
msgstr ""
"Zapis zmiennych podstawiania w pliku I<plik_zmiennych_podst>; domyślnie jest "
"to B<debian/substvars>."

#. type: TP
#: dpkg-shlibdeps.1:175
#, no-wrap
msgid "B<-v>"
msgstr "B<-v>"

#. type: Plain text
#: dpkg-shlibdeps.1:180
msgid ""
"Enable verbose mode. Numerous messages are displayed to explain what B<dpkg-"
"shlibdeps> does."
msgstr ""
"Włączenie dodatkowych informacji. Wyświetlanych jest wiele komunikatów "
"tłumaczących działanie B<dpkg-shlibdeps>."

#. type: TP
#: dpkg-shlibdeps.1:180
#, no-wrap
msgid "B<-x>I<package>"
msgstr "B<-x>I<pakiet>"

#. 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 ""
"Wyłączenie pakietu z generowanych zależności. Użyteczne aby zapobiec "
"zależnościom pakietu od samego siebie dla pakietów dostarczających binaria "
"typu ELF (pliki wykonywalne lub biblioteki), które zależą od innej "
"biblioteki zawartej w tym samym pakiecie. Ta opcja może być użyta "
"wielokrotnie aby wyłączyć kilka pakietów."

#. type: TP
#: dpkg-shlibdeps.1:187
#, no-wrap
msgid "B<-S>I<pkgbuilddir>"
msgstr "B<-S>I<katalog_budowania_pakietu>"

#. 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 ""
"Przeglądanie najpierw I<katalogu_budowania_pakietu> przy próbie odnalezienia "
"biblioteki. Przydatne gdy pakiet źródłowy tworzy wiele odmian tej samej "
"biblioteki, a chce się zapewnić uzyskanie zależności od określonego pakietu "
"binarnego. Ta opcja może być użyta wielokrotnie: katalogi będą przeglądane w "
"tej samej kolejności przed katalogami innych pakietów binarnych."

#. type: TP
#: dpkg-shlibdeps.1:194
#, no-wrap
msgid "B<--ignore-missing-info>"
msgstr "B<--ignore-missing-info>"

#. 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 ""
"Kontynuacja pomimo braku informacji o zależnościach dla biblioteki "
"współdzielonej. Odradza się używanie tej opcji, wszystkie biblioteki powinny "
"dostarczać informacje o zależnościach (w postaci plików shlibs lub plików "
"symboli) - nawet jeśli nie są jeszcze używane przez inne pakiety."

#. type: TP
#: dpkg-shlibdeps.1:200
#, no-wrap
msgid "B<--warnings=>I<value>"
msgstr "B<--warnings=>I<wartość>"

#. 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 ""
"I<wartość> jest polem bitowym definiującym zbiór ostrzeżeń, które mogą być "
"wysłane przez B<dpkg-shlibdeps>. Bit 0 (wartość=1) włącza ostrzeżenie \"w "
"żadnej z bibliotek nie znaleziono symbolu I<symb> używanego przez "
"I<plik_binarny>\", bit 1 (wartość=2) włącza ostrzeżenie \"można by uniknąć "
"zależności od biblioteki I<bibl>\", zaś bit 2 (wartość=4) włącza ostrzeżenie "
"\"I<plik_binarny> nie powinien być linkowany z I<biblioteką>\". Domyślną "
"I<wartością> jest 3: pierwsze dwa ostrzeżenia są domyślnie aktywne, zaś "
"ostatnie nie. Ustawienie I<wartości> na 7 powoduje aktywację wszystkich "
"ostrzeżeń."

#. type: SH
#: dpkg-shlibdeps.1:222
#, no-wrap
msgid "WARNINGS"
msgstr "UWAGI"

#. 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 ""
"Ponieważ B<dpkg-shlibdeps> analizuje zbiór symboli używanych przez każdy "
"plik binarny generowanego pakietu, jest w stanie wysyłać ostrzeżenia w "
"pewnych przypadkach. Informują one o rzeczach, które mogą być ulepszone w "
"pakiecie. W większości przypadków dotyczy to bezpośrednio oryginalnych "
"źródeł. Poniżej zebrane są ostrzeżenia na jakie można natrafić, w kolejności "
"malejącej ważności:"

#. 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 "B<w żadnej z bibliotek nie znaleziono symbolu>I< symb>B< używanego przez >I<plik_binarny>"

#. 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 ""
"Wskazany symbol nie został odnaleziony w żadnej z bibliotek, z którymi jest "
"linkowany plik binarny. Taki I<plik_binarny> jest najpewniej biblioteką i "
"powinien być linkowany z dodatkową biblioteką podczas budowania pakietu "
"(opcja B<-l>I<biblioteka> linkera)."

#. 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 "I<plik_binarny>B< zawiera nierozwiązywalne odniesienie do symbolu >I<sym>B<: prawdopodobnie jest to wtyczka>"

#. 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 ""
"Wskazany symbol nie został odnaleziony w żadnej z bibliotek, z którymi jest "
"linkowany plik binarny. Taki I<plik_binarny> jest najpewniej wtyczką i jest "
"prawdopodobnie dostarczany wraz z programem, który ładuję taką wtyczkę. "
"Teoretycznie wtyczka nie powinna mieć pola SONAME, jednak ten plik binarny "
"je posiada i nie można go zidentyfikować na tej podstawie. Fakt, iż plik ten "
"jest umieszczony w niepublicznym katalogu mocno wskazuje na to, że nie jest "
"on zwykłą biblioteką współdzieloną. Jeśli plik binarny rzeczywiście jest "
"wtyczką, można pominąć to ostrzeżenie. Jednak zawsze istnieje możliwość, że "
"jest to biblioteka i programy z nią linkowane używają RPATH, aby dynamiczny "
"loader był w stanie ją odnaleźć. W takim przypadku bibliotekę można uznać za "
"zepsutą i należy ją naprawić."

#. 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 "B<można by uniknąć zależności od >I<biblioteki>B<, jeżeli nie byłoby niepotrzebnego linkowania >I<plików_binarnych>B< z nią (nie są używane żadne z tamtejszych symboli).>"

#. 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 ""
"Żaden z I<plików_binarnych>, które są linkowane z I<biblioteką> nie używa "
"symboli przez nią udostępnianych. Poprawiając wszystkie pliki binarne można "
"uniknąć zależności związanych z tą biblioteką (chyba, że taka sama zależność "
"jest również generowana przez inną bibliotekę, która jest faktycznie "
"używana)."

#. 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 "I<plik_binarny>B< nie powinien być linkowany z >I<biblioteką>B< (nie są używane żadne z tamtejszych symboli).>"

#. 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 ""
"I<plik_binarny> jest linkowany z biblioteką, której nie potrzebuje. Nie jest "
"to problem, ale można uzyskać pewną poprawę wydajności czasu ładowania pliku "
"binarnego, jeśli biblioteka ta nie będzie z nim linkowana. To ostrzeżenie "
"sprawdza te same informacje co poprzednie, ale wykonuje to dla każdego pliku "
"binarnego zamiast wykonywania globalnego sprawdzenia dla wszystkich "
"analizowanych plików."

#. type: SH
#: dpkg-shlibdeps.1:262
#, no-wrap
msgid "ERRORS"
msgstr "BŁĘDY"

#. 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 ""
"B<dpkg-shlibdeps> przerwie działanie z błędem jeśli nie będzie w stanie "
"znaleźć publicznej biblioteki używanej przez plik binarny, lub jeśli "
"biblioteka taka nie będzie mieć powiązanej informacji o zależnościach (pliku "
"shlibs lub pliku symboli). Publiczne biblioteki mają SONAME i są "
"wersjonowane (jak np. libsomething.so.I<X>). Biblioteki prywatne (jak np. "
"wtyczki) nie powinny mieć SONAME i nie muszą być wersjonowane."

#. 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 "B<nie można znaleźć biblioteki >I<soname-biblioteki>B< potrzebnej dla >I<pliku_binarnego>B< (RPATH to \">I<rpath>B<\")>"

#. type: Plain text
#: dpkg-shlibdeps.1:285
#, fuzzy
#| 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's build trees indicated "
#| "with the -S command-line option, in other packages's 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."
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 ""
"B<plik_binarny> używa biblioteki o nazwie I<soname-biblioteki>, ale B<dpkg-"
"shlibdeps> nie mógł odnaleźć tej biblioteki. B<dpkg-shlibdeps> tworzy listę "
"katalogów do sprawdzenia w następujący sposób: katalogi wymienione w RPATH "
"pliku binarnego, katalogi wymienione w /etc/ld.so.conf, katalogi wymienione "
"w zmiennej środowiskowej LD_LIBRARY_PATH, oraz standardowe katalogi "
"publiczne (/lib, /usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). "
"Następnie sprawdza podobnie katalogi w drzewie budowania pakietu dla "
"analizowanego pliku binarnego, w drzewach budowania pakietów podanych jako "
"parametry opcji -S, w innych drzewach budowania zawierających pliki DEBIAN/"
"shlibs olub DEBIAN/symbols, a na końcu w katalogu głównym. Jeśli biblioteka "
"nie zostanie odnaleziona w żadnym z tych katalogów, otrzymuje się ten błąd."

#. 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 ""
"Jeśli nie odnaleziona biblioteka jest w prywatnym katalogu tego samego "
"pakietu, należy dodać taki katalog do LD_LIBRARY_PATH. Jeśli biblioteka jest "
"w innym budowanym binarnym pakiecie, należy upewnić się, że plik shlibs lub "
"plik symboli dla tego pakietu został stworzony oraz, że LD_LIBRARY_PATH "
"zawiera odpowiedni katalog jeśli biblioteka także jest w katalogu prywatnym."

#. 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 "B<nie znaleziono informacji o zależnościach dla >I<plik-biblioteki>B< (używanego przez >I<plik-binarny>B<).>"

#. 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 ""
"Biblioteka wymagana przez I<plik-binarny> została znaleziona przez B<dpkg-"
"shlibdeps> w I<pliku-biblioteki>, ale B<dpkg-shlibdeps> nie mógł odnaleźć "
"żadnej informacji o zależnościach dla tej biblioteki. Aby określić "
"zależności, podjęto próbę użycia B<dpkg -S>I<plik-biblioteki> w celu "
"określenia pakietu dostarczającego daną bibliotekę. Następnie sprawdzono "
"odpowiednie pliki shlibs i pliki symboli w /var/lib/dpkg/info/ oraz w "
"różnych drzewach budowania pakietów (debian/*/DEBIAN/)."

#. 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 ""
"To niepowodzenie może być spowodowane przez niepoprawny lub nieistniejący "
"plik shlibs lub plik symboli w pakiecie biblioteki. Może się również zdarzyć "
"jeśli biblioteka jest budowana wewnątrz tego samego pakietu źródłowego, a "
"pliki shlibs jeszcze nie zostały stworzone (w takim przypadku należy "
"poprawić debian/rules aby shlibs były tworzone przed wywołaniem B<dpkg-"
"shlibdeps>). Niewłaściwa wartość RPATH może również powodować, że biblioteka "
"zostanie odnaleziona pod nietypową nazwą, która nie jest związana z żadnym "
"pakietem (np. /usr/lib/openoffice.org/../lib/libssl.so.0.9.8 zamiast /usr/"
"lib/libssl.so.0.9.8). B<dpkg-shlibdeps> próbuje poradzić sobie z tym "
"starając się odczytać nazwę kanoniczną (z użyciem B<realpath>(3)) ale może "
"to nie zawsze zadziałać. Aby uniknąć problemów, najlepiej jest zawsze "
"doprowadzić do porządku RPATH pliku binarnego."

#. 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 ""
"Wywołanie B<dpkg-shlibdeps> w trybie rozszerzonej informacji (-v) dostarcza "
"wielu dodatkowych informacji o tym, gdzie próbował on znaleźć informację o "
"zależnościach. Może to być przydatne jeśli nie wiadomo dlaczego zwracany "
"jest ten błąd."

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

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

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

#. type: Plain text
#: dpkg-source.1:5
msgid "dpkg-source - Debian source package (.dsc) manipulation tool"
msgstr ""
"dpkg-source - narzędzia do zarządzania źródłowymi pakietami Debiana (.dsc)"

#. type: Plain text
#: dpkg-source.1:9
#, fuzzy
#| msgid "B<dpkg-source> [I<options>] I<command>"
msgid "B<dpkg-source> [I<option>...] I<command>"
msgstr "B<dpkg-source> [I<opcje>] I<polecenie>"

#. type: Plain text
#: dpkg-source.1:13
msgid "B<dpkg-source> packs and unpacks Debian source archives."
msgstr ""
"B<dpkg-source> tworzy i rozpakowuje źródłowe archiwa (pakiety) Debiana."

#. 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 ""
"Żadne z tych poleceń nie pozwala na łączenie wielu opcji w jedną, nie "
"pozwalają również na podawanie wartości opcji jako oddzielnego parametru."

#. type: TP
#: dpkg-source.1:19
#, no-wrap
msgid "B<-x >I<filename>B<.dsc >[I<output-directory>]"
msgstr "B<-x >I<nazwa-pliku>B<.dsc >[I<katalog-wyjściowy>]"

#. 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 ""
"Rozpakowanie pakietu źródłowego. Wymagane jest podanie jednego argumentu nie "
"będącego opcją, nazwy pliku kontrolny pakietu źródłowego (B<.dsc>). Ponadto "
"może być podany drugi opcjonalny argument niebędący opcją, określający "
"katalog, do którego pakiet źródłowy ma zostać rozpakowany (katalog ten nie "
"może istnieć). Jeśli nie podano katalogu wyjściowego, pakiet źródłowy jest "
"rozpakowywany do katalogu o nazwie I<źródło>-I<wersja> w ramach bieżącego "
"katalogu roboczego."

#. 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 ""
"B<dpkg-source> odczyta nazwy innych plików tworzących pakiet źródłowy z "
"pliku kontrolnego; zakładane jest, że są one w tym samym katalogu co B<.dsc>."

#. 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 ""
"Pliki w rozpakowanym pakiecie będą mieć uprawnienia i właściciela zgodnie z "
"typowymi, oczekiwanymi wartościami jak przy zwykłym tworzeniu plików i "
"katalogów - katalogi i pliki wykonywalne będą mieć prawa 0777, zaś zwykłe "
"pliki będą mieć prawa 0666 (w obu przypadkach modyfikowane przez umask "
"rozpakowującego). Ponadto jeśli katalog nadrzędny ma ustawiony bit setgid, "
"rozpakowane katalogi także będą go mieć, zaś wszystkie pliki i katalogi "
"przejmą ustawienia grupy katalogu nadrzędnego."

#. 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 ""
"Jeśli pakiet źródłowy używa niestandardowego formatu (aktualnie oznacza to "
"wszystkie formaty poza \"1.0\"), jego nazwa będzie umieszczona w pliku "
"B<debian/source/format>. Dzięki temu przy następnych budowach pakietu "
"źródłowego będzie domyślnie używany ten sam format."

#. type: TP
#: dpkg-source.1:49
#, no-wrap
msgid "B<-b> I<directory> [I<format-specific-parameters>]"
msgstr "B<-b>, I<katalog> [I<parametry-zależne-od-formatu>]"

#. 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 ""
"Budowanie pakietu źródłowego. Pierwszy argument nie będący opcją przyjmowany "
"jest jako nazwa katalogu zdebianizowanego drzewa ze źródłami (czyli "
"zawierającego podkatalog \"debian\" i być może zmiany w stosunku do "
"oryginalnych plików). Zależnie od formatu pakietu źródłowego używanego przy "
"budowaniu pakietu, mogą być również akceptowane dodatkowe parametry."

#. type: Plain text
#: dpkg-source.1:65
#, fuzzy
#| msgid ""
#| "B<dpkg-source> will build the source package with the first format that "
#| "works from this ordered list: the format(s) indicated with the I<--"
#| "format> command-line option(s), the format indicated in B<debian/source/"
#| "format>, \"1.0\", \"3.0 (native)\". See section B<SOURCE PACKAGE FORMATS> "
#| "for an extensive description of the various source package formats."
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 ""
"B<dpkg-source> będzie budować pakiet źródłowy z użyciem pierwszego "
"działającego formatu z następującej listy, w kolejności: format(y) określony"
"(e) za pomocą opcji I<--format>, format określony w pliku B<debian/source/"
"format>, \"1.0\", \"3.0 (native)\". W sekcji B<FORMATY PAKIETÓW ŹRÓDŁOWYCH> "
"można znaleźć wyczerpujący opis różnych formatów pakietów źródłowych."

#. type: TP
#: dpkg-source.1:66
#, fuzzy, no-wrap
#| msgid "B<--admindir>I< directory>"
msgid "B<--print-format> I<directory>"
msgstr "B<--admindir>I< katalog>"

#. 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<--depotdir>I< directory>"
msgid "B<--before-build> I<directory>"
msgstr "B<--depotdir>I< katalog>"

#. 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<--altdir>I< directory>"
msgid "B<--after-build> I<directory>"
msgstr "B<--altdir>I< katalog>"

#. 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<--admindir>I< directory>"
msgid "B<--commit> [I<directory>] ..."
msgstr "B<--admindir>I< katalog>"

#. 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 "OGÓLNE OPCJE BUDOWANIA"

#. 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 ""
"Określa główny plik kontrolny źródeł, z którego będą czytane informacje. "
"Domyślnie jest to B<debian/control>. Jeśli podano względną ścieżkę, to jest "
"ona interpretowana od najwyższego poziomu katalogu drzewa ze źródłami."

#. 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 ""
"Określa dziennik zmian, z którego będą czytane informacje. Domyślnie jest to "
"B<debian/changelog>. Jeśli podano względną ścieżkę, to jest ona "
"interpretowana od najwyższego poziomu katalogu drzewa ze źródłami."

#. type: TP
#: dpkg-source.1:123
#, no-wrap
msgid "B<--format=>I<value>"
msgstr "B<--format=>I<wartość>"

#. type: Plain text
#: dpkg-source.1:127
#, fuzzy
#| msgid ""
#| "Try first the given format for building the source package. If used "
#| "multiple times, they are tried in order. It does override any format "
#| "given in B<debian/source/format>."
msgid ""
"Use the given format for building the source package. It does override any "
"format given in B<debian/source/format>."
msgstr ""
"Do budowy pakietu źródłowego próbowany jest najpierw podany format. Jeśli "
"opcja ta jest użyta wielokrotnie, formaty są próbowane w podanej kolejności. "
"Nadpisuje to każdy format podany w pliku B<debian/source/format>."

#. type: Plain text
#: dpkg-source.1:137
#, fuzzy
#| msgid ""
#| "Read substitution variables in I<substvarsfile>; the default is to not "
#| "read any file."
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 ""
"Czyta zmienne podstawiania z I<pliku_zmiennych_podst>; domyślnie nie czyta "
"żadnego pliku."

#. 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
#, fuzzy
#| 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>, and I<lzma>.  I<gzip> is the default."
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 ""
"Określa rodzaj kompresji używanej podczas tworzenia plików (archiwów tar "
"oraz plików różnic). Uwaga: opcja ta nie spowoduje, że istniejące archiwa "
"tar będą ponownie kompresowane, lecz ma zastosowanie tylko do plików nowo "
"tworzonych. Obsługiwane wartości: I<gzip>, I<bzip2> oraz I<lzma>. I<gzip> "
"jest wartością domyślną."

#. type: TP
#: dpkg-source.1:151
#, fuzzy, no-wrap
#| msgid "B<-z>I<compress_level>"
msgid "B<-z>I<level>, B<--compression-level>=I<level>"
msgstr "B<-z>I<poziom_kompresji>"

#. type: Plain text
#: dpkg-source.1:157
#, fuzzy
#| 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>.  I<9> is "
#| "the default."
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 ""
"Używany poziom kompresowania. Podobnie jak w wypadki B<-Z>, dotyczy tylko "
"nowo tworzonych plików. Obsługiwane wartości: I<1> do I<9>, I<best> oraz "
"I<fast>. I<9> jest wartością domyślną."

#. 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 ""
"Można podać wyrażenie regularne Perla pasujące do listy plików, które mają "
"nie być uwzględniane podczas tworzenia pliku różnic (lista ta jest tworzona "
"poleceniem find). (Jeśli zaś pakiet źródłowy jest budowany w formacie 3.0 z "
"użyciem systemu kontroli wersji, jest ono używane to ignorowania "
"niezatwierdzonych plików. Użycie -i.* pozwala zignorować wszystkie takie "
"plik.) B<-i> podane bez żadnych argumentów włącza tę opcję, domyślnie "
"odfiltrowując pliki kontrolne i katalogi najpopularniejszych systemów "
"kontroli wersji, kopie zapasowe, pliki wymiany oraz katalogi wyjściowe "
"narzędzia libtool. Tylko jedno wyrażenie regularne może być aktywne, jeśli "
"opcję B<-i> podano kilkakrotnie, to tylko ostatnia z nich będzie wzięta pod "
"uwagę."

#. 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 ""
"Jest to bardzo przydatne do wykluczania nieistotnych plików, które zostałyby "
"włączone do pliku różnic (diff). Przykładem może być sytuacja, gdzie kod "
"źródłowy jest zarządzany przez system kontroli wersji i kod pobrany z "
"repozytorium ma być użyty do zbudowania pakietu źródłowego, bez włączania w "
"to dodatkowych plików i katalogów związanych z obsługą repozytorium (np. "
"CVS/, .cvsignore, .svn/). Domyślne wyrażenie regularne jest już całkiem "
"obszerne, ale jeśli istnieje potrzeba zastąpienia go, należy zauważyć że "
"domyślnie może ono pasować do dowolnej części ścieżki - dlatego w celu "
"dopasowania do początku nazwy pliku lub jedynie pełnych nazw plików, "
"konieczne jest samodzielne użycie odpowiednich wyrażeń (np. \"(^|/)\", czy "
"\"($|/)\")."

#. 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 ""
"Po podaniu tej opcji, wzorzec będzie przekazany jako parametr dla --exclude "
"polecenia B<tar>(1), używanego do stworzenia archiwum .orig.tar lub .tar. Na "
"przykład, -ICVS powoduje, że tar będzie pomijał katalogi CVS przy tworzeniu "
"pliku .tar.gz. Ta opcja może być podana wielokrotnie w celu określenia wielu "
"wzorców wykluczeń."

#. 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 ""
"Samo B<-I> podane bez żadnych argumentów ustawia opcje --exclude, domyślnie "
"odfiltrowując pliki kontrolne i katalogi najpopularniejszych systemów "
"kontroli wersji, kopie zapasowe, pliki wymiany oraz katalogi wyjściowe "
"libtoola."

#. 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 ""
"B<Uwaga:> Mimo, że mają podobne przeznaczenie, opcje B<-i> oraz B<-I> mają "
"całkiem odmienną składnię i semantykę. B<-i> może być podana tylko raz i "
"przyjmuje wyrażenie regularne Perla, które jest dopasowywane do pełnej "
"ścieżki względnej każdego pliku. B<-I> może być podana wielokrotnie i "
"przyjmuje wzorzec nazw plików wraz ze znakami specjalnymi powłoki "
"(wildcards). Wzorzec jest dopasowywany do pełnej ścieżki względnej, ale "
"również indywidualnie do każdej części ścieżki. Pełna semantyka opcji --"
"exclude programu tar jest nieco skomplikowana, proszę sprawdzić http://www."
"gnu.org/software/tar/manual/tar.html#wildcards w celu uzyskania dokładnych "
"informacji."

#. 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 ""
"Domyślne wyrażenia regularne i wzorce dla obu opcji można znaleźć w wyjściu "
"polecenia B<--help>."

#. type: SH
#: dpkg-source.1:215
#, no-wrap
msgid "GENERIC EXTRACT OPTIONS"
msgstr "OGÓLNE OPCJE ROZPAKOWYWANIA"

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

#. type: Plain text
#: dpkg-source.1:219
msgid "Do not copy original tarballs near the extracted source package."
msgstr ""
"Nie kopiuje oryginalnych archiwów obok rozpakowanego pakietu źródłowego."

#. type: TP
#: dpkg-source.1:219
#, no-wrap
msgid "B<--no-check>"
msgstr "B<--no-check>"

#. type: Plain text
#: dpkg-source.1:222
msgid "Do not check signatures and checksums before unpacking."
msgstr ""
"Bez weryfikacji podpisów i sprawdzania sum kontrolnych przed rozpakowaniem."

#. type: TP
#: dpkg-source.1:222
#, no-wrap
msgid "B<--require-valid-signature>"
msgstr "B<--require-valid-signature>"

#. 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 ""
"Powoduje odmowę rozpakowania pakietu źródłowego, jeśli nie zawiera on "
"podpisu OpenPGP, który mógłby być zweryfikowany przez klucze użytkownika z "
"pliku I<trustedkeys.gpg>, jeden z kluczy twórców pakietu, lub jeden z "
"oficjalnych kluczy Debiana (I</usr/share/keyrings/debian-keyring.gpg> oraz "
"I</usr/share/keyrings/debian-maintainers.gpg>)."

#. type: SH
#: dpkg-source.1:231
#, no-wrap
msgid "SOURCE PACKAGE FORMATS"
msgstr "FORMATY PAKIETÓW ŹRÓDŁOWYCH"

#. 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 "Format: 1.0"

#. 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 ""
"Pakiet źródłowy w tym formacie składa się z pliku B<.orig.tar.gz> "
"powiązanego z plikiem różnic B<.diff.gz>, lub z pojedynczego pliku B<.tar."
"gz> (w takim przypadku mówi się, że pakiet jest I<natywny>)."

#. type: Plain text
#: dpkg-source.1:243 dpkg-source.1:411 dpkg-source.1:586 dpkg-source.1:625
msgid "B<Extracting>"
msgstr "B<Rozpakowywanie>"

#. 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 ""
"Rozpakowanie pakietu natywnego to proste rozpakowanie pojedynczego pliku "
"archiwum w katalogu docelowym. Rozpakowanie pakietu w stylu Debiana (non-"
"native) odbywa się poprzez najpierw rozpakowanie pliku B<.orig.tar.gz> a "
"następnie nałożenia łatek zawartych w pliku B<.diff.gz>. Czasy modyfikacji "
"wszystkich łatanych plików są ustawiane na wartość odpowiadającą czasowi "
"rozpakowania pakietu źródłowego (zapobiega to przesunięciom czasów, które "
"prowadzą do problemów przy łataniu plików generowanych automatycznie). Plik "
"różnic (diff) może tworzyć nowe pliki (cały katalog \"debian\" jest tak "
"tworzony), ale nie może usuwać plików (pozostawiane są puste pliki o zerowej "
"długości)."

#. type: Plain text
#: dpkg-source.1:255 dpkg-source.1:439 dpkg-source.1:597 dpkg-source.1:630
msgid "B<Building>"
msgstr "B<Budowanie>"

#. 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 ""
"Budowanie pakietu natywnego to proste stworzenie pojedynczego pliku archiwum "
"z katalogu źródeł. Budowanie pakietu w stylu Debiana (non-native) obejmuje "
"rozpakowanie oryginalnego archiwum do oddzielnego katalogu z przyrostkiem \"."
"orig\" i regenerację pliku B<.diff.gz> poprzez porównanie I<katalogu> "
"pakietu źródłowego z katalogiem \".orig\"."

#. type: TP
#: dpkg-source.1:262
#, no-wrap
msgid "B<Build options (with -b):>"
msgstr "B<Opcje budowania (z -b):>"

#. 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 ""
"Buduje pakiet źródłowy. Należy podać jeden lub dwa argumenty, nie będące "
"opcjami. Pierwszym z nich jest nazwa katalogu zawierającego rozpakowane "
"źródła. Jeżeli podano drugi argument, to powinien on być nazwą oryginalnego "
"katalogu ze źródłami lub archiwum tar albo pustym łańcuchem znaków, jeśli "
"pakiet jest specyficzny dla Debiana i nie ma pliku różnic. Jeżeli nie podano "
"drugiego argumentu, to B<dpkg-source> - w zależności od argumentów B<-sX> - "
"będzie szukał albo archiwum tar z oryginalnymi źródłami "
"I<pakiet>B<_>I<wersja_upstream>B<.orig.tar.>I<rozszerzenie> (gdzie "
"I<rozszerzenie> jest jednym z B<gz>,B<bz2> lub B<lzma>),  albo katalogu z "
"oryginalnymi źródłami I<katalog>.orig."

#. 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 ""
"B<-sa>, B<-sp>, B<-sk>, B<-su> oraz B<-sr> nie nadpiszą istniejących "
"archiwów tar lub katalogów. Jeśli jest to wymagane, należy użyć B<-sA>, B<-"
"sP>, B<-sK>, B<-sU> i B<-sR>."

#. type: TP
#: dpkg-source.1:281
#, no-wrap
msgid "B<-sk>"
msgstr "B<-sk>"

#. 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 ""
"Określa, że należy spodziewać się oryginalnych źródeł w postaci archiwum "
"tar, domyślnie I<pakiet>B<_>I<wersja-autora-pakietu>B<.orig.tar."
">I<rozszerzenie>. Pozostawia oryginalne źródła w tym samym miejscu jako plik "
"tar lub kopiuje je do bieżącego katalogu jeśli jeszcze ich tam nie ma. "
"Archiwum będzie rozpakowane do I<katalogu>B<.orig> w celu utworzenia pliku "
"różnic (diff)."

#. type: TP
#: dpkg-source.1:290 dpkg-source.1:359
#, no-wrap
msgid "B<-sp>"
msgstr "B<-sp>"

#. type: Plain text
#: dpkg-source.1:295
msgid "Like B<-sk> but will remove the directory again afterwards."
msgstr "Jak B<-sk>, ale ponownie usunie katalog po zakończeniu."

#. type: TP
#: dpkg-source.1:295 dpkg-source.1:365
#, no-wrap
msgid "B<-su>"
msgstr "B<-su>"

#. 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 ""
"Określa, że należy spodziewać się oryginalnych źródeł w postaci katalogu, "
"domyślnie I<pakiet>B<->I<wersja-autora-pakietu>B<.orig>, na podstawie "
"którego B<dpkg-source> utworzy nowe archiwum oryginalnych źródeł."

#. type: TP
#: dpkg-source.1:303
#, no-wrap
msgid "B<-sr>"
msgstr "B<-sr>"

#. type: Plain text
#: dpkg-source.1:308
msgid "Like B<-su> but will remove that directory after it has been used."
msgstr "Jak B<-su>, jednakże usunie katalog po jego użyciu."

#. type: TP
#: dpkg-source.1:308
#, no-wrap
msgid "B<-ss>"
msgstr "B<-ss>"

#. 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 ""
"Określa, że oryginalne źródła są dostępne zarówno jako katalog oraz jako "
"archiwum tar. B<dpkg-source> będzie utworzy plik różnic na podstawie "
"katalogu, ale użyje pliku tar do utworzenia pliku B<.dsc>. Należy używać tej "
"opcji z rozwagą - jeśli katalog oraz plik tar sobie nie odpowiadają, "
"zostanie wygenerowane niepoprawne archiwum źródłowe."

#. type: TP
#: dpkg-source.1:316 dpkg-source.1:368
#, no-wrap
msgid "B<-sn>"
msgstr "B<-sn>"

#. 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 ""
"Określa aby nie szukać żadnych oryginalnych źródeł, ani nie generować pliku "
"różnic. Jeśli jest podany drugi argument, musi on być pustym ciągiem znaków. "
"Jest to używane dla pakietów specyficznych dla Debiana, które nie mają "
"oddzielnych źródeł i w związku z tym nie mają debianizujących plików różnic "
"(diff)."

#. type: TP
#: dpkg-source.1:322
#, no-wrap
msgid "B<-sa> or B<-sA>"
msgstr "B<-sa> lub B<-sA>"

#. 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 ""
"Określa, że należy szukać oryginalnych źródeł w postaci archiwum tar lub "
"katalogu. Jeśli podano drugi argument może wskazywać on plik lub katalog, "
"albo być pustym ciągiem znaków (co jest równoważne użyciu B<-sn>). Jeśli "
"znaleziony zostanie plik tar, będzie on rozpakowany w celu utworzenia pliku "
"różnic, po czym zostanie on usunięty (co jest równoważne B<-sp>). Jeśli "
"zostanie znaleziony katalog, będzie on spakowany w celu utworzenia archiwum "
"źródłowego, po czym zostanie on usunięty (co jest równoważne B<-sr>)."

#. 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 "B<Opcje rozpakowywania (z -x):>"

#. type: Plain text
#: dpkg-source.1:359
msgid "In all cases any existing original source tree will be removed."
msgstr ""
"We wszystkich przypadkach, istniejące oryginalne drzewo ze źródłami będzie "
"usunięte."

#. 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 ""
"Jeśli zostanie użyta przy wypakowywaniu, wtedy oryginalne źródła (jeśli są) "
"pozostaną w formie archiwum tar. Jeśli archiwum nie ma jeszcze w bieżącym "
"katalogu, lub gdy istnieje ale jest to inny plik, zostanie tam skopiowane. "
"(B<Jest to zachowanie domyślne>)."

#. type: Plain text
#: dpkg-source.1:368
msgid "Unpacks the original source tree."
msgstr "Rozpakowuje oryginalne drzewo źródeł programu."

#. 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 ""
"Zapewnia, że oryginalne źródła nie będą kopiowane do bieżącego katalogu ani "
"rozpakowywane. We wszystkich przypadkach, istniejący katalog ze źródłami "
"będzie usunięty z bieżącego katalogu."

#. 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 ""
"Wszystkie spośród opcji B<-s>I<-X> się wzajemnie wykluczają. Jeśli zostanie "
"podana więcej niż jedna, to zostanie użyta ostatnia z nich."

#. type: TP
#: dpkg-source.1:378 dpkg-source.1:555
#, no-wrap
msgid "B<--skip-debianization>"
msgstr "B<--skip-debianization>"

#. type: Plain text
#: dpkg-source.1:381
msgid "Skips application of the debian diff on top of the upstream sources."
msgstr ""
"Pomija wykorzystanie różnic Debiana (debian diff) do nałożenia łatek na "
"oryginalne źródła."

#. type: SS
#: dpkg-source.1:382
#, no-wrap
msgid "Format: 2.0"
msgstr "Format: 2.0"

#. 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 ""
"Znany również jako wig&pen. Ten format nie jest zalecany do szerokiego "
"stosowania, zastępuje go format \"3.0 (quilt)\". Wig&pen był pierwszą "
"specyfikacją nowej generacji formatu pakietów źródłowych."

#. 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 ""
"Zachowanie dla tego formatu jest takie samo jak dla \"3.0 (quilt)\" z tą "
"różnicą, że nie używa jawnej listy łatek. Wszystkie pliki w katalogu "
"B<debian/patches/> pasujące do wyrażenia regularnego Perla B<[\\ew-]+> muszą "
"być prawidłowymi łatkami: są one nakładane podczas rozpakowywania."

#. 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 ""
"Podczas budowania nowego pakietu źródłowego, wszystkie zmiany w stosunku do "
"kodu źródłowego pochodzącego od autorów programu są zapisywane w łatce o "
"nazwie B<zz_debian-diff-auto>."

#. type: SS
#: dpkg-source.1:395
#, no-wrap
msgid "Format: 3.0 (native)"
msgstr "Format: 3.0 (native)"

#. 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 ""
"Ten format jest rozszerzeniem natywnego formatu pakietów zdefiniowanego w "
"formacie w wersji 1.0. Obsługuje wszystkie metody kompresji i domyślnie "
"ignoruje pliki i katalogi specyficzne dla systemów kontroli wersji, jak "
"również wiele typów plików tymczasowych (proszę sprawdzić opis domyślnej "
"wartości opcji B<-I> w informacjach uzyskiwanych poleceniem B<--help>)."

#. type: SS
#: dpkg-source.1:402
#, no-wrap
msgid "Format: 3.0 (quilt)"
msgstr "Format: 3.0 (quilt)"

#. type: Plain text
#: dpkg-source.1:409
#, fuzzy
#| 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> and B<lzma>) 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 (\"-\")."
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 ""
"Pakiet źródłowy w tym formacie zawiera co najmniej oryginalne archiwum tar "
"(B<.orig.tar.>I<rozszerzenie>, gdzie I<rozszerzeniem> może być B<gz>, B<bz2> "
"i B<lzma>) oraz archiwum debian (B<.debian.tar.>I<rozszerzenie>). Może "
"również zawierać dodatkowe oryginalne archiwa (B<.orig->I<komponent>B<.tar."
">I<rozszerzenie>). I<komponent> może zawierać jedynie znaki alfanumeryczne "
"oraz znaki myślnika (\"-\")."

#. 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 ""
"Najpierw rozpakowywane jest główne oryginalne archiwum tar, następnie "
"rozpakowywane są dodatkowe oryginalne archiwa tar do podkatalogów nazwanych "
"od części I<komponent> z ich nazwy pliku (istniejące katalogi o takich "
"nazwach są zamieniane). Na końcu rozpakowywane jest archiwum debian, po "
"uprzednim usunięciu katalogu B<debian> (jeśli taki istniał). Należy "
"zauważyć, że archiwum debian musi zawierać podkatalog B<debian>, ale może "
"również zawierać pliki binarne poza tym katalogiem (proszę sprawdzić opcję "
"B<--include-binaries>)."

#. 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 ""
"Następnie nakładane są wszystkie łatki wymienione w B<debian/patches/debian."
"series> lub B<debian/patches/series>. Jeśli jest użyty pierwszy z tych "
"plików a drugi z nich nie istnieje (lub jest łączem symbolicznym), wtedy ten "
"drugi plik jest zastępowany łączem symbolicznym do pierwszego pliku. Ma to "
"uprościć używanie quilt do zarządzania zbiorem łatek. Należy zauważyć, że o "
"ile B<dpkg-source> poprawnie przetwarza pliki series z podanymi jawnie "
"opcjami programu patch (zapisanymi w każdej z linii po nazwie pliku z łatką "
"i jednej lub więcej spacji), to jednak ignoruje te opcje i zawsze oczekuje "
"łatek, które można nałożyć używając opcji B<-p1> programu B<patch>. Po "
"napotkaniu takich opcji wysyłane jest ostrzeżenie, zaś proces budowania "
"prawdopodobnie się nie powiedzie."

#. type: Plain text
#: dpkg-source.1:434
msgid ""
"Similarly to quilt's default behaviour, the patches can remove files too."
msgstr ""
"Podobnie do domyślnego zachowania quilt, łatki mogą także usuwać pliki."

#. type: Plain text
#: dpkg-source.1:437
#, fuzzy
#| msgid ""
#| "The file B<debian/patches/.dpkg-source-applied> is created if some "
#| "patches have been applied during the extraction."
msgid ""
"The file B<.pc/applied-patches> is created if some patches have been applied "
"during the extraction."
msgstr ""
"Jeśli podczas rozpakowywania zostały nałożone jakieś łatki, tworzony jest "
"plik B<debian/patches/.dpkg-source-applied>."

#. type: Plain text
#: dpkg-source.1:451
#, fuzzy
#| 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 B<debian-changes->I<version> are applied.  The temporary "
#| "directory is compared to the source package directory and the diff (if "
#| "non-empty) is stored in B<debian/patches/debian-changes->I<version>. 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>."
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 ""
"Wszystkie oryginalne archiwa znalezione w bieżącym katalogu są rozpakowywane "
"do katalogu tymczasowego w taki sam sposób jak dla unpack, następnie katalog "
"debian jest kopiowany do katalogu tymczasowego i nakładane są wszystkie "
"łatki, z wyłączeniem jedynie B<debian-changes->I<wersja>. Katalog tymczasowy "
"jest porównywany z katalogiem pakietu źródłowego a plik różnic (jeśli jest "
"niepusty) jest zapisywany w B<debian/patches/debian-changes->I<wersja>. "
"Żadne zmiany w jakimkolwiek pliku binarnym nie mogą być odwzorowane w pliku "
"zmian, co doprowadzi do niepowodzenia - chyba, że opiekun pakietu rozmyślnie "
"zdecydował o włączeniu tak zmodyfikowanego pliku binarnego do archiwum "
"debian (wskazując go w B<debian/source/include-binaries>). Proces budowania "
"nie powiedzie się także jeśli zostaną znalezione pliki binarne w podkatalogu "
"debian, chyba że zostały one uprzednio wymienione w B<debian/source/include-"
"binaries>."

#. type: Plain text
#: dpkg-source.1:459
#, fuzzy
#| 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 B<debian-changes->I<version> are applied.  The temporary "
#| "directory is compared to the source package directory and the diff (if "
#| "non-empty) is stored in B<debian/patches/debian-changes->I<version>. 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>."
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 ""
"Wszystkie oryginalne archiwa znalezione w bieżącym katalogu są rozpakowywane "
"do katalogu tymczasowego w taki sam sposób jak dla unpack, następnie katalog "
"debian jest kopiowany do katalogu tymczasowego i nakładane są wszystkie "
"łatki, z wyłączeniem jedynie B<debian-changes->I<wersja>. Katalog tymczasowy "
"jest porównywany z katalogiem pakietu źródłowego a plik różnic (jeśli jest "
"niepusty) jest zapisywany w B<debian/patches/debian-changes->I<wersja>. "
"Żadne zmiany w jakimkolwiek pliku binarnym nie mogą być odwzorowane w pliku "
"zmian, co doprowadzi do niepowodzenia - chyba, że opiekun pakietu rozmyślnie "
"zdecydował o włączeniu tak zmodyfikowanego pliku binarnego do archiwum "
"debian (wskazując go w B<debian/source/include-binaries>). Proces budowania "
"nie powiedzie się także jeśli zostaną znalezione pliki binarne w podkatalogu "
"debian, chyba że zostały one uprzednio wymienione w B<debian/source/include-"
"binaries>."

#. 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 ""
"Zaktualizowany katalog debian oraz lista zmodyfikowanych plików binarnych są "
"następnie używane do powtórnego wygenerowania archiwum debian."

#. 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 ""
"Automatycznie wygenerowany plik różnic nie zawiera zmian w plikach "
"specyficznych dla systemów kontroli wersji, jak również w wielu typach "
"plików tymczasowych (proszę sprawdzić opis domyślnej wartości opcji B<-i> w "
"informacjach uzyskiwanych poleceniem B<--help>). W szczególności, katalog B<."
"pc> używany przez quilt jest ignorowany podczas automatycznego generowania "
"łatki."

#. type: Plain text
#: dpkg-source.1:477
#, fuzzy
#| msgid ""
#| "Note: B<dpkg-source> expects the source tree to have all patches listed "
#| "in the series file applied when you generate the source package.  This is "
#| "not the case when the source tree has been obtained by unpacking a source "
#| "package using the Format: 1.0 for instance. To mitigate the problem, "
#| "B<dpkg-source> will apply the patches by itself if it believes that they "
#| "have not yet been applied. To detect this situation, it uses the "
#| "following heuristic: if a B<.pc> subdirectory is detected, it will call "
#| "B<quilt unapplied> to find out if some patches are not applied. After "
#| "that, it will take the first patch of the series (or the first unapplied "
#| "patch returned by B<quilt unapplied>, if any) and verify if it can be "
#| "applied without errors. If the verification succeeds, it concludes that "
#| "patches have not been applied and will apply them all.  The option B<--no-"
#| "preparation> can be used to disable this behaviour."
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 ""
"Uwaga: B<dpkg-source> zakłada, że drzewo ze źródłami będzie mieć nałożone "
"wszystkie łatki określone w pliku series podczas generowania pakietu "
"źródłowego. Nie jest tak, jeśli drzewo źródeł zostało uzyskane przez "
"rozpakowanie pakietu źródłowego używającego na przykład Format: 1.0. Aby "
"temu zapobiec, B<dpkg-source> także nakłada łatki przed budowaniem, jeśli "
"stwierdzi, że nie zostały jeszcze nałożone. W celu stwierdzenia tej sytuacji "
"używana jest następująca heurystyka: po odnalezieniu podkatalogu B<.pc> "
"wywoływany jest B<quilt unapplied> w celu weryfikacji, czy wszystkie łatki "
"zostały nałożone. Następnie pierwsza łatka z pliku series (lub pierwsza "
"nienałożona, zwrócona przez B<quilt unapplied> - jeśli taka jest) używana "
"jest w celu weryfikacji, czy może być nałożona bez błędów. Jeśli weryfikacja "
"się powiedzie to stwierdzane jest, że łatki nie zostały nałożone i wtedy "
"zostaną nałożone wszystkie. Opcja B<--no-preparation> może być użyta, aby "
"wyłączyć to zachowanie."

#. type: Plain text
#: dpkg-source.1:480
#, fuzzy
#| msgid "B<debian/changelog>"
msgid "B<Recording changes>"
msgstr "B<debian/changelog>"

#
#. type: TP
#: dpkg-source.1:480
#, fuzzy, no-wrap
#| msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgid "B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]"
msgstr "B<-c>, B<--control-path> I<nazwa-pakietu> [I<plik-kontrolny>]"

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

#. type: TP
#: dpkg-source.1:493
#, fuzzy, no-wrap
#| msgid "B<--to> I<version>, B<-t>I<version>"
msgid "B<--allow-version-of-quilt-db=>I<version>"
msgstr "B<--to> I<wersja>, B<-t>I<wersja>"

# 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
#, no-wrap
msgid "B<--include-removal>"
msgstr "B<--include-removal>"

#. type: Plain text
#: dpkg-source.1:505
msgid ""
"Do not ignore removed files and include them in the automatically generated "
"patch."
msgstr ""
"Usunięte pliki nie będą ignorowane, ale będą włączone do automatycznie "
"generowanej łatki."

#. type: TP
#: dpkg-source.1:505
#, no-wrap
msgid "B<--include-timestamp>"
msgstr "B<--include-timestamp>"

#. type: Plain text
#: dpkg-source.1:508
msgid "Include timestamp in the automatically generated patch."
msgstr "Włączenie czasu modyfikacji w automatycznie generowanej łatce."

#. type: TP
#: dpkg-source.1:508
#, no-wrap
msgid "B<--include-binaries>"
msgstr "B<--include-binaries>"

#. 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 ""
"Dodanie wszystkich zmodyfikowanych plików binarnych do archiwum debian. Są "
"one również dodawane do B<debian/source/include-binaries>: dzięki temu będą "
"domyślnie dodawane przy następnych budowach pakietu, zaś ta opcja nie będzie "
"już więcej potrzebna."

#. type: TP
#: dpkg-source.1:513
#, no-wrap
msgid "B<--no-preparation>"
msgstr "B<--no-preparation>"

#. type: Plain text
#: dpkg-source.1:517
msgid ""
"Do not try to prepare the build tree by applying patches which are "
"apparently unapplied."
msgstr ""
"Nie próbuje przygotowywać drzewa budowania poprzez nakładanie łatek, które "
"wyraźnie nie są nałożone."

#. type: TP
#: dpkg-source.1:517
#, fuzzy, no-wrap
#| msgid "B<--skip-debianization>"
msgid "B<--single-debian-patch>"
msgstr "B<--skip-debianization>"

#. 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<--skip-patches>"
msgid "B<--unapply-patches>"
msgstr "B<--skip-patches>"

#. 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<--no-act>"
msgid "B<--auto-commit>"
msgstr "B<--no-act>"

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

#. type: Plain text
#: dpkg-source.1:558
msgid "Skips extraction of the debian tarball on top of the upstream sources."
msgstr ""
"Pomija rozpakowanie archiwum debian z włączeniem jego zawartości na "
"oryginalne źródła."

#. type: TP
#: dpkg-source.1:558
#, no-wrap
msgid "B<--skip-patches>"
msgstr "B<--skip-patches>"

#. type: Plain text
#: dpkg-source.1:561
msgid "Do not apply patches at the end of the extraction."
msgstr "Nie nakłada łatek po skończeniu rozpakowywania."

#. type: SS
#: dpkg-source.1:562
#, no-wrap
msgid "Format: 3.0 (custom)"
msgstr "Format: 3.0 (custom)"

#. type: Plain text
#: dpkg-source.1:565
#, fuzzy
#| msgid ""
#| "This format is particular. It doesn't represent a real source package "
#| "format but can be used to create source packages with arbitrary files."
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 ""
"Ten format jest szczególny. Nie jest prawdziwym formatem pakietu źródłowego, "
"ale może być użyty do stworzenia pakietu źródłowego zawierającego dowolne "
"pliki."

#. 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 ""
"Wszystkie argumenty nie będące opcjami są uważane za pliki, które mają być "
"zintegrowane z generowanym pakietem źródłowym. Pliki te muszą istnieć i "
"najlepiej powinny być w bieżącym katalogu. Musi być podany przynajmniej "
"jeden plik."

#. type: TP
#: dpkg-source.1:571
#, no-wrap
msgid "B<--target-format=>I<value>"
msgstr "B<--target-format=>I<wartość>"

#. 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 ""
"B<Wymagane>. Określa prawdziwy format generowanego pakietu źródłowego. "
"Generowany plik .dsc będzie zawierać tą wartość w swoim polu I<Format> "
"zamiast \"3.0 (custom)\"."

#. type: SS
#: dpkg-source.1:577
#, fuzzy, no-wrap
#| msgid "Format: 3.0 (quilt)"
msgid "Format: 3.0 (git)"
msgstr "Format: 3.0 (quilt)"

#. 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 ""
"Nie zagłębiając się dalej, wykonywane są pewne testy aby upewnić się, czy "
"nie ma żadnych niezatwierdzonych zmian, które nie są ignorowane."

#. 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<--target=>I<target>"
msgid "B<--git-ref=>I<ref>"
msgstr "B<--target=>I<cel>"

#. 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<--abort-after=>I<number>"
msgid "B<--git-depth=>I<number>"
msgstr "B<--abort-after=>I<liczba>"

#. 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
#, fuzzy, no-wrap
#| msgid "Format: 3.0 (quilt)"
msgid "Format: 3.0 (bzr)"
msgstr "Format: 3.0 (quilt)"

#. type: Plain text
#: dpkg-source.1:623
#, fuzzy
#| msgid ""
#| "Those formats are experimental. They generate a single tarball containing "
#| "the corresponding VCS repository."
msgid ""
"This format is experimental. It generates a single tarball containing the "
"bzr repository."
msgstr ""
"Te formaty są eksperymentalne. Generują pojedyncze archiwa tar zawierające "
"odpowiednie repozytoria systemu kontroli wersji."

#. type: Plain text
#: dpkg-source.1:628
#, fuzzy
#| msgid ""
#| "The tarball is unpacked and then the VCS is used to checkout the current "
#| "branch."
msgid ""
"The tarball is unpacked and then bzr is used to checkout the current branch."
msgstr ""
"Archiwum tar jest rozpakowywane i system kontroli wersji jest używany aby "
"pobrać aktualną gałąź kodu."

#. 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 ""
"Następnie część katalogu źródeł specyficzna dla systemu kontroli wersji jest "
"kopiowana do katalogu tymczasowego. Przed tym katalog tymczasowy jest "
"pakowany do archiwum tar i wykonywane są różne czynności porządkowe, aby "
"zaoszczędzić miejsce."

#. 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 "FORMATY PLIKÓW"

#. type: SS
#: dpkg-source.1:672
#, no-wrap
msgid "debian/source/format"
msgstr "debian/source/format"

#. 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 ""
"Plik ten zawiera w pojedynczej linii określenie formatu, który powinien "
"zostać użyty do zbudowania pakietu źródłowego (dostępne formaty opisane są "
"wyżej). Niedozwolone są początkowe i końcowe znaki spacji."

#. type: SS
#: dpkg-source.1:676
#, no-wrap
msgid "debian/source/include-binaries"
msgstr "debian/source/include-binaries"

#. 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 ""
"Plik ten zawiera listę plików binarnych (po jednym w każdej linii), które "
"powinny być zawarte w archiwum debian. Początkowe i końcowe znaki spacji są "
"usuwane. Linie rozpoczynające się od \"#\" są traktowane jak komentarze i są "
"pomijane, puste linie są ignorowane."

#. type: SS
#: dpkg-source.1:680
#, fuzzy, no-wrap
#| msgid "debian/source/format"
msgid "debian/source/options"
msgstr "debian/source/format"

#. 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/format"
msgid "debian/source/local-options"
msgstr "debian/source/format"

#. 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/format"
msgid "debian/source/local-patch-header"
msgstr "debian/source/format"

#. type: SS
#: dpkg-source.1:709
#, fuzzy, no-wrap
#| msgid "debian/source/format"
msgid "debian/source/patch-header"
msgstr "debian/source/format"

#. 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 "debian/patches/series"

#. 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 ""
"Plik ten zawiera listę wszystkich łatek, jakie powinny być nałożone (w "
"określonej kolejności) na kod oryginalnego pakietu źródłowego. Początkowe i "
"końcowe znaki spacji są usuwane. Linie rozpoczynające się od \"#\" są "
"traktowane jak komentarze i są pomijane, puste linie są ignorowane. "
"Pozostałe linie zawierają nazwy plików łatek (względem katalogu B<debian/"
"patches/>), aż do pierwszego napotkanego znaku spacji lub końca linii. "
"Opcjonalne opcje programu quilt następują do końca linii lub pierwszego "
"znaku \"#\", poprzedzonego co najmniej jedną spacją (co rozpoczyna komentarz "
"ciągnący się aż do końca linii)."

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

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

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

#
#. type: Plain text
#: dpkg-split.1:5
msgid "dpkg-split - Debian package archive split/join tool"
msgstr "dpkg-split - narzędzie dzielenia/łączenia pakietów Debiana"

#
#. type: Plain text
#: dpkg-split.1:9
#, fuzzy
#| msgid "B<dpkg-split> [I<options>] I<command>"
msgid "B<dpkg-split> [I<option>...] I<command>"
msgstr "B<dpkg-split> [I<opcje>] I<polecenie>"

#
#. 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 ""
"B<dpkg-split> dzieli pakiety binarne Debiana na mniejsze części oraz scala "
"je z powrotem, tak że możliwe jest przechowanie większych pakietów na małych "
"nośnikach, takich jak dyskietki."

#
#. type: Plain text
#: dpkg-split.1:19
msgid ""
"It can be operated manually using the B<--split>, B<--join> and B<--info> "
"options."
msgstr ""
"Program wywołuje się ręcznie, wraz z opcją B<--split>, B<--join> lub B<--"
"info>."

#. 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 ""
"Możliwe jest także wywołanie automatyczne, przez użycie opcji B<--auto>. "
"Wtedy to tworzona jest kolejka części pakietu, a gdy wszystkie części będą "
"dostępne, cały pakiet zostanie odtworzony. Opcje B<--listq> i B<--discard> "
"pozwalają na zarządzanie kolejką."

#
#. 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 ""
"Wszystkie działania, takie jak rozdzielanie, łączenie, czy kolejkowanie, "
"powodują wyświetlenie informacji na standardowe wyjście. Informacje te można "
"zignorować."

#
#. type: TP
#: dpkg-split.1:32
#, no-wrap
msgid "B<-s>, B<--split> I<complete-archive> [I<prefix>]"
msgstr "B<-s>, B<--split> I<kompletne-archiwum> [I<przedrostek>]"

#
#. type: Plain text
#: dpkg-split.1:35
msgid "Splits a single Debian binary package into several parts."
msgstr "Rozdzielenie pojedynczego pakietu binarnego na poszczególne części."

#
#. 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 ""
"Części mają nazwę I<przyrostek>B<.>I<N>B<of>I<M>B<.deb> gdzie I<N> jest "
"numerem części, rozpoczynając od 1, a I<M> jest liczbą wszystkich części "
"(dziesiętnie)."

#
#. 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 ""
"Jeśli nie podano I<przedrostka>, to użyta jest nazwa pliku I<pełnego-"
"archiwum>, wraz z katalogiem, gdy jest określony. Ponadto usunięta jest "
"końcówka B<.deb>."

#
#. type: TP
#: dpkg-split.1:51
#, no-wrap
msgid "B<-j>, B<--join> I<part>..."
msgstr "B<-j>, B<--join> I<part>..."

#. 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 ""
"Łączenie części pakietu i odtworzenie oryginalnego pliku sprzed dzielenia."

#
#. 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 ""
"Pliki podane jako argumenty muszą być częściami tego samego oryginalnego "
"pakietu. Każda część musi pojawić się raz na liście argumentów, ale nie jest "
"konieczne zachowanie właściwej kolejności."

#
#. 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 ""
"Części muszą być wygenerowane z użyciem tego samego rozmiaru, co oznacza, że "
"muszą to być te same części utworzone za pomocą polecenia B<dpkg-split --"
"split>."

#
#. type: Plain text
#: dpkg-split.1:66
msgid "The parts' filenames are not significant for the reassembly process."
msgstr ""
"Nazwy plików części nie mają znaczenia dla procesu odtworzenia pakietu."

#
#. type: Plain text
#: dpkg-split.1:69
#, fuzzy
#| msgid ""
#| "By default the output file is called I<package>B<->I<version>B<.deb>."
msgid ""
"By default the output file is called I<package>B<_>I<version>B<_>I<arch>B<."
"deb>."
msgstr "Domyślnie, odtworzony plik ma nazwę I<pakiet>B<->I<wersja>B<.deb>."

#
#. type: TP
#: dpkg-split.1:70
#, no-wrap
msgid "B<-I>, B<--info> I<part>..."
msgstr "B<-I>, B<--info> I<part>..."

#
#. 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 ""
"Wyświetlanie informacji, podanych w formacie czytelnym dla człowieka, o "
"częściach pakietu. Argumenty, które nie są częścią pakietu, powodują "
"wyświetlenie informacji o tym fakcie na standardowym wyjściu."

#
#. type: TP
#: dpkg-split.1:75
#, no-wrap
msgid "B<-a>, B<--auto -o> I<complete-output part>"
msgstr "B<-a>, B<--auto -o> I<pełne-archiwum część>"

#. type: Plain text
#: dpkg-split.1:78
msgid "Automatically queue parts and reassemble a package if possible."
msgstr ""
"Automatyczne kolejkowanie części i odtworzenie pakietu, gdy to jest możliwe."

#
#. 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 ""
"Podana I<część> zostaje sprawdzona i porównana z innymi częściami tego "
"samego pakietu, które znajdują się w kolejce."

#. 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 ""
"Jeśli wszystkie części pakietu są już dostępne, pakiet jest odtwarzany i "
"zapisywany do I<pełnego-archiwum>."

#
#. 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 ""
"Jeśli jeszcze nie ma wszystkich części, podana I<część> jest kopiowana do "
"kolejki i I<pełne-archiwum> nie jest odtwarzane."

#
#. type: Plain text
#: dpkg-split.1:103
#, fuzzy
#| msgid ""
#| "If I<part> is not a split binary package part then B<dpkg-split> will "
#| "exit with status 1; if some other trouble occurs then it will exit with "
#| "status 2."
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 ""
"Jeśli plik I<część> nie jest częścią pakietu binarnego, B<dpkg-split> "
"zakończy się i zwróci kod błędu 1, albo kod błędu 2 w przypadku wystąpienia "
"innych problemów."

#. 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 ""
"Opcja B<--output> lub B<-o> musi zostać podana w przypadku użycia B<--auto>. "
"(W przeciwnym razie program nie wiedziałby, jakiego spodziewać się pliku "
"wyjściowego.)"

#. type: TP
#: dpkg-split.1:110
#, no-wrap
msgid "B<-l>, B<--listq>"
msgstr "B<-l>, B<--listq>"

#
#. type: Plain text
#: dpkg-split.1:113
msgid "Lists the contents of the queue of packages to be reassembled."
msgstr "Listowanie zawartości kolejki części pakietu do odtworzenia."

#
#. 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 ""
"Dla każdego pliku części pakietu wyświetlana jest nazwa pakietu, część w "
"kolejce, całkowita liczba bajtów przechowywanych w kolejce."

#
#. type: TP
#: dpkg-split.1:117
#, no-wrap
msgid "B<-d>, B<--discard> [I<package>...]"
msgstr "B<-d>, B<--discard> [I<pakiet>...]"

#
#. 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 "Usuwa części pakietu z kolejki."

#
#. 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 ""
"Jeśli nie podano nazwy I<pakietu>, czyszczona jest cała kolejka. Gdy nazwa "
"jest podana, usuwane są tylko części podanego pakietu."

#. type: TP
#: dpkg-split.1:134
#, no-wrap
msgid "B<--depotdir>I< directory>"
msgstr "B<--depotdir>I< katalog>"

#
#. 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 ""
"Określenie alternatywnego katalogu dla kolejki części pakietów do "
"zrekonstruowania. Domyślnym jest B</var/lib/dpkg>."

#. type: TP
#: dpkg-split.1:139
#, no-wrap
msgid "B<-S>, B<--partsize> I<kibibytes>"
msgstr "B<-S>, B<--partsize> I<kibibajty>"

#. 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 ""
"Określenie maksymalnego rozmiaru części pakietu w kibibajtach (KiB, 1024 "
"bajtów). Wartością domyślną jest 450 KiB."

#. type: TP
#: dpkg-split.1:143
#, no-wrap
msgid "B<-o>, B<--output> I<complete-output>"
msgstr "B<-o>, B<--output> I<pełne-archiwum>"

#
#. type: Plain text
#: dpkg-split.1:146
msgid "Specifies the output file name for a reassembly."
msgstr "Określenie nazwy pliku pełnego archiwum."

#
#. 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 ""
"Ta opcja nadpisuje domyślną nazwę przy odtwarzaniu pakietu (B<--join>) oraz "
"jest wymagana przy automatycznym odtwarzaniu pakietu (B<--auto>)."

#. type: TP
#: dpkg-split.1:151
#, no-wrap
msgid "B<-Q>, B<--npquiet>"
msgstr "B<-Q>, B<--npquiet>"

#
#. 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 ""
"Gdy wykonywane jest automatyczne łączenie części pakietu, B<dpkg-split> "
"zwykle wyświetla informacje o błędzie, gdy dany plik I<części> nie jest "
"częścią pakietu. Ta opcja zapobiega wyświetlaniu nadmiernej ilości "
"informacji przez programy takie jak B<dpkg>."

#. type: TP
#: dpkg-split.1:162
#, no-wrap
msgid "B<--msdos>"
msgstr "B<--msdos>"

#
#. type: Plain text
#: dpkg-split.1:167
msgid ""
"Forces the output filenames generated by B<--split> to be msdos-compatible."
msgstr ""
"Pliki generowane przez B<--split> są zapisywane w formacie odczytywanym "
"przez MSDOS."

#
#. 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 ""
"Zmieniany jest przedrostek, zarówno ten domyślny jak i ten podany w "
"argumencie: litery są zamieniane na małe, znak plusa zamieniany jest na "
"B<x>, a pozostałe znaki są pomijane."

#. 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 ""
"Powstały przedrostek jest ucinany do niezbędnego rozmiaru. Powstała nazwa ma "
"postać I<przedrostekN>B<of>I<M>B<.deb..>"

#
#. type: Plain text
#: dpkg-split.1:186
#, fuzzy
#| msgid ""
#| "An exit status of 0 indicates that the requested split, merge, or other "
#| "command succeeded.  B<--info> commands count as successful even if the "
#| "files are not binary package parts."
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 ""
"Kod błędu 0 oznacza, że żądana operacja dzielenia, łączenia czy jakakolwiek "
"inna, zakończyła się sukcesem. Polecenie B<--info> kończy się sukcesem nawet "
"gdy podany plik nie jest częścią pakietu."

#
#. type: Plain text
#: dpkg-split.1:193
#, fuzzy
#| msgid ""
#| "An exit status of 1 occurs only with B<--auto> and indicates that the "
#| "I<part> file was not a binary package part."
msgid ""
"Only occurs with B<--auto> and indicates that the I<part> file was not a "
"binary package part."
msgstr ""
"Kod błędu 1 oznacza, że opcja B<--auto> została wykonana na pliku, który nie "
"jest I<częścią> pakietu."

#. 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
#, fuzzy
#| msgid ""
#| "An exit status of 2 indicates some kind of trouble, 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."
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 ""
"Kod błędu 2 pojawia się przy różnego rodzaju problemach, takich jak błędy "
"wywołania funkcji systemu, uszkodzenie plików części pakietu, czy innych "
"wypadkach."

#. 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 ""
"Pobranie pełnej informacji o pakietach w kolejce jest niemożliwe, bez "
"przeszukania katalogu kolejki."

#
#. 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 ""
"Nie ma prostego testu na sprawdzenie, czy dany plik jest na pewno częścią "
"pakietu."

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

#
#. type: Plain text
#: dpkg-split.1:211
msgid ""
"The default queue directory for part files awaiting automatic reassembly."
msgstr ""
"Domyślny katalog kolejki części pakietów czekających na automatyczne "
"odtworzenie."

#
#. 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 ""
"Nazwy plików w tym katalogu są wewnętrznie utworzone przez B<dpkg-split> i "
"nie są użyteczne dla innych programów."

#
#. type: Plain text
#: dpkg-split.1:222
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-deb>(1), B<dpkg>(1)."

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

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

#. type: Plain text
#: dpkg-statoverride.8:4
msgid "dpkg-statoverride - override ownership and mode of files"
msgstr "dpkg-statoverride - nadpisywanie właściciela i praw plików"

#
#. type: Plain text
#: dpkg-statoverride.8:8
#, fuzzy
#| msgid "B<dpkg-statoverride> [I<options>] I<command>"
msgid "B<dpkg-statoverride> [I<option>...] I<command>"
msgstr "B<dpkg-statoverride> [I<opcje>] I<polecenie>"

#. 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 ""
"B<Nadpisania stanu> są sposobem nakazania programowi B<dpkg>(1) użycie "
"innego właściciela i trybu pliku podczas instalacji pakietu. (Uwaga: użyłem "
"tu słowa \"plik\", ale tak naprawdę może to być dowolny obiekt systemu "
"plików, którym zarządza dpkg, np. katalogi czy urządzenia). Można ich użyć "
"do zmuszenia programów, które są zazwyczaj instalowane z flagą setuid, by "
"były zainstalowane bez tej flagi lubby były możliwe do wykonania tylko przez "
"pewną grupę użytkowników."

#. 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 ""
"B<dpkg-statoverride> jest narzędziem użytkowym do zarządzania listą nadpisań "
"stanu. Ma trzy podstawowe funkcje: dodawania, usuwania i wyświetlania listy "
"takich nadpisań."

#. type: TP
#: dpkg-statoverride.8:24
#, no-wrap
msgid "B<--add>I< user group mode file>"
msgstr "B<--add>I< użytkownik grupa tryb plik>"

#. 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 ""
"Dodaje nadpisanie dla I<pliku>. Sam I<plik> nie musi istnieć w czasie "
"wykonania tego polecenia, nadpisanie będzie przechowane i użyte później. "
"Użytkowników i grupy można podawać używając albo ich nazw (na przykład "
"B<root> lub B<nobody>), albo ich numeru poprzedzonego znakiem \"B<#>\" (na "
"przykład B<#0> lub B<#65534>). Natomiast I<tryb> musi być podany jako liczba "
"ósemkowa."

#. 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 ""
"Jeżeli podano opcję --update i I<plik> istnieje, to nowy właściciel i prawa "
"zostaną od razu ustawione."

#. 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 "Usuwa nadpisanie I<pliku>. Polecenie to nie zmienia stanu I<pliku>."

#. type: TP
#: dpkg-statoverride.8:39
#, no-wrap
msgid "B<--list> [I<glob-pattern>]"
msgstr "B<--list> [I<wzorzec-glob>]"

#. 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 ""
"Wyświetla wszystkie napisania. Jeżeli podano wzorzec nazwy, to wyjściowa "
"lista będzie zawierać tylko nadpisania pasujące do tego wzorca. Jeżeli nie "
"ma żadnych nadpisań lub żadne nadpisanie nie pasuje do wzorca, to B<dpkg-"
"statoverride> zakończy działanie z kodem błędu 1."

#. 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 ""
"Zmienia I<katalog> bazy danych dpkg, w którym także jest przechowywany plik "
"statoverride. Domyślnie jest to I</var/lib/dpkg>."

#. type: TP
#: dpkg-statoverride.8:56 update-alternatives.8:336
#, no-wrap
msgid "B<--force>"
msgstr "B<--force>"

#. 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 ""
"Wymusza podaną akcję, nawet jeżeli sprawdzenia dokonywane przez program by "
"tego zabroniły. Jest to potrzebne, aby nadpisać istniejące nadpisanie."

#. type: TP
#: dpkg-statoverride.8:60
#, no-wrap
msgid "B<--update>"
msgstr "B<--update>"

#. type: Plain text
#: dpkg-statoverride.8:64
msgid ""
"Immediately try to change the file to the new owner and mode if it exists."
msgstr ""
"Od razy próbuje zmienić właściciela i prawa pliku, jeżeli ten plik istnieje."

#. type: Plain text
#: dpkg-statoverride.8:67
msgid "Be less verbose about what we do."
msgstr "Wyświetla mniej komunikatów o podejmowanych przez program akcjach."

#. type: TP
#: dpkg-statoverride.8:75
#, no-wrap
msgid "I</var/lib/dpkg/statoverride>"
msgstr "I</var/lib/dpkg/statoverride>"

#. 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 ""
"Plik zawierający obecną listę nadpisań stanu w systemie. Zlokalizowany jest "
"w katalogu administracyjnym dpkg, łącznie z innymi plikami ważnymi dla dpkg, "
"takimi jak \"status\" lub \"available\"."

#. 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 ""
"Uwaga: przed zastąpieniem pliku nową wersją, B<dpkg-statoverride> zachowuje "
"starą kopię w pliku z rozszerzeniem \"-old\"."

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

#. type: Plain text
#: dpkg-trigger.1:4
msgid "dpkg-trigger - a package trigger utility"
msgstr "dpkg-trigger - program pomocniczy wyzwalaczy dla pakietów"

#. type: Plain text
#: dpkg-trigger.1:8
msgid "B<dpkg-trigger> [I<option>...] I<trigger-name>"
msgstr "B<dpkg-trigger> [I<opcja>...] I<nazwa-wyzwalacza>"

#. type: Plain text
#: dpkg-trigger.1:11
msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgstr "B<dpkg-trigger> [I<opcja>...] I<polecenie>"

#. 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 ""
"B<dpkg-trigger> jest narzędziem, które pozwala jawnie aktywować wyzwalacze "
"oraz sprawdza wsparcie dla nich w uruchomionym B<dpkg>."

#. 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 ""
"Może być użyte przez skrypty opiekuna pakietu w sytuacjach złożonych i "
"obłożonych warunkami, gdy wyzwalacze plikowe lub dyrektywy B<activate> z "
"pliku kontrolnego triggers są niewystarczające. Może być również użyte do "
"testowania oraz przez administratorów systemu (proszę zauważyć, że same "
"wyzwalacze nie będą uruchamiane przez B<dpkg-trigger>)."

#. type: Plain text
#: dpkg-trigger.1:23
msgid "Unrecognised trigger name syntaxes are an error for B<dpkg-trigger>."
msgstr ""
"Nierozpoznana składnia nazwy wyzwalacza stanowi błąd dla B<dpkg-trigger>."

#. type: TP
#: dpkg-trigger.1:25
#, no-wrap
msgid "B<--check-supported>"
msgstr "B<--check-supported>"

#. type: Plain text
#: dpkg-trigger.1:31
#, fuzzy
#| msgid ""
#| "Check if the running B<dpkg> supports triggers (usually called from a "
#| "postinst). Will exit 0 if a triggers-capable B<dpkg> has run, or 1 with "
#| "an error message to stderr if not. Normally, however, it is better just "
#| "to activate the desired trigger with B<dpkg-trigger>."
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 ""
"Sprawdza czy uruchomione B<dpkg> obsługuje wyzwalacze (zwykle wywoływane ze "
"skryptu postinst). Program kończy się z kodem 0, jeśli uruchamiane jest "
"B<dpkg> wspierające wyzwalacze, lub z kodem 1 i komunikatem błędu na stderr "
"w przeciwnym wypadku. Jednak normalnie lepiej jest po prostu aktywować "
"potrzebny wyzwalacz, używając B<dpkg-trigger>."

#. type: TP
#: dpkg-trigger.1:43
#, no-wrap
msgid "B<--by-package=>I<package>"
msgstr "B<--by-package=>I<pakiet>"

#. type: Plain text
#: dpkg-trigger.1:49
#, fuzzy
#| msgid ""
#| "Override trigger awaiter (normally set by B<dpkg> through the "
#| "DPKG_MAINTSCRIPT_PACKAGE environment variable of the maintainer scripts, "
#| "naming the package to which the script belongs, and this will be used by "
#| "default)."
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 ""
"Wymuszenie pakietu oczekującego na wyzwalacz. Normalnie ustawiane przez "
"B<dpkg> w zmiennej środowiskowej DPKG_MAINTSCRIPT_PACKAGE skryptu opiekuna "
"pakietu, wskazując nazwę pakietu, do którego należy skrypt (jest to wartość "
"używana domyślnie)."

#. type: TP
#: dpkg-trigger.1:49
#, no-wrap
msgid "B<--no-await>"
msgstr "B<--no-await>"

#. 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 ""
"Ta opcja zapewnia, że wywołujący pakiet T (jeśli jest) nie potrzebuje "
"oczekiwać na przetworzenie tego wyzwalacza. Tzw. \"zainteresowane\" pakiet"
"(y) I nie będą dodane do listy pakietów oczekujących na przetworzenie "
"wyzwalacza dla T, a status T nie zostanie zmieniony. Można uważać T za "
"zainstalowany, mimo że pakiet(y) I wyzwalacz mógł jeszcze nie zostać "
"przetworzony."

#. type: TP
#: dpkg-trigger.1:56
#, no-wrap
msgid "B<--no-act>"
msgstr "B<--no-act>"

#. type: Plain text
#: dpkg-trigger.1:59
msgid "Just test, do not actually change anything."
msgstr " Tylko test - bez wykonywania żadnych zmian."

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

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

#. type: Plain text
#: dpkg-vendor.1:4
msgid "dpkg-vendor - queries information about distribution vendors"
msgstr "dpkg-vendor - odczytuje informację o twórcach dystrybucji"

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

#. 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 ""
"B<dpkg-vendor> jest narzędziem pozwalającym na odczytywanie informacji o "
"twórcach wymienionych w B</etc/dpkg/origins>. B</etc/dpkg/origins/default> "
"zawiera informacje dotyczące aktualnego twórcy."

#. type: TP
#: dpkg-vendor.1:15
#, no-wrap
msgid "B<--is>I< vendor>"
msgstr "B<--is>I< twórca>"

#. type: Plain text
#: dpkg-vendor.1:19
#, fuzzy
#| msgid ""
#| "Exits with 0 if the current vendor is I<vendor>. Otherwise exits with non-"
#| "zero."
msgid ""
"Exits with B<0> if the current vendor is I<vendor>. Otherwise exits with non-"
"zero."
msgstr ""
"Kończy się zwracając 0 jeśli aktualny twórca to I<twórca>. W przeciwnym "
"wypadku kończy się zwracając wartość różną od zera."

#. type: TP
#: dpkg-vendor.1:19
#, no-wrap
msgid "B<--derives-from>I< vendor>"
msgstr "B<--derives-from>I< twórca>"

#. type: Plain text
#: dpkg-vendor.1:24
#, fuzzy
#| msgid ""
#| "Exits with 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."
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 ""
"Kończy się zwracając 0 jeśli aktualna dystrybucja twórcy jest pochodną "
"podanego I<twórcy>, w przeciwnym wypadku kończy się zwracając wartość różną "
"od zera. Używa pola \"Parent\" aby zbadać wszystkich przodków bieżącego "
"twórcy."

#. type: TP
#: dpkg-vendor.1:24
#, no-wrap
msgid "B<--query>I< field>"
msgstr "B<--query>I< pole>"

#. 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 ""
"Wyświetla na standardowym wyjściu wartość określonego I<pola> odczytanego z "
"informacji dotyczących aktualnego twórcy."

#. type: TP
#: dpkg-vendor.1:36
#, no-wrap
msgid "B<--vendor>I< vendor>"
msgstr "B<--vendor>I< twórca>"

#. type: Plain text
#: dpkg-vendor.1:41
#, fuzzy
#| msgid ""
#| "Assumes the current vendor is I<vendor> instead of discovering it with "
#| "the DEB_VENDOR environment variable or B</etc/dpkg/origins/default>."
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 ""
"Przyjmuje, że aktualnym twórcą jest I<twórca>, zamiast określania tego przez "
"zmienną środowiska DEB_VENDOR lub odczyt z B</etc/dpkg/origins/default>."

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

#. 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 ""
"Ustawienie określające aktualnego twórcę. Jeśli nie jest ustawione, aktualny "
"twórca zostanie określony poprzez odczytanie z B</etc/dpkg/origins/default>."

#. type: Plain text
#: dpkg-vendor.1:50 update-alternatives.8:498
msgid "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"

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

#
#. type: Plain text
#: dselect.1:4
msgid "dselect - Debian package management frontend"
msgstr "dselect - konsolowe narzędzie zarządzania pakietami Debiana"

#
#. type: Plain text
#: dselect.1:8
#, fuzzy
#| msgid "B<dpkg> [I<options>] I<action>"
msgid "B<dselect> [I<option>...] [I<action>]"
msgstr "B<dpkg> [I<opcje>] I<działanie>"

#. 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 ""
"B<dselect>\n"
"jest jednym z podstawowych narzędzi użytkownika do zarządzania\n"
"pakietami Debiana. Z głównego menu programu B<dselect> administrator systemu może:\n"
" - zaktualizować listę dostępnych pakietów,\n"
" - wyświetlić stan zainstalowanych i dostępnych wersji pakietów,\n"
" - wybierać pakiety i zarządzać zależnościami,\n"
" - zainstalować nowe pakiety lub zaktualizować pakiety do nowszych wersji.\n"

#. 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 ""
"B<dselect> jest nakładką na polecenie B<dpkg(1)>, niskopoziomowe narzędzie "
"zarządzania pakietami Debiana. Jego podstawową zaletą jest menadżer "
"pełnoekranowego wyboru pakietów z możliwością znajdowania zależności między "
"nimi i rozwiązywania konfliktów. Program uruchomiony z prawami "
"administratora daje możliwość instalowania, aktualizowania oraz usuwania "
"pakietów. Można skonfigurować różnorodne metody dostępu, za których pomocą "
"można ściągnąć z repozytorium pakietów zarówno informacje o dostępnych "
"wersjach pakietów, jak i same pakiety do zainstalowania. W zależności od "
"metody dostępu repozytoria te mogą się znajdować na publicznych serwerach-"
"archiwach w Internecie, lokalnych serwerach z archiwami lub na CD-ROM-ach. "
"Zalecaną metodą dostępu jest metoda I<apt>, dostarczana przez pakiet B<apt>."

#
#. type: Plain text
#: dselect.1:35
#, fuzzy
#| 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 commandline "
#| "parameters are still available to modify the running behaviour of "
#| "B<dselect> or show additional information about the program."
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 ""
"Zazwyczaj B<dselect> jest uruchamiany bez żadnych parametrów. Wtedy "
"wyświetlane jest interaktywne menu z listą akcji. Jeżeli akcja zostanie "
"podana jako argument wywołania programu, to ta akcja jest od razu "
"wykonywana. Ponadto jest dostępnych kilka parametrów wywołania, które "
"modyfikują zachowanie B<dselecta> albo wyświetlają dodatkowe informacje o "
"programie."

#
#. type: Plain text
#: dselect.1:43
#, fuzzy
#| msgid ""
#| "All options can be specified both on the commandline and in the "
#| "B<dselect> configuration file I</etc/dpkg/dselect.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 "
#| "commandline option but without leading dashes) or a comment (if it starts "
#| "with a B<#>)."
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 ""
"Wszystkie opcje mogą być podane zarówno w linii poleceń, jak i w pliku "
"konfiguracyjnym I</etc/dpkg/dselect.cfg> programu B<dselect> lub w plikach w "
"katalogu konfiguracyjnym I</etc/dpkg/dpkg.cfg.d/>. Każda linia pliku "
"konfiguracyjnego jest albo opcją (dokładnie taką samą jak opcja linii "
"poleceń, ale bez początkowych myślników), albo komentarzem (jeżeli zaczyna "
"się od B<#>)."

#. 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 ""
"Zmienia katalog zawierający pliki \"I<status>\" ,\"I<available>\" i inne "
"potrzebne programowi B<dpkg>. Domyślnym katalogiem jest I</var/lib/dpkg> i "
"zazwyczaj nie powinno być potrzeby zmieniania go na inny."

#. type: TP
#: dselect.1:49
#, fuzzy, no-wrap
#| msgid "B<--debug>I< E<lt>fileE<gt> >|I< >B<-D>I<E<lt>fileE<gt>>"
msgid "B<--debug>I< file >|I< >B<-D>I<file>"
msgstr "B<--debug>I< E<lt>plikE<gt> >|I< >B<-D>I<E<lt>plikE<gt>>"

#
#. type: Plain text
#: dselect.1:52
#, fuzzy
#| msgid ""
#| "Turn on debugging. Debugging information is sent to I<E<lt>fileE<gt>>."
msgid "Turn on debugging. Debugging information is sent to I<file>."
msgstr ""
"Włącza opcję debuggera. Informacje debuggera są wysyłane do "
"I<E<lt>plikuE<gt>>."

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

#
#. type: Plain text
#: dselect.1:56
msgid ""
"Turns on expert mode, i.e. doesn't display possibly annoying help messages."
msgstr ""
"Włącza tryb doświadczonego użytkownika i na przykład nie wyświetla męczących "
"informacji z pomocą."

#. type: TP
#: dselect.1:56
#, no-wrap
msgid "B<--colour>|B<--color> I<screenpart:>[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]"
msgstr "B<--colour>|B<--color> I<część_ekranu:>[I<pierwszoplan>],[I<tło>][I<:atr>[I<+atr+..>]]"

#. 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 ""
"Ustawia kolory ekranu. Działa tylko pod warunkiem, że terminal obsługuje "
"kolory. Ta opcja może zostać użyta wiele razy (i najlepiej jej używać w "
"I<dselect.cfg>). Każde użycie zmienia kolor (i opcjonalnie inne atrybuty) "
"jakiejś części ekranu. Części ekranu są następujące (od góry do dołu):"

#. type: TP
#: dselect.1:64
#, no-wrap
msgid "B<title>"
msgstr "B<title>"

#
#. type: Plain text
#: dselect.1:67
msgid "The screen title."
msgstr "Tytuł ekranu."

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

#
#. type: Plain text
#: dselect.1:70
msgid "The header line above the list of packages."
msgstr "Linia nagłówka nad listą pakietów."

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

#
#. type: Plain text
#: dselect.1:73
msgid "The scrolling list of packages (and also some help text)."
msgstr "Przewijana lista pakietów (i również niektóre teksty pomocy)."

#. type: TP
#: dselect.1:73
#, no-wrap
msgid "B<listsel>"
msgstr "B<listsel>"

#
#. type: Plain text
#: dselect.1:76
msgid "The selected item in the list."
msgstr "Podświetlony element z listy."

#. type: TP
#: dselect.1:76
#, no-wrap
msgid "B<pkgstate>"
msgstr "B<pkgstate>"

#
#. type: Plain text
#: dselect.1:80
msgid ""
"In the list of packages, the text indicating the current state of each "
"package."
msgstr "W liście pakietów - tekst oznaczający obecny stan każdego pakietu."

#. type: TP
#: dselect.1:80
#, no-wrap
msgid "B<pkgstatesel>"
msgstr "B<pkgstatesel>"

#
#. type: Plain text
#: dselect.1:84
msgid ""
"In the list of packages, the text indicating the current state of the "
"currently selected package."
msgstr ""
"W liście pakietów - tekst oznaczający obecny stan podświetlonego pakietu."

#. type: TP
#: dselect.1:84
#, no-wrap
msgid "B<infohead>"
msgstr "B<infohead>"

#
#. type: Plain text
#: dselect.1:87
msgid ""
"The header line that displays the state of the currently selected package."
msgstr ""
"Linia nagłówka, w której wyświetlony jest stan obecnie zaznaczonego pakietu."

#. type: TP
#: dselect.1:87
#, no-wrap
msgid "B<infodesc>"
msgstr "B<infodesc>"

#
#. type: Plain text
#: dselect.1:90
msgid "The package's short description."
msgstr "Krótki opis pakietu."

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

#
#. type: Plain text
#: dselect.1:93
msgid "Used to display package info such as the package's description."
msgstr "Używane do wyświetlania informacji o pakiecie takich jak jego opis."

#. type: TP
#: dselect.1:93
#, no-wrap
msgid "B<infofoot>"
msgstr "B<infofoot>"

#
#. type: Plain text
#: dselect.1:96
msgid "The last line of the screen when selecting packages."
msgstr "Ostatnia linia ekranu z wyborem pakietów."

#. type: TP
#: dselect.1:96
#, no-wrap
msgid "B<query>"
msgstr "B<query>"

#
#. type: Plain text
#: dselect.1:99
msgid "Used to display query lines"
msgstr "Używane do wyświetlania linii zapytań."

#. type: TP
#: dselect.1:99
#, no-wrap
msgid "B<helpscreen>"
msgstr "B<helpscreen>"

#. type: Plain text
#: dselect.1:102
msgid "Color of help screens."
msgstr "Kolor ekranów pomocy."

#
#. 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 ""
"Po części ekranu następuje dwukropek i specyfikacja koloru. Można określić "
"kolor czcionek, kolor tła albo oba te kolory, unieważniając domyślne "
"wartości kolorów. Należy używać standardowych nazw kolorów z biblioteki "
"curses."

#
#. 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 ""
"Opcjonalnie, po specyfikacji kolorów można dodać jeszcze jeden dwukropek, a "
"po nim opis atrybutów. Jest to lista zawierająca jeden lub więcej atrybutów "
"oddzielonych znakami plusa (\"+\"). Dostępne atrybuty (nie wszystkie "
"działają na wszystkich terminalach) to: normal (normalny), standout "
"(wyróżniony), underline (podkreślony), reverse (odwrócony), blink "
"(migający), bright (jasny), dim (ciemny), bold (pogrubiony)."

#
#. type: Plain text
#: dselect.1:116
msgid "Print a brief help text and exit successfully."
msgstr "Wyświetla krótką informację o pomocy i pomyślnie kończy działanie."

#
#. type: Plain text
#: dselect.1:119
msgid "Print version information and exit successfully."
msgstr "Wyświetla informację o wersji i pomyślnie kończy działanie."

#
#. type: Plain text
#: dselect.1:126
#, fuzzy
#| msgid ""
#| "When B<dselect> is started interactively, it prompts the user with a menu "
#| "of available actions:"
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 ""
"B<dselect> uruchomiony w trybie interakcyjnym wyświetla menu z następującymi "
"akcjami:"

#. type: SS
#: dselect.1:126
#, no-wrap
msgid "access"
msgstr "access (dostęp)"

#
#. type: Plain text
#: dselect.1:128
msgid "Choose and configure an access method to access package repositories."
msgstr "Wybiera metodę dostępu używaną do znalezienia repozytorium pakietów."

#
#. type: Plain text
#: dselect.1:134
#, fuzzy
#| msgid ""
#| "By default, B<dselect> provides several methods such as I<floppy>, "
#| "I<harddisk> or I<cdrom>, but other packages may provide additional "
#| "methods, eg. the I<apt> access method provided by the B<apt> package or "
#| "I<multi_cd> by the B<dpkg-multicd> package."
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 ""
"Domyślnie istnieje kilka metod, takich jak I<floppy> (dyskietka), "
"I<harddisk> (dysk twardy) lub I<cdrom> (CD-ROM), ale inne pakiety mogą "
"dostarczyć dodatkowych metod, na przykład metody I<apt> dostarcza pakiet "
"B<apt>, a I<multi_cd> - pakiet B<dpkg-multicd>."

#
#. type: Plain text
#: dselect.1:136
msgid "The use of the I<apt> access method is strongly recommended."
msgstr "Zalecane jest używanie metody I<apt>."

#. type: SS
#: dselect.1:137
#, no-wrap
msgid "update"
msgstr "update (aktualizacja)"

#. type: Plain text
#: dselect.1:139
msgid "Refresh the available packages database."
msgstr "Aktualizuje bazę dostępnych pakietów."

#. 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 ""
"Ściąga listę dostępnych wersji pakietów z repozytorium pakietów, "
"skonfigurowanego za pomocą wybranej metody dostępu, i aktualizuje bazę "
"pakietów programu dpkg. Listy pakietów są zwyczajowo zawarte w repozytorium "
"w plikach nazwanych I<Packages> lub I<Packages.gz>. Pliki te mogą zostać "
"wygenerowane przez opiekunów repozytoriów za pomocą programu B<dpkg-"
"scanpackages>(1)."

#. 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 ""
"Szczegóły aktualizacji zależą od implementacji metody dostępu. Zazwyczaj ten "
"proces jest bardzo prosty i nie wymaga interakcji z użytkownikiem."

#. type: SS
#: dselect.1:150
#, no-wrap
msgid "select"
msgstr "select (wybór)"

#
#. type: Plain text
#: dselect.1:152
msgid "View or manage package selections and dependencies."
msgstr ""
"Wyświetla informacje o wyborze pakietów i zależnościach oraz zarządza nimi."

#
#. 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 ""
"Jest to główna funkcja programu B<dselect>. W ekranie wyboru pakietów "
"użytkownik może przeglądać listę dostępnych i zainstalowanych pakietów. "
"Jeżeli program działa z uprawnieniami administratora, możliwe jest "
"interaktywne zmienianie stanu pakietów. B<dselect> śledzi wpływ tych zmian "
"na pakiety zależne."

#. 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 ""
"Jeśli zostanie wykryty konflikt lub niespełniona zależność, wyświetlany jest "
"ekran rozwiązywania zależności pokazujący listę pakietów, powodujących "
"konflikt lub niespełnioną zależność i dla każdego wyświetlonego pakietu - "
"przyczynę, dla której jest on wyświetlony. Użytkownik może zastosować się do "
"sugestii zaproponowanych przez B<dselect>, unieważnić je lub wycofać się ze "
"zmian, włączając w to pakiety, które spowodowały niespełnione zależności lub "
"konflikty."

#
#. type: Plain text
#: dselect.1:168
msgid ""
"The use of the interactive package selections management screen is explained "
"in more detail below."
msgstr ""
"Używanie ekrany do zarządania interaktywnym wyborem pakietów jest "
"szczegółowo wyjąśnione poniżej."

#. type: SS
#: dselect.1:169
#, no-wrap
msgid "install"
msgstr "install (instalacja)"

#
#. type: Plain text
#: dselect.1:171
msgid "Installs selected packages."
msgstr "Instaluje wybrane pakiety."

#
#. 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 ""
"Za pomocą skonfigurowanej metody dostępu zostaną z odpowiednich repozytoriów "
"pobrane pakiety do zainstalowania lub zaktualizowania za pomocą programu "
"B<dpkg>. Zależnie od implementacji tej metody dostępu, pakiety mogą zostać "
"pobrane wcześniej - przed instalacją - lub wtedy, gdy będą potrzebne. "
"Niektóre metody dostępu również usuwają pakiety zaznaczone do usunięcia."

#. 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 ""
"Jeżeli podczas instalacji wystąpi błąd, poleca się uruchomienie akcji "
"install jeszcze raz. W większości przypadków, problemy same znikną lub "
"zostaną rozwiązane. Jeśli problem pozostaje lub przeprowadzona instalacja "
"była nieprawidłowa, prosimy o zbadanie przyczyn problemu i okoliczności jego "
"wystąpienia i o wysłanie reportu o błędzie do systemu śledzenia błędów "
"Debiana. Instrukcje, jak to zrobić, można znaleźć pod adresem http://bugs."
"debian.org/ albo w dokumentacji programów B<bug>(1) lub B<reportbug>(1), "
"jeżeli są zainstalowane."

#. 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 ""
"Szczegóły dotyczące akcji instalacji zależą od implementacji metody dostępu. "
"Podczas instalacji, konfiguracji czy usuwania pakietów może być potrzebna "
"interakcja z użytkownikiem. Zależy to od skryptów opiekuna pakietu. Niektóre "
"pakiety używają biblioteki B<debconf>(1), co pozwala na bardziej elastyczną "
"lub nawet w pełni automatyczną instalację pakietu."

#. type: SS
#: dselect.1:193
#, no-wrap
msgid "config"
msgstr "config (konfigurowanie)"

#
#. type: Plain text
#: dselect.1:195
msgid "Configures any previously installed, but not fully configured packages."
msgstr ""
"Konfiguruje wszystkie pakiety poprzednio zainstalowane, ale nie do końca "
"skonfigurowane."

#. type: SS
#: dselect.1:196
#, no-wrap
msgid "remove"
msgstr "remove (usuwanie)"

#. type: Plain text
#: dselect.1:198
msgid "Removes or purges installed packages, that are marked for removal."
msgstr ""
"Usuwa lub czyści te zainstalowane pakiety, które są zaznaczone do usunięcia."

#. type: SS
#: dselect.1:199
#, no-wrap
msgid "quit"
msgstr "quit (wyjście)"

#. type: Plain text
#: dselect.1:201
msgid "Quit B<dselect>"
msgstr "Wyjście z B<dselect>."

#
#. type: Plain text
#: dselect.1:203
msgid "Exits the program with zero (successful) errorcode."
msgstr "Wychodzi z programu z zerowym kodem błędu (pomyślnie)."

#. type: SH
#: dselect.1:205
#, no-wrap
msgid "Package selections management"
msgstr "Zarządzanie wyborem pakietów"

#. type: SS
#: dselect.1:207
#, no-wrap
msgid "Introduction"
msgstr "Wstęp"

#. 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 ""
"B<dselect> odkrywa przed administratorem niektóre złożoności wiążące się z "
"zarządzaniem dużym zbiorem pakietów z wieloma zależnościami między nimi. Dla "
"użytkownika, który nie jest zaznajomiony z koncepcjami Debianowego systemu "
"zarządzania pakietami, może to być bardzo przytłaczające. Chociaż celem "
"programu B<dselect> jest ułatwienie zarządzania i administrowania pakietami, "
"jest on tylko instrumentem służącym do tego i nie może w wystarczającym "
"stopniu zastąpić umiejętności i wiedzy administratora. Użytkownik powinien "
"być zaznajomiony z koncepcjami leżącymi u podstaw systemu pakietów Debiana. "
"W razie jakichkolwiek wątpliwości, należy je sprawdzić w podręczniku B<dpkg>"
"(1) oraz w podręczniku \"Zasady polityki Debiana\" zawartym w pakiecie "
"B<debian-policy>."

#
#. 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 ""
"Jeżeli B<dselect> nie był uruchomiony w trybie eksperta (expert) lub trybie "
"pilnym (immediate), to po wybraniu akcji z menu, wyświetlany jest ekran "
"pomocy. Użytkownik I<powinien> dokładnie przeczytać wszystkie informacje "
"zawarte w ekranach pomocy, kiedy się pojawiają. Ekrany pomocy mogą zostać "
"wyświetlone w dowolnym momencie przez wybranie klawisza B<\"?\">."

#. type: SS
#: dselect.1:230
#, no-wrap
msgid "Screen layout"
msgstr "Układ ekranu"

#. 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 ""
"Ekran wyboru pakietów domyślnie podzielony jest na górną i dolną połowę. W "
"górnej połowie wyświetlona jest lista pakietów. Za pomocą paska wyboru można "
"wybrać pojedynczy pakiet lub grupę pakietów, przez zaznaczenie nagłówka "
"grupy pakietów. W dolnej połowie ekranu pokazane są szczegółowe informacje "
"na temat pakietu obecnie wybranego w górnej połowie ekranu. Typ tych "
"informacji może być różny."

#. 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 ""
"Naciśnięcie klawisza B<\"I\"> przełącza pomiędzy pełnoekranowym widokiem "
"pakietów, powiększonym widokiem szczegółowych informacji o pakiecie albo "
"dzieli ekran na połowę."

#. type: SS
#: dselect.1:242
#, no-wrap
msgid "Package details view"
msgstr "Widok szczegółowych informacji o pakiecie"

#. 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 ""
"W widoku szczegółowych informacji o pakiecie domyślnie wyświetlony jest rozszerzony\n"
"opis pakietu obecnie wybranego w liście pakietów.\n"
"Typ tych informacji może być zmieniony za pomocą klawisza B<\"i\">. Możliwe wybory są\n"
"następujące:\n"
" - poszerzony opis\n"
" - informacja o zainstalowanej wersji pakietu\n"
" - informacja o dostępnej wersji pakietu\n"

#
#. 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 ""
"Ekran rozwiązywania zależności daje także możliwość podejrzenia określonych "
"niespełnionych zależności bądź konfliktów związanych z pakietem, tj. tych "
"zależności, które spowodowały wylistowanie tego pakietu."

#. type: SS
#: dselect.1:256
#, no-wrap
msgid "Packages status list"
msgstr "Lista stanów pakietów"

#. 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 ""
"W głównym ekranie wyboru pakietów wyświetlona jest lista wszystkich pakietów "
"znanych systemowi zarządzania pakietami Debiana. Są to zarówno pakiety "
"zainstalowane w systemie, jak i pakiety zawarte w bazie dostępnych pakietów."

#
#. 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 ""
"Dla każdego pakietu pokazane są: jego stan, priorytet, sekcja, numer wersji "
"zainstalowanej i numer wersji dostępnej, nazwa pakietu oraz krótki opis - "
"wszystko w jednej linii. Naciskając klawisz B<\"V\">, można włączać i "
"wyłączać wyświetlanie informacji o numerze zainstalowanej i dostępnej wersji "
"pakietu. Naciśnięcie klawisza B<\"v\"> powoduje przełączanie pomiędzy "
"wyświetlaniem rozwlekłego i skróconego opisu stanu pakietu. Skrócony opis "
"stanu jest wyświetlany domyślnie."

#
#. 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 ""
"Na skrócony opis stanu pakietu składają się cztery części: flaga błędu, "
"która normalnie powinna być czysta, obecny stan zainstalowania pakietu, "
"poprzedni stan wyboru pakietu oraz obecny stan wyboru pakietu. Dwie pierwsze "
"części są związane z obecnym stanem pakietu, kolejne dwie - związane z "
"wyborami dokonanymi przez użytkownika."

#. 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 ""
"Oznaczenia używane w skróconym opisie stanu pakietu są następujące:\n"
" Flaga błędu:\n"
"  I<pusty>   bez błędu;\n"
"  B<R>       poważny błąd, pakiet wymaga reinstalacji;\n"
" Stan instalacji:\n"
"  I<pusty>   nie zainstalowany;\n"
"  B<*>       w pełni zainstalowany i skonfigurowany;\n"
"  B<->       nie zainstalowany, ale mogły pozostać pliki konfiguracyjne;\n"
"  B<U>       rozpakowany, ale jeszcze nie skonfigurowany;\n"
"  B<C>       w połowie skonfigurowany (wystąpił błąd);\n"
"  B<I>       w połowie zainstalowany (wystąpił błąd).\n"
" Obecne i żądane wybory:\n"
"  B<*>       zaznaczony do zainstalowania lub zaktualizowania;\n"
"  B<->       zaznaczony do usunięcia z pozostawieniem plików konfig.;\n"
"  B<=>       wstrzymany: pakiet nie będzie przetwarzany;\n"
"  B<_>       zaznaczony do usunięcia i wyczyszczenia plików konfig.;\n"
"  B<n>       pakiet jest nowy i jeszcze nie był znaczony.\n"

#. type: SS
#: dselect.1:294
#, no-wrap
msgid "Cursor and screen movement"
msgstr "Przesuwanie kursora i ekranu"

#
#. 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 ""
"Ekran wyboru pakietów oraz ekran rozwiązywania zależności można przesuwać "
"używając poleceń przypisanych do następujących klawiszy:"

#. 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 ""
"  B<p, Up, k>           przesunięcie paska kursora w górę\n"
"  B<n, Down, j>         przesunięcie paska kursora w dół\n"
"  B<P, Pgup, Backspace> przesunięcie listy 1 stronę w górę\n"
"  B<N, Pgdn, Space>     przesunięcie listy 1 stronę w dół\n"
"  B<^p>                 przesunięcie listy 1 linię w górę\n"
"  B<^n>                 przesunięcie listy 1 linię w dół\n"
"  B<t, Home>            skok na początek listy\n"
"  B<e, End>             skok na koniec listy\n"
"  B<u>                  przesunięcie informacji 1 stronę w górę\n"
"  B<d>                  przesunięcie informacji 1 stronę w dół\n"
"  B<^u>                 przesunięcie informacji 1 linię w górę\n"
"  B<^d>                 przesunięcie informacji 1 linię w dół\n"
"  B<B, Left-arrow>      przesunięcie ekranu o 1/3 ekranu w lewo\n"
"  B<F, Right-arrow>     przesunięcie ekranu o 1/3 ekranu w prawo\n"
"  B<^b>                 przesunięcie ekranu o 1 znak w lewo\n"
"  B<^f>                 przesunięcie ekranu o 1 znak w prawo\n"

#. type: SS
#: dselect.1:317
#, no-wrap
msgid "Searching and sorting"
msgstr "Wyszukiwanie i sortowanie"

#. 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 ""
"Listę pakietów można przeszukiwać po nazwie pakietu. Można to zrobić, "
"przyciskając B<\"/\"> i wpisując tekst wyszukiwania, który jest "
"interpretowany jako wyrażenie regularne B<regex>(7). Dodanie B<\"/d\"> do "
"łańcucha wyszukiwania, spowoduje przeszukiwanie również opisów. Dodanie B<\"/"
"i\"> spowoduje ignorowanie wielkości znaków podczas wyszukiwania. Można "
"łączyć te sufiksy, na przykład tak: B<\"/id\">. Powtórne wyszukiwanie "
"następuje przez wielokrotne naciskanie klawiszy B<\"n\"> lub B<\"\\e\">, aż "
"do znalezienia poszukiwanego pakietu. Po osiągnięciu końca listy, "
"poszukiwanie jest kontynuowane od początku listy."

#. 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 ""
"Porządek sortowania listy można zmieniać przez wielokrotne naciskanie\n"
"klawiszy B<\"o\"> i B<\"O\">.\n"
"Można wybrać jeden z dziewięciu następujących porządków sortowania:\n"
" alfabetyczny      dostępny            stan\n"
" priorytet+sekcja  dostępny+priorytet  stan+priorytet\n"
" sekcja+priorytet  dostępny+sekcja     stan+sekcja\n"

#
#. type: Plain text
#: dselect.1:341
msgid ""
"Where not listed above explicitly, alphabetic order is used as the final "
"subordering sort key."
msgstr ""
"Tam gdzie nie jest to powyżej wyraźnie powiedziane, porządek alfabetyczny "
"jest używany jako klucz podwyszukiwania."

#. type: SS
#: dselect.1:342
#, no-wrap
msgid "Altering selections"
msgstr "Zmienianie wyboru pakietów"

#. 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 ""
"Żądany stan wyboru indywidualnych pakietów można zmienić\n"
"za pomocą następujących poleceń:\n"
"  B<+, Insert>    instalacja lub aktualizacja\n"
"  B<=, H>         wstrzymanie pakietu w obecnym stanie i wersji\n"
"  B<:, G>         zaprzestanie wstrzymania: aktualizacja pakietu lub pozostawienie go jako niezainstalowanego\n"
"  B<-, Delete>    usunięcie, ale z zostawieniem plików konfiguracyjnych\n"
"  B<_>            usunięcie z wyczyszczeniem plików konfiguracyjnych\n"

#
#. 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 ""
"Kiedy w wyniku zmian powstają jedna lub więcej niespełnionych zależności "
"albo konflikty, B<dselect> wyświetla użytkownikowi ekran rozwiązywania "
"zależności. Będzie on objaśniony nieco później."

#
#. 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 ""
"Powyższe polecenia można zastosować również do grup pakietów - przez "
"ustawienie paska kursora na nagłówku grupy. Sposób grupowania pakietów "
"zależy od ustawień sortowania listy pakietów."

#. 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 ""
"Należy zachować należytą ostrożność, zmieniając duże grupy pakietów, "
"ponieważ może to oznaczać natychmiastowe utworzenie dużej liczby "
"niespełnionych zależności i konfliktów, bardzo trudnej do rozwiązania. W "
"praktyce tylko operacje wstrzymania i zaprzestania wstrzymania są użyteczne "
"w odniesieniu do grup pakietów."

#. type: SS
#: dselect.1:367
#, no-wrap
msgid "Resolving depends and conflicts"
msgstr "Rozwiązywanie zależności i konfliktów"

#
#. 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 ""
"Kiedy w wyniku zmian powstają jedna lub więcej niespełnionych zależności "
"albo konflikty, B<dselect> wyświetla użytkownikowi ekran rozwiązywania "
"zależności. Najpierw, jednakże, wyświetlany jest ekran pomocy."

#
#. 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 ""
"W górnej połowie ekranu rozwiązywania zależności wyświetlone są wszystkie te "
"pakiety, które w wyniku zastosowania żądanych przez użytkownika zmian "
"miałyby niespełnione zależności albo konflikty, oraz wszystkie te pakiety, "
"których instalacja spełniłaby któreś z tych zależności, lub których "
"usunięcie rozwiązałoby konflikty. W dolnej połowie wyświetlone są te "
"zależności lub konflikty, które spowodowały, że obecnie wybrany pakiet "
"został umieszczony na liście."

#
#. 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 ""
"Wyświetlając początkową podlistę pakietów, B<dselect> mógł ustawić już pewne "
"żądane wybory niektórych spośród wylistowanych pakietów, w celu rozwiązania "
"zależności lub konfliktów, które były przyczyną wyświetlenia ekranu "
"rozwiązywania zależności. Zazwyczaj najlepszym wyjściem jest zastosowanie "
"się do sugestii zrobionych przez B<dselect>."

#
#. 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 ""
"Możliwe jest przywrócenie stanu wyborów wylistowanych pakietów do "
"poprzednich ustawień, zanim zostały stworzone nierozwiązane zależności lub "
"konflikty - przez naciśnięcie klawisza B<\"R\">. Naciskając klawisz B<\"D"
"\">, spowodujemy odznaczenie automatycznych propozycji i jest przy tym "
"zachowywana zmiana, która spowodowała wyświetlenie ekranu rozwiązywania "
"zależności. W końcu, po naciśnięciu klawisza B<\"U\"> wybory są ponownie "
"ustawiane na sugerowane wartości."

#. type: SS
#: dselect.1:394
#, no-wrap
msgid "Establishing the requested selections"
msgstr "Ustanawianie żądanych wyborów pakietów"

#
#. 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 ""
"Po naciśnięciu klawisza B<enter>, obecnie wyświetlony zbiór wyborów zostaje "
"zaakceptowany. Jeżeli B<dselect> nie wykryje niespełnionych zależności "
"powstałych w wyniku zaakceptowania żądanych wyborów, to zostaną one "
"ustawione. Jednakże, jeżeli będą nierozwiązane zależności, to B<dselect> "
"ponownie wyświetli ekran rozwiązywania zależności."

#
#. 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 ""
"Aby zmienić zbiór wyborów, który powoduje powstanie nierozwiązanych "
"zależności i zmusić B<dselect> do zaakceptowania go, należy nacisnąć klawisz "
"B<\"Q\">. Spowoduje to bezwarunkowe ustawienie wyborów podanych przez "
"użytkownika. Ogólnie, nie należy tego robić."

#
#. 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 ""
"Aby uzyskać przeciwny efekt - wycofanie się ze wszystkich zmian i powrócenie "
"do poprzedniej listy wyborów, należy nacisnąć klawisze B<\"X\"> lub "
"B<escape>. Przez powtarzające się przyciskanie tych klawiszy można wycofać "
"się ze wszystkich potencjalnie szkodliwych zmian w wyborze pakietów aż do "
"ostatniego dobrego ustawienia."

#. 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 ""
"Jeżeli pewne ustawienia przez pomyłkę zostały włączone i istnieje potrzeba "
"wycofania tych zmian i zmienienia ustawień na takie, jakie są obecnie w "
"systemie, należy użyć przycisku B<\"C\">. Jest to trochę podobne do "
"polecenia unhold wydanego na wszystkich pakietach, ale dostarcza bardziej "
"oczywistego sposobu działania w sytuacji, gdy użytkownik nacisnął B<Enter> "
"przez pomyłkę."

#. 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 ""
"Dla nowych użytkowników, B<dselect> może być trudny do opanowania. Podobno "
"zmusza do płaczu nawet wytrawnych współtwórców jądra Linuksa."

#
#. type: Plain text
#: dselect.1:436
msgid "The documentation is lacking."
msgstr "Dokumentacja jest wybrakowana."

#
#. type: Plain text
#: dselect.1:438
msgid "There is no help option in the main menu."
msgstr "Brak opcji \"pomoc\" w głównym menu."

#
#. type: Plain text
#: dselect.1:440
msgid "The visible list of available packages cannot be reduced."
msgstr "Nie można ograniczyć listy dostępnych pakietów."

#. 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 ""
"Wbudowane metody dostępu nie są zgodne z obecnymi standardami jakości. "
"Należy używać metody apt, która nie tylko nie jest zepsuta, ale także jest o "
"wiele bardziej elastyczna niż metody wbudowane."

#
#. type: Plain text
#: dselect.1:450
msgid "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."
msgstr "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."

#
#. type: Plain text
#: dselect.1:455
#, fuzzy
#| msgid ""
#| "B<dselect> was written by Ian Jackson (ijackson@gnu.ai.mit.edu). Full "
#| "list of contributors may be found in `dselect --license'."
msgid ""
"B<dselect> was written by Ian Jackson (ijackson@gnu.ai.mit.edu). Full list "
"of contributors may be found in 'dselect --version'."
msgstr ""
"B<dselect> napisał Ian Jackson (ijackson@gnu.ai.mit.edu). Pełną listę "
"współtwórców można uzyskać wykonując \"dselect --license\"."

#
#. 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 ""
"Podręcznik napisali Juho Vuori E<lt>javuori@cc.helsinki.fiE<gt>, Josip Rodin "
"i Joost kooij."

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

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

#. type: Plain text
#: dselect.cfg.5:4
msgid "dselect.cfg - dselect configuration file"
msgstr "dselect.cfg - plik konfiguracyjny programu dselect "

#. 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. Quotes "
#| "surrounding option values are stripped. 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 ""
"Plik ten zawiera domyślne opcje programu dselect. W każdej linii wymieniona "
"jest pojedyncza opcja, dokładnie taka sama jak normalna opcja linii poleceń "
"programu dselect, z wyjątkiem tego, że nie są używane początkowe myślniki. "
"Znaki cudzysłowów otaczające wartości opcji są usuwane. Można używać "
"komentarzy, zaczynając linię znakiem hash (\"B<#>\")."

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

#. 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 ""
"Patrz plik I</usr/share/doc/dpkg/THANKS.gz> zawierający listę osób, które "
"przyczyniły się do rozwoju programu B<dselect>."

#. 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 "start-stop-daemon"

#
#. type: Plain text
#: start-stop-daemon.8:4
msgid "start-stop-daemon - start and stop system daemon programs"
msgstr "start-stop-daemon - uruchamia i zatrzymuje demony systemowe"

#
#. type: Plain text
#: start-stop-daemon.8:8
#, fuzzy
#| msgid "B<start-stop-daemon> [I<options>] I<command>"
msgid "B<start-stop-daemon> [I<option>...] I<command>"
msgstr "B<start-stop-daemon> [I<opcje>] I<polecenie>"

#
#. 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 ""
"B<start-stop-daemon> jest wykorzystywany do kontroli procesów uruchamianych "
"i zatrzymywanych podczas przełączania trybów pracy. Przez użycie jednej z "
"opcji dopasowywania, można skonfigurować B<start-stop-daemon> do "
"wyszukiwania istniejących instancji działającego procesu."

#
#. 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 ""
"Proszę zauważyć, że jeżeli nie podano opcji B<--pidfile>, to B<start-stop-"
"daemon> zachowuje się podobnie do B<killall>(1). B<start-stop-daemon> "
"przejrzy tabelę procesów, szukając jakiegokolwiek procesu o zgodnej nazwie, "
"identyfikatorze użytkownika i/lub grupy (jeżeli je podano). Znalezienie "
"jakiegokolwiek pasującego procesu spowoduje, że B<--start> nie uruchomi "
"procesu. W wypadku opcji B<--stop> do wszystkich pasujących procesów "
"zostanie wysłany sygnał TERM (lub inny, określony w opcji B<--signal> lub "
"B<--retry>). Dla procesów mających długo żyjące procesy potomne, które muszą "
"przeżyć operację B<--stop>, należy określić plik pidfile."

#
#. type: TP
#: start-stop-daemon.8:35
#, no-wrap
msgid "B<-S>, B<--start> [B<-->] I<arguments>"
msgstr "B<-S>, B<--start> [B<-->] I<argumenty>"

#
#. 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 ""
"Sprawdza, czy dany proces jest już uruchomiony. Jeśli tak jest, to B<start-"
"stop-daemon> nie wykonuje żadnych czynności i kończy się, zwracając kod "
"błędu 1 (lub 0, jeśli podano opcję B<--oknodo>). Jeśli dany proces nie jest "
"jeszcze uruchomiony, to go uruchamia,  wykonując program określony albo "
"opcją B<--exec>, albo jeśli podano, opcją B<--startas>. Wszelkie argumenty "
"podane tuż po opcji B<--> są przekazywane do wykonywanego polecenia."

#. type: TP
#: start-stop-daemon.8:52
#, no-wrap
msgid "B<-K>, B<--stop>"
msgstr "B<-K>, B<--stop>"

#
#. 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 ""
"Sprawdza, czy dany proces jest już uruchomiony. Jeśli tak jest, to B<start-"
"stop-daemon> wysyła sygnał określony opcją B<--signal> i kończy swoją pracę "
"z kodem błędu 0. Jeśli proces nie istnieje, B<start-stop-daemon> kończy się "
"z kodem błędu 1 (lub 0, jeśli podano opcję B<--oknodo>). Jeżeli podano opcję "
"B<--retry>, to B<start-stop-daemon> sprawdzi, czy proces(y) się zakończył(y)."

#. type: TP
#: start-stop-daemon.8:70
#, fuzzy, no-wrap
#| msgid "B<-K>, B<--stop>"
msgid "B<-T>, B<--status>"
msgstr "B<-K>, B<--stop>"

#. type: Plain text
#: start-stop-daemon.8:74
msgid ""
"Check for the existence of a specified process, and returns an exit status "
"code, according to the LSB Init Script Actions."
msgstr ""

#. type: TP
#: start-stop-daemon.8:74
#, no-wrap
msgid "B<-H>, B<--help>"
msgstr "B<-H>, B<--help>"

#. type: Plain text
#: start-stop-daemon.8:77
msgid "Show usage information and exit."
msgstr "Wyświetla informację o użytkowaniu programu i kończy działanie."

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

#. type: Plain text
#: start-stop-daemon.8:80
msgid "Show the program version and exit."
msgstr "Wyświetla informację o wersji programu i kończy działanie."

#. type: SH
#: start-stop-daemon.8:81
#, no-wrap
msgid "MATCHING OPTIONS"
msgstr "OPCJE DOPASOWYWANIA"

#. type: TP
#: start-stop-daemon.8:82
#, no-wrap
msgid "B<-p>, B<--pidfile> I<pid-file>"
msgstr "B<-p>, B<--pidfile> I<pid-file>"

#
#. type: Plain text
#: start-stop-daemon.8:86
msgid "Check whether a process has created the file I<pid-file>."
msgstr "Sprawdzanie procesów, których pid jest podany w pliku I<plik-pid>."

#. type: TP
#: start-stop-daemon.8:86
#, no-wrap
msgid "B<-x>, B<--exec> I<executable>"
msgstr "B<-x>, B<--exec> I<plik_wykonywalny>"

#
#. 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 ""
"Sprawdza istnienie procesów, które byłyby wywołane uruchomieniem podanego w "
"opcji programu (sprawdzana jest zawartość B</proc/>I<pid>B</exe>)."

#. type: TP
#: start-stop-daemon.8:90
#, no-wrap
msgid "B<-n>, B<--name> I<process-name>"
msgstr "B<-n>, B<--name> I<nazwa-procesu>"

#
#. 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 ""
"Sprawdzanie procesów o nazwie I<nazwa-procesu> (sprawdzana jest zawartość B</"
"proc/>I<pid>B</stat>)."

#. type: TP
#: start-stop-daemon.8:96
#, no-wrap
msgid "B<-u>, B<--user> I<username>|I<uid>"
msgstr "B<-u>, B<--user> I<username>|I<uid>"

#
#. type: Plain text
#: start-stop-daemon.8:102
msgid ""
"Check for processes owned by the user specified by I<username> or I<uid>."
msgstr ""
"Sprawdzanie procesów, których właścicielem jest użytkownik o nazwie "
"I<użytkownik> lub numerze I<uid>."

#. type: TP
#: start-stop-daemon.8:104
#, no-wrap
msgid "B<-g>, B<--group> I<group>|I<gid>"
msgstr "B<-g>, B<--group> I<group>|I<gid>"

#
#. type: Plain text
#: start-stop-daemon.8:107
msgid "Change to I<group> or I<gid> when starting the process."
msgstr "Podczas uruchamiania procesu zmienia grupę na I<grupę> lub I<gid>."

#. type: TP
#: start-stop-daemon.8:107
#, no-wrap
msgid "B<-s>, B<--signal> I<signal>"
msgstr "B<-s>, B<--signal> I<sygnał>"

#. type: Plain text
#: start-stop-daemon.8:112
msgid ""
"With B<--stop>, specifies the signal to send to processes being stopped "
"(default TERM)."
msgstr ""
"Przy operacji B<--stop>, wysyłany jest sygnał o podanej wartości do "
"zatrzymywanego procesu (domyślnie jest to TERM)."

#. type: TP
#: start-stop-daemon.8:112
#, no-wrap
msgid "B<-R>, B<--retry> I<timeout>|I<schedule>"
msgstr "B<-R>, B<--retry> I<timeout>|I<plan-działania>"

#
#. 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 ""
"W czasie operacji B<--stop> powoduje sprawdzenie przez B<start-stop-daemon>, "
"czy proces(y) się zakończył(y). Sprawdzanie jest powtarzane, jeżeli działa "
"jakikolwiek pasujący proces, dopóki wszystkie się nie skończą. Jeżeli "
"procesy się nie zakończą, podejmowane są akcje określone przez parametr "
"I<plan-działania>."

#
#. 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 ""
"Jeżeli określono I<timeout> zamiast I<planu-działania>, to wtedy używany "
"jest następujący plan działania: I<sygnał>B</>I<timeout>B</KILL/>I<timeout>, "
"gdzie I<sygnał> jest określony za pomocą opcji B<--signal>."

#
#. 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 ""
"I<plan-działania> jest listą co najmniej dwóch wartości oddzielonych znakami "
"ukośnika (B</>); każdą z tych wartości może być albo B<->I<numer-sygnału> "
"lub [B<->]I<nazwa-sygnału>, co oznacza wysłanie tego sygnału, albo "
"I<timeout>, określający liczbę sekund, którą należy czekać na zakończenie "
"procesu, albo I<forever>, oznaczający, że reszta planu działania ma być "
"powtarzana dopóki jest to konieczne."

#
#. 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 ""
"Jeżeli osiągnięto koniec planu działania, a opcja B<forever> nie została "
"użyta, to B<start-stop-daemon> kończy działanie z kodem błędu 2. Jeżeli "
"został określony plan działania, to sygnał podany w B<--signal> jest "
"ignorowany."

#. type: TP
#: start-stop-daemon.8:159
#, no-wrap
msgid "B<-a>, B<--startas> I<pathname>"
msgstr "B<-a>, B<--startas> I<nazwa-ścieżki>"

#
#. 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 ""
"Przy operacji B<--start>, Uruchamiany jest program o określonej I<ścieżce>. "
"Jeśli brak tej opcji, domyślnie uruchamiany jest program podany w opcji B<--"
"exec>."

#. type: TP
#: start-stop-daemon.8:167
#, no-wrap
msgid "B<-t>, B<--test>"
msgstr "B<-t>, B<--test>"

#
#. 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 ""
"Wyświetlana jest czynność, jaką należałoby wykonać, a także zwracany jest "
"odpowiedni kod błędu, jednakże opcja ta nie wykonuje żadnych operacji."

#. type: TP
#: start-stop-daemon.8:171
#, no-wrap
msgid "B<-o>, B<--oknodo>"
msgstr "B<-o>, B<--oknodo>"

#
#. type: Plain text
#: start-stop-daemon.8:174
msgid "Return exit status 0 instead of 1 if no actions are (would be) taken."
msgstr ""
"Zwracany jest kod błędu 0, nawet gdyby operacja nie zakończyła się "
"powodzeniem (zwróciłaby 1)."

#. type: TP
#: start-stop-daemon.8:174
#, no-wrap
msgid "B<-q>, B<--quiet>"
msgstr "B<-q>, B<--quiet>"

#
#. type: Plain text
#: start-stop-daemon.8:177
msgid "Do not print informational messages; only display error messages."
msgstr "Nie są wyświetlane żadne informacje oprócz komunikatów o błędach."

#. type: TP
#: start-stop-daemon.8:177
#, fuzzy, no-wrap
#| msgid "B<-c>, B<--chuid> I<username>|I<uid>"
msgid "B<-c>, B<--chuid> I<username>|I<uid>[B<:>I<group>|I<gid>]"
msgstr "B<-c>, B<--chuid> I<użytkownik>|I<uid>"

#. 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 ""
"Zmiana użytkownika/uid przed uruchomieniem procesu. Można także zmienić "
"grupę przez dołączenie B<:> wraz z nazwą grupy bądź numerem gid, podobnie "
"jak w poleceniu \"chown\" (I<użytkownik>B<:>I<grupa>). Jeżeli nie podano "
"grupy, to zostanie użyta podstawowa grupa tego użytkownika. Podczas "
"korzystania z tej opcji należy pamiętać, że grupa główna i poboczne zostaną "
"ustawione, nawet gdy nie podano opcji B<--group>. Opcja B<--group> jest "
"przydatna tylko dla grup, których podany użytkownik nie jest członkiem (na "
"przykład przy dodawaniu procesowi członkostwa grupy dla takich użytkowników "
"jak B<nobody>)."

#. type: TP
#: start-stop-daemon.8:195
#, no-wrap
msgid "B<-r>, B<--chroot> I<root>"
msgstr "B<-r>, B<--chroot> I<root>"

#
#. 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 ""
"Zmienia katalog bieżący na I<root> i czyni go głównym katalogiem (rootem) "
"przed wystartowaniem procesu. Proszę zauważyć, że plik pidfile jest tworzony "
"po wykonaniu chroot."

#. type: TP
#: start-stop-daemon.8:201
#, no-wrap
msgid "B<-d>, B<--chdir> I<path>"
msgstr "B<-d>, B<--chdir> I<ścieżka>"

#
#. 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 ""
"Przed uruchomieniem procesu zmienia katalog bieżący na I<ścieżkę>. Robione "
"jest to przed zmienieniem głównego katalogu (roota), jeżeli podano również "
"opcję B<-r>|B<--chroot>. Jeśli nie podano tej opcji, to przed uruchomieniem "
"procesu B<start-stop-daemon> ustawi jego katalog bieżący na główny katalog "
"(root)."

#. type: TP
#: start-stop-daemon.8:209
#, no-wrap
msgid "B<-b>, B<--background>"
msgstr "B<-b>, B<--background>"

#
#. 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 ""
"Zwykle używa się tej opcji dla programów, które nie odłączają się od "
"terminala (detach) samoistnie. Ta opcja spowoduje, że B<start-stop-daemon> "
"utworzy proces potomny przed uruchomieniem programu i będzie kontynuować go "
"w tle. B<OSTRZEŻENIE: start-stop-daemon> nie może sprawdzić kodu błędu, "
"jeżeli proces się nie wykona z B<jakiegokolwiek> powodu. Ta opcja powinna "
"być używana w ostateczności i jest przewidziana tylko dla programów, które "
"same nie tworzą procesów potomnych i nie jest możliwe dodanie do samego "
"programu kodu uruchamiającego proces potomny."

#. type: TP
#: start-stop-daemon.8:221
#, no-wrap
msgid "B<-N>, B<--nicelevel> I<int>"
msgstr "B<-N>, B<--nicelevel> I<liczba>"

#
#. type: Plain text
#: start-stop-daemon.8:224
msgid "This alters the priority of the process before starting it."
msgstr "Zmienia priorytet uruchamianego procesu."

#. type: TP
#: start-stop-daemon.8:224
#, no-wrap
msgid "B<-P>, B<--procsched> I<policy>B<:>I<priority>"
msgstr "B<-P>, B<--procsched> I<polityka>B<:>I<priorytet>"

#. 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 ""
"Zmienia politykę i priorytet planisty procesów dla procesu przed jego "
"uruchomieniem. Priorytet może być opcjonalnie określony przez dodanie B<:> "
"po którym jest podana wartość. Domyślnym I<priorytetem> jest 0. Aktualnie "
"wspierane wartości dla I<polityki> to B<other>, B<fifo> oraz B<rr>."

#
#. type: TP
#: start-stop-daemon.8:230
#, no-wrap
msgid "B<-I>, B<--iosched> I<class>B<:>I<priority>"
msgstr "B<-I>, B<--iosched> I<klasa>B<:>I<priorytet>"

#. 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 ""
"Zmienia klasę i priorytet planisty wejścia/wyjścia dla procesu przed jego "
"uruchomieniem. Priorytet może być opcjonalnie określony przez dodanie B<:> "
"po którym jest podana wartość. Domyślnym I<priorytetem> jest 4, chyba że "
"wartością I<klasy> jest B<idle>, w którym to przypadku I<priorytet> będzie "
"zawsze równy 7. Aktualnie wspierane wartości dla I<klasy> to B<idle>, B<best-"
"effort> oraz B<real-time>."

#. type: TP
#: start-stop-daemon.8:237
#, no-wrap
msgid "B<-k>, B<--umask> I<mask>"
msgstr "B<-k>, B<--umask> I<maska>"

#. type: Plain text
#: start-stop-daemon.8:240
msgid "This sets the umask of the process before starting it."
msgstr "Ustawia maskę praw dostępu (umask) procesu przed jego uruchomieniem."

#. type: TP
#: start-stop-daemon.8:240
#, no-wrap
msgid "B<-m>, B<--make-pidfile>"
msgstr "B<-m>, B<--make-pidfile>"

#
#. 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 ""
"Opcja używana, gdy program sam nie tworzy własnego pliku pid. Wykorzystanie "
"tej opcji spowoduje, że B<start-stop-daemon> utworzy plik, który został "
"podany w opcji B<--pidfile> i umieści w nim numer pid tuż przed "
"uruchomieniem procesu. Należy zauważyć, że ta opcja nie skasuje tego pliku "
"po zatrzymaniu programu. B<UWAGA:> Ta opcja może nie zadziałać w każdym "
"przypadku. Nie zadziała przede wszystkim wtedy, gdy uruchamiany program "
"utworzy proces potomny. Z tego powodu opcja jest użyteczna jedynie wraz z "
"opcją B<--background>."

#
#. type: Plain text
#: start-stop-daemon.8:258
msgid "Print verbose informational messages."
msgstr "Wyświetlane są dodatkowe komunikaty."

#. 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 ""
"Uruchamia demon B<food>, jeśli jeszcze nie działa (proces nazwany food, "
"działający jako użytkownik food, z identyfikatorem procesu w pliku food.pid):"

#. 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 "start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon\n"

#. 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 "Wyślij B<SIGTERM> do B<food> i czekaj do 5 sekund na jego zakończenie:"

#. 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 "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry 5\n"

#. type: Plain text
#: start-stop-daemon.8:317
msgid "Demonstration of a custom schedule for stopping B<food>:"
msgstr "Przykład własnego planu zatrzymywania B<food>:"

#. 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 "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry=TERM/30/KILL/5\n"

#. 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 ""
"Marek Michałkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> na podstawie "
"poprzedniej wersji napisanej przez Iana Jacksona E<lt>ijackson@gnu.ai.mit."
"eduE<gt>"

#
#. 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 ""
"Podręcznik napisał Klee Dienes E<lt>klee@mit.eduE<gt>, a poprawił Ian "
"Jackson."

#. type: TH
#: update-alternatives.8:8
#, no-wrap
msgid "update-alternatives"
msgstr "update-alternatives"

#. type: Plain text
#: update-alternatives.8:11
msgid ""
"update-alternatives - maintain symbolic links determining default commands"
msgstr ""
"update-alternatives - zarządzanie dowiązaniami symbolicznymi określającymi "
"domyślne polecenia"

#. type: Plain text
#: update-alternatives.8:15
#, fuzzy
#| msgid "B<update-alternatives> [I<options>] I<command>"
msgid "B<update-alternatives> [I<option>...] I<command>"
msgstr "B<update-alternatives> [I<opcje>] I<polecenie>"

#. 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 ""
"B<update-alternatives> tworzy, usuwa, wyświetla informacje o dowiązaniach "
"symbolicznych składających się na system alternatyw Debiana oraz nimi "
"zarządza."

#. 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 ""
"Kilka programów mających tę samą lub podobną funkcjonalność może zostać "
"zainstalowanych w systemie w tym samym czasie. Na przykład w wielu systemach "
"jest zainstalowanych jednocześnie kilka edytorów tekstu. Stanowi to "
"ułatwienie dla użytkowników takiego systemu, z których każdy może uruchomić "
"inny edytor, jeśli ma na to ochotę. Z drugiej strony jest to jednak "
"utrudnienie dla programów chcących podjąć właściwą decyzję, który edytor "
"uruchomić, jeżeli użytkownik nie określił swoich preferencji co do edytora."

#. 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 ""
"Celem systemu alternatyw Debiana jest rozwiązanie tego problemu. Ogólna "
"nazwa w systemie plików jest współdzielona przez wszystkie pliki "
"dostarczające zmieniającą się funkcjonalność. System alternatyw oraz "
"administrator systemu określają, do którego obecnego pliku prowadzi ta "
"ogólna nazwa. Na przykład, jeżeli zainstalowano zarówno edytor B<ed>(1) jak "
"i B<nvi>(1), to system alternatyw spowoduje, że nazwa ogólna I</usr/bin/"
"editor> będzie się odnosić do I</usr/bin/nvi>. Administrator systemu może "
"zmienić to ustawienie na I</usr/bin/ed>, a system alternatyw tego nie "
"zmieni, chyba że administrator każe mu tak zrobić."

#. 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 ""
"Nazwa ogólna nie jest bezpośrednim dowiązaniem symbolicznym do wybranej "
"alternatywy, ale jest dowiązaniem do pliku w I<katalogu> I<alternatyw>, "
"które z kolei jest dowiązaniem do właściwego pliku. Jest tak zrobione "
"dlatego, żeby zmiany wprowadzane przez administratora systemu były "
"ograniczone do katalogu I</etc>: standard FHS wymienia powody, aby tak "
"zrobić."

#. 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 ""
"Kiedy pakiet dostarczający pliku o określonej funkcjonalności jest "
"instalowany, zmieniany lub usuwany, wywoływany jest program B<update-"
"alternatives>, aby zaktualizować informacje o tym pliku w systemie "
"alternatyw. B<update-alternatives> jest zazwyczaj wywoływany ze skryptów "
"B<postinst> (configure) lub B<prerm> (install) w pakietach Debiana."

#. 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 ""
"Często użyteczne jest, aby pewna liczba alternatyw była zsynchronizowana, "
"tak żeby była zmieniana jako grupa. Na przykład jeżeli jest zainstalowane "
"kilka wersji edytora B<vi>(1), to strona podręcznika I</usr/share/man/man1/"
"vi.1> powinna odpowiadać wersji programu zainstalowanego jako I</usr/bin/"
"vi>. B<update-alternatives> obsługuje to przy pomocy dowiązań I<głównych> i "
"I<podrzędnych> - zmiana dowiązania głównego powoduje zmianę skojarzonych "
"dowiązań podrzędnych. Dowiązanie główne i skojarzone z nim dowiązania "
"podrzędne tworzą I<grupę> I<dowiązań>."

#. 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 ""
"Każda grupa dowiązań jest zawsze w jednym z dwóch trybów: automatycznym lub "
"ręcznym. W trybie automatycznym podczas instalacji lub usuwania pakietu "
"system alternatyw automatycznie zdecyduje, czy i jak aktualizować "
"dowiązania. W trybie ręcznym system alternatyw nie będzie zmieniał dowiązań "
"i zostawi wszystkie decyzje administratorowi systemu."

#. 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 ""
"Grupa dowiązań jest trybie automatycznym, kiedy jest po raz pierwszy "
"wprowadzana do systemu. Jeżeli administrator systemu wprowadzi zmiany do "
"automatycznych ustawień, będą one wzięte pod uwagę podczas następnego "
"uruchomienia B<update-alternatives> na takiej zmienionej grupie dowiązań, a "
"grupa ta automatycznie przejdzie w tryb ręczny."

#. 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 ""
"Z każdą alternatywą skojarzony jest I<priorytet>. Jeżeli grupa dowiązań jest "
"w trybie automatycznym, to wybraną alternatywą będzie ta, która ma najwyższy "
"priorytet."

#. type: Plain text
#: update-alternatives.8:133
#, fuzzy
#| msgid ""
#| "When using the I<--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 I<--auto> option in order to return to the automatic mode "
#| "(or you can rerun I<--config> and select the entry marked as automatic)."
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 ""
"B<update-alternatives> użyte z opcją I<--config> wyświetli listę wszystkich "
"alternatyw dla grupy dowiązań, dla której podana I<nazwa> jest nazwą "
"głównego dowiązania. Bieżąca alternatywa będzie oznaczona znakiem \"*\". "
"Użytkownik zostanie poproszony o wybór alternatywy, która będzie używana dla "
"tej grupy dowiązań. Po dokonaniu zmiany grupa dowiązań nie będzie już w "
"trybie I<automatycznym>. Aby przywrócić tryb automatyczny, należy użyć opcji "
"I<--auto> (lub ponownie uruchomić I<--config> i wybrać pozycję oznaczoną "
"jako automatyczną)."

#. type: Plain text
#: update-alternatives.8:137
#, fuzzy
#| msgid ""
#| "If you want to configure non-interactively you can use the I<--set> "
#| "option instead (see below)."
msgid ""
"If you want to configure non-interactively you can use the B<--set> option "
"instead (see below)."
msgstr ""
"Aby skonfigurować nieinteraktywnie, można użyć opcji I<--set> (patrz niżej)."

#. 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 ""
"Różne pakiety dostarczające tych samych plików powinny B<współpracować> ze "
"sobą w tym zakresie. Oznacza to, że używanie programu B<update-alternatives> "
"jest B<obowiązkowe> dla wszystkich takich pakietów - nie jest możliwe "
"nadpisanie pewnych plików w pakiecie, który nie używa mechanizmu B<update-"
"alternatives>."

#. type: SH
#: update-alternatives.8:149
#, no-wrap
msgid "TERMINOLOGY"
msgstr "TERMINOLOGIA"

#. 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 ""
"Ponieważ operacje programu B<update-alternatives> są dość złożone, poniżej "
"podane są terminy, które pomogą je zrozumieć."

#. type: TP
#: update-alternatives.8:154
#, no-wrap
msgid "generic name (or alternative link)"
msgstr "nazwa ogólna (lub dowiązanie alternatywy)"

#. 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 ""
"Nazwa, taka jak I</usr/bin/editor>, która odnosi się przez system alternatyw "
"do jednego z kilku plików o podobnej funkcjonalności."

#. type: TP
#: update-alternatives.8:160
#, no-wrap
msgid "alternative name"
msgstr "nazwa alternatywy"

#. type: Plain text
#: update-alternatives.8:163
msgid "The name of a symbolic link in the alternatives directory."
msgstr "Nazwa dowiązania symbolicznego w katalogu alternatyw."

#. type: TP
#: update-alternatives.8:163
#, no-wrap
msgid "alternative (or alternative path)"
msgstr "alternatywa (lub ścieżka alternatywy)"

#. 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 ""
"Nazwa określonego pliku w systemie plików, który w systemie alternatyw może "
"być dostępny przez nazwę ogólną."

#. type: TP
#: update-alternatives.8:167
#, no-wrap
msgid "alternatives directory"
msgstr "katalog alternatyw"

#. type: Plain text
#: update-alternatives.8:172
msgid "A directory, by default I</etc/alternatives>, containing the symlinks."
msgstr ""
"Katalog zawierający dowiązania symboliczne, domyślnie I</etc/alternatives>."

#. type: TP
#: update-alternatives.8:172
#, no-wrap
msgid "administrative directory"
msgstr "katalog administracyjny"

#. type: Plain text
#: update-alternatives.8:179
msgid ""
"A directory, by default I</var/lib/dpkg/alternatives>, containing B<update-"
"alternatives>' state information."
msgstr ""
"Katalog zawierający informacje o stanie B<update-alternatives>, domyślnie I</"
"var/lib/dpkg/alternatives>."

#. type: TP
#: update-alternatives.8:179
#, no-wrap
msgid "link group"
msgstr "grupa dowiązań"

#. type: Plain text
#: update-alternatives.8:182
msgid "A set of related symlinks, intended to be updated as a group."
msgstr "Zbiór powiązanych dowiązań symbolicznych, zarządzany jako grupa."

#. type: TP
#: update-alternatives.8:182
#, no-wrap
msgid "master link"
msgstr "dowiązanie główne"

#. 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 ""
"Dowiązanie alternatywy w grupie dowiązań, które określa sposób "
"konfigurowania innych dowiązań z tej grupy."

#. type: TP
#: update-alternatives.8:186
#, no-wrap
msgid "slave link"
msgstr "dowiązanie podrzędne"

#. 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 ""
"Dowiązanie alternatywy w grupie dowiązań, które jest kontrolowane przez "
"ustawienie głównego dowiązania."

#. type: TP
#: update-alternatives.8:190
#, no-wrap
msgid "automatic mode"
msgstr "tryb automatyczny"

#. 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 ""
"Kiedy grupa dowiązań jest w trybie automatycznym, system alternatyw zapewni, "
"że dowiązania z tej grupy wskazują na alternatywę o najwyższym priorytecie."

#. type: TP
#: update-alternatives.8:196
#, no-wrap
msgid "manual mode"
msgstr "tryb ręczny"

#. 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 ""
"Kiedy grupa dowiązań jest w trybie ręcznym, system alternatyw nic nie zmieni "
"w ustawieniach wprowadzonych przez administratora systemu."

#. type: TP
#: update-alternatives.8:203
#, no-wrap
msgid "B<--install> I<link name path priority> [B<--slave> I<link name path>]..."
msgstr "B<--install> I<dowiązanie nazwa ścieżka priorytet> [B<--slave> I<dowiązanie nazwa ścieżka>]..."

#. 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 ""
"Dodaje grupę alternatyw do systemu. I<dowiązanie> jest ogólną nazwą głównego "
"dowiązania, I<nazwa> jest nazwą dowiązania symbolicznego w katalogu "
"alternatyw, a I<ścieżka> jest wprowadzaną alternatywą dla głównego "
"dowiązania. Argumentami opcji B<--slave> są nazwa ogólna, nazwa dowiązania "
"symbolicznego w katalogu alternatyw i ścieżka alternatywy dla dowiązania "
"podrzędnego. Można podać zero lub więcej opcji B<--slave>, po każdej muszą "
"następować jej trzy argumenty. Należy zauważyć, że główna alternatywa musi "
"istnieć, inaczej wywołanie się nie powiedzie. Jednak jeśli nie będzie "
"istnieć podrzędna alternatywa, odpowiednie dowiązanie podrzędne po prostu "
"nie zostanie zainstalowane (ale nadal będzie wyświetlane ostrzeżenie). Jeśli "
"w miejscu gdzie powinno być zainstalowane dowiązanie alternatywy istnieje "
"rzeczywisty plik, jest on zachowywany, chyba że użyta jest opcja B<--force>."

#. 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 ""
"Jeżeli określona nazwa alternatywy już istnieje w systemie alternatyw, to "
"podana informacja będzie dodana jako nowy zbiór alternatyw dla tej grupy. W "
"przeciwnym wypadku zostanie utworzona nowa grupa, ustawiona w tryb "
"automatyczny. Jeżeli grupa jest w trybie automatycznym, a priorytet nowo "
"dodawanych alternatyw jest większy od priorytetu każdej z innych "
"zainstalowanych alternatyw w tej grupie, to dowiązania symboliczne będą "
"zaktualizowane tak, żeby prowadziły do nowo dodanych alternatyw."

#. type: TP
#: update-alternatives.8:233
#, no-wrap
msgid "B<--set> I<name path>"
msgstr "B<--set> I<nazwa ścieżka>"

#. type: Plain text
#: update-alternatives.8:242
#, fuzzy
#| msgid ""
#| "Set the program I<path> as alternative for I<name.> This is equivalent to "
#| "I<--config> but is non-interactive and thus scriptable."
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 ""
"Ustawia program I<ścieżka> jako alternatywę dla I<nazwy>. Jest to "
"nieinteraktywny, a więc możliwy do użycia w skryptach, odpowiednik opcji I<--"
"config>."

#. type: TP
#: update-alternatives.8:242
#, no-wrap
msgid "B<--remove> I<name path>"
msgstr "B<--remove> I<nazwa ścieżka>"

#. 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 ""
"Usuwa alternatywę i wszystkie dowiązania podrzędne z nią skojarzone. "
"I<nazwa> jest nazwą w katalogu alternatyw, I<ścieżka> jest absolutną nazwą "
"pliku, do której I<nazwa> mogłaby być dowiązaniem. Jeżeli I<nazwa> "
"rzeczywiście jest dowiązaniem do I<ścieżki>, to I<nazwa> zostanie "
"zaktualizowana, tak żeby wskazywała na inną odpowiednią alternatywę (zaś "
"grupa jest ustawiana ponownie w tryb automatyczny), albo zostanie usunięta "
"jeżeli nie pozostanie ani jedna alternatywa. Skojarzone dowiązania podrzędne "
"zostaną odpowiednio zaktualizowane lub usunięte. Jeżeli dowiązanie nie "
"prowadzi obecnie do I<ścieżki>, to żadne dowiązania nie będą aktualizowane; "
"zostanie tylko usunięta informacja o alternatywie."

#. type: TP
#: update-alternatives.8:263
#, no-wrap
msgid "B<--remove-all> I<name>"
msgstr "B<--remove-all> I<nazwa>"

#. 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 ""
"Usuwa wszystkie dowiązania alternatyw i wszystkie skojarzone z nimi "
"dowiązania podrzędne. I<nazwa> jest nazwą w katalogu alternatyw."

#. 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 ""
"Wywołuje B<--config> dla wszystkich alternatyw. Można to użytecznie połączyć "
"z B<--skip-auto> aby przejrzeć i skonfigurować wszystkie alternatywy, które "
"nie są skonfigurowane w tryb automatyczny. Wyświetlane są również "
"nieaktualne alternatywy. Dlatego prostym sposobem naprawienia uszkodzonych "
"alternatyw jest wywołanie B<yes \\[aq]\\[aq] | update-alternatives --force --"
"all>."

#. type: TP
#: update-alternatives.8:275
#, no-wrap
msgid "B<--auto> I<name>"
msgstr "B<--auto> I<nazwa>"

#. 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 ""
"Przełącza grupę dowiązań dla alternatywy w tryb automatyczny. Podczas tego "
"procesu, główne dowiązanie wraz z jego dowiązaniami podrzędnymi będą "
"zaktualizowane tak, aby wskazywać na alternatywę o najwyższym priorytecie."

#. type: TP
#: update-alternatives.8:282
#, no-wrap
msgid "B<--display> I<name>"
msgstr "B<--display> I<nazwa>"

#. 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 ""
"Wyświetla informacje o grupie dowiązań. Informacje te zawierają tryb grupy "
"(automatyczny lub ręczny), określają na którą alternatywę obecnie wskazuje "
"dowiązanie główne, jakie są inne dostępne alternatywy (i odpowiadające im "
"alternatywy podrzędne) oraz obecnie zainstalowaną alternatywę o najwyższym "
"priorytecie."

#. type: TP
#: update-alternatives.8:291
#, no-wrap
msgid "B<--get-selections>"
msgstr "B<--get-selections>"

#. 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 ""
"Wyświetla wszystkie nazwy głównych alternatyw (kontrolujących grupę "
"dowiązań) oraz ich status. Każda linia zawiera do 3 pól (rozdzielonych co "
"najmniej jedną spacją). Pierwsze pole określa nazwą alternatywy, drugie pole "
"to status (\"auto\" lub \"manual\"), zaś ostatnie pole zawiera bieżący wybór "
"dla alternatywy (uwaga: jest to nazwa pliku i może zawierać znaki spacji)."

#. 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 ""
"Wczytuje konfigurację alternatyw ze standardowego wejścia w formacie "
"wygenerowanym przez B<update-alternatives --get-selections> i odpowiednio je "
"rekonfiguruje."

#. type: TP
#: update-alternatives.8:304
#, no-wrap
msgid "B<--query> I<name>"
msgstr "B<--query> I<nazwa>"

#. 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 ""
"Wyświetla informację o grupie dowiązań tak jak --display, ale w sposób "
"odpowiedni dla maszynowego parsowania (dokładniejszy opis poniżej, w sekcji "
"B<FORMAT ZAPYTANIA>)."

#. type: TP
#: update-alternatives.8:309
#, no-wrap
msgid "B<--list> I<name>"
msgstr "B<--list> I<nazwa>"

#. type: Plain text
#: update-alternatives.8:312
msgid "Display all targets of the link group."
msgstr "Wyświetla wszystkie cele w grupie dowiązań."

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

#. 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 ""
"Wyświetla dostępne alternatywy w grupie dowiązań i pozwala użytkownikowi "
"interakcyjnie wybrać, której należy użyć. Grupa dowiązań zostanie "
"odpowiednio zaktualizowana."

#. type: TP
#: update-alternatives.8:324
#, no-wrap
msgid "B<--altdir>I< directory>"
msgstr "B<--altdir>I< katalog>"

#. type: Plain text
#: update-alternatives.8:328
msgid ""
"Specifies the alternatives directory, when this is to be different from the "
"default."
msgstr "Określa katalog alternatyw, jeżeli ma być inny niż domyślny."

#. type: Plain text
#: update-alternatives.8:332
msgid ""
"Specifies the administrative directory, when this is to be different from "
"the default."
msgstr "Określa katalog administracyjny, jeżeli ma być inny niż domyślny."

#. type: TP
#: update-alternatives.8:332
#, no-wrap
msgid "B<--log>I< file>"
msgstr "B<--log>I< plik>"

#. type: Plain text
#: update-alternatives.8:336
#, fuzzy
#| msgid ""
#| "Specifies the log file, when this is to be different from the default (/"
#| "var/log/dpkg.log)."
msgid ""
"Specifies the log file, when this is to be different from the default (/var/"
"log/alternatives.log)."
msgstr ""
"Określa plik dziennika, jeżeli ma być inny niż domyślny (/var/log/dpkg.log)."

#. type: Plain text
#: update-alternatives.8:340
#, fuzzy
#| msgid ""
#| "Let B<update-alternatives> replace any real file that is installed where "
#| "an alternative link has to be installed."
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 ""
"Zezwala B<update-alternatives> na zastępowanie istniejących rzeczywistych "
"plików tam, gdzie powinno być zainstalowane dowiązanie alternatywy."

#. type: TP
#: update-alternatives.8:340
#, no-wrap
msgid "B<--skip-auto>"
msgstr "B<--skip-auto>"

#. 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 ""
"Pomija pytania o konfigurację alternatyw, które są właściwie skonfigurowane "
"w trybie automatycznym. Ta opcja ma znaczenie tylko przy B<--config> lub B<--"
"all>."

#. type: TP
#: update-alternatives.8:345
#, no-wrap
msgid "B<--verbose>"
msgstr "B<--verbose>"

#. type: Plain text
#: update-alternatives.8:350
msgid "Generate more comments about what B<update-alternatives> is doing."
msgstr ""
"Podaje więcej informacji o przebiegu wykonywania B<update-alternatives>."

#. type: Plain text
#: update-alternatives.8:353
msgid "Don't generate any comments unless errors occur."
msgstr "Nie wyświetla żadnych komentarzy, chyba że wystąpi błąd."

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

#. type: Plain text
#: update-alternatives.8:367
msgid ""
"The default alternatives directory.  Can be overridden by the B<--altdir> "
"option."
msgstr "Domyślny katalog alternatyw. Można go zmienić opcją B<-altdir>."

#. type: TP
#: update-alternatives.8:367
#, no-wrap
msgid "I</var/lib/dpkg/alternatives/>"
msgstr "I</var/lib/dpkg/alternatives/>"

#. type: Plain text
#: update-alternatives.8:373
msgid ""
"The default administration directory.  Can be overridden by the B<--"
"admindir> option."
msgstr "Domyślny katalog administracyjny. Można go zmienić opcją B<-admindir>."

#. type: Plain text
#: update-alternatives.8:378
msgid "The requested action was successfully performed."
msgstr "Akcja zakończyła się powodzeniem."

#. type: Plain text
#: update-alternatives.8:382
msgid ""
"Problems were encountered whilst parsing the command line or performing the "
"action."
msgstr ""
"Wystąpiły problemy podczas przetwarzania linii poleceń lub wykonywania akcji."

#. type: SH
#: update-alternatives.8:383
#, no-wrap
msgid "QUERY FORMAT"
msgstr "FORMAT ZAPYTANIA"

#. type: Plain text
#: update-alternatives.8:388
#, fuzzy
#| msgid ""
#| "The B<update-alternatives> I<--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:"
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 ""
"Wynik polecenia B<update-alternatives> I<--query> używa formatu podobnego do "
"płaskiego formatu RFC822. Składa się z I<n> + 1 bloków, gdzie I<n> jest "
"liczbą alternatyw dostępnych w grupie dowiązań, do której odnosi się "
"zapytanie. Pierwszy blok zawiera następujące pola:"

#. type: TP
#: update-alternatives.8:388
#, fuzzy, no-wrap
#| msgid "B<Link:> E<lt>linkE<gt>"
msgid "B<Link:>I< link>"
msgstr "B<Link:> E<lt>dowiązanieE<gt>"

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

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

#. type: Plain text
#: update-alternatives.8:394
msgid "The status of the alternative (B<auto> or B<manual>)."
msgstr "Status alternatywy (B<auto> lub B<manual>)."

#. type: TP
#: update-alternatives.8:394
#, fuzzy, no-wrap
#| msgid "B<Best:> E<lt>best choiceE<gt>"
msgid "B<Best:>I< best-choice>"
msgstr "B<Best:> E<lt>najlepszy wybórE<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 ""
"Ścieżka najlepszej alternatywy dla tej grupy dowiązań. Nie jest wyświetlana, "
"jeśli nie ma dostępnych żadnych alternatyw."

#. type: TP
#: update-alternatives.8:398
#, fuzzy, no-wrap
#| msgid "B<Value:> E<lt>currently selected alternativeE<gt> "
msgid "B<Value:>I< currently-selected-alternative>"
msgstr "B<Value:> E<lt>aktualnie wybrana alternatywaE<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 ""
"Ścieżka aktualnie wybranej alternatywy. Może również przyjmować specjalną "
"wartość B<none> - jest ona używana jeśli dowiązanie nie istnieje."

#. type: TP
#: update-alternatives.8:403
#, no-wrap
msgid "The other blocks describe the available alternatives in the queried link group:"
msgstr "Inne bloki opisują dostępne alternatywy w grupie dowiązań, do której odnosi się zapytanie:"

#. type: TP
#: update-alternatives.8:405
#, fuzzy, no-wrap
#| msgid "B<Alternative:> E<lt>path of this alternativeE<gt>"
msgid "B<Alternative:>I< path-of-this-alternative>"
msgstr "B<Alternative:> E<lt>ścieżka alternatywyE<gt>"

#. type: Plain text
#: update-alternatives.8:408
msgid "Path to this block's alternative."
msgstr "Ścieżka do alternatywy opisywanej w tym bloku."

#. type: TP
#: update-alternatives.8:408
#, fuzzy, no-wrap
#| msgid "B<Priority:> E<lt>priority valueE<gt>"
msgid "B<Priority:>I< priority-value>"
msgstr "B<Priority:> E<lt>wartość priorytetuE<gt>"

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

#. type: TP
#: update-alternatives.8:411
#, fuzzy, no-wrap
#| msgid "B<Slaves:> E<lt>list of slavesE<gt>"
msgid "B<Slaves:>I< list-of-slaves>"
msgstr "B<Slaves:> E<lt>lista alternatyw podrzędnychE<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 ""
"Gdy obecny jest ten nagłówek, B<następne> linie zawierają wszystkie "
"podrzędne alternatywy związane z głównym dowiązaniem alternatywy. W każdej "
"linii podana jest jedna podrzędna alternatywa. Każda linia zawiera jedną "
"spację, ogólną nazwę alternatywy podrzędnej, kolejną spację i w końcu "
"ścieżkę do alternatywy podrzędnej."

#. type: TP
#: update-alternatives.8:418
#, no-wrap
msgid "B<Example>"
msgstr "B<Przykład>"

#. 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 ""
"$ update-alternatives --query editor\n"
"Link: editor\n"
"Status: auto\n"
"Best: /usr/bin/vim.gtk\n"
"Value: /usr/bin/vim.gtk\n"

#. 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 ""
"Alternative: /bin/ed\n"
"Priority: -100\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/ed.1.gz\n"

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

#. type: Plain text
#: update-alternatives.8:458
#, fuzzy
#| msgid ""
#| "With I<--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."
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 ""
"Po podaniu I<--verbose>, B<update-alternatives> wypisuje nieustannie "
"informacje o podejmowanych działaniach na swoim standardowym wyjściu. Jeżeli "
"wystąpi błąd, B<update-alternatives> wyświetla komunikaty błędów na "
"standardowym wyjściu błędów i kończy działanie z kodem wyjścia 2. Wypisywana "
"diagnostyka powinna wszystko wyjaśniać, jeżeli tak nie jest, proszę zgłosić "
"to jako błąd."

#. 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 ""
"Istnieje klika pakietów, które dostarczają edytora tekstu kompatybilnego z "
"edytorem B<vi>, na przykład B<nvi> i B<vim>. To, który pakiet będzie "
"używany, kontrolowane jest przez grupę dowiązań B<vi>, zawierającą "
"dowiązania do samego programu i odpowiadających mu stron podręcznika."

#. type: Plain text
#: update-alternatives.8:467
#, fuzzy
#| msgid ""
#| "To display the available packages which provide B<vi> and the current "
#| "setting for it, use the I<--display> action:"
msgid ""
"To display the available packages which provide B<vi> and the current "
"setting for it, use the B<--display> action:"
msgstr ""
"Aby wyświetlić listę dostępnych pakietów, które dostarczają B<vi> oraz jego "
"bieżące ustawienie, należy użyć akcji I<--display>:"

#. type: Plain text
#: update-alternatives.8:470
msgid "B<update-alternatives --display vi>"
msgstr "B<update-alternatives --display vi>"

#. 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 ""
"Aby wybrać określoną implementację edytora B<vi>, należy użyć tego polecenia "
"jako użytkownik root i wybrać liczbę z listy:"

#. type: Plain text
#: update-alternatives.8:477
msgid "B<update-alternatives --config vi>"
msgstr "B<update-alternatives --config vi>"

#. type: Plain text
#: update-alternatives.8:481
msgid ""
"To go back to having the B<vi> implementation chosen automatically, do this "
"as root:"
msgstr ""
"Aby przywrócić automatyczne wybieranie implementacji programu B<vi>, należy "
"jako użytkownik root wykonać:"

#. type: Plain text
#: update-alternatives.8:484
msgid "B<update-alternatives --auto vi>"
msgstr "B<update-alternatives --auto vi>"

#. type: Plain text
#: update-alternatives.8:488
msgid ""
"If you find a bug, please report it using the Debian bug-tracking system."
msgstr ""
"W razie znalezienia błędu, prosimy o jego zgłoszenie, używając systemu "
"śledzenia błędów Debiana."

#. 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 ""
"Rozbieżności pomiędzy działaniem B<update-alternatives> a tą stroną "
"podręcznika stanowią albo błąd w implementacji, albo w dokumentacji. W razie "
"znalezienia jakichkolwiek rozbieżności, prosimy o ich zgłoszenie."

#. type: Plain text
#: update-alternatives.8:504
msgid ""
"This manual page is copyright 1997,1998 Charles Briscoe-Smith and others."
msgstr ""
"Copyright tej strony podręcznika: 1997,1998 Charles Briscoe-Smith i inni."

#. type: Plain text
#: update-alternatives.8:507
msgid ""
"This is free documentation; see the GNU General Public Licence version 2 or "
"later for copying conditions. There is NO WARRANTY."
msgstr ""
"To jest wolna dokumentacja, sprawdź Powszechną Licencję Publiczną GNU w "
"wersji drugiej lub późniejszej, by dowiedzieć się o warunkach dystrybucji. "
"Brak JAKIEJKOLWIEK gwarancji."

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

#~ msgid "2009-02-27"
#~ msgstr "2009-02-27"

#, fuzzy
#~| msgid "2009-02-27"
#~ msgid "2011-04-29"
#~ msgstr "2009-02-27"

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

#~ msgid "2007-03-07"
#~ msgstr "2007-03-07"

#~ msgid "2007-07-16"
#~ msgstr "2007-07-16"

#, fuzzy
#~| msgid "2009-08-16"
#~ msgid "2009-03-15"
#~ msgstr "2009-08-16"

#, fuzzy
#~| msgid "2009-02-27"
#~ msgid "2011-04-27"
#~ msgstr "2009-02-27"

#, fuzzy
#~| msgid "2009-02-27"
#~ msgid "2011-07-07"
#~ msgstr "2009-02-27"

#, 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 - plik konfiguracyjny programu dselect "

#, 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>nazwa pakietuE<gt>"

#, fuzzy
#~| msgid "2006-02-28"
#~ 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>nazwa źródłaE<gt>"

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

#, fuzzy
#~| 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."
#~ msgid ""
#~ "The first member is named B<debian-split> and contains a series of lines, "
#~ "separated by newlines. Currently seven lines are present.  The first is "
#~ "the format version number, B<2.1> at the time this manual page was "
#~ "written. The second is the package name. The third is the package "
#~ "version. The fourth is the md5sum of the package.  The fifth is the total "
#~ "size of the package. The sixth is the maximum part size. The seventh is "
#~ "the current part number, followed by a slash and the total amount of "
#~ "parts (as in \\(oq1/10\\(cq)."
#~ msgstr ""
#~ "Pierwszy składnik nazywa się B<debian-binary> i zawiera serię linii "
#~ "rozdzielonych znakami nowej linii. Obecnie plik ten zawiera tylko jedną "
#~ "linię - numer wersji formatu, który - w czasie pisania tej strony "
#~ "podręcznika - wynosił B<2.0>. Programy obsługujące archiwa w nowym "
#~ "formacie powinny być gotowe na obsłużenie zmiany liczby pobocznej (po "
#~ "kropce) oraz na obecność nowych linii, które powinny ignorować."

#~ msgid "2008-08-18"
#~ msgstr "2008-08-18"

#
#~ msgid ""
#~ "B<dpkg> can also be used as a front-end to B<dpkg-deb>(1).  The following "
#~ "are B<dpkg-deb> actions, and if they are encountered, B<dpkg> just runs "
#~ "B<dpkg-deb> with the parameters given to it:"
#~ msgstr ""
#~ "B<dpkg> może być także użyty jako nakładka na B<dpkg-deb>(1). Wymienione "
#~ "poniżej działania są działaniami programu B<dpkg-deb> i jeżeli zostaną "
#~ "użyte, to B<dpkg> uruchomi B<dpkg-deb>, przekazując mu odpowiednie "
#~ "parametry:"

#~ msgid ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract>, and\n"
#~ "    B<--fsys-tarfile>.\n"
#~ msgstr ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract> oraz\n"
#~ "    B<--fsys-tarfile>.\n"

#
#~ msgid "Please refer to B<dpkg-deb>(1) for information about these actions."
#~ msgstr "Działania te są opisane w osobnym podręczniku do B<dpkg-deb>(1)."

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

#
#~ msgid ""
#~ "Select new or old binary package format. This is a B<dpkg-deb>(1)  option."
#~ msgstr ""
#~ "Wybór pomiędzy nowym i starym formatem binarnym pakietu. Ta opcja jest "
#~ "przesłana do B<dpkg-deb>(1)."

#~ msgid ""
#~ "Don't read or check contents of control file while building a package.  "
#~ "This is a B<dpkg-deb>(1) option."
#~ msgstr ""
#~ "Brak sprawdzania zawartości pliku kontrolnego podczas budowania pakietu. "
#~ "Ta opcja jest przesłana do B<dpkg-deb>(1)."

#, fuzzy
#~| msgid "2009-08-16"
#~ msgid "2009-08-15"
#~ msgstr "2009-08-16"

#~ msgid "Compiler flags"
#~ msgstr "Flagi kompilatora"

#, fuzzy
#~| msgid "2007-11-19"
#~ msgid "2009-11-21"
#~ msgstr "2007-11-19"

#, fuzzy
#~| msgid "2007-03-07"
#~ msgid "2010-03-07"
#~ msgstr "2007-03-07"

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

#, fuzzy
#~| msgid "2009-01-07"
#~ msgid "2009-08-07"
#~ msgstr "2009-01-07"

#, fuzzy
#~| msgid "2009-08-16"
#~ msgid "2010-04-16"
#~ msgstr "2009-08-16"

#, fuzzy
#~| msgid "2009-05-10"
#~ msgid "2009-05-19"
#~ msgstr "2009-05-10"

#~ msgid "0"
#~ msgstr "0"

#, fuzzy
#~| msgid "2007-10-08"
#~ msgid "2009-10-01"
#~ msgstr "2007-10-08"

#~ msgid "2009-06-26"
#~ msgstr "2009-06-26"

#
#~ msgid ""
#~ "B<dpkg-split> uses some rather out-of-date conventions for the the "
#~ "filenames of Debian packages."
#~ msgstr "B<dpkg-split> używa raczej starej konwencji nazw plików pakietów."

#
#~ msgid ""
#~ "The architecture is not represented in the part files' header, only in "
#~ "the control information of the contained binary package file, and it is "
#~ "not present in the filenames generated."
#~ msgstr ""
#~ "Architektura nie jest określona w plikach części pakietu, jedynie w "
#~ "kontrolnych plikach całego pakietu, tak więc architektura nie jest "
#~ "częścią generowanej nazwy pliku."

#~ msgid "2009-05-10"
#~ msgstr "2009-05-10"

#
#, fuzzy
#~| msgid ""
#~| "B<dselect> [B<--admindir> I<E<lt>directoryE<gt>>] [B<--help>] [B<--"
#~| "version>] [B<--licence>|B<--license>] [B<--expert>] [B<--debug>|B<-"
#~| "D>I<E<lt>fileE<gt>>] [I<E<lt>actionE<gt>>] [B<--colour>|B<--color> "
#~| "I<screenpart:>[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]]"
#~ msgid ""
#~ "B<dselect> [B<--admindir> I<E<lt>directoryE<gt>>] [B<--help>] [B<--"
#~ "version>] [B<--expert>] [B<--debug>|B<-D>I<E<lt>fileE<gt>>] "
#~ "[I<E<lt>actionE<gt>>] [B<--colour>|B<--color> I<screenpart:>"
#~ "[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]]"
#~ msgstr ""
#~ "B<dselect> [B<--admindir> I<E<lt>katalogE<gt>>] [B<--help>] [B<--"
#~ "version>] [B<--licence>|B<--license>] [B<--expert>] [B<--debug>|B<-"
#~ "D>I<E<lt>plikE<gt>>] [I<E<lt>akcjaE<gt>>] [B<--colour>|B<--color> "
#~ "I<część_ekranu:>[I<pierwszoplan>],[I<tło>][I<:atr>[I<+atr+..>]]]"

#~ msgid "B<--admindir>I< E<lt>directoryE<gt>>"
#~ msgstr "B<--admindir>I< E<lt>katalogE<gt>>"

#~ msgid "USAGE"
#~ msgstr "UŻYTKOWANIE"

#~ msgid ""
#~ "B<start-stop-daemon> returns 0 if the requested action was performed, or "
#~ "if B<--oknodo> is specified and either B<--start> was specified and a "
#~ "matching process was already running, or B<--stop> was specified and "
#~ "there were no matching processes. If B<--oknodo> was not specified and "
#~ "nothing was done, 1 is returned. If B<--stop> and B<--retry> were "
#~ "specified, but the end of the schedule was reached and the processes were "
#~ "still running, the error value is 2. For all other errors, the status is "
#~ "3."
#~ msgstr ""
#~ "B<start-stop-daemon> zwraca 0, jeśli żądana akcja się powiodła lub gdy "
#~ "podano B<--oknodo> i albo podano także B<--start>, a odpowiadający proces "
#~ "już działał, albo podano B<--stop> i nie znaleziono odpowiadającego "
#~ "procesu. Jeśli nie podano B<--oknodo> i nic nie zrobiono, to zwracane "
#~ "jest 1. Jeśli podano B<--stop> i B<--retry> i cały plan działania został "
#~ "wykonany, a proces dalej działa, to kodem błędu jest 2. W razie innych "
#~ "błędów zwracane jest 3."

#~ msgid "2"
#~ msgstr "2"

#~ msgid ""
#~ "An error occurred. Unfortunately at the time of writing I<extended-error-"
#~ "message> can contain newlines, although in locales where the translators "
#~ "have not made mistakes every newline is followed by at least one space."
#~ msgstr ""
#~ "Nastąpił błąd. Niefortunnie na czas pisania tego I<rozszerzony-komunikat-"
#~ "błędu> może zawierać znaki nowej linii, aczkolwiek w językach gdzie "
#~ "tłumacze nie popełnili błędów, po każdym znak nowej linii następuje "
#~ "przynajmniej jedna spacja."

#, fuzzy
#~| msgid "2009-03-09"
#~ msgid "2009-03-08"
#~ msgstr "2009-03-09"

#~ msgid "I<admindir>/info/I<package>.symbols"
#~ msgstr "I<katalog_admin>/info/I<pakiet>.symbols"

#~ msgid "I<admindir>/info/I<package>.shlibs"
#~ msgstr "I<katalog_admin>/info/I<package>.shlibs"

#, fuzzy
#~| msgid "2007-11-19"
#~ msgid "2009-11-11"
#~ msgstr "2007-11-19"

#, fuzzy
#~| msgid "2009-02-27"
#~ msgid "2009-02-26"
#~ msgstr "2009-02-27"

#, fuzzy
#~| msgid "2009-08-16"
#~ msgid "2009-04-13"
#~ msgstr "2009-08-16"

#~ msgid "2007-10-08"
#~ msgstr "2007-10-08"

#, fuzzy
#~| msgid ""
#~| "Defined by B<dpkg> on the maintainer script environment to the version "
#~| "of the currently running B<dpkg> instance."
#~ msgid ""
#~ "Defined by B<dpkg> on the maintainer script environment to the private "
#~ "library directory of the currently running B<dpkg> instance."
#~ msgstr ""
#~ "Zdefiniowana przez B<dpkg> w środowisku skryptu opiekuna pakietu, jako "
#~ "wersja aktualnie uruchomionej instancji programu B<dpkg>."

#, fuzzy
#~| msgid "2009-08-16"
#~ msgid "2010-04-11"
#~ msgstr "2009-08-16"

#~ msgid "Format: 3.0 (git) and 3.0 (bzr)"
#~ msgstr "Format: 3.0 (git) oraz 3.0 (bzr)"

#~ msgid ""
#~ "I<priority> and I<section> place the package within the release tree; "
#~ "these ought not to be found in the control file. If the package is found "
#~ "in a subdirectory of I<binarydir>, that will be checked against "
#~ "I<section>."
#~ msgstr ""
#~ "I<priorytet> i I<sekcja> umiejscawiają pakiet w drzewie wydania; nie "
#~ "powinny się znajdować w pliku kontrolnym. Jeżeli pakiet zostanie "
#~ "znaleziony w podkatalogu I<katalogu_bin>, to będzie sprawdzony względem "
#~ "I<sekcji>."

#~ msgid ""
#~ "If the host architecture differs from the build architecture (as is the "
#~ "case for a cross-compilation), and if the environment variable "
#~ "B<PKG_CONFIG_LIBDIR> is not set, then it is set to a value suitable for "
#~ "cross-compilation (\"/usr/I<gnu-system-type>/lib/pkgconfig/:/usr/share/"
#~ "pkgconfig\")."
#~ msgstr ""
#~ "Jeśli architektura docelowa różni się od architektury używanej podczas "
#~ "budowania (jak ma to miejsce przy kompilacji skrośnej), oraz jeśli "
#~ "zmienna środowiska B<PKG_CONFIG_LIBDIR> nie jest ustawiona, wtedy jest "
#~ "ustawiana na wartość nadającą się do kompilacji skrośnej (\"/usr/I<typ-"
#~ "systemu-gnu>/lib/pkgconfig/:/usr/share/pkgconfig\")."

#~ msgid ""
#~ "Some environment variables defining compiler and linker options are set "
#~ "to default values unless already present in the environment. Note that "
#~ "this mechanism was only introduced in version 1.14.17 of dpkg-dev and not "
#~ "all I<rules> files and build tools will honour these variables, yet."
#~ msgstr ""
#~ "Odpowiednie zmienne środowiska do określania opcji kompilatora i linkera "
#~ "są ustawiane na wartości domyślne, chyba że już są ustawione w "
#~ "środowisku. Należy zauważyć, że ten mechanizm został wprowadzony dopiero "
#~ "w wersji 1.14.17 dpkg-dev i jeszcze nie wszystkie pliki I<rules> i "
#~ "narzędzia do budowania pakietów honorują te zmienne."

#~ msgid ""
#~ "Optimization options which are passed to the Debian build system and can/"
#~ "should be overridden by the package build if needed (default value: B<-g -"
#~ "O2>, or B<-g\\ -O0> if B<noopt> is specified in DEB_BUILD_OPTIONS). "
#~ "Overriding options can be used to explicitly set a higher optimization "
#~ "level, or work around compiler bugs, which only can be seen with some "
#~ "optimization levels (the last opt level \"wins\")."
#~ msgstr ""
#~ "Opcje optymalizacji, które są przekazywane do systemu budowania Debiana i "
#~ "mogą/powinny być nadpisane przy budowaniu pakietu jeśli jest to potrzebne "
#~ "(wartość domyślna: B<-g -O2>, lub B<-g\\ -O0> jeśli opcja B<noopt> jest "
#~ "podana w DEB_BUILD_OPTIONS). Nadpisywanie opcji może być użyte w celu "
#~ "ustawienia wyższego poziomu optymalizacji lub radzenia sobie z błędami "
#~ "kompilatora, które pojawiają się przy niektórych poziomach optymalizacji "
#~ "(poziom określony w ostatniej opcji \"zwycięża\")."

#~ msgid "B<CFLAGS_APPEND>"
#~ msgstr "B<CFLAGS_APPEND>"

#~ msgid ""
#~ "Optimization options appended to the compiler flags, which must not be "
#~ "overwritten by the package (mostly used to for test builds). Default "
#~ "value: empty."
#~ msgstr ""
#~ "Opcje optymalizacji dodawane do flag kompilatora, które nie mogą być "
#~ "nadpisane przez pakiet (głównie używane dla testów budowania). Wartość "
#~ "domyślna: puste."

#~ msgid "Same as B<CFLAGS> for C++ sources."
#~ msgstr "To samo co B<CFLAGS> dla źródeł C++."

#~ msgid "B<CXXFLAGS_APPEND>"
#~ msgstr "B<CXXFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for C++ sources."
#~ msgstr "To samo co B<CFLAGS_APPEND> dla źródeł C++."

#~ msgid "Same as B<CFLAGS> for Fortran sources."
#~ msgstr "To samo co B<CFLAGS> dla źródeł w Fortranie."

#~ msgid "B<FFLAGS_APPEND>"
#~ msgstr "B<FFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for Fortran sources."
#~ msgstr "To samo co B<CFLAGS_APPEND> dla źródeł w Fortranie."

#~ msgid ""
#~ "Preprocessor flags which are passed to the Debian build system and can/"
#~ "should be overridden by the package build if needed (default: empty). "
#~ "This macro is seldom used (most build systems just use B<CFLAGS> instead "
#~ "of B<CPPFLAGS>)."
#~ msgstr ""
#~ "Flagi preprocesora, które są przekazywane do systemu budowania Debiana i "
#~ "mogą/powinny być nadpisane przy budowaniu pakietu jeśli jest to potrzebne "
#~ "(wartość domyślna: puste). To makro jest rzadko stosowane (większość "
#~ "systemów budowania używa po prostu B<CFLAGS> zamiast B<CPPFLAGS>)."

#~ msgid "B<CPPFLAGS_APPEND>"
#~ msgstr "B<CPPFLAGS_APPEND>"

#~ msgid ""
#~ "Preprocessor flags appended to the preprocessor flags, which must not be "
#~ "overwritten by the package (mostly used to for test builds). Default "
#~ "value: empty."
#~ msgstr ""
#~ "Flagi dodawane do flag preprocesora, które nie mogą być nadpisane przez "
#~ "pakiet (głównie używane dla testów budowania). Wartość domyślna: puste."

#~ msgid "B<LDFLAGS_APPEND>"
#~ msgstr "B<LDFLAGS_APPEND>"

#~ msgid ""
#~ "Optimization options appended to the compiler flags when linking code, "
#~ "which must not be overwritten by the package (mostly used to for test "
#~ "builds). Default value: empty."
#~ msgstr ""
#~ "Opcje optymalizacji dodawane do flag kompilatora podczas łączenia kodu, "
#~ "które nie mogą być nadpisane przez pakiet (głównie używane dla testów "
#~ "budowania). Wartość domyślna: puste."

#~ msgid "include all changes."
#~ msgstr "dołącza wszystkie zmiany."

#, fuzzy
#~| msgid "2007-11-19"
#~ msgid "2009-11-12"
#~ msgstr "2007-11-19"

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

#
#~ msgid "Display B<dpkg> licence."
#~ msgstr "Wyświetlenie licencji B<dpkg>."

#~ msgid "ENVIRONMENT VARIABLES"
#~ msgstr "ZMIENNE ŚRODOWISKA"

#~ msgid "B<DPKG_NO_TSTP>"
#~ msgstr "B<DPKG_NO_TSTP>"

#
#~ msgid ""
#~ "Define this to something if you prefer B<dpkg> starting a new shell "
#~ "rather than suspending itself, while doing a shell escape."
#~ msgstr ""
#~ "Zdefiniuj tę zmienną, jeśli chcesz, aby B<dpkg> uruchomił nową sesję "
#~ "powłoki zamiast usuwać B<dpkg> w tło, gdy potrzeba wykonać coś w powłoce."

#, fuzzy
#~| msgid "2009-08-16"
#~ msgid "2009-06-13"
#~ msgstr "2009-08-16"

#~ msgid "2009-01-07"
#~ msgstr "2009-01-07"

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

#~ msgid "Show the copyright licensing terms and exit."
#~ msgstr ""
#~ "Pokazuje informacje o licencji i prawach autorskich i kończy działanie."

#~ msgid ""
#~ "Read substitution variables in I<substvarsfile>; the default is B<debian/"
#~ "substvars>."
#~ msgstr ""
#~ "Czyta zmienne podstawiania z I<pliku_zmiennych_podst>; domyślnie jest to "
#~ "B<debian/substvars>."

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

#~ msgid "2009-09-06"
#~ msgstr "2009-09-06"

#~ msgid "B<-I>[I<file-pattern>]"
#~ msgstr "B<-I> [I<wzorzec-pliku>]"

#~ msgid "2009-08-20"
#~ msgstr "2009-08-20"

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

#
#~ msgid ""
#~ "Displays the B<dselect> copyright and license information and exits "
#~ "successfully."
#~ msgstr ""
#~ "Wyświetla informację o licencji i prawach autorskich programu i pomyślnie "
#~ "kończy działanie."

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

#~ msgid "B<--without-quilt>"
#~ msgstr "B<--without-quilt>"

#~ msgid ""
#~ "Don't use quilt to apply patches but dpkg-source's own code. It won't be "
#~ "possible to use quilt directly on the unpacked directory but it will be "
#~ "free of quilt's temporary files as well."
#~ msgstr ""
#~ "Nie używa quilt do nakładania łatek, ale własnego kodu dpkg-source. Nie "
#~ "będzie można używać quilt bezpośrednio na rozpakowanym katalogu, ale nie "
#~ "będzie on również zawierać plików tymczasowych quilt."

#~ msgid "2008-04-09"
#~ msgstr "2008-04-09"

#~ msgid "2007-03-06"
#~ msgstr "2007-03-06"

#~ msgid "2007-06-12"
#~ msgstr "2007-06-12"

#~ msgid "B<-Z>I<compression>"
#~ msgstr "B<-Z>I<kompresja>"

#~ msgid "B<-z>I<level>"
#~ msgstr "B<-z>I<poziom>"

#~ msgid "2009-01-04"
#~ msgstr "2009-01-04"

#~ msgid "2009-02-18"
#~ msgstr "2009-02-18"

#
#~ msgid "Forget about uninstalled unavailable packages."
#~ msgstr ""
#~ "Skasowanie informacji o wszystkich niezainstalowanych i niedostępnych "
#~ "pakietach."

#~ msgid "install-info"
#~ msgstr "install-info"

#~ msgid "install-info - create or update entry in Info dir file"
#~ msgstr "install-info - tworzy lub aktualizuje wpis w katalogu Info"

#~ msgid ""
#~ "B<install-info> [B<--version>] [B<--help>] [B<--debug>] [B<--"
#~ "maxwidth=>I<nnn>] [B<--section >I<regexp>B< >I<title>] [B<--"
#~ "infodir=>I<xxx>] [B<--align=>I<nnn>] [B<--quiet>] [B<--menuentry=>I<xxx>] "
#~ "[B<--description=>I<xxx>] [B<--remove>|B<--remove-exactly>] [B<-->] "
#~ "I<filename>"
#~ msgstr ""
#~ "B<install-info> [B<--version>] [B<--help>] [B<--debug>] [B<--"
#~ "maxwidth=>I<nnn>] [B<--section >I<wyraż_regularne>B< >I<tytuł>] [B<--"
#~ "infodir=>I<xxx>] [B<--align=>I<nnn>] [B<--quiet>] [B<--menuentry=>I<xxx>] "
#~ "[B<--description=>I<xxx>] [B<--remove>|B<--remove-exactly>] [B<-->] "
#~ "I<nazwa_pliku>"

#~ msgid ""
#~ "B<install-info> creates, updates or removes entries in the Info B<dir> "
#~ "file. When updating or creating entries, if no description is specified "
#~ "on the command line or in the Info file, it attempts to guess a "
#~ "description from the contents of the file."
#~ msgstr ""
#~ "B<install-info> tworzy, aktualizuje i usuwa wpisy w katalogu Info, czyli "
#~ "pliku B<dir>. Podczas aktualizowania lub tworzenia wpisów, jeżeli nie "
#~ "podano opisu ani w linii poleceń, ani w pliku Info, podejmowana jest "
#~ "próba zgadnięcia opisu na podstawie zawartości pliku."

#~ msgid ""
#~ "See the description of the B<--section> option for details of where the "
#~ "entry will be placed and a description of the expected format of the "
#~ "B<dir> file."
#~ msgstr ""
#~ "W opisie opcji B<--section> można znaleźć szczegóły dotyczące miejsca, w "
#~ "którym zostanie umieszczony wpis oraz opis oczekiwanego formatu pliku "
#~ "B<dir>."

#~ msgid "B<[--] >I<filename>"
#~ msgstr "B<[--] >I<nazwa pliku>"

#~ msgid ""
#~ "Gives the filename of the Info file whose menu entry is to be created, "
#~ "updated or removed. If B<--remove-exactly> is specified, then I<filename> "
#~ "should be the exact entry name to be removed (e.g. \"emacs-20/emacs\" or "
#~ "\"gcc\"), otherwise the basename of this filename is used as the referent "
#~ "of the menu entry which is created, unless there's an overriding START-"
#~ "INFO-DIR entry inside the given file. This file must therefore exist (or "
#~ "be about to be installed, or have previously existed when removing an "
#~ "entry) in the same directory as the B<dir> file (see the B<--infodir> "
#~ "option)."
#~ msgstr ""
#~ "Określa nazwę pliku Info, dla którego ma zostać utworzony, zaktualizowany "
#~ "lub usunięty wpis w menu. Jeśli podano B<--remove-exactly>, wtedy "
#~ "I<nazwa_pliku> powinna zawierać dokładną nazwę wpisu w menu do usunięcia "
#~ "(jak np. \"emacs-20/emacs\" lub \"gcc\"). W przeciwnym wypadku bazowa "
#~ "nazwa tego pliku jest używana jako odniesienie do wpisu w menu, który "
#~ "będzie tworzony, chyba że w podanym pliku znajduje się nadpisujący wpis "
#~ "START-INFO-DIR. Taki plik musi wtedy istnieć (lub powinien być "
#~ "instalowany, lub powinien już istnieć podczas usuwania wpisu) w tym samym "
#~ "katalogu co plik B<dir> (proszę sprawdzić opcję B<--infodir>)."

#~ msgid ""
#~ "If I<filename> ends in B<.gz>, it is taken to refer to a file compressed "
#~ "with B<gzip>; if it doesn't exist, but a corresponding I<filename>B<.gz> "
#~ "does, the latter is used instead."
#~ msgstr ""
#~ "Jeżeli I<nazwa_pliku> kończy się rozszerzeniem B<.gz>, to jest traktowana "
#~ "jako odwołanie do pliku spakowanego programem B<gzip>. Jeśli plik "
#~ "I<nazwa_pliku> nie istnieje, to używany jest plik I<nazwa_pliku>B<.gz>, o "
#~ "ile takowy istnieje."

#~ msgid ""
#~ "When adding or updating entries, the file must exist at the path "
#~ "specified (possibly with an additional B<.gz> extension)."
#~ msgstr ""
#~ "Podczas dodawania lub aktualizowania wpisów plik ten musi istnieć w "
#~ "podanej ścieżce (być może z dodatkowym rozszerzeniem B<.gz>)."

#~ msgid "B<--remove>"
#~ msgstr "B<--remove>"

#~ msgid ""
#~ "Specifies that the entry for the file I<filename> is to be removed; by "
#~ "default entries are created or updated."
#~ msgstr ""
#~ "Określa, że wpis dla pliku I<nazwa_pliku> będzie usunięty; domyślnie "
#~ "wpisy są tworzone lub aktualizowane."

#~ msgid ""
#~ "If the removal results in a section becoming empty, the section heading "
#~ "(and the spare blank line) will be removed as well, unless this is the "
#~ "last section in the file or B<--keep-old> is specified. See the B<--"
#~ "section> option for details about the expected format of the B<dir> file."
#~ msgstr ""
#~ "Jeśli usunięcie prowadzi do tego, że sekcja zostałaby pusta, nagłówek "
#~ "sekcji (oraz zapasowa pusta linia) także będą usunięte, chyba że jest to "
#~ "ostatnia sekcja w pliku lub podano opcję B<--keep-old>. Proszę sprawdzić "
#~ "opcję B<--section> w celu uzyskania informacji na temat spodziewanego "
#~ "formatu pliku B<dir>."

#~ msgid ""
#~ "If there are several suitable entries in the B<dir> file, only those in "
#~ "the first matching contiguous group will be removed and the others "
#~ "silently ignored."
#~ msgstr ""
#~ "Jeśli w pliku B<dir> znajduje się kilka odpowiednich wpisów, będą "
#~ "usunięte tylko wpisy z pierwszej ciągłej pasującej grupy, zaś pozostałe "
#~ "zostaną zignorowane bez żadnego ostrzeżenia."

#~ msgid ""
#~ "It is not an error for no suitable entry to be found, though B<install-"
#~ "info> will issue a warning unless the B<--quiet> option was specified."
#~ msgstr ""
#~ "Nie odnalezienie odpowiedniego wpisu nie jest błędem, jednak B<install-"
#~ "info> wyśle ostrzeżenie, chyba że podano opcję B<--quiet>."

#~ msgid ""
#~ "When B<--remove> is specified the B<--maxwidth>, B<--align> and B<--"
#~ "calign> formatting options are silently ignored."
#~ msgstr ""
#~ "Jeżeli podano B<--remove>, to opcje formatowania B<--maxwidth>, B<--"
#~ "align> oraz B<--calign> zostaną zignorowane bez żadnego ostrzeżenia."

#~ msgid "B<--remove-exactly>"
#~ msgstr "B<--remove-exactly>"

#~ msgid ""
#~ "This option is essentially the same as B<--remove> except that "
#~ "I<filename> is taken as the exact entry to be removed, rather than as the "
#~ "name of an existing file. This can be important when trying to remove "
#~ "entries that refer to info files in subdirectories (e.g. \"emacs-20/emacs"
#~ "\") because B<--remove> will operate on the basename of the given "
#~ "I<filename> rather than the exact name given. (i.e.  B<--remove> "
#~ "\"emacs-20/emacs\" would cause B<install-info> to look for \"emacs\", not "
#~ "\"emacs-20/emacs\")."
#~ msgstr ""
#~ "Ta opcja jest praktycznie taka sama jak B<--remove> z tą różnicą, że "
#~ "wtedy I<nazwa_pliku> powinna zawierać dokładną nazwę wpisu w menu do "
#~ "usunięcia, zamiast nazwy istniejącego pliku. Może być to istotne podczas "
#~ "próby usunięcia wpisów odnoszących się do plików w podkatalogach (np. "
#~ "\"emacs-20/emacs\"), ponieważ B<--remove> będzie korzystać z bazowej "
#~ "nazwy podanej I<nazwy_pliku> zamiast dokładnej nazwy. (np. B<--remove> "
#~ "\"emacs-20/emacs\" spowodowałby, że B<install-info> szukałoby \"emacs\", "
#~ "a nie \"emacs-20/emacs\")."

#~ msgid "B<--section >I<regexp title>"
#~ msgstr "B<--section >I<wyraż_regularne tytuł>"

#~ msgid ""
#~ "Specifies that if a new entry is to be made, it should be placed in a "
#~ "section of the B<dir> file whose title matches I<regexp>.  If no such "
#~ "section exists, one will be created as the second to last section in the "
#~ "file (see below) with title I<title>.  A section is a part of the B<dir> "
#~ "menu delimited by blank lines; the first line is assumed to be the title."
#~ msgstr ""
#~ "Określa, że jeśli ma być stworzony nowy wpis, powinien być umieszczony w "
#~ "sekcji w pliku B<dir>, której tytuł pasuje do I<wyraż_regularnego>. Jeśli "
#~ "taka sekcja nie istnieje, zostanie utworzona jako przedostatnia sekcja w "
#~ "pliku (patrz niżej) z tytułem I<tytuł>. Sekcja jest częścią menu B<dir> "
#~ "otoczoną pustymi liniami; pierwsza linia sekcji uważana jest za jej tytuł."

#~ msgid ""
#~ "If a new entry is to be created, B<install-info> will attempt to insert "
#~ "it within the section in alphabetic order. If the entries in the section "
#~ "aren't already sorted, the new location within the section will be "
#~ "unpredictable. The order of existing entries will not be changed."
#~ msgstr ""
#~ "Jeśli ma być utworzony nowy wpis, B<install-info> będzie starać się "
#~ "wstawić go w ramach sekcji w porządku alfabetycznym. Jeśli wpisy w sekcji "
#~ "nie są wstępnie posortowane, położenie wpisu w sekcji będzie nie do "
#~ "przewidzenia. Kolejność istniejących wpisów nie będzie zmieniana."

#~ msgid ""
#~ "If the B<--section> option is not specified, B<install-info> will look "
#~ "for a title in the Info file itself by looking for an entry of the form"
#~ msgstr ""
#~ "Jeśli nie zostanie podana opcja B<--section>, B<install-info> będzie "
#~ "szukać tytułu w samym pliku Info, poszukując wpisu postaci"

#~ msgid "B<INFO-DIR-SECTION>I< title>"
#~ msgstr "B<INFO-DIR-SECTION>I< tytuł>"

#~ msgid ""
#~ "If no section title is found, the default is to append new entries to the "
#~ "end of the file. The last section (even if it only consists of the title "
#~ "line) should always exist to ensure that new sections are created in the "
#~ "right place. The final section should be titled to reflect the fact that "
#~ "Info files with no better specified location are appended to it."
#~ msgstr ""
#~ "Jeśli tytuł sekcji nie zostanie znaleziony, domyślnym zachowaniem jest "
#~ "dodanie nowych wpisów na końcu pliku. Ostatnia sekcja (nawet jeśli składa "
#~ "się tylko z linii z tytułem) powinna zawsze istnieć aby zapewnić, że nowe "
#~ "sekcje będą tworzone we właściwym miejscu. Ostatnia sekcja powinna być "
#~ "zatytułowana w sposób odzwierciedlający fakt, że będą do niej dołączane "
#~ "pliki Info, które nie mają określonego lepszego położenia."

#~ msgid ""
#~ "If there is already an entry for the Info file being installed, it is "
#~ "replaced in situ with the new entry."
#~ msgstr ""
#~ "Jeśli wpis dla instalowanego pliku Info już istnieje, jest zastępowany w "
#~ "miejscu przez nowy wpis."

#~ msgid ""
#~ "If a section is specified when removing an entry, the section is ignored "
#~ "and a warning is issued."
#~ msgstr ""
#~ "Jeśli podczas usuwania wpisu podano sekcję, to będzie ona zignorowana "
#~ "oraz zostanie wypisane odpowiednie ostrzeżenie."

#~ msgid ""
#~ "If a section is requested when adding an entry, but the file contains no "
#~ "section headings at all, then B<install-info> will create both the "
#~ "requested section and a Miscellaneous section at the end of the file."
#~ msgstr ""
#~ "Jeśli określono sekcję podczas dodawania wpisu, ale plik nie zawiera "
#~ "wcale nagłówków sekcji, B<install-info> utworzy zarówno żądaną sekcję jak "
#~ "i sekcję Miscellaneous na końcu pliku."

#~ msgid "B<--infodir=>I<infodir>"
#~ msgstr "B<--infodir=>I<katalog_info>"

#~ msgid ""
#~ "Specifies that the B<dir> file is, and the installed copy of the new Info "
#~ "file was, is or will be located in I<infodir>.  The default is B</usr/"
#~ "share/info/>."
#~ msgstr ""
#~ "Określa, że plik B<dir> jest, a zainstalowana kopia nowego pliku Info "
#~ "była, jest lub będzie zlokalizowana w I<katalogu_info>. Domyślnie jest to "
#~ "B</usr/share/info/>."

#~ msgid "B<--align=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--align=>I<nnn>B< [przestarzałe]>"

#~ msgid ""
#~ "Specifies that the first line of the description should be indented at "
#~ "least I<nnn> characters; extra spaces will be added as required. If "
#~ "necessary because of the length of the B<dir> menu entry details, it may "
#~ "be offset more. The default is 27."
#~ msgstr ""
#~ "Określa, że wcięcie pierwszej linii opisu powinno wynosić co najmniej "
#~ "I<nnn> znaków; jeśli będzie to potrzebne, to zostaną dodane dodatkowe "
#~ "spacje. Jeśli będzie to potrzebne z powodu długości szczegółów wpisu "
#~ "B<dir> w menu, może być ich dodanych nawet więcej. Domyślną wartością "
#~ "jest 27."

#~ msgid "B<--calign=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--calign=>I<nnn>B< [przestarzałe]>"

#~ msgid ""
#~ "Specifies that the second and subsequent lines of the description should "
#~ "be indented at least I<nnn> characters. The default is 29."
#~ msgstr ""
#~ "Określa, że wcięcie drugiej i kolejnych linii opisu powinno wynosić co "
#~ "najmniej I<nnn> znaków. Domyślnie jest to 29."

#~ msgid "B<--maxwidth=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--maxwidth=>I<nnn>B< [przestarzałe]>"

#~ msgid ""
#~ "Specifies that the maximum width for the Info file is I<nnn>.  This is "
#~ "used when word-wrapping the descriptive text.  The default is 79."
#~ msgstr ""
#~ "Określa, że maksymalna szerokość pliku Info to I<nnn>. Jest to używane "
#~ "podczas zawijania słów tekstu opisu. Domyślnie jest to 79."

#~ msgid ""
#~ "Prevents the usual display of the new menu entry just before it is "
#~ "inserted and of the messages announcing the replacement and removal of "
#~ "existing entries and the creation and deletion of sections."
#~ msgstr ""
#~ "Zapobiega typowemu wyświetlaniu nowego wpisu w menu tuż przed jego "
#~ "wstawieniem, komunikatom ogłaszającym zastąpienie i usunięcie "
#~ "istniejących wpisów oraz tworzenie i usuwanie sekcji."

#~ msgid "Causes B<install-info> to display its usage information and exit."
#~ msgstr ""
#~ "Powoduje, że B<install-info> wyświetli informacje o użyciu i zakończy "
#~ "działanie."

#
#~ msgid ""
#~ "Causes B<install-info> to display its version and copyright information "
#~ "and exit."
#~ msgstr ""
#~ "Powoduje, że B<install-info> wyświetli informacje o wersji i prawach "
#~ "autorskich i zakończy działanie."

#~ msgid ""
#~ "Specifies that the description to use after the menu entry in new or "
#~ "updated entries be I<xxx>.  The default is to use the the value specified "
#~ "in the Info file itself; this is found by searching for a section of the "
#~ "form"
#~ msgstr ""
#~ "Określa, że opisem używanym za wpisem w menu dla nowych lub "
#~ "aktualizowanych wpisów ma być I<xxx>. Domyślnie używana jest wartość "
#~ "określona w samym pliku Info, jest ona wyszukiwana poszukując sekcji "
#~ "postaci"

#~ msgid "B<START-INFO-DIR-ENTRY>"
#~ msgstr "B<START-INFO-DIR-ENTRY>"

#~ msgid "B<* Auto-PGP: (auto-pgp). PGP under GNU Emacs.>"
#~ msgstr "B<* Auto-PGP: (auto-pgp). PGP w GNU Emacsie.>"

#~ msgid "B<END-INFO-DIR-ENTRY>"
#~ msgstr "B<END-INFO-DIR-ENTRY>"

#~ msgid ""
#~ "If the entry found in the Info file itself extends across several lines, "
#~ "each giving a menu entry, the text found in the file is used verbatim. In "
#~ "this case, the alphabetic ordering scheme is turned off, and the entries "
#~ "are inserted at the top of section in question. In this case, the B<--"
#~ "menuentry>, B<--maxwidth>, B<--align>, B<--calign> and B<--menuentry> "
#~ "options are ignored."
#~ msgstr ""
#~ "Jeśli wpis znaleziony w samym pliku Info rozciąga się na kilka linii, z "
#~ "których każda tworzy wpis w menu, tekst znaleziony w pliku jest używany "
#~ "dosłownie. Sortowanie alfabetyczne jest wtedy wyłączane, a wpisy są "
#~ "wstawiane na początku wskazanej sekcji. W takim przypadku opcje B<--"
#~ "menuentry>, B<--maxwidth>, B<--align>, B<--calign> i B<--menuentry> są "
#~ "ignorowane."

#~ msgid ""
#~ "If there is no B<dir> entry in the file, the program will try to find a "
#~ "paragraph early in the file starting B<this file documents>.  It will "
#~ "capitalise the first character of the remainder, and use that."
#~ msgstr ""
#~ "Jeśli w pliku nie ma wpisu B<dir>, program będzie starał się znaleźć "
#~ "paragraf na początku pliku rozpoczynający się od B<this file documents>. "
#~ "Pierwszy znak pozostałej części zostanie zamieniony na wielką literę i to "
#~ "zostanie użyte."

#~ msgid "It is an error for none of these methods to yield a description."
#~ msgstr "Błędem jest jeśli żadna z tych metod nie zwróci opisu."

#~ msgid ""
#~ "If a description argument is given when B<--remove> is specified, it is "
#~ "ignored and a warning is issued."
#~ msgstr ""
#~ "Jeśli podczas usuwania (B<--remove>) podano argument zawierający opis, to "
#~ "jest on ignorowany i odpowiednie ostrzeżenie jest wypisywane."

#~ msgid "B<--menuentry=>I<xxx>"
#~ msgstr "B<--menuentry=>I<xxx>"

#~ msgid ""
#~ "Specifies that the entry in the menu should be I<xxx>.  The default is to "
#~ "use the the value specified in the Info file itself.  If this is not "
#~ "present, the basename of the Info file is used (any B<.info >is deleted, "
#~ "and the entry is made mixed case).  See above for details of the format "
#~ "expected for the menu entry in the Info file."
#~ msgstr ""
#~ "Określa, że wpisem w menu powinno być I<xxx>. Domyślnie używana jest "
#~ "wartość określona w samym pliku Info. Jeśli jej nie ma, używana jest "
#~ "bazowa nazwa pliku Info (ponadto część B<.info> jest usuwana, jest też "
#~ "zmieniany odpowiednio rozmiar liter pozostałego wpisu). Szczegółowe "
#~ "informacje na temat oczekiwanego formatu wpisu w menu zawartego w pliku "
#~ "Info można znaleźć powyżej."

#~ msgid ""
#~ "When removing entries, the value of the B<--menuentry> option must match "
#~ "the actual menu entry field in the menu item to be removed (case not "
#~ "significant). If B<--menuentry> is omitted, no check on the menu entry is "
#~ "done."
#~ msgstr ""
#~ "Podczas usuwania wpisów, wartość opcji B<--menuentry> musi odpowiadać "
#~ "bieżącej wartości wpisu pola menu w usuwanej pozycji menu (wielkość "
#~ "znaków nie ma znaczenia). Jeśli nie podano B<--menuentry>, to wpis menu "
#~ "nie jest sprawdzany."

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

#~ msgid ""
#~ "Inhibits the replacement of existing entries and the removal of empty "
#~ "sections."
#~ msgstr ""
#~ "Zabrania zastępowania istniejących wpisów i usuwania pustych sekcji."

#~ msgid ""
#~ "If the file being installed already has an entry in the Info B<dir> file, "
#~ "the old entry will be left alone instead of being replaced; the default "
#~ "is to overwrite any old entry found with the newly generated one."
#~ msgstr ""
#~ "Jeśli instalowany plik ma już wpis w pliku B<dir>, stary wpis będzie "
#~ "pozostawiony zamiast zamieniania go. Domyślnie stare wpisy są nadpisywane "
#~ "przez nowo wygenerowane."

#~ msgid ""
#~ "If B<--remove> is specified, B<--keep-old> will prevent the removal of "
#~ "the section heading which would otherwise happen if the section is made "
#~ "empty by the removal."
#~ msgstr ""
#~ "Jeżeli podano opcję B<--remove>, to B<--keep-old> zapobiegnie usunięciu "
#~ "nagłówka sekcji, co by się zdarzyło, gdyby po usunięciu nagłówka sekcja "
#~ "stała się pusta."

#~ msgid ""
#~ "Enables test mode, which inhibits the update of the Info B<dir> file."
#~ msgstr ""
#~ "Włącza tryb testowy, który powstrzymuje aktualizację pliku katalogu Info "
#~ "B<dir>. "

#~ msgid ""
#~ "Enables debugging mode, in which the results of some internal processing "
#~ "steps are shown."
#~ msgstr ""
#~ "Włącza tryb debugowania, w którym pokazywane są wyniki wewnętrznych "
#~ "kroków przetwarzania."

#~ msgid "B<emacs>(1), B<info>(1), B<gzip(1).>"
#~ msgstr "B<emacs>(1), B<info>(1), B<gzip(1).>"

#, fuzzy
#~ msgid "Copyright \\(co 1994 Ian Jackson"
#~ msgstr "Copyright 1994 Ian Jackson"

#~ msgid "822-date"
#~ msgstr "822-date"

#~ msgid "2007-01-24"
#~ msgstr "2007-01-24"

#
#~ msgid "822-date - Print date and time in RFC2822 format"
#~ msgstr "822-date - Drukuje datę i czas w formacie RFC2822"

#
#~ msgid "B<822-date>"
#~ msgstr "B<822-date>"

#~ msgid ""
#~ "B<822-date> displays the current date and time in the format described in "
#~ "RFC2822.  It does so by simply calling B<date>(1)  with the B<-R> option."
#~ msgstr ""
#~ "B<822-date> wyświetla bieżącą datę i czas w formacie opisywanym przez "
#~ "dokument RFC2822. Robi to przez proste wywołanie polecenia B<date>(1) z "
#~ "opcją B<-R>."

#~ msgid ""
#~ "B<Using 822-date is deprecated since> B<date>(1)  provides the same "
#~ "functionality when called with the B<-R>."
#~ msgstr ""
#~ "B<Używanie 822-date jest uznawane za przestarzałe>, ponieważ B<date>(1) "
#~ "uruchomiony z opcją B<-R> dostarcza tej samej funkcjonalności."

#~ msgid "B<822-date> does not take any arguments or options."
#~ msgstr "B<822-date> nie wymaga podania żadnej opcji."

#~ msgid "This facility really ought to be part of B<date>(1)."
#~ msgstr "To polecenie powinno być częścią polecenia B<date>(1)."

#~ msgid "I<Internet Message Format> (RFC2822), B<date>(1)."
#~ msgstr "I<Internet Message Format> (RFC2822), B<date>(1)."

#~ msgid ""
#~ "B<822-date> is a really simple wrapper around B<date>(1).  By its "
#~ "simplicity, the code is probably not copyrightable and should be "
#~ "considered to be in the public domain. This man page was written by Frank "
#~ "Lichtenheld based on an earlier version by Ian Jackson and was also put "
#~ "in the public domain."
#~ msgstr ""
#~ "B<822-date> jest tak naprawdę prostym programem wywołującym polecenie "
#~ "B<date>(1). Z powodu swojej prostoty kod ten najprawdopodobniej nie jest "
#~ "przedmiotem praw autorskich i powinien być uważany za oprogramowanie typu "
#~ "public domain. Tę stronę podręcznika, która również jest udostępniana "
#~ "jako public domain, napisał Frank Lichtenheld na podstawie poprzedniej "
#~ "wersji autorstwa Iana Jacksona."

#~ msgid "Do not clean the source tree (implies B<-b>)."
#~ msgstr "Nie czyści katalogu ze źródłami (implikuje B<-b>)."

#~ msgid ""
#~ "B<Deprecated>. Set an output substitution variable.  See B<deb-substvars>"
#~ "(5) for a discussion of output substitution."
#~ msgstr ""
#~ "B<Przestarzałe>. Ustawia zmienną podstawienia wyjścia. Szczegółowy opis "
#~ "podstawiania wyjścia znajduje się w B<deb-substvars>(5)."

#~ msgid "cleanup-info"
#~ msgstr "cleanup-info"

#~ msgid ""
#~ "cleanup-info - clean up the mess that bogus install-info may have done"
#~ msgstr "cleanup-info - robi porządek po działaniu fałszywego install-info"

#~ msgid "B<cleanup-info> [I<options>] [B<-->] [I<dirname>]"
#~ msgstr "B<cleanup-info> [I<opcje>] [B<-->] [I<nazwa_katalogu>]"

#~ msgid ""
#~ "B<cleanup-info> is a Perl script that tries to clean up the mess that "
#~ "bogus B<install-info>(8)  may have done.  It gathers all sections with "
#~ "the same heading into a single one.  It tries to be smart about cases and "
#~ "trailing colon/spaces."
#~ msgstr ""
#~ "B<cleanup-info> jest skryptem Perla, który stara się uporządkować "
#~ "bałagan, który mógł stworzyć fałszywy B<install-info>(8). Łączy wszystkie "
#~ "sekcje mające ten sam nagłówek w jedną. Stara się mądrze wychwycić różne "
#~ "przypadki oraz końcowe dwukropki/spacje."

#~ msgid ""
#~ "Other clean-ups include removing of empty sections, and squeezing the "
#~ "blank lines (in entries part only)."
#~ msgstr ""
#~ "Inne porządki dotyczą usuwania pustych sekcji i łączenie pustych linii "
#~ "(tylko w częściach wpisów)."

#~ msgid ""
#~ "Order of sections is preserved (the first encountered section counts).  "
#~ "Order of entries within a section is preserved."
#~ msgstr ""
#~ "Zachowywany jest porządek sekcji (liczy się tylko pierwsze napotkanie "
#~ "sekcji). Zachowywany jest również porządek wpisów w danej sekcji."

#~ msgid ""
#~ "Please be B<extremely careful> when using this utility - it might not be "
#~ "100% safe. cleanup-info tries to be careful with your info dir file, but "
#~ "only until it writes it. You should back the file up prior to using this "
#~ "script."
#~ msgstr ""
#~ "Proszę zachować B<szczególną ostrożność>, używając tego programu - może "
#~ "nie być całkiem bezpieczny. cleanup-info stara się ostrożnie obchodzić "
#~ "się z plikiem dir, ale tylko do czasu, gdy go zapisze. Przed użyciem tego "
#~ "skryptu, powinno się zrobić kopię zapasową pliku dir."

#~ msgid "B<--unsafe>"
#~ msgstr "B<--unsafe>"

#~ msgid "Set some additional possibly useful options."
#~ msgstr "Ustawia kilka opcji dodatkowych, a być może użytecznych."

#~ msgid ""
#~ "B<Warning: the `--unsafe' option may garble an otherwise correct file!>"
#~ msgstr "B<Ostrzeżenie: opcja \"--unsafe\" może uszkodzić poprawny plik!>"

#~ msgid "I</usr/info/dir> or I<E<lt>dirnameE<gt>/dir>"
#~ msgstr "I</usr/info/dir> lub I<E<lt>nazwa_kataloguE<gt>/dir>"

#~ msgid ""
#~ "The info directory file. The lock file is named the same, with \".lock\" "
#~ "suffix."
#~ msgstr ""
#~ "Plik z katalogiem info. Plik blokady ma tę samą nazwę z dołączonym "
#~ "sufiksem \".lock\"."

#~ msgid "Probably many."
#~ msgstr "Prawdopodobnie wiele."

#~ msgid "B<install-info>(8), B<info>(1)."
#~ msgstr "B<install-info>(8), B<info>(1)."

#, fuzzy
#~ msgid "Copyright \\(co 1996 Kim-Minh Kaplan"
#~ msgstr "Copyright (C) 1996 Kim-Minh Kaplan"

#~ msgid "2008-01-30"
#~ msgstr "2008-01-30"

#~ msgid "generic name"
#~ msgstr "nazwa ogólna"

#~ msgid "symlink"
#~ msgstr "link symboliczny"

#~ msgid ""
#~ "Without any further qualification, this means a symbolic link in the "
#~ "alternatives directory: one which the system administrator is expected to "
#~ "adjust."
#~ msgstr ""
#~ "Bez żadnego szczegółowego dookreślenia, oznacza to link symboliczny w "
#~ "katalogu alternatyw: ten, który administrator systemu powinien poprawiać."

#~ msgid "Call B<--config> on all alternatives."
#~ msgstr "Wywołuje B<--config> dla wszystkich alternatyw."

#, fuzzy
#~ msgid "B<Error:> E<lt>error detailsE<gt>"
#~ msgstr "B<Priority:> E<lt>priorytetE<gt>"
