# Manual page for dpkg
# Copyright 1999-2011 Software in the Public Interest
# Peter Krefting <peterk@debian.org>, 1999-2011, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg man pages\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-14 07:11+0300\n"
"PO-Revision-Date: 2011-09-14 07:40+0100\n"
"Last-Translator: Peter Krefting <peterk@debian.org>\n"
"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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
#, no-wrap
msgid "2011-08-14"
msgstr "2011-08-14"

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

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

#. type: Plain text
#: deb.5:4
msgid "deb - Debian binary package format"
msgstr "deb - Debians binära paketformat"

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

#. type: Plain text
#: deb.5:6 deb-split.5:6 deb-old.5:7
msgid "I<filename>B<.deb>"
msgstr "I<filnamn>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 "BESKRIVNING"

#. 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 ""
"B<.deb>-formatet är Debians binära paketformat. Det förstås av dpkg 0.93.76 "
"och senare, och genereras som förval av alla versioner av dpkg sedan 1.2.0, "
"och alla i386/ELF-versioner sedan 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 ""
"Formatet som beskrivs här används sedan Debian 0.93; detaljer om det gamla "
"formatet finns i B<deb-old>(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 ""
"Filen är ett B<ar>-arkiv med det magiska numret B<!E<lt>archE<gt>>. "
"Filnamnen kan innehålla ett avslutande snedstreck."

#. 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 ""
"De B<tar>-arkiv som tillåts för närvarande är; den gamla stilens format "
"(v7), för-POSIX-ustar-formatet, en delmängd av GNU-formatet (endast de långa "
"sökvägs- och länknamnen i den nya stilen, stöds sedan dpkg 1.4.1.17), och "
"POSIX-ustar-formatet (långa namn stöds sedan dpkg 1.15.0). Okända tar-"
"typflaggor anses utgöra fel."

#. 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 ""
"Den första posten i arkivet heter B<debian-binary> och innehåller ett antal "
"rader, avdelade med nyradstecken. För närvarande finns endast en rad, "
"formatets versionsnummer, B<2.0>. Program som läser arkiv i det nya formatet "
"bör vara förberedda på att underversionsnumret kan komma att ökas, och att "
"nya rader kan förekomma, och skall i så fall ignorera dessa."

#. 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 ""
"Om huvudversionsnumret har ändrats har en inkompatibel ändring införts, och "
"programmet skall avbrytas. Om så inte har gjorts, skall programmet kunna "
"fortsätta utan problem, såvida det inte stöter på en oväntad post i arkivet "
"(förutom i slutet), enligt vad beskrivs nedan."

#. 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 ""
"Den andra nödvändiga posten heter B<control.tar.gz>. Det är ett gzip-packat "
"tar-arkiv som innehåller paketets kontrollinformation, lagrade som ett antal "
"vanliga filer, av vilka filen B<control> krävs och innehåller grundläggande "
"kontrollinformation. Tarbollen control kan eventuellt innehålla en post för "
"\"B<.>\", den aktuella katalogen."

#. type: Plain text
#: deb.5:62
msgid ""
"The third, last required member is named B<data.tar>.  It contains the "
"filesystem as a tar archive, either not compressed (supported since dpkg "
"1.10.24), or compressed with gzip (with B<.gz> extension), xz (with B<.xz> "
"extension, supported since dpkg 1.15.6), bzip2 (with B<.bz2> extension, "
"supported since dpkg 1.10.24) or lzma (with B<.lzma> extension, supported "
"since dpkg 1.13.25)."
msgstr ""
"Den tredje och sista nödvändiga posten heter B<data.tar>. Den innehåller "
"filsystemet som ett tar-arkiv, antingen okomprimerat (stöds sedan dpkg "
"1.10.24), eller komprimerat med gzip (med filslutet B<.gz>), xz (med "
"filslutet B<.xz>, stöds sedan dpkg 1.15.6), bzip2 (med filslutet B<.bz2>, "
"stöds sedan dpkg 1.10.24) eller lzma (med filslutet B<.lzma>, stöds sedan "
"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 ""
"Dessa poster måste ligga i exakt denna ordning. Nuvarande implementationer "
"bör ignorera eventuella ytterligare poster efter B<data.tar>. Ytterligare "
"poster kan komma att definieras i framtiden, och kommer (om möjligt) "
"placeras efter dessa tre. Eventuella ytterligare poster som kan komma att "
"behöva finnas före B<data.tar> och som kan ignoreras av äldre program utan "
"problem kommer att ha namn som börjar med understreck, \"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 ""
"Nya poster som inte kommer att kunna ignoreras utan problem kommer att "
"läggas in före B<data.tar> med namn som börjar med något annat än "
"understreck, eller (mer troligt) göra att huvudversionsnumret ökas."

#. 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 "SE ÄVEN"

#. 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 - Debians filformat för paketstyrfiler"

#. 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 ""
"Varje Debianpaket innehåller huvudstyrfilen \"control\", vilken i sig "
"innehåller ett antal fält, eller kommentarer där raderna inleds med B<\"#"
"\">. Varje fält börjar med en etikett, såsom B<Package> eller B<Version> "
"(skiftlägesoberoende), följt av ett kolontecken och fältets kropp. Fält "
"avdelas endast av fältetiketter. Med andra ord kan texten i fälten spänna "
"över flera rader, men installationsverktygen kommer oftast att slå samman "
"rader när kroppen tolkas (förutom i fallet för B<Description>-fältet, se "
"nedan)."

#. type: SH
#: deb-control.5:25
#, no-wrap
msgid "REQUIRED FIELDS"
msgstr "NÖDVÄNDIGA FÄLT"

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

#. 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 ""
"Värdet på fältet bestämmer paketets namn, och används av de flesta "
"installationsverktygen för att generera filnamnen."

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

#. 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 ""
"Vanligtvis är detta det ursprungliga paketets versionsnummer på den form "
"programmets författare använder. Den kan även innehålla ett "
"Debianuppdateringsnummer (för paket vars källa är utanför Debian). Exakt "
"format och sorteringsalgoritm beskrivs i B<deb-version>(5)."

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

#. 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 ""
"Skall vara på formatet \"Joe Bloggs E<lt>jbloggs@foo.comE<gt>\" och är "
"normalt sett den person som skapat paketet, till skillnad från författaren "
"av den programvara som paketerades."

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

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

#. 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 ""
"Formatet för paketbeskrivningen är en kortfattad sammanfattning på den "
"första raden (efter \"Description\"-fältet). Följande rader bör användas för "
"en längre, mer detaljerad beskrivning. Varje rad i den lägre beskrivningen "
"måste inledas med ett blanksteg, och blanka rader i den långa beskrivningen "
"måste innehålla en ensam punkt (\".\") efter det inledande blanksteget."

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

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

#. 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 ""
"Detta är ett generellt fält som ger paketet en kategori baserat på "
"programvara som det installerar. Några vanliga sektioner är \"utils\", \"net"
"\", \"mail\", \"text\", \"x11\" osv."

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

#. 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 ""
"Ställer in hur viktigt paketet är jämfört med systemet som enhet.  Vanliga "
"prioriteter är \"required\" (nödvändig), \"standard\" (normal), \"optional"
"\" (valfritt), \"extra\" (extra) osv."

#. 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 ""
"I Debian har fälten B<Section> och B<Priority> en definierad uppsättning "
"accepterade värden baserade på policymanualen. En förteckning över dessa "
"värden finns i den senaste versionen av paketet B<debian-policy>."

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

#. type: Plain text
#: deb-control.5:78
msgid ""
"This field is usually only needed when the answer is B<yes>. It denotes a "
"package that is required for proper operation of the system. Dpkg or any "
"other installation tool will not allow an B<Essential> package to be removed "
"(at least not without using one of the force options)."
msgstr ""
"Fältet krävs normalt sett endast om svaret är B<yes> (ja), och betecknar att "
"paketet krävs för en korrekt installation av systemet. Dpkg och andra "
"installationsverktyg tillåter inte att ett paket märkt B<Essential> tas bort "
"(åtminstone inte utan att använda en av de tvingande flaggorna)."

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

#. 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 ""
"Arkitekturen anger vilken sorts maskinvara paketet kompilerades för. Vanliga "
"arkitekturer är \"i386\", \"m68k\", \"sparc\", \"alpha\", \"powerpc\" osv.  "
"Observera att värdet B<all> är avsett för paket som är oberoende av "
"arkitektur. Exempel på detta är skal- eller Perlskript och dokumentation."

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

#. type: Plain text
#: deb-control.5:89
msgid "The name of the distribution this package is originating from."
msgstr "Namnet på den distribution paketet härstammar från."

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

#. type: Plain text
#: deb-control.5:94
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian.org>."
msgstr ""
"I<URL>:en till felrapporteringssystemet för detta paket. Det nuvarande "
"formatet är I<systemtyp>B<://>I<adress>, till exempel B<debbugs://bugs."
"debian.org>."

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

#. type: Plain text
#: deb-control.5:97
msgid "The upstream project home page I<url>."
msgstr "URL till uppströmsprojektets hemside-I<url>."

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

#. 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 över märken som beskriver paketets egenskaper. En beskrivningen och "
"förteckning över kända märken finns i paketet B<debtags>."

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

#. 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 ""
"Det här fältet används för att ange hur paketet skall fungera på en "
"flerarkitektursinstallation. Värdet B<same> (samma) betyder att paket kan "
"saminstalleras med sig självt, men kan inte användas för att uppfylla "
"beroenden för paket med en annan arkitektur än sig självt. Värdet B<foreign> "
"(främmande) betyder att paketet inte kan saminstalleras med sig självt, men "
"att det kan användas för att uppfylla beroenden för paket med en annan "
"arkitektur än sig självt. Värdet B<allowed> (tillåtet) tillåter att omvända "
"beroenden kan ange i sina Depends-fält att de behöver ett paket från en "
"främmande arkitektur, men har i övrigt ingen funktion. Fältet bör inte "
"förekomma i paket med fältet B<Architecture: all>."

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

#. 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 ""
"Namnet på det källkodspaket som binärpaketet kommer från, om det skiljer sig "
"från namnet på själva paketet."

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

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

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

#. 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 ""
"Dessa fält används av debian-installer och behövs normalt inte. Se /usr/"
"share/doc/debian-installer/devel/modules.txt från paketet B<debian-"
"installer> för mer information om dem."

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

#. 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 över paket som krävs för att paketet skall kunna tillhandahålla en "
"icke-trivial mängd funktionalitet. Pakethanteringsprogramvaran kommer inte "
"tillåta att ett paket installeras om paketen som listas i B<Depends>-fältet "
"inte är installerade (åtminstone inte utan att använda en av de tvingande "
"flaggorna). Vid en installation körs postinst-skripten i paketen i Depends:-"
"fälten innan de paket som beror på dem. Under det omvända förhållandet, en "
"borttagning, körs prerm-skriptet i ett paket innan de som finns i dess "
"Depends:-fält."

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

#. 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 över paket som måste vara installerade B<och> konfigurerade innan "
"paketet kan installeras. Detta används normalt i de fall paketet kräver att "
"ett annat paket är installerat för sitt preinst-skript."

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

#. 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 över paket som bör installeras tillsammans med paketet i de allra "
"flesta fall.  Pakethanteringsprogramvaran kommer att varna användaren om man "
"installerar ett paket utan de som listas i B<Recommends>-fältet."

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

#. 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 över paket som är relaterade till paketet och som kanske kan göra det "
"mer användbart, men utan vilka det fortfarande är rimligt att installera "
"paketet."

#. 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 ""
"Syntaxen för fälten B<Depends>, B<Pre-Depends>, B<Recommends> och "
"B<Suggests> är en lista med grupper av alternativa paket. Varje grupp "
"innehåller en lista med paket avdelade med ett vertikalstreck (rör) (\"|"
"\").  Grupperna avdelas med kommatecken. Komma utläses som \"OCH\", och "
"vertikalstrecken som \"ELLER\", där vertikalstrecken binder hårdare. Varje "
"paketnamn kan eventuellt följas av en versionsnummerangivelse inom "
"parenteser."

#. 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 ""
"Ett versionsnummer kan börja med \"E<gt>E<gt>\", vilket betyder att vilken "
"som helst senare version matchar, där det är valfritt att ange "
"Debianuppdateringen (avdelad med bindestreck).  Tillåtna versionrelationer "
"är \"E<gt>E<gt>\" för större än, \"E<lt>E<lt>\" för mindre än, \"E<gt>=\" "
"för större än eller lika med\", \"E<lt>=\" för mindre än eller lika med, och "
"\"=\" för lika med."

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

#. 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 ""
"Listar paket som förstörs av detta, till exempel genom att lyfta fram fel "
"när det namngivna paketet beror på detta. Pakethanteringsprogramvaran "
"tillåter inte att förstörda paket konfigureras; problemet löses vanligtvis "
"genom att uppgradera paketen som namnges i ett B<Breaks>-fält."

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

#. 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 ""
"Listar paket som är i konflikt (krockar) med detta, till exempel genom att "
"innehålla filer med samma namn. Pakethanteringsprogramvaran tillåter inte "
"två sådana paket att vara installerade samtidigt. Två paket med inbördes "
"konflikt bör innehålla en B<Conflicts>-rad med varandras namn."

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

#. 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 över paket ersätts av filer från det här paketet. Detta används för "
"att möjliggöra paket att skriva över filer från andra paket, och används "
"normalt sett tillsammans med B<Conflicts>-fältet för att tvinga fram "
"borttagning av det andra paketet om även det här har de filer som finns i "
"paketet det står i konflikt med."

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

#. 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 ""
"Detta är en lista av virtuella paket som tillhandahålls av detta. Normalt "
"sett används detta i de fall flera paket tillhandahåller samma tjänst. Till "
"exempel kan både sendmail och exim fungera som e-postserver, så de "
"tillhandahåller ett gemensamt paket (\"mail-transport-agent\") på vilket "
"andra paket kan bero, vilket gör det möjligt för sendmail eller exim att "
"fungera som ett alternativ som tillfredsställer beroendet. Detta förhindrar "
"att paket som beror på en e-postserver måste känna till alla deras paketnamn "
"och använda \"|\" för att dela av listan."

#. type: Plain text
#: deb-control.5:233
msgid ""
"The syntax of B<Breaks>, B<Conflicts>, B<Replaces> and B<Provides> is a list "
"of package names, separated by commas (and optional whitespace).  In the "
"B<Breaks> and B<Conflicts> fields, the comma should be read as `OR'. An "
"optional version can also be given with the same syntax as above for the "
"B<Breaks>, B<Conflicts> and B<Replaces> fields."
msgstr ""
"Syntaxen för B<Breaks>, B<Conflicts>, B<Replaces> och B<Provides> är en "
"lista över paketnamn avdelade med komman (och eventuella blanktecken). I "
"fälten B<Breaks> och B<Conflicts> läses kommatecknet som \"ELLER\". Ett "
"eventuellt versionsnummer kan även anges, med samma syntax som ovan för "
"fälten B<Breaks>, B<Conflicts> och B<Replaces>."

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

#. 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 ""
"Fältet visar ytterligare källkodspaket som användes när binärpaketet "
"byggdes. Detta anger för hanteringsprogramvaran för arkivet att dessa "
"ytterligare källkodspaket måste behållas så länge binärpaketet finns i "
"arkivet. Fältet måste innehålla en lista med källkodspaket med strikta (=) "
"versionsberoenden. Observera att hanteringsprogramvaran för arkivet troligen "
"kommer att avvisa en insändning som deklarerar en B<Built-Using>-relation "
"som inte kan uppfyllas inom arkivet."

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

#. 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 ""
"# Kommentar\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
#, no-wrap
msgid "deb-src-control"
msgstr "deb-src-control"

#. type: Plain text
#: deb-src-control.5:6
msgid "deb-src-control - Debian source packages' master control file format"
msgstr "deb-src-control - Debians filformat för källkodspakets huvudstyrfil"

#. 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 ""
"Varje Debiankällkodspaket innehåller huvud-\"control\"-filen, vilken "
"innehååller åtminstone två stycken, avdelade med en tomrad. Det första "
"stycket innehåller all generell information om källkodspaketet, medan de "
"följande styckena beskriver exakt ett binärpaket. Varje stycke består av "
"åtminstone ett fält. Ett fält inleds med ett fältnamn, till exempel "
"B<Package> eller B<Section> (skiftlägesokänsligt), följt av ett kolon, "
"fältinnehållet och ett nyradstecken. Flerradiga fält är också tillåtna, men "
"varje ytterligare rad som inte innehåller ett fältnamn, bör starta med minst "
"ett blanksteg. Innehållet i flerradsfält slås normalt samman till en enda "
"rad av verktygen (förutom i fallet fältet B<Description>, se nedan). För att "
"sätta in tomma rader i ett flerradsfält, skriver du en punkt efter "
"blanksteget. Rader som börjar med ett B<\"#\"> tolkas som kommentarer."

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

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

#. 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 ""
"Värdet på det här fältet är namnet på källkodspaketet, och måste motsvara "
"namnet på källkodspaketet i filen debian/changelog. Paketnamnet måste bestå "
"endast av små bokstäver (a-z), siffror (0-9), plus- (+) och minustecken (-) "
"och punkt (.). Paketnamn måste vara minst två tecken långa och måste börja "
"med ett alfanumeriskt tecken."

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

#. type: Plain text
#: deb-src-control.5:43
msgid ""
"Should be in the format \"Joe Bloggs E<lt>jbloggs@foo.comE<gt>\", and "
"references the person who currently maintains the package, as opposed to the "
"author of the software or the original packager."
msgstr ""
"Skall vara på formatet \"Joe Bloggs E<lt>jbloggs@foo.comE<gt>\" och "
"refererar till den person som för närvarande underhåller paketet, till "
"skillnad från författaren av den programvara som paketerats."

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

#. 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 ""
"Räknar upp namn och e-postadresser till med-underhållare av paketet, i samma "
"format som fältet Maintainers. Flera med-underhållare bör avdelas med "
"kommatecken."

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

#. 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 ""
"Dokumenterar den senaste versionen av standarddokumenten (vilka består av "
"Debians policyhandbok och refererade texter i paketet B<debian-policy>) som "
"paketet uppfyller."

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

#. 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 ""
"Fältet anger om paketet kan sändas in av de Debianutvecklare som står "
"beskrivna i fälten Maintainer och Uploaders. Standardvärdet är \"no\" (nej)."

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

#. type: Plain text
#: deb-src-control.5:71
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian."
"org>. This field is usually not needed."
msgstr ""
"I<Url>:en till felrapporteringssystemet för detta paket. Det nuvarande "
"formatet är I<systemtyp>://I<address>, till exempel B<debbugs://bugs.debian."
"org>. Det här fältet är normalt sett inte nödvändigt."

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

#. 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 ""
"I<Url>:en till versionshanteringsarkivet som används för att underhålla det "
"här paketet. För närvarande stöds B<Arch>, B<Bzr> (Bazaar), B<Cvs>, "
"B<Darcs>, B<Git>, B<Hg> (Mercurial), B<Mtn> (Monotone) och B<Svn> "
"(Subversion). Fältet pekar normalt till den senaste versionen av paketet, "
"såsom huvudgrenen (main eller trunk)."

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

#. type: Plain text
#: deb-src-control.5:84
msgid ""
"The I<url> of a webinterface to browse the Version Control System repository."
msgstr ""
"I<Url>:en till ett webbgränssnitt för att bläddra i "
"versionshanteringsarkivet."

#. type: Plain text
#: deb-src-control.5:89
msgid ""
"The name of the distribution this package is originating from. This field is "
"usually not needed."
msgstr ""
"Namnet på den distribution paketet härstammar från. Det här fältet är "
"normalt sett inte nödvändigt."

#. type: Plain text
#: deb-src-control.5:95
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are \"utils\", \"net\", "
"\"mail\", \"text\", \"x11\", etc."
msgstr ""
"Detta är ett generellt fält som ger paketet en kategori baserat på "
"programvara som det installerar. Några vanliga sektioner är \"utils\", \"net"
"\", \"mail\", \"text\", \"x11\" osv."

#. type: Plain text
#: deb-src-control.5:100
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are \"required\", \"standard\", \"optional\", \"extra\", "
"etc."
msgstr ""
"Ställer in hur viktigt paketet är jämfört med systemet som enhet.  Vanliga "
"prioriteter är \"required\" (nödvändig), \"standard\" (normal), \"optional"
"\" (valfritt), \"extra\" (extra) osv."

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

#. type: Plain text
#: deb-src-control.5:114
msgid ""
"A list of packages that need to be installed and configured to be able to "
"build the source package."
msgstr ""
"En lista över paket som måste installeras och konfigureras för att kunna "
"bygga källkodspaketet."

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

#. 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 ""
"Motsvarar B<Build-Depends>, men de behövs endast för att bygga de "
"arkitekturoberoende paketen. B<Build-Depends> installeras också i detta fall."

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

#. 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 ""
"En lista över paket som inte bör vara installerade när paketet byggs, till "
"exempel på grund av att de stör byggsystemet som används."

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

#. type: Plain text
#: deb-src-control.5:130
msgid ""
"Same as B<Build-Conflicts>, but only when building the architecture "
"independent packages."
msgstr ""
"Motsvarar B<Build-Conflicts>, men endast när de arkitekturoberoende paketen "
"byggs."

#. type: Plain text
#: deb-src-control.5:141
msgid ""
"The syntax of the B<Build-Depends> and B<Build-Depends-Indep> fields is a "
"list of groups of alternative packages. Each group is a list of packages "
"separated by vertical bar (or \"pipe\") symbols, \"|\". The groups are "
"separated by commas. Commas are to be read as \"AND\", and pipes as \"OR\", "
"with pipes binding more tightly. Each package name is optionally followed by "
"a version number specification in parentheses and an architecture "
"specification in square brackets."
msgstr ""
"Syntaxen för fälten B<Build-Depends> och B<Build-Depends-Indep>-fälten är en "
"lista med grupper av alternativa paket. Varje grupp innehåller en lista med "
"paket avdelade med ett vertikalstreck (rör) (\"|\").  Grupperna avdelas med "
"kommatecken. Komma utläses som \"OCH\", och vertikalstrecken som \"ELLER\", "
"där vertikalstrecken binder hårdare. Varje paketnamn kan eventuellt följas "
"av en versionsnummerangivelse inom parenteser och en arkitekturangivelse i "
"hakparenteser."

#. 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 ""
"Syntaxen för fälten B<Build-Conflicts> och B<Build-Conflicts-Indep>-fälten "
"är en kommaseparerad lista med paketnamn, där komma utläses som \"OCH\". Det "
"är inte möjligt att ange alternativa paket med \"rör\". Varje paketnamn kan "
"eventuellt följas av en versionsnummerangivelse inom parenteser och en "
"arkitekturangivelse i hakparenteser."

#. type: Plain text
#: deb-src-control.5:156
msgid ""
"A version number may start with a \"E<gt>E<gt>\", in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""
"Ett versionsnummer kan börja med \"E<gt>E<gt>\", vilket betyder att vilken "
"som helst senare version matchar, där det är valfritt att ange "
"Debianuppdateringen (avdelad med bindestreck).  Tillåtna versionrelationer "
"är \"E<gt>E<gt>\" för större än, \"E<lt>E<lt>\" för mindre än, \"E<gt>=\" "
"för större än eller lika med\", \"E<lt>=\" för mindre än eller lika med, och "
"\"=\" för lika med."

#. 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 ""
"En arkitekturangivelse består av ett eller flera arkitekturnamn, avdelade "
"med blanktecken. Varje namn kan föregås av ett utropstecken, vilket betyder "
"\"ICKE\"."

#. 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 ""
"Observera att beroenden på paket i B<build-essential>-uppsättningen kan "
"utelämnas och att det är omöjligt att deklarera byggkonflikter mot dem. En "
"lista över dessa paket finns i paketet build-essential."

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

#. 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 ""
"Observera att fälten B<Priority>, B<Section> och B<Homepage> även kan "
"användas i de stycken som beskriver binärpaket för att överstyra de globala "
"värdena för källkodspaketet."

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

#. 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 ""
"Detta fält används för att namnge det binära paketet. Samma begränsningar "
"gäller som för källkodspaketets namn."

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

#. 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 ""
"Arkitekturen anger på vilken typ av maskinvara paketet körs. För paket som "
"körs på alla arkitekturer används värdet B<any> (någon). För paket som är "
"arkitekturoberoende, som skal- och Perlskript eller dokumentation, används "
"värdet B<all> (alla). För att begränsa paket till en specifik uppsättning "
"arkitekturer, anger du namnen på arkitekturerna avdelade med blanksteg. Det "
"är även möjligt att ange arkitekturer med jokertecken i listan (se B<dpkg-"
"architecture>(1) för mer information om dessa)."

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

#. 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 ""
"Detta fält anger paketets typ. \"udeb\" används för storleksbegränsade paket "
"i debian-installer. \"deb\" är standardvärdet, och antas om fältet saknas. "
"Fler typer kan komma att läggas till i framtiden."

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

#. 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 ""
"Dessa fält beskrivs i manualsidan B<deb-control>(5), eftersom de kopieras "
"ordagrant till binärpaketets styrfil."

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

#. 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 ""
"Dessa fält anger relationer mellan paket. De diskuteras i manualsidan B<deb-"
"control>(5) och i paketet B<debian-policy>."

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

#. 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 ""
"Det är möjligt att lägga till ytterligare användardefinierade fält i "
"styrfilen. Verktygen ignorerar dessa fält. Om du vill att fälten skall "
"kopieras över till utdatafilerna, som till exempel i binärpaketen, måste du "
"använda en skräddarsydd namngivning: fälten måste starta med X, följt av ett "
"eller flera av bokstäverna BCS och ett bindestreck. Om bokstaven B används "
"kommer fältet att dyka upp i styrfilen i binärpaketet, se B<deb-control>(5), "
"för bokstaven S i källkodspaketets styrfil som konstrueras av B<dpkg-source>"
"(1) och för bokstaven C i styrfilen för insändning (.changes). Observera att "
"X[BCS]-prefixen tas bort när fälten kopieras över till utdatafilerna. Fältet "
"B<XC-Approved-By> visas som B<Approved-By> i changes-filen och visas inte i "
"styrfilerna för binär- och källkodspaketen."

#. 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 ""
"# Kommentar\n"
"Source: dpkg\n"
"Section: admin\n"
"Priority: required\n"
"Maintainer: Dpkg Developers E<lt>debian-dpkg@lists.debian.orgE<gt>\n"
"# det här fältet kopieras till binär- och källkodspaketen\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"

#. 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 ""
"Package: dpkg-dev\n"
"Section: utils\n"
"Priority: optional\n"
"Architecture: all\n"
"# det här är ett skräddarsytt fält i binärpaketet\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"

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

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

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

#. type: Plain text
#: deb-split.5:4
msgid "deb-split - Debian multi-part binary package format"
msgstr "deb-split - Debians flerdelade binära paketformat"

# 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 ""
"Det flerdelade B<.deb>-formatet används för att dela stora paket i mindre "
"delar för att förenkla transport över små medier."

#. type: Plain text
#: deb-split.5:12
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash (since dpkg 1.15.6)."
msgstr ""
"Filen är ett B<ar>-arkiv med det magiska numret B<!E<lt>archE<gt>>. "
"Filnamnen kan innehålla ett avslutande snedstreck (sedan dpkg 1.15.6)."

#. 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 ""
"Den första posten heter B<debian-split> och innehåller en serie av rader, "
"avdelade med nyradstecken. För närvarande finns åtta rader:"

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

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

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

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

#. type: Plain text
#: deb-split.5:24
msgid "The md5sum of the package."
msgstr "md5-kontrollsumman för paketet."

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

#. type: Plain text
#: deb-split.5:28
msgid "The maximum part size."
msgstr "Maximal storlek på en del."

#. 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 ""
"Nummer på aktuell del, följt av ett snedstreck och totalt antal delar (som i "
"\\(oq1/10\\(cq)."

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

# 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 ""
"Filer som läser flerdelade arkiv bör vara beredda på att ytterligare rader "
"är närvarande, och bör ignorera dessa om så är fallet."

#. type: Plain text
#: deb-split.5:41
msgid ""
"If the version number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""
"Om versionsnumret har ändrats har en inkompatibel ändring införts, och "
"programmet skall avbrytas. Om så inte har gjorts, skall programmet kunna "
"fortsätta utan problem, såvida det inte stöter på en oväntad post i arkivet "
"(förutom i slutet), enligt vad beskrivs nedan."

#. type: Plain text
#: deb-split.5:44
msgid ""
"The second, last required member is named B<data.>I<N>, where I<N> denotes "
"the part number. It contains the raw part data."
msgstr ""
"Den andra och sista nödvändiga posten heter B<data.>I<N>, där I<N> anger "
"delnumret. Den innehåller rådata för delen."

#. type: Plain text
#: deb-split.5:49
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.>I<N>.  Further members may be "
"defined in the future, and (if possible) will be placed after these two."
msgstr ""
"Dessa poster måste ligga i exakt denna ordning. Nuvarande implementationer "
"bör ignorera eventuella ytterligare poster efter B<data.>I<N>. Ytterligare "
"poster kan komma att definieras i framtiden, och kommer (om möjligt) "
"placeras efter dessa två."

#. type: Plain text
#: deb-split.5:51
msgid "B<deb>(5), B<dpkg-split>(1)."
msgstr "B<deb>(5), B<dpkg-split>(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 på versionsnummer för Debianpaket"

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

#. 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 ""
"Versionsnummer som används för Debians binär- och källkodspaket består av "
"tre komponenter. De är:"

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

#. type: Plain text
#: deb-version.5:20
msgid ""
"This is a single (generally small) unsigned integer.  It may be omitted, in "
"which case zero is assumed.  If it is omitted then the I<upstream-version> "
"may not contain any colons."
msgstr ""
"Ett ensamt (vanligtvis litet) heltalsvärde större än noll. Det kan "
"uteslutas, i så fall antas det vara noll. Om det utesluts kan inte "
"I<uppströmsversion> innehålla kolontecken."

#. 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 ""
"Fältet är till för att rätta till fel i versionsnummer i tidigare versioner "
"av paketet, samt attr hantera förändringar i paketets "
"versionsnumreringssystem."

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

#. 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 ""
"Detta är huvuddelen av versionsnumret. Det är vanligtvis versionsnumret för "
"originalpaketet (\"uppströmspaketet\") som I<.deb>-filen skapats från, om "
"ett sådant finns. Normalt anges det på samma form som används av "
"uppströmsförfattaren/författarna, men det kan behöva formateras om för att "
"passa med pakethanterarens format och jämförelsefunktion."

#. type: Plain text
#: deb-version.5:39
msgid ""
"The comparison behavior of the package management system with respect to the "
"I<upstream-version> is described below. The I<upstream-version> portion of "
"the version number is mandatory."
msgstr ""
"Hur pakethanteraren jämför versionsnummer när det gäller I<uppströmsversion> "
"beskrivs nedan. Fältet I<uppströmsversion> i versionsnumret kan inte "
"utelämnas."

#. type: Plain text
#: deb-version.5:48
msgid ""
"The I<upstream-version> may contain only alphanumerics (\"A-Za-z0-9\") and "
"the characters B<.> B<+> B<-> B<:> B<~> (full stop, plus, hyphen, colon, "
"tilde) and should start with a digit.  If there is no I<debian-revision> "
"then hyphens are not allowed; if there is no I<epoch> then colons are not "
"allowed."
msgstr ""
"Fältet I<uppströmsversion> kan endast innehålla alfanumeriska tecken (\"A-Za-"
"z0-9\") och tecknen B<.> B<+> B<-> B<:> B<~> (punkt, plus, bindestreck, "
"kolon, tilde) och bör inledas med en siffra. Om det inte finns någon "
"I<debianuppdatering> tillåts inte bindestreck och om det inte finns någon "
"I<epok> tillåts inte kolontecken."

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

#. type: Plain text
#: deb-version.5:57
msgid ""
"This part of the version number specifies the version of the Debian package "
"based on the upstream version.  It may contain only alphanumerics and the "
"characters B<+> B<.> B<~> (plus, full stop, tilde) and is compared in the "
"same way as the I<upstream-version> is."
msgstr ""
"Denna del av versionsnumret anger versionen för Debianpaketet som baserats "
"på uppströmsversionen. Den kan endast innehålla alfanumeriska tecken samt "
"tecknen B<+> B<.> B<~> (plus, punkt, tilde) och jämförs på samma sätt som "
"I<uppströmsversion>."

#. type: Plain text
#: deb-version.5:64
msgid ""
"It is optional; if it isn't present then the I<upstream-version> may not "
"contain a hyphen.  This format represents the case where a piece of software "
"was written specifically to be turned into a Debian package, and so there is "
"only one \"debianisation\" of it and therefore no revision indication is "
"required."
msgstr ""
"Fältet är valfritt - om det inte anges så kan inte I<uppströmsversion> "
"innehålla något bindestreck. I så fall anger versionsnumret att en "
"programvara skrivits specifikt för att göras till ett Debianpaket, och att "
"det då endast finns en \"debianisering\" av det och att därför behövs ingen "
"uppdateringsinformation vid sidan av."

#. type: Plain text
#: deb-version.5:68
msgid ""
"It is conventional to restart the I<debian-revision> at '1' each time time "
"the I<upstream-version> is increased."
msgstr ""
"Vanligtvis börjar I<debianuppdatering> om på \"1\" varje gång "
"I<uppströmsversion> ökas."

#. type: Plain text
#: deb-version.5:76
msgid ""
"Dpkg will break the version number apart at the last hyphen in the string "
"(if there is one) to determine the I<upstream-version> and I<debian-"
"revision>. The absence of a I<debian-revision> compares earlier than the "
"presence of one (but note that the I<debian-revision> is the least "
"significant part of the version number)."
msgstr ""
"Dpkg delar upp versionsnumret vid det sista bindestrecket i strängen (om "
"sådant finns) för att bestämma I<uppströmsversion> och I<debianuppdatering>. "
"Om I<debianuppdatering> saknas räknas det som tidigare än om fältet "
"existerar (men notera att I<debianuppdatering> är den minst signifikanta "
"delen av versionsnumret)."

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

#. type: Plain text
#: deb-version.5:80
msgid ""
"The I<upstream-version> and I<debian-revision> parts are compared by the "
"package management system using the same algorithm:"
msgstr ""
"Pakethanteringssystemet använder samma algoritm för att jämföra "
"I<uppströmsversion>- och I<debianuppdatering>-delarna:"

#. type: Plain text
#: deb-version.5:82
msgid "The strings are compared from left to right."
msgstr "Strängarna jämförs från vänster till höger."

#. 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 ""
"Först bestäms de inledande delar av varje sträng som enbart består av tecken "
"som inte är siffror. Dessa båda delar (av vilka den ena kan vara tom) "
"jämförs lexikalt. Om en skillnad upptäcks returneras den. Den lexikala "
"jämförelsen jämför ASCII-värden, modifierad så att alla bokstäver sorteras "
"före alla icke-bokstäver och så att ett tilde sorteras före allt, även i "
"slutet av delsträngen. Till exempel är följande delsträngar sorterade: \"~~"
"\", \"~~a\", \"~\", tomma delsträngen, \"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 ""
"Därefter bestäms de inledande delar av varje sträng som enbart består av "
"siffror. De numeriska värdena av dessa delar jämförs och om en skillnad "
"upptäcks i jämförelsen returneras den som resultat av jämförelsen. För detta "
"ändamål räknas en tom sträng (vilket bara kan uppstå i slutet av den ena "
"eller båda versionssträngarna som jämförs) som noll."

#. 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 ""
"Dessa båda steg (jämföra och ta bort inledande strängar med icke-siffror och "
"siffror) upprepas till en jämförelse upptäcks eller de båda strängarna tar "
"slut."

#. 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 ""
"Observera att epokfältet är till för att kunna rätta till tidigare misstag i "
"versionsnumreringen, och att hantera situationer där "
"versionsnumreringsmetoden ändras. Det är B<inte> tänkt att hantera "
"versionsnummer som innehåller strängar av bokstäver som "
"pakethanteringssystemet inte kan tolka (till exempel \"ALPHA\" eller \"Pre-"
"\"), eller dumma sorteringsordningar."

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

#. 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 ""
"Tildetecknets och dess speciella sorteringsegenskaper introducerades i dpkg "
"version 1.10 och vissa delar av dpkg-dev fick inte stöd för det förrän "
"senare i 1.10.x-serien."

#. 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 "FÖRFATTARE"

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

#. type: Plain text
#: deb-version.5:124 dpkg-buildpackage.1:263
msgid "Copyright \\(co 2007 Frank Lichtenheld"
msgstr "Upphovsrättsskyddat © 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 ""
"Detta är fri programvara; se GNU General Public License version 2 eller "
"senare för kopieringsvillkor. Det finns INGEN GARANTI."

#. 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 - Debians gamla binärpaketformat"

#. 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 ""
"B<.deb>-formatet är Debians binära paketformat. Denna manualsida beskriver "
"det B<gamla> formatet som används före Debian 0.93. Se B<deb>(5) för "
"detaljerad information om det nya formatet."

#. 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 ""
"Filen innehåller två rader av formatinformation som ASCII-text, följt av två "
"sammaslagna gzip-packade ustar-filer."

#. 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 ""
"Den första raden i filen är formatversionsnumret utfyllt till åtta siffror, "
"och är B<0.939000> för alla arkiv i det gamla formatet."

#. 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 ""
"Nästa rad är en decimalsträng (utan inledande nollor) som anger längden på "
"den första gzip-packade tar-filen."

#. type: Plain text
#: deb-old.5:30
msgid "Each of these lines is terminated with a single newline character."
msgstr "Båda dessa rader avslutas med ett ensamt radbrytningstecken."

#. 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 ""
"Den första tar-filen innehåller kontrollinformationen, lagrade som ett antal "
"vanliga filer. Filen B<control> måste finnas, eftersom den innehåller "
"grundläggande kontrollinformation."

#. 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 ""
"I vissa väldigt gamla arkiv kan filerna i kontroll-tarfilen eventuellt ligga "
"i en underkatalog vid namn B<DEBIAN>. Om så är fallet kommer underkatalogen "
"B<DEBIAN> även att finnas i kontroll-tarfilen, och kontroll-tarfilen kommer "
"bara innehålla filer i den katalogen. Eventuellt kan kontroll-tarfilen "
"innehålla en post för \"B<.>\", det vill säga aktuell katalog."

#. 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 ""
"Den andra gzip-packade tar-filen är filsystemsarkivet, vilken innehåller "
"sökvägar relativt rotkatalogen för systemet det skall installeras på. "
"Sökvägarna innehåller inte inledande snedstreck."

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

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

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

#. type: Plain text
#: deb-override.5:27
msgid ""
"While most information about a package can be found in the control file, "
"some is managed centrally by the distribution czars rather than by the "
"maintainer in order to offer some global consistency.  This information is "
"found in the override file."
msgstr ""
"Även om huvuddelen av informationen om ett paket finns i kontrollfilen "
"hanteras en del centralt av distributionstsarerna, snarare än av "
"paketansvariga, för att kunna bibehålla en global konsistens. Denna "
"informationen finns i filen \"override\"."

#. 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 ""
"Filen override har ett enkelt blanksteg-avdelat format. Kommentarer är "
"tillåtna (markeras med ett B<#>)."

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

#. 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<paket> är namnet på paketet. Poster i filen override för paket som inte "
"finns i trädet med binära paket ignoreras."

#. 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 ""
"I<prioritet> och I<sektion> motsvarar respektive styrfält i .deb-filen. "
"Tillåtna värden beskrivs i Debians policydokument."

#. 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<ansvariginfo> kan, om det anges, antingen vara namnet på en paketansvarig "
"för en ovillkorlig överstyrning, eller I<gammal-ansvarig> B<=E<gt>> I<ny-"
"ansvarig> för att utföra en substituering."

#. 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 ""
"De override-filer som används för att skapa den officiella listan över paket "
"(\"Packages\") finns i I<indices>-katalogen på alla Debianspeglar."

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

#. 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 - Debianarkivets extra överstyrningsfil"

#. 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 ""
"Även om det mesta av informationen om ett binär-/källkodspaket finns i "
"control-/.dsc-filen så kan allt överstyras när det exporteras till Packages-/"
"Sources-filer. Den extra override-filen innehåller dessa överstyrningar."

#. 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 ""
"Den extra override-filen har ett enkelt blanksteg-avdelat format. "
"Kommentarer är tillåtna (markeras med ett B<#>)."

#. type: Plain text
#: deb-extra-override.5:21
msgid "I<package> I<field-name> I<value>"
msgstr "I<paket> I<fältnamn> I<värde>"

#. type: Plain text
#: deb-extra-override.5:25
msgid "I<package> is the name of the binary/source package."
msgstr "I<paket> är namnet på binär-/källkodspaketet"

#. 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<fältnamn> är namnet på fältet som skall överstyras. I<värde> är värdet som "
"skall läggas in i fältet. Det kan innehålla blanksteg då raden delas upp i "
"maximalt tre kolumner vid tolkning."

#. 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 ""
"De extra override-filer som används för att skapa den officiella listan över "
"paket (\"Packages\") finns i I<indices>-katalogen på alla Debianspeglar."

#. 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 - Debians informationsfil för delade bibliotek"

#. 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 ""
"B<shlibs>-filer skapar en koppling mellan biblioteksnamn och versioner "
"(I<sonamn>) till beroenden som är lämpliga för en paketstyrfil. Den har en "
"post per rad. Blanka rader är B<inte> tillåtna. Rader som inleds med ett "
"B<#>-tecken anses vara kommentarer, och ignoreras. Alla andra rader måste "
"vara på formatet"

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

#. type: Plain text
#: deb-shlibs.5:38
msgid ""
"The I<library> and I<version> fields are whitespace-delimited, but the "
"I<dependencies> field extends to the end of the line.  The I<type> field is "
"optional and normally not needed."
msgstr ""
"Fälten I<bibliotek> och I<version> avdelas med blanktecken medan fältet "
"I<beroenden> sträcker sig till slutet av raden. Fältet I<typ> är frivilligt "
"och behövs vanligtvis inte."

#. type: Plain text
#: deb-shlibs.5:40
msgid "See the Debian Policy Manual for further details."
msgstr "Se Debians policymanual för ytterligare detaljer."

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

#. 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 ""
"B<shlibs>-filen för ett typiskt bibliotekspaket, som heter I<libcrunch1> och "
"som innehåller ett bibliotek vars sonamn är I<libcrunch.so.1>, kan se ut så "
"här:"

#. 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 ""
"Fältet I<beroenden> måste ange den senaste versionen av paketet som lade "
"till nya symboler i biblioteket: i exemplet ovan lades nya symboler till i "
"version 1.2 av I<libcrunch>. Det är inte den enda orsaken till att beroenden "
"kan behöva snävas in; återigen, se Debians policymanual för detaljer."

#. 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
#, no-wrap
msgid "2009-07-15"
msgstr "2009-07-15"

#. type: Plain text
#: deb-substvars.5:5
msgid "deb-substvars - Debian source substitution variables"
msgstr "deb-substvars - Debians källkods-substitueringsvariabler"

#. 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 ""
"Innan B<dpkg-source>, B<dpkg-gencontrol> och B<dpkg-genchanges> skriver sin "
"kontrollinformation (till control-filen i källkodspaketet B<.dsc> för B<dpkg-"
"source> och till standard ut för B<dpkg-gencontrol> och B<dpkg-genchanges>) "
"kommer de utföra viss variabelsubstituering på utdatafilen."

#. 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 ""
"En variabelsubstitution har formen B<${>I<variabelnamn>B<}>. Variabelnamn "
"består av alfanumeriska tecken, bindestreck och kolon och börjar med ett "
"alfanumeriskt tecken. Variabelsubstitueringar utförs upprepade gånger tills "
"det inte kvarstår några - det resulterande innehållet i fältet läses av på "
"nytt efter substitueringen för att se om det behövs fler substitueringar."

#. 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 ""
"När alla substitueringar har utförts ersätts varje förekomst av strängen B<"
"${}> (som inte är en giltig substituering) med ett B<$>-tecken."

#. 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 ""
"Medan variabelsubstituering görs på alla fält i styrfilen är det några av "
"fälten som används och behövs vid byggning innan substitueringen ännu har "
"utförts. Därför går det inte att använda variabler i fälten B<Package>, "
"B<Source> och 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 ""
"Variabelsubstituering sker över innehållet i fälten efter att de har "
"tolkats, vilket innebär att om du vill att en variabel skall expanderas över "
"flera rader så behöver du inte inkludera ett blanksteg efter nyradstecknet. "
"Detta görs implicit när fältet skrivs ut. Till exempel, om variablen B<"
"${Description}> sätts till \"foo är bar.${Newline}foo är bra.\" och du har "
"följande fält:"

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

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

#. 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 ""
" Description: programmet foo\n"
"  foo är bar.\n"
"  foo är bra.\n"
"  .\n"
"  Mer text.\n"

#. 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 ""
"Variabler kan sättas genom att använda kommandoradsflaggan B<-V>. De kan "
"även anges i filen B<debian/substvars> (eller vilken som helst annan fil som "
"anges med flaggan B<-T>). Filen består av rader på formen "
"I<namn>B<=>I<värde>. Avslutande blanksteg på en rad, blanka rader och rader "
"som börjar med en B<#>-symbol (kommentarer) ignoreras."

#. type: Plain text
#: deb-substvars.5:73
msgid "Additionally, the following standard variables are available:"
msgstr "I tillägg är följande standardvariabler tillgängliga:"

#. 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 "Den aktuella byggarkitekturen (från 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 "Version för källkodspaketet."

#. 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 ""
"Version på uppströmskällkodspaketet, inklusive Debianversionens epok, om "
"sådan finns."

#. 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 ""
"Den binära paketversionen (som kan avvika från source:Version, till exempel "
"i en 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 ""
"Versionen på källkodspaketet (från changelog-filen). Variabeln B<avråds> "
"från eftersom betydelsen skiljer sig från funktionen, använd i stället "
"B<source:Version> eller B<binary:Version> allt eftersom vad som är lämpligt."

#. 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 ""
"Den totala storleken på paketets installerade filer. Värdet kopieras in i "
"motsvarande fält i kontrollfilen. Om du ställer in det kommer det att "
"ersätta värdet på fältet. Om variabeln inte är satt kommer B<dpkg-"
"gencontrol> att använda B<du -k debian/tmp> för att hitta det förvalda "
"värdet."

#. 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 ""
"Ytterligare diskutrymme som används när paketet installeras. Om värdet är "
"satt kommer dess värde att läggas till B<Installed-Size>-variabelns värde "
"(oavsett om den satts explicit eller om det förvalda värdet används) innan "
"det kopieras till kontrollfilens fält B<Installed-Size>."

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

#. 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 ""
"Värdet på utdatafältet I<fältnamn> (som måste anges med rätt form av stora "
"och små bokstäver). Om du sätter dessa variabler händer ingenting förutom "
"där de explicit expanderats."

#. 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 ""
"Formatet på filen B<.changes> som skapats av denna version av "
"källkodspaketeringsskripten. Om du sätter denna variabel kommer innehållet i "
"B<Format>-fältet i filen B<.changes> också att ändras."

#. 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 ""
"Dessa variabler innehåller motsvarande tecken (radbrytning, blanksteg, "
"tabbsteg)."

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

#. type: Plain text
#: deb-substvars.5:135
msgid ""
"Variable settings with names of this form are generated by B<dpkg-shlibdeps>."
msgstr "Variabelinställningar på den här formen skapas av 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 "Uppströmsversionen av dpkg."

#. 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 "Fullständig version av 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 ""
"Om en variabel refereras till men inte definieras kommer en varning att "
"genereras och ett tomt värde används."

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

#. 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 över substitueringsvariabler och -värden."

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

#. 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 ""
"Tidpunkten på fältöverstyrning inträffar jämfört med inställning av vissa "
"standardutdatafält är ganska förvirrad."

#. 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 "FÖRFATTARE"

#. 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 "Upphovsrättsskyddat © 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 "Upphovsrättsskyddat © 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 - Debians utökade informationsfil för delade bibliotek"

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

#. type: Plain text
#: deb-symbols.5:12
msgid ""
"The format for an extended shared library dependency information entry in "
"these files is:"
msgstr ""
"Formatet för posterna med utökad beroendeinformation för delade bibliotek i "
"dessa filer är:"

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

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

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

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

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

#. type: Plain text
#: deb-symbols.5:29
msgid ""
"The I<library-soname> is exactly the value of the SONAME field as exported "
"by B<objdump>(1). A I<dependency-template> is a dependency where I<#MINVER#> "
"is dynamically replaced either by a version check like \"(E<gt>= I<minimal-"
"version>)\" or by nothing (if an unversioned dependency is deemed "
"sufficient)."
msgstr ""
"I<Biblioteks-sonamn> är det exakta värdet från SONAME-fältet, som det "
"exporteras från B<objdump>(1). En I<beroendemall> är ett beroende där "
"I<#MINVER#> dynamiskt ersätts av en versionskontrollrad \"(E<gt>= I<minsta-"
"version>)\" eller av ingenting (om ett ej versionsstyrt beroende anses "
"tillräckligt)."

#. type: Plain text
#: deb-symbols.5:36
msgid ""
"Each exported I<symbol> (listed as I<name>@I<version>, with I<version> being "
"\"Base\" if the library is not versioned) is associated to a I<minimal-"
"version> of its dependency template (the main dependency template is used if "
"I<id-of-dependency-template> is not present). The first alternative "
"dependency template is numbered 1, the second one 2, etc."
msgstr ""
"Varje exporterad I<symbol> (anges som I<namn>@I<version>, där I<version> är "
"\"Base\" om biblioteket inte är versionsstyrt) associeras med en I<minsta-"
"version> i sin beroendemall (huvudberoendemallen används om I<id-för-"
"beroendemall> inte finns). Den första alternativa beroendemallen får nummer "
"1, den andra 2, osv."

#. type: Plain text
#: deb-symbols.5:43
msgid ""
"Each entry for a library can also have some fields of meta-information.  "
"Those fields are stored on lines starting with an asterisk. Currently, the "
"only valid field is I<Build-Depends-Package>, it indicates the name of the "
"\"-dev\" package associated to the library and is used by B<dpkg-shlibdeps> "
"to make sure that the dependency generated is at least as strict as the "
"corresponding build dependency."
msgstr ""
"Alla poster i ett bibliotek kan även innehålla några fält med "
"metainformation. Dessa fält lagras på rader som börjar med en asterisk. För "
"närvarande är det enda giltiga fältet I<Build-Depends-Package>, vilket anger "
"namnet på det \"-dev\"-paket som hör till biblioteket, och används av B<dpkg-"
"shlibdeps> för att se till att det beroende som genereras är åtminstone lika "
"strikt som motsvarande byggberoende."

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

#. 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 "Avancerad symbols-fil"

#. 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 - utlösare för paket"

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

#. 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 ""
"Ett paket anger hur det förhåller sig till en eller flera utlösare genom att "
"ta med en fil I<triggers> i sitt styrarkiv (dvs. I<DEBIAN/triggers> när "
"paketet skapas)."

#. 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 ""
"Filen innehåller direktiv, ett per rad. Inledande och avslutande blanktecken "
"och allt efter det första B<#> på en rad kommer att klippas bort och tomma "
"rader ignoreras."

#. type: Plain text
#: deb-triggers.5:18
msgid "The trigger control directives currently supported are:"
msgstr "De styrdirektiv som för närvarande stöds för utlösare är:"

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

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

#. type: Plain text
#: deb-triggers.5:33
msgid ""
"Specifies that the package is interested in the named trigger. All triggers "
"in which a package is interested must be listed using this directive in the "
"triggers control file. The \"noawait\" variant does not put the triggering "
"packages in triggers-awaited state. This should be used when the "
"functionality provided by the trigger is not crucial."
msgstr ""
"Anger att paketet är intresserat av den namngivna utlösaren. Alla utlösare "
"som ett paket är intresserat av måste listas genom att använda detta "
"direktiv i utlösar-styrfilen. Varianten \"noawait\" sätter inte det "
"utlösande paketet i avvaktande tillstånd. Detta bör användas när "
"funktionaliteten som tillhandahålls av utlösaren inte är avgörande."

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

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

#. type: Plain text
#: deb-triggers.5:50
msgid ""
"Arranges that changes to this package's state will activate the specified "
"trigger. The trigger will be activated at the start of the following "
"operations: unpack, configure, remove (including for the benefit of a "
"conflicting package), purge and deconfigure.  The \"noawait\" variant does "
"not put the triggering packages in triggers-awaited state. This should be "
"used when the functionality provided by the trigger is not crucial."
msgstr ""
"Gör så att ändringar av detta pakets tillstånd aktiverar den angivna "
"utlösaren. Utlösaren aktiveras när en av följande operationer påbörjas: "
"uppackning, konfigurering, borttagning (också när det tas bort till fördel "
"av ett paket det står i konflikt med), rensning och avkonfigurering."
"Varianten \"noawait\" sätter inte de utlösande paketen i avvaktande "
"tillstånd. Detta bör användas när funktionaliteten som tillhandahålls av "
"utlösaren inte är avgörande."

#. 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 ""
"Om paketet försvinner när ett annat paket packas upp kommer utlösaren att "
"aktiveras när försvinnandet upptäcks mot slutet av uppackningen. Hantering "
"av utlösare, och en övergång från \"väntar på utlösare\" till \"installerat"
"\" orsakar inte aktiveringar. När det gäller uppackning kommer både utlösare "
"som omnämns i gamla och nya versioner av paketet att aktiveras."

#. type: Plain text
#: deb-triggers.5:61
msgid ""
"Unknown directives are an error which will prevent installation of the "
"package."
msgstr ""
"Okända direktiv är ett fel som förhindrar paketet från att installeras."

#. 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 ""
"Varianterna med \"-noawait\" stöds endast av dpkg 1.16.1 och senare, och "
"kommer leda till fel om de används med äldre versioner av dpkg. Det "
"rekommenderas därför att du lägger till ett \"Pre-Depends: dpkg (E<gt>= "
"1.16.1)\" till eventuella paket som vill använda dessa direktiv."

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

#. type: Plain text
#: dpkg.1:4
msgid "dpkg - package manager for Debian"
msgstr "dpkg - en mellannivåpakethanterare för Debian"

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

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

#. 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 ""
"Manualen är avsedd för användare som vill få en mer detaljerad förståelse "
"för B<dpkg>s kommandoradsflaggor och pakettillstånd än vad som berättas med "
"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 ""
"Den bör I<inte> användas av paketansvariga som vill lära sig hur B<dpkg> "
"kommer att installera deras paket. Beskrivningen över vad B<dpkg> gör när "
"paket installeras och tas bort är speciellt otillräckliga."

#. 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> är ett verktyg för att installera, bygga, ta bort och hantera "
"Debianpaket. Det primära och mer användarvänliga skalet runt B<dpkg> är "
"B<aptitude>(1). B<dpkg> kontrolleras helt och hållet via "
"kommandoradsparametrar, vilka består av exakt en åtgärd och noll eller fler "
"flaggor. Åtgärdsparametern talar om för dpkg vad som skall göras, och "
"flaggorna styr på vilket sätt åtgärden skall utföras."

#. 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 ""
"B<dpkg> kan också användas som ett skal runt B<dpkg-deb>(1) och B<dpkg-query>"
"(1). En förteckning över tillgängliga åtgärder beskrivs nedan i stycket "
"B<ÅTGÄRDER>. Om B<dpkg> upptäcker en sådan åtgärd anropas bara B<dpkg-dpkg> "
"eller B<dpkg-query> med de givna flaggorna, men inga specifika flaggor sänds "
"direkt till dem, för att använda sådana flaggor måste bakgrundsprogrammen "
"anropas direkt."

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

#. 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> upprätthåller viss användbar information om tillgängliga paket. "
"Informationen delas in i tre klasser: B<tillstånd>, B<markeringstillstånd> "
"och B<flaggor>. Dessa värden är avsedda att huvudsakligen ändras via "
"B<dselect>."

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

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

#. type: Plain text
#: dpkg.1:43
msgid "The package is not installed on your system."
msgstr "Paketet är inte installerat på ditt system."

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

#. type: Plain text
#: dpkg.1:46
msgid "Only the configuration files of the package exist on the system."
msgstr "Endast konfigurationsfilerna för paketet finns på systemet."

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

#. type: Plain text
#: dpkg.1:50
msgid ""
"The installation of the package has been started, but not completed for some "
"reason."
msgstr ""
"Installationen av paketet har påbörjats, men av någon orsak inte slutförts."

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

#. type: Plain text
#: dpkg.1:53
msgid "The package is unpacked, but not configured."
msgstr "Paketet är uppackat, men inte konfigurerat."

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

#. type: Plain text
#: dpkg.1:57
msgid ""
"The package is unpacked and configuration has been started, but not yet "
"completed for some reason."
msgstr ""
"Paketet är uppackat och konfigurationen har påbörjats, men av någon orsak "
"inte slutförts."

#. type: TP
#: dpkg.1:57
#, no-wrap
msgid "B<triggers-awaited>"
msgstr "B<väntar på utlösare>"

#. type: Plain text
#: dpkg.1:60
msgid "The package awaits trigger processing by another package."
msgstr "Paketet väntar på hantering av utlösare av ett annat paket."

#. type: TP
#: dpkg.1:60
#, no-wrap
msgid "B<triggers-pending>"
msgstr "B<utlösare väntar>"

#. type: Plain text
#: dpkg.1:63
msgid "The package has been triggered."
msgstr "Paketet har utlösts."

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

#. type: Plain text
#: dpkg.1:66
msgid "The package is unpacked and configured OK."
msgstr "Paketet är uppackat och korrekt inställt."

#. type: SS
#: dpkg.1:66
#, no-wrap
msgid "PACKAGE SELECTION STATES"
msgstr "MARKERINGSTILLSTÅND FÖR PAKET"

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

#. type: Plain text
#: dpkg.1:70
msgid "The package is selected for installation."
msgstr "Paketet är markerat för installation."

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

#. 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 ""
"Ett paket som är markerat med B<håll> hanteras inte av B<dpkg> såvida inte "
"det framtvingas med flaggan B<--force-hold>."

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

#. 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 ""
"Paketet är markerat för avinstallation (dvs. vi vill ta bort alla filer "
"förutom konfigurationsfilerna)."

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

#. type: Plain text
#: dpkg.1:82
msgid ""
"The package is selected to be purged (i.e. we want to remove everything from "
"system directories, even configuration files)."
msgstr ""
"Paketet är markerat för rensning (dvs. vi vill ta bort allting från "
"systemkataloger, även konfigurationsfiler)."

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

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

#. 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 ""
"Ett paket markerat B<ominstallation krävs> är trasigt och kräver "
"ominstallation. Dessa paket kan inte tas bort, såvida inte det framtvingas "
"med flaggan B<--force-remove-reinstreq>."

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

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

#. type: Plain text
#: dpkg.1:94
msgid ""
"Install the package. If B<--recursive> or B<-R> option is specified, "
"I<package-file> must refer to a directory instead."
msgstr ""
"Installera paketet.  Om flaggan B<--recursive> eller B<-R> anges måste "
"I<paketfil> istället vara en katalog."

#. type: Plain text
#: dpkg.1:96
msgid "Installation consists of the following steps:"
msgstr "Installationen består av följande steg:"

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

#. 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.> Om en annan version av samma paket redan fanns installerat vid "
"nyinstallationen exekveras I<prerm>-skriptet för det gamla paketet."

#. type: Plain text
#: dpkg.1:106
msgid "B<3.> Run I<preinst> script, if provided by the package."
msgstr "B<3.> Kör I<preinst>-skriptet, om ett sådant medföljer paketet."

#. 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.> Packa upp de nya filerna och säkerhetskopiera samtidigt de gamla "
"filerna så att de kan återställas om någonting går fel."

#. 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.> Om en annan version av samma paket redan fanns installerat vid "
"nyinstallationen exekveras I<postrm>-skriptet för det gamla paketet. "
"Observera att skriptet exekveras efter I<preinst> för det nya paketet "
"eftersom de nya filerna skrivs samtidigt som de gamla tas bort."

#. 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.> Konfigurera paketet. Se B<--configure> för detaljerad information om "
"hur man gör det."

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

#. type: Plain text
#: dpkg.1:126
msgid ""
"Unpack the package, but don't configure it. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Packa upp paketet, men konfigurera det inte. Om flaggan B<--recursive> eller "
"B<-R> anges måste I<paketfil> istället vara en katalog."

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

#. type: Plain text
#: dpkg.1:131
msgid ""
"Configure a package which has been unpacked but not yet configured.  If B<-"
"a> or B<--pending> is given instead of I<package>, all unpacked but "
"unconfigured packages are configured."
msgstr ""
"Konfigurera ett paket som har packats upp men ännu inte konfigurerats. Om B<-"
"a> eller B<--pending> anges istället för I<paket> konfigureras alla paket "
"som har packats upp men ännu inte konfigurerats."

#. 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 ""
"För att omkonfigurera ett paket som redan har konfigurerats kan du istället "
"använda kommandot B<dpkg-reconfigure(8)>."

#. type: Plain text
#: dpkg.1:137
msgid "Configuring consists of the following steps:"
msgstr "Konfigurering består av följande steg:"

#. 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.> Packa upp konfigurationsfilerna och säkerhetskopiera samtidigt de "
"gamla konfigurationsfilerna så att de kan återställas om någonting går fel."

#. type: Plain text
#: dpkg.1:145
msgid "B<2.> Run I<postinst> script, if provided by the package."
msgstr "B<2.> Kör I<postinst>-skriptet, om ett sådant finns i paketet."

#. type: TP
#: dpkg.1:145
#, no-wrap
msgid "B<--triggers-only> I<package>...|B<-a>|B<--pending>"
msgstr "B<--triggers-only> I<paket>...|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 ""
"Hanterar bara utlösare. Alla avvaktande utlösare kommer att hanteras. Om "
"paketnamn anges kommer endast dessa pakets utlösare att hanteras, precis en "
"gång, om nödvändigt. Om du använder denna flagga kan det hända att paket "
"hamnar i felaktiga B<väntar på utlösare>- och B<utlösare väntar>-tillstånd. "
"Detta kan rättas senare genom att köra: 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<paket>...|B<-a>|B<--pending>"

#. type: Plain text
#: dpkg.1:169
msgid ""
"Remove an installed package. B<-r> or B<--remove> remove everything except "
"conffiles. This may avoid having to reconfigure the package if it is "
"reinstalled later. (Conffiles are configuration files that are listed in the "
"I<DEBIAN/conffiles> control file). B<-P> or B<--purge> removes everything, "
"including conffiles. If B<-a> or B<--pending> is given instead of a package "
"name, then all packages unpacked, but marked to be removed or purged in file "
"I</var/lib/dpkg/status>, are removed or purged, respectively. Note: some "
"configuration files might be unknown to B<dpkg> because they are created and "
"handled separately through the configuration scripts. In that case, B<dpkg> "
"won't remove them by itself, but the package's I<postrm> script (which is "
"called by B<dpkg>), has to take care of their removal during purge. Of "
"course, this only applies to files in system directories, not configuration "
"files written to individual users' home directories."
msgstr ""
"Ta bort ett installerat paket. B<-r> eller B<--remove> tar bort allting "
"förutom konfigurationsfiler, vilket gör att du kan undvika att konfigurera "
"om paketet om du senare installerar om det. (Konfigurationsfiler är de filer "
"som listas i styrfilen I<debian/conffiles>). B<-P> eller B<--purge> tar bort "
"allting, inklusive konfigurationsfiler. Om B<-a> eller B<--pending> anges "
"istället för ett paketnamn kommer alla installerade uppackade paket som är "
"markerade att tas bort eller rensas i filen I</var/lib/dpkg/status> att tas "
"bort respektive rensas. Observera: fet är möjligt att B<dpkg> inte känner "
"till vissa konfigurationsfiler på grund av att de skapas och hanteras "
"separat via konfigurationsskript. I så fall kommer inte B<dpkg> självt ta "
"bort dem, utan paketets I<postrm>-skript (som anropas av B<dpkg>) måste ta "
"hand om att de tas bort när paketet tas bort med B<--purge>. Detta gäller "
"naturligtvis endast för filer i systemkatalogerna, inte konfigurationsfiler "
"som skrivs i enstaka användares hemkataloger."

#. type: Plain text
#: dpkg.1:171
msgid "Removing of a package consists of the following steps:"
msgstr "Borttagning av ett paket består av följande steg:"

#. type: Plain text
#: dpkg.1:174
msgid "B<1.> Run I<prerm> script"
msgstr "B<1.> Kör I<prerm>-skriptet"

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

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

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

#. 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 ""
"Uppdatera B<dpkg>s och B<dselect>s lista över vilka paket som finns "
"tillgängliga. Med B<--merge-avail> kombineras den gamla informationen med "
"informationen från I<Packages-filen>. Med B<--update-avail> ersätts den "
"gamla informationen med informationen från I<Packages-filen>. I<Packages-"
"filerna> som medföljer Debian heter helt enkelt I<Packages>. B<dpkg> "
"behåller sin lista över tillgängliga paket i 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 ""
"Ett lättare enkelkommando för att hämta och uppdater I<available>-filen är "
"B<dselect update>. Observera att den här filen i huvudsak är onödig om du "
"använder ett APT-baserat skal istället för B<dselect>: APT har ett eget "
"system för att hålla reda på tillgängliga paket."

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

#. type: Plain text
#: dpkg.1:201
msgid ""
"Update B<dpkg> and B<dselect>'s idea of which packages are available with "
"information from the package I<package-file>. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Uppdatera B<dpkg>s och B<dselect>s lista över vilka paket som finns "
"tillgängliga med information från paketet I<paketfil>. Om flaggan B<--"
"recursive> eller B<-R> anges måste I<paketfil> istället vara en 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 ""
"En numera B<föråldrad> flagga som inte utför någonting, då B<dpkg> "
"automatiskt glömmer ej installerade och ej tillgängliga paket."

#. 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 "Radera existerande information om vilka paket som är tillgängliga."

#. 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 ""
"Söker efter paket som endast installerats delvis på ditt system. B<dpkg> "
"kommer att föreslå vad som behöver göras för att få dem att fungera."

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

#. 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 ""
"Hämta en lista över paketval och skriv den till standard ut. Paket som inte "
"är installerats (dvs. de som tidigare helt har tagits bort) kommer inte att "
"visas om inte ett mönster anges."

#. 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
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 ""
"Sätt paketvalslistan med den fil som läses från standard in. Filen måste "
"vara på formatet \"I<paket> I<status>\", där status är en av B<install>, "
"B<hold>, B<deinstall> eller B<purge>. Tomrader och kommentarsrader som "
"börjar med \"#\" är också tillåtna."

#. 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 ""
"Sätt det önskade tillståndete för varje icke-grundläggande paket till "
"avinstallera. Detta är avsett att användas direkt före --set-selections, för "
"att avinstallera alla paket som inte finns med i listan som anges av --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 ""
"Söker efter paket som markerats för installation men som av någon anledning "
"ännu inte har installerats."

#. 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 ""
"Visa arkitektur för paketen B<dpkg> installerar (till exempel \"i386\")."

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

#. 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 ""
"Jämför versionsnummer, där I<op> är en binär operator. B<dpkg> returnerar "
"framgång (noll) om det angivna värdet uppfylls, och misslyckande (icke-noll) "
"i annat fall. Det finns två grupper operatorer, vilka endast skiljer sig i "
"hur de hanterar när I<ver1> eller I<ver2> är tom. Dessa hanterar tom version "
"som om den är tidigare än alla andra versioner: B<lt le eq ne ge gt>. Dessa "
"hanterar tom version som om den är senare än alla andra versioner: B<lt-nl "
"le-nl ge-nl gt-nl>. Dessa tillhandahålls endast för kompatibilitet med "
"styrfilssyntaxen: B<E<lt> E<lt>E<lt> E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."

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

#. type: Plain text
#: dpkg.1:253
msgid ""
"Accept a series of commands on input file descriptor I<n>. Note: additional "
"options set on the command line, and through this file descriptor, are not "
"reset for subsequent commands executed during the same run."
msgstr ""
"Läser en följd av kommandon från indatafilhandtag I<n>. Observera: "
"ytterligare flaggor som sätts på kommandoraden, och genom filhandtaget, "
"återställs inte för kommandon som körs i en följd under samma körning."

#. 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 "Visar en kortfattad hjälptext."

#. 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 "Get hjälp om B<--force->I<nånting>-flaggorna."

#. 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 "Ger hjälp om felsökningsflaggorna."

#. 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 "Visar B<dpkg>s versionsinformation."

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

#. type: Plain text
#: dpkg.1:268
msgid "See B<dpkg-deb>(1) for more information about the following actions."
msgstr "Se B<dpkg-deb>(1) för ytterligare information om följande åtgärder:"

#. 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<arkiv>|I<filnamn>]\n"
"    Bygg ett deb-paket.\n"
"B<-c>, B<--contents> I<arkiv>\n"
"    Visar innehållet i ett deb-paket.\n"
"B<-e>, B<--control> I<filnamn> [I<katalog>]\n"
"    Extraherar styrinformation från ett paket.\n"
"B<-x>, B<--extract> I<arkivkatalog>\n"
"    Extraherar filerna från ett paket.\n"
"B<-X>, B<--vextract> I<arkivkatalog>\n"
"    Extraherar och visar filnamnen i ett paket.\n"
"B<-f>, B<--field>  I<arkiv> [I<control-fält>] ...\n"
"    Visar fält från paketets styrfil (control).\n"
"B<--fsys-tarfile> I<arkiv>\n"
"    Visar filsystems-tarfilen i Debianpaketet.\n"
"B<-I> | B<--info> I<arkiv> [I<control-fil>]\n"
"    Visa information om ett paket.\n"

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

#. type: Plain text
#: dpkg.1:293
msgid "See B<dpkg-query>(1) for more information about the following actions."
msgstr "Se B<dpkg-query>(1) för ytterligare information om följande åtgärder:"

#. 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<paketnamnsmönster> ...\n"
"    Lista paket som matchar det givna mönstret.\n"
"B<-s>, B<--status> I<paketnamn> ...\n"
"    Rapportera status om det angivna paketet.\n"
"B<-L>, B<--listfiles> I<paketnamn> ...\n"
"    Lista filer som installerats på ditt system från I<paketnamn>.\n"
"B<-S>, B<--search> I<filnamnssökmönster> ...\n"
"    Sök efter filnamnet bland de installerade paketen.\n"
"B<-p>, B<--print-avail> I<paketnamn>\n"
"    Visa detaljer om I<paketnamn>, som i I</var/lib/dpkg/available/>.    De som använder APT-baserade skal bör i stället använda    B<apt-cache show> I<paketnamn>.\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 "FLAGGOR"

#. 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 ""
"Alla flaggorna kan ges både på kommandoraden och i B<dpkg>s "
"konfigurationsfil I</etc/dpkg/dpkg.cfg> eller filerna i "
"konfigurationskatalogen I</etc/dpkg/dpkg.cfg.d/>. En rad i "
"konfigurationsfilen är antingen en flagga (precis samma som på "
"kommandoraden, men utan inledande bindestreck) eller en kommentar (om den "
"börjar med ett B<#>)."

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

#. type: Plain text
#: dpkg.1:320
msgid "Change after how many errors B<dpkg> will abort. The default is 50."
msgstr "Ställer in efter hur många fel B<dpkg> skall avbryta. Förvalet är 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 ""
"När ett paket tas bort är det möjligt att ett annat paket beror på det "
"borttagna paketet. Om du anger flaggan kommer de paket som beror på det "
"borttagna paketet automatiskt att avkonfigureras."

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

#. 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 ""
"Aktiverar felsökning. I<oktalvärde>t skapas genom att utföra bitvis logisk "
"\"eller\" av de önskade värdena från listan nedan (observera att dessa "
"värden kan ändras i framtida versioner). B<-Dh> eller B<--debug=help> visar "
"dessa felsökningsvärden."

#. type: Plain text
#: dpkg.1:347
#, no-wrap
msgid ""
"    Number   Description\n"
"         1   Generally helpful progress information\n"
"         2   Invocation and status of maintainer scripts\n"
"        10   Output for each file processed\n"
"       100   Lots of output for each file processed\n"
"        20   Output for each configuration file\n"
"       200   Lots of output for each configuration file\n"
"        40   Dependencies and conflicts\n"
"       400   Lots of dependencies/conflicts output\n"
"     10000   Trigger activation and processing\n"
"     20000   Lots of output regarding triggers\n"
"     40000   Silly amounts of output regarding triggers\n"
"      1000   Lots of drivel about e.g. the dpkg/info dir\n"
"      2000   Insane amounts of drivel\n"
msgstr ""
"    Tal   Beskrivning\n"
"      1   Allmänt hjälpsam förloppsinformation\n"
"      2   Anrop och status för utvecklarskript\n"
"     10   Utdata för varje fil som hanteras\n"
"    100   Massvis med utdata för varje fil som hanteras\n"
"     20   Utdata för varje konfigurationsfil\n"
"    200   Massvis med utdata för varje konfigurationsfil\n"
"     40   Beroenden och konflikter\n"
"    400   Massvis av beroende-/konfliktutdata\n"
"  10000   Aktivering och hantering av utlösare\n"
"  20000   Massvis av utdata om utlösare\n"
"  40000   Dumma mängder utdata om utlösare\n"
"   1000   Massvis av pladder om bl.a dpkg/info-katalogen\n"
"   2000   Knäppa mängder pladder\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<saker> | B<--no-force->I<saker> | B<--refuse->I<saker>"

#. 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 ""
"Tvinga eller vägra (B<no-force> och B<refuse> betyder detsamma) att göra "
"vissa saker. I<saker> är en kommaavgränsad lista med saker som anges nedan. "
"B<--force-help> visar en lista med beskrivningar. Saker som markeras med (*) "
"är tvingade som förval."

#. 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<Varning: Dessa flaggor är huvudsakligen avsedda att endast användas av "
"experter. Om du använder dem utan att fullt ut förstå vad de går ut på kan "
"du förstöra din systeminstallation.>"

#. type: Plain text
#: dpkg.1:361
msgid "B<all>: Turns on (or off) all force options."
msgstr "B<all>: Slår på (eller av) alla tvingande flaggor."

#. type: Plain text
#: dpkg.1:364
msgid ""
"B<downgrade>(*): Install a package, even if newer version of it is already "
"installed."
msgstr ""
"B<downgrade>(*): Installera ett paket även om en nyare version redan är "
"installerad."

#. 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<Varning: För närvarande undersöker inte dpkg beroenden vid nedgradering "
"och kommer därför inte att varna dig om nedgraderingen bryter ett beroende "
"för något paket. Detta kan ha allvarliga sidoeffekter, genom att nedgradera "
"grundläggande systemkomponenter kan du riskera att göra hela systemet "
"instabilt. Använd med tillförsikt.>"

#. 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>: Konfigurera även alla uppackade men ej konfigurerade paket "
"på vilka det aktuella paketet beror."

#. type: Plain text
#: dpkg.1:378
msgid "B<hold>: Process packages even when marked \"hold\"."
msgstr "B<hold>: Hantera även \"håll\"-markerade paket."

#. 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>: Ta bort ett paket även om det är trasigt och markerat "
"att vara i behov av ominstallation. Detta kan, till exempel, göra så att "
"delar av paketet blir kvar på systemet, men glöms bort av B<dpkg>."

#. 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>: Ta bort paketet även om det anses som viktigt "
"(essential). Viktiga paket är huvudsakligen de mest grundläggande "
"Unixkommandona. Om du tar bort dem kan det göra så att hela systemet slutar "
"fungera, så använd med tillförsikt."

#. type: Plain text
#: dpkg.1:391
msgid "B<depends>: Turn all dependency problems into warnings."
msgstr "B<depends>: Gör alla beroendeproblem till varningar."

#. type: Plain text
#: dpkg.1:394
msgid ""
"B<depends-version>: Don't care about versions when checking dependencies."
msgstr ""
"B<depends-version>: Ignorera versionsnummer när beroenden kontrolleras."

#. type: Plain text
#: dpkg.1:397
msgid "B<breaks>: Install, even if this would break another package."
msgstr "B<breaks>: Installera, även om det skulle förstöra ett annat paket."

#. 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>: Installera även om paket som är i konflikt (krockar) med ett "
"annat paket. Detta är farligt, eftersom det oftast leder till att vissa "
"filer skrivs över."

#. 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>: Installera alltid saknade konfigurationsfiler. Detta är "
"farligt, eftersom det inte bibehåller ändringar (raderingar) av filer."

#. 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>: Installera alltid nya versioner av ändrade konfigurationsfiler "
"utan att fråga, såvida inte B<--force-confdef> också anges, i vilket fall "
"det förvalda alternativet kommer att utföras."

#. 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>: Installera aldrig nya versioner av ändrade konfigurationsfiler "
"utan att fråga, såvida inte B<--force-confdef> också anges, i vilket fall "
"det förvalda alternativet kommer att utföras."

#. 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>: Utför alltid förvalt alternativt för ändrade "
"konfigurationsfiler. Om inget förval har angivits kommer programmet stanna "
"och fråga användaren såvida inte B<--force-confnew> eller B<--force-confold> "
"också angetts, i så fall används den för att bestämma vad som skall utföras."

#. type: Plain text
#: dpkg.1:429
msgid ""
"B<confask>: If a conffile has been modified always offer to replace it with "
"the version in the package, even if the version in the package did not "
"change. If any of B<--force-confmiss>, B<--force-confnew>, B<--force-"
"confold>, or B<--force-confdef> is also given, it will be used to decide the "
"final action."
msgstr ""
"B<confask>: Erbjud alltid att ersätta en modifierad konfigurationsfil med "
"versionen i paketet, även om versionen i paketet inte ändrades. Om någon av "
"B<--force-confmiss>, B<--force-confnew>, B<--force-confold> eller B<--force-"
"confdef> också angetts, så används den för att bestämma vad som skall "
"utföras."

#. type: Plain text
#: dpkg.1:432
msgid "B<overwrite>: Overwrite one package's file with another's file."
msgstr "B<overwrite>: Skriv över ett pakets filer med ett annats."

#. type: Plain text
#: dpkg.1:435
msgid "B<overwrite-dir> Overwrite one package's directory with another's file."
msgstr "B<overwrite-dir> Skriv över ett pakets kataloger med ett annats filer."

#. type: Plain text
#: dpkg.1:438
msgid ""
"B<overwrite-diverted>: Overwrite a diverted file with an undiverted version."
msgstr ""
"B<overwrite-diverted>: Skriv över en omdirigerad fil med en ej omdirigerad "
"version."

#. 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 ""
"B<unsafe-io>: Utför inte säkra I/O-operationer vid uppackning. Detta innebär "
"för närvarande att filsystemssynkroniseringar inte utförs innan namn på "
"filer ändras, något som vi vet kan påverka prestanda betydligt negativt för "
"vissa filsystem, vilket tyvärr är samma system som behöver säker I/O på "
"grund av att de har ett otillförlitligt beteende som orsakar tomma filer vid "
"tvära systemkrascher."

#. 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 ""
"I<Observera>: För ext4, den värsta syndaren, kan det vara värt att istället "
"använda monteringsflaggan B<nodelalloc>, vilken både korrigerar "
"prestandaförlusten och datasäkerhetsproblemen, det sistnämnda genom att inte "
"låta filsystemet skapa tomma filer vid tvära krascher för programvara som "
"inte utför synkronisering före atomära namnbyten."

#. 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 ""
"I<Varning: Den här flaggan kan ge bättre prestanda på bekostnad av "
"dataförluster, använd med tillförsikt.>"

#. type: Plain text
#: dpkg.1:458
msgid "B<architecture>: Process even packages with wrong or no architecture."
msgstr ""
"B<architecture>: Hantera även paket med fel eller saknad "
"maskinvaruarkitektur."

#. type: Plain text
#: dpkg.1:461
msgid "B<bad-version>: Process even packages with wrong versions."
msgstr "B<bad-version>: Hantera även paket med fel versioner."

#. type: Plain text
#: dpkg.1:464
msgid ""
"B<bad-path>: B<PATH> is missing important programs, so problems are likely."
msgstr ""
"B<bad-path>: Sökvägen i B<PATH> saknar viktiga program, så problem är "
"troliga."

#. type: Plain text
#: dpkg.1:467
msgid "B<not-root>: Try to (de)install things even when not root."
msgstr "B<not-root>: Försök (av)installera saker även utan att vara root."

#. type: Plain text
#: dpkg.1:470
msgid "B<bad-verify>: Install a package even if it fails authenticity check."
msgstr ""
"B<bad-verify>: Installera ett paket även om det inte går att verifiera dess "
"äkthet."

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

#. 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 ""
"Ignorera beroendekontroll för angivna paket (i verkligheten utförs "
"kontrollen, men det ges endast varningar, ingenting annat)."

#. 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 ""
"Gör allting som efterfrågas, men skriv inte några ändringar. Detta används "
"för att se vad som skulle ha hänt med åtgärden utan att faktiskt ändra något."

#. 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 ""
"Se till att du anger B<--no-act> före åtgärdsflaggan, annars kan du få "
"oönskade biverkningar (t.ex så kommer B<dpkg --purge foo --no-act> först att "
"rensa ut paketet foo för att sedan försöka rensa ut paketet --no-act, trots "
"att du troligen förväntade dig att ingenting skulle utföras)"

#. 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 ""
"Hantera alla vanliga filer som matchar sökmönstret B<*.deb> rekursivt i de "
"kataloger som anges, med alla sina underkataloger. Flaggan kan användas "
"tillsammans med B<-i>, B<-A>, B<--install>, B<--unpack> och 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 ""
"Installera inte paketet om en nyare version av samma paket redan är "
"installerat. Detta är ett alias för 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<kat>"

#. 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 ""
"Ändra förvald administrationskatalog, vilken innehåller flera filer som "
"beskriver status för installerade eller avinstallerade paket, osv. "
"(standardvärde är 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 ""
"Ändra standardinstallationskatalog, vilket anger katalogen där paket skall "
"installeras. B<instdir> är även katalogen som skickas som argument till "
"B<chroot>(2) innan paketets installationsfiler körs, vilket betyder att "
"skripten ser B<instdir> som rotkatalog. (Förval är 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 ""
"Genom att ändra B<rot> så ändras B<installationskatalog> till I<katalog> och "
"B<administrationskatalog> till 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 ""
"Hantera endast paket som markerats för installation. Själva markeringen "
"utförs med B<dselect> eller av B<dpkg> när paketen hanteras. Till exempel "
"kommer paket som tas bort att markeras för installation."

#. 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 ""
"Installera inte paketet om samma version av paketet redan är installerat."

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

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

#. 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 ""
"Sätter en anropshake I<kommando> som körs via \"sh -c\" före eller efter "
"dpkg körs för åtgärderna I<unpack>, I<configure>, I<instal>, I<triggers-"
"only>, I<remove> och I<purge>. Flaggan kan anges flera gånger. Ordningen på "
"flaggorna som anges behålls och de som anges i konfigurationsfilen har "
"företräde. Miljövariabeln B<DPKG_HOOK_ACTION> sätts för hakar i den "
"nuvarande dpkg-åtgärden. Observera: Skal kan anropa dpkg flera gånger per "
"körning, vilket kan göra att hakarna körs fler gånger än förväntat."

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

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

#. 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 ""
"Sätt I<filnamnsmönster> som ett sökvägsfilter, antingen genom att exkludera "
"eller åter inkludera tidigare exkluderade sökvägar som motsvarar det angivna "
"mönstret under installationen."

#. 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 ""
"I<Varning: tänk på att du kan totalt ödelägga ditt system, beroende på vilka "
"sökvägar du exkluderar, så använd med tillförsikt.>"

#. 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 ""
"Filnamnsmönstrena använder samma sorts jokertecken som skalet, där \"*\" "
"motsvarar en sekvens av valfritt antal tecken, inklusive den tomma strängen "
"och även \"/\". Till exempel på motsvarar I<\"/usr/*/READ*\"> I<\"/usr/share/"
"doc/paket/README\">. \"?\" motsvarar som vanligt ett ensamt tecken (även här "
"ingår \"/\"). Och \"[\" inleder en teckenklass, som kan innehålla en lista "
"över tecken, intervall och komplement. Se B<glob>(7) för detaljerad "
"information om filnamnsmönster. Observera: den nuvarande implementationen "
"kan återinkludera fler kataloger och symboliska länkar än nödvändigt, för "
"att vara på den säkra sidan och undvika möjliga uppackningsfel, framtida "
"ändringar kan komma att rätta detta."

#. type: Plain text
#: dpkg.1:558
msgid ""
"This can be used to remove all paths except some particular ones; a typical "
"case is:"
msgstr ""
"Detta kan användas för att ta bort alla sökvägar förutom några specifika; "
"ett typiskt användningsområde är:"

#. 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 ""
"B<--path-exclude=/usr/share/doc/*>\n"
"B<--path-include=/usr/share/doc/*/copyright>\n"

#. type: Plain text
#: dpkg.1:565
msgid "to remove all documentation files except the copyright files."
msgstr ""
"för att ta bort alla dokumentationsfiler förutom upphovsrättsinformation."

#. 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 ""
"Dessa två flaggor kan anges flera gånger, och kan interfolieras med "
"varandra. De hanteras båda i den givna ordningen och det är den sista regeln "
"som motsvarar ett filnamn som fäller avgörandet."

#. 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 ""
"Sänd maskinläsbar paketstatus och förloppsinformation till filhandtag I<n>. "
"Flaggan kan anges flera gånger. Informationen lagras vanligtvis rad för rad, "
"i följande format:"

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

#. type: Plain text
#: dpkg.1:580
msgid "Package status changed; I<status> is as in the status file."
msgstr "Paketstatus ändrad; I<status> är som i statusfilen."

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

#. 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 ""
"Ett fel uppstod. Eventuella nyradstecken i I<utökat-felmeddelanden> kommer "
"ersättas med blanksteg innan de skrivs ut."

#. 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<fil>B< : conffile-prompt : '>I<riktig-gammal>B<' '>I<riktig-ny>B<' >I<användarredigerad>B< >I<distredigerad>"

#. type: Plain text
#: dpkg.1:587
msgid "User is being asked a conffile question."
msgstr "Användaren får en fråga om konfigurationsfiler."

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

#. type: Plain text
#: dpkg.1:592
msgid ""
"Sent just before a processing stage starts. I<stage> is one of B<upgrade>, "
"B<install> (both sent before unpacking), B<configure>, B<trigproc>, "
"B<disappear>, B<remove>, B<purge>."
msgstr ""
"Sänds precis innan ett hanteringsskede påbörjas. I<Skede> är något av "
"B<upgrade>, B<install> (båda sänds innan paketet packas upp), B<configure>, "
"B<trigproc>, B<disappear>, B<remove>, B<purge>."

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

#. type: Plain text
#: dpkg.1:598
msgid ""
"Send machine-readable package status and progress information to the shell "
"I<command>'s standard input. This option can be specified multiple times. "
"The output format used is the same as in B<--status-fd.>"
msgstr ""
"Sänd maskinläsbar paketstatus och förloppsinformation till skal-"
"I<kommando>ts standard in. Flaggan kan anges flera gånger. Utdataformatet "
"som används är detsamma som för B<--status-fd>."

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

#. type: Plain text
#: dpkg.1:611
msgid ""
"Log status change updates and actions to I<filename>, instead of the default "
"I</var/log/dpkg.log>. If this option is given multiple times, the last "
"filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS status "
"I<state> I<pkg> I<installed-version>' for status change updates; `YYYY-MM-DD "
"HH:MM:SS I<action> I<pkg> I<installed-version> I<available-version>' for "
"actions where I<action> is one of B<install>, B<upgrade>, B<remove>, "
"B<purge>; and `YYYY-MM-DD HH:MM:SS conffile I<filename> I<decision>' for "
"conffile changes where I<decision> is either B<install> or B<keep>."
msgstr ""
"Logga statusändringsmeddelanden och kommandon till I<filnamn>, istället för "
"förvalet I</var/log/dpkg.log>. Om flaggan ges flera gånger används det sista "
"filnamnet. Loggmeddelanden är på formen \"ÅÅÅÅ-MM-DD HH:MM:SS status "
"I<tillstånd> I<paket> I<installerad-version>\" för statusändringar; \"ÅÅÅÅ-"
"MM-DD HH:MM:SS I<åtgärd> I<paket> I<installerad-versiont> I<tillgänglig-"
"version>\" för åtgärder där I<åtgärd> är ett av B<install>, B<upgrade>, "
"B<remove>, B<purge>; samt \"ÅÅÅÅ-MM-DD HH:MM:SS conffile I<filnamn> I<val>\" "
"för konfigurationsfilsändringar där I<val> antingen är B<install> eller "
"B<keep>."

#. 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 "Försök inte verifiera paketsignaturer."

#. 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 ""
"Utför inte utlösare i denna körning (aktiveringar kommer fortfarande att "
"antecknas). Om det används tillsammans med B<--configure> I<paket> eller B<--"
"triggers-only> I<paket> kommer det namngivna paketets postinst fortfarande "
"att köras även om det enda som behövdes var en körning av utlösare. Om du "
"använder denna flagga kan det hända att paket hamnar i felaktiga B<väntar på "
"utlösare>- och B<utlösare väntar>-tillstånd. Detta kan rättas senare genom "
"att köra: 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 "Överstyr ett tidigare 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 "Konfigurationsfil med förvalda inställningar."

#. 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 "Förvald loggfil (se I</etc/dpkg/dpkg.cfg>(5) och flaggan 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 ""
"Övriga filer som listas här finns i sina förvalda kataloger, se flaggan B<--"
"admindir> för information om hur du ändrar placeringen av dessa filer."

#. 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 över tillgängliga paket."

#. 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 ""
"Status för tillgängliga paket. Filen innehåller information om huruvida ett "
"paket är markerat för borttagning eller ej, om det är installerat eller ej, "
"osv. Se sektionen B<INFORMATION OM PAKET> för ytterligare information."

#. 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 ""
"Statusfilen säkerhetskopieras dagligen i I</var/backups>. Det kan vara "
"nyttigt om den går förlorad eller skrivs sönder på grund av problem med "
"filsystemet."

#. 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 ""
"Följande filer är komponenter i det binära paketet. Se B<deb>(5) för "
"ytterligare information om dem:"

#. 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 "MILJÖVARIABLER"

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

#. 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 ""
"Om satt så kommer B<dpkg> att använda det som den katalog från vilken det "
"skall läsa den användarspecifika konfigurationsfilen."

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

#. 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 ""
"Om satt så kommer B<dpkg> att använda det som den katalog där det skapar "
"temporära filer och kataloger."

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

#. type: Plain text
#: dpkg.1:678
msgid "The program B<dpkg> will execute when displaying the conffiles."
msgstr ""
"Programmet B<dpkg> kommer att exekveras för att visa konfigurationsfiler."

#. 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 "Programmet B<dpkg> kommer att exekveras när ett nytt skal startas."

#. 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 ""
"Sätter antalet kolumner B<dpkg> skall använda när formaterad text visas. "
"Används för närvarande enbart av -l."

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

#. 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 ""
"Definieras av B<dpkg> i skalet som startas för att undersöka situationen "
"efter konfigurationsfilsfrågan. Tillåtna värden är för närvarande: "
"B<conffile-prompt>."

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

#. 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 ""
"Definieras av B<dpkg> i skalet som startas för att undersöka situationen "
"efter konfigurationsfilsfrågan. Innehåller sökvägen till den gamla "
"konfigurationsfilen."

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

#. 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 ""
"Definieras av B<dpkg> i skalet som startas för att undersöka situationen "
"efter konfigurationsfilsfrågan. Innehåller sökvägen till den nya "
"konfigurationsfilen."

#. 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 ""
"Definieras av B<dpkg> i utvecklarskriptets miljö till versionen av den "
"instans av B<dpkg> som körs för tillfället."

#. 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 ""
"Definieras av B<dpkg> i utvecklarskriptets miljö till namnet på paketet som "
"hanteras."

#. 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 ""
"Definieras av B<dpkg> i utvecklarskriptets miljö till arkitekturen paketet "
"byggdes för."

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

#. type: Plain text
#: dpkg.1:713
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the name of the "
"script running (preinst, postinst, prerm, postrm)."
msgstr ""
"Definieras av B<dpkg> i utvecklarskriptets miljö till namnet på det skript "
"som körs (preinst, postinst, prerm, postrm)."

#. type: Plain text
#: dpkg.1:716
msgid "To list packages related to the editor B<vi>(1):"
msgstr ""
"För att lista paket relaterade till textredigeringsprogrammet 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 "För att se posterna i I</var/lib/dpkg/available> för två paket:"

#. 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 "För att själv söka i paketlistan:"

#. 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 "För att ta bort det installerade paketet 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 ""
"För att installera ett paket måste du först leta på det i ett arkiv eller på "
"en cd-rom. Filen \"available\" visar att vim-paketet finns i sektionen "
"\"editors\":"

#. type: Plain text
#: dpkg.1:741
#, no-wrap
msgid ""
"     B<cd /media/cdrom/pool/main/v/vim>\n"
"     B<dpkg -i vim_4.5-3.deb>\n"
msgstr ""
"     B<cd /media/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 "För att göra en lokal kopia av paketmarkeringarna:"

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

#. type: Plain text
#: dpkg.1:750
msgid ""
"You might transfer this file to another computer, and install it there with:"
msgstr ""
"Du kan överföra filen till en annan dator och installera den där genom att "
"skriva:"

#. 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>mitturval>\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 ""
"Observera att detta faktiskt inte kommer installera eller ta bort någonting, "
"utan bara sätta valstatus på de efterfrågade paketen. Du måste använda ett "
"annat program för att faktiskt hämta och installera de efterfrågade paketen. "
"Till exempel kan du köra 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 ""
"För normalt bruk kommer du att upptäcka att B<dselect>(1) tillhandahåller "
"ett bekvämare sätt att ändra paketmarkeringarna."

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

#. 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 ""
"Ytterligare funktioner kan erhållas genom att installera något av följande "
"paket: B<apt>, B<aptitude> och 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) och 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> ger oftast mindre information än vad som vore hjälpsamt."

#. 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 ""
"Se B</usr/share/doc/dpkg/THANKS> för listan över personer som har bidragit "
"till 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 - ställ in och bestäm arkitektur för paket som byggs"

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

#. 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 innehåller en funktion för att bestämma och ställa in "
"bygg- och värdarkitekturerna för att bygga paket."

#. 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 ""
"Byggarkitekturen bestäms alltid av ett externt anrop till B<dpkg>(1) och kan "
"inte ställas in på kommandoraden."

#. 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 ""
"Du kan ange värdarkitektur genom att ange en av, eller båda, flaggorna B<-a> "
"och B<-t>. Förvalet bestäms av ett externt anrop till B<gcc>(1), eller är "
"detsamma som byggarkitekturen varken \\s-1CC\\s0 eller gcc är tillgängliga. "
"Det räcker att ange en av B<-a> och B<-t>, värdet på den andra kommer "
"ställas in till ett fungerande förval. Det är faktiskt oftast bättre att "
"bara ange den ena eftersom B<dpkg-architecture> kommer varna dig om ditt val "
"inte överensstämmer med förvalet."

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

#. 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 ""
"Skriv miljövariabler, en per rad, på formatet I<VARIABEL=värde>. Detta är "
"förvald åtgärd."

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

#. 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 ""
"Kontrollera arkitektur för likhet. Som standard jämförs I<debianarkitektur> "
"mot den aktuella Debianarkitekturen, som är värd. Åtgärden expanderar inte "
"jokertecken i arkitekturer. Kommandet avslutar med status 0 om det är en "
"träff, 1 om det inte är en träff."

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

#. 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 ""
"Kontrollera identitet på arkitekturen genom att expandera "
"I<arkitektursökmönster> som ett arkitektursökmönster med jokertecken, och "
"jämföra med den aktuella Debianarkitekturen. Kommandot avslutas med status 0 "
"vid träff, 1 om inte träff."

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

#. type: Plain text
#: dpkg-architecture.1:46
msgid "Print the value of a single variable."
msgstr "Skriv värdet på en enkel variabel."

#. 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 ""
"Visar ett exportkommando. Detta kan användas för att sätta miljövariabler "
"med 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 ""
"Visar ett kommando liknande B<-s> som för att nollställa alla variabler."

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

#. 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 ""
"Exekvera ett I<kommando> i en miljö som har alla variabler satta till det "
"bestämda värdet."

#. 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 "Visa en lista över giltiga arkitekturnamn."

#. 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 "Visar hjälpskärm och avslutar."

#. 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 "Visar version och avslutar."

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

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

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

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

#. 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 ""
"Värden som sätts av befintliga miljövariabler med samma namn som de som "
"används av skriptet används (t.ex av B<dpkg-architecture>), såvida inte "
"denna tvingande flagga anges. Det gör det möjligt för användaren att "
"överstyra ett värde även om anropet till B<dpkg-architecture> är begravt "
"djupt inuti ett annat skript (till exempel B<dpkg-buildpackage>(1))."

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

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

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

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

#. type: Plain text
#: dpkg-architecture.1:87
msgid "The machine the package is built for."
msgstr "Maskinen paketet byggs för."

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

#. 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 ""
"Debianarkitektursträngen, vilken anger binärträdet i \\-s1FT\\s0-arkivet. "
"Exempel: i386, sparc, hurd-i386."

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

#. 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 ""
"Ett arkitektursökmönster är en speciell arkitektursträng som matchar alla "
"äkta arkitekturer som finns i den. Den genella formen är E<lt>kärnaE<gt>-"
"E<lt>cpuE<gt>. Exempel: linux-any, any-i386, hurd-any."

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

#. 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 ""
"En arkitekturspecificeringssträng består av två delar, avdelade med "
"bindestreck: processor och system. Exempel: i386-linux-gnu, sparc-linux-gnu, "
"i386-gnu, x86_64-netbsd."

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

#. type: Plain text
#: dpkg-architecture.1:101
msgid "The following variables are set by B<dpkg-architecture>:"
msgstr "Följande variabler sätts av B<dpkg-architecture>:"

#. 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 "Debianarkitekturen för byggmaskinen."

#. 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 "Debiansystemnamnet för byggmaskinen."

#. 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 "Debian-processornamnet för byggmaskinen."

#. 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 "Pekarstorleken för byggmaskinen (i bitar)."

#. 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 "Endian för byggmaskinen (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
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr "\\s-1CPU\\s0-delen av \\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 "Systemdelen av \\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 "\\s-1GNU\\s0-systemtypen för byggmaskinen."

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

#. type: Plain text
#: dpkg-architecture.1:120
msgid ""
"The clarified \\s-1GNU\\s0 system type of the build machine, used for "
"filesystem paths."
msgstr ""
"Den förtydligade \\s-1GNU\\s0-systemtypen för byggmaskinen, används för "
"sökvägar i filsystemet."

#. 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 "Debianarkitekturen för värdmaskinen."

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

#. type: Plain text
#: dpkg-architecture.1:124
msgid "The Debian system name of the host machine."
msgstr "Debiansystemnamnet för värdmaskinen."

#. 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 "Debian-processornamnet för värdmaskinen."

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

#. type: Plain text
#: dpkg-architecture.1:128
msgid "The pointer size of the host machine (in bits)."
msgstr "Pekarstorleken för värdmaskinen (i bitar)."

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

#. type: Plain text
#: dpkg-architecture.1:130
msgid "The endianness of the host machine (little / big)."
msgstr "Endian för värdmaskinen (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 "\\s-1CPU\\s0-delen av \\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 "Systemdelen av \\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 "\\s-1GNU\\s0-systemtypen för värdmaskinen."

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

#. type: Plain text
#: dpkg-architecture.1:139
msgid ""
"The clarified \\s-1GNU\\s0 system type of the host machine, used for "
"filesystem paths."
msgstr ""
"Den förtydligade \\s-1GNU\\s0-systemtypen för värdmaskinen, används för "
"sökvägar i filsystemet."

#. 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 ""
"Miljövariablerna som sätts av B<dpkg-architecture> sänds till I<debian/"
"rules> som make-variabler (se dokumentationen för make). Du bör dock inte "
"bero på dem eftersom detta förhindrar manuella anrop till skriptet. Du bör "
"istället alltid initiera dem med B<dpkg-architecture> med -q-flaggan. Här är "
"några exempel, vilka även visar hur du kan förbättra stödet för "
"korskompilering i ditt paket:"

#. type: Plain text
#: dpkg-architecture.1:151 dpkg-architecture.1:168
msgid "Instead of:"
msgstr "Istället för:"

#. 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 "använder du följande:"

#. 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 "använder du:"

#. 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 ""
"eller, om du bara vill testa på processor- eller OS-typ, använd variablerna "
"DEB_HOST_ARCH_CPU eller 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 ""
"Generellt rekommenderas det inte att anropa dpkg i rules-filen för att hämta "
"information om arkitekturen (såvida du inte vill tillhandahålla "
"bakåtkompatibilitet, se nedan). Speciellt går det inte att lita på flaggan --"
"print-architecture eftersom vi har Debianarkitekturer som inte är identiskt "
"med namnet på processorn."

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

#. 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 ""
"Variablerna DEB_*_ARCH_BITS och DEB_*_ARCH_ENDIAN introducerades i dpkg-dev "
"1.15.4. Om de används i I<debian/rules> måste därför ett byggberoende "
"deklareras på 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 ""
"Variablerna DEB_HOST_ARCH_CPU och DEB_HOST_ARCH_OS introduceras i dpkg-dev "
"1.13.2. Tidigare såg I<debian/rules>-filer oftast på innehållet i "
"variablerna DEB_HOST_GNU_CPU och DEB_HOST_GNU_TYPE, vilka har kunnat ändra "
"på sig."

#. 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 ""
"Om I<debian/rules> ser på dessa variabler för att välja hur eller vad som "
"skall kompileras bör detta uppdateras till att använda de nya variablerna "
"och värdena. Om du vill bibehålla bakåtkompatibilitet med tidigare versioner "
"av dpkg-dev kan du använda följande kod:"

#. 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 ""
"# Ta gammalt utdataformat från dpkg-architecture i beaktning.\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 "Och på motsvarande sätt för DEB_BUILD_ARCH_CPU och 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 ""
"Om du fortfarande vill stöda versioner av dpkg-dev som inte innehöll B<dpkg-"
"architecture> fungerar följande:"

#. 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 ""
"Lägg in en delmängd av dessa rader överst i din debian/rules-fil. "
"Standardvariablerna kommer skrivas över om dpkg-architecture används."

#. 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 ""
"Du behöver inte alla. Välj en konsistent delmängd som innehåller de värden "
"du använder i rules-filen. Om du till exempel bara behöver värd-"
"Debianarkitekturen räcker det med \"DEB_HOST_ARCH=\\`dpkg --print-"
"architecture\\`\" (ja, det är Debianarkitekturen på byggmaskinen, men kom "
"ihåg att vi bara försöker vara bakåtkompatibel med kompilering på samma "
"plattform)."

#. 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 ""
"Flaggorna B<-e> och B<-i> introducerades i B<dpkg-architecture> relativt "
"nyligen (sedan 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-architecture> godtar flaggan B<-a> och sänder den vidare till B<dpkg-"
"architecture>. Andra exempel:"

#. 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 ""
"Kontrollera om en arkitektur är samma som den nuvarande eller en given:"

#. 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 ""
"Se om den aktuella arkitekturen eller en arkitektur som anges med -a är ett "
"Linuxsystem:"

#. 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
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 ""
"Alla dessa filer måste finnas för att B<dpkg-architecture> måste finnas. "
"Deras placering kan överstyras vid körning med miljövariabeln "
"B<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 "Tabell över kända processornamn och deras motsvarande GNU-namn."

#. 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 "Tabell över kända operativsystemsnamn och deras motsvarande GNU-namn."

#. 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 ""
"Tabell över Debianarkitekturtripplar och deras motsvarande "
"Debianarkitekturnamn."

#. 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> och denna manualsida skrevs ursprungligen av Markus "
"Brinkmann 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 - inställningsfil för 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 ""
"Filen innehåller förvalda inställningar för dpkg. Varje rad består av en "
"ensam flagga som är exakt densamma som en normal kommandoradsflagga för "
"dpkg, förutom de inledande bindestrecken vilka inte används här. Citattecken "
"runt flaggvärden tas bort. Kommentarer är tillåtna genom att inleda en rad "
"med nummertecken (\"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
#, no-wrap
msgid "dpkg-buildflags"
msgstr "dpkg-buildflags"

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

#. type: Plain text
#: dpkg-buildflags.1:4
msgid "dpkg-buildflags - returns build flags to use during package build"
msgstr ""
"dpkg-buildflags - returnerar byggflaggor att använda för att bygga paket"

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

#. 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 ""
"B<dpkg-buildflags> är ett verktyg för att hämta kompileringsflaggor att "
"använda för att bygga Debianpaket."

#. 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 ""
"De förvalda flaggorna anges av leverantören, men de kan utökas/överstyras på "
"flera sätt:"

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

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

#. type: IP
#: dpkg-buildflags.1:17
#, no-wrap
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 ""
"för den nuvarande användaren med B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> "
"där B<$XDG_CONFIG_HOME> har standardvärdet B<$HOME/.config>;"

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

#. type: Plain text
#: dpkg-buildflags.1:23
msgid ""
"temporarily by the user with environment variables (see section "
"B<ENVIRONMENT>);"
msgstr "temporärt av användaren med miljövariabler (se stycket B<MILJÖ>)."

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

#. type: Plain text
#: dpkg-buildflags.1:26
msgid ""
"dynamically by the package maintainer with environment variables set via "
"B<debian/rules> (see section B<ENVIRONMENT>)."
msgstr ""
"dynamiskt av paketansvariga med miljövariabler som sätts via B<debian/rules> "
"(se stycket B<MILJÖ>)."

#. type: Plain text
#: dpkg-buildflags.1:28
msgid "The configuration files can contain two types of directives:"
msgstr "Konfigurationsfilerna kan innehålla två sorters direktiv:"

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

#. type: Plain text
#: dpkg-buildflags.1:31
msgid "Override the flag named I<flag> to have the value I<value>."
msgstr "Överstyr flaggan I<flagga> till att ha värdet I<värde>."

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

#. type: Plain text
#: dpkg-buildflags.1:34
msgid ""
"Strip from the flag named I<flag> all the build flags listed in I<value>."
msgstr ""
"Ta bort alla flaggor som listas i I<värde> från flaggan som anges i "
"I<flagga>."

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

#. 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 ""
"Utöka flaggan I<flagga> genom att lägga till alternativen som anges i "
"I<värde>. Ett blanksteg läggs till före värdet om flaggans nuvarande värde "
"inte är tomt."

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

#. 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 ""
"Utöka flaggan I<flagga> genom att lägga till alternativen som anges i "
"I<värde> först. Ett blanksteg läggs till efter värdet om flaggans nuvarande "
"värde inte är tomt."

#. 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 ""
"Konfigurationsfilerna kan innehålla kommentarer på rader som börjar med ett "
"nummertecken (#). Även tomma rader ignoreras."

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

#. 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 ""
"Skriv alla kompileringsflaggor och deras värde på standard ut. En flagga "
"skrivs per rad, avdelade från sitt värde med ett likamedtecken "
"(\"I<flagga>=I<värde>\"). Detta är standardåtgärden."

#. type: TP
#: dpkg-buildflags.1:51
#, no-wrap
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 ""
"Skriv ut listan över flaggor som stöds av den aktuella leverantören (en per "
"rad). Se stycket B<FLAGGOR SOM STÖDS> för mer information om dem."

#. type: TP
#: dpkg-buildflags.1:56
#, no-wrap
msgid "B<--export=>I<format>"
msgstr "B<--export=>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 ""
"Skriv skal- (om I<format> är B<sh>) eller make-kommandon (om I<format> är "
"B<make>) som kan användas för att exportera alla kompileringsflaggor i "
"miljön till standard ut. Om I<format> är B<configure> kan utdata användas på "
"en B<./configure>-kommandorad. Om I<format> inte anges antas B<sh>. Endast "
"kompileringsflaggor som börjar med en stor bokstav tas med, andra antas att "
"inte vara lämpliga för miljön."

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

#. 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 ""
"Skriv ut värdet på flaggan på standard ut. Avslutar med 0 om flaggan är "
"känd, om inte avslutar den med 1."

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

#. 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 ""
"Anger ursprunget till flaggan som returneras av B<--get>. Avslutar med 0 om "
"flaggan är känd, om inte avslutar med 1. Ursprunget kan vara ett av följande "
"värden:"

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

#. type: Plain text
#: dpkg-buildflags.1:79
msgid "the original flag set by the vendor is returned;"
msgstr "originalflagga satt av leverantören returneras;"

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

#. type: Plain text
#: dpkg-buildflags.1:82
msgid "the flag is set/modified by a system-wide configuration;"
msgstr "flaggan är satt/modifierad av systemkonfigurationen;"

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

#. type: Plain text
#: dpkg-buildflags.1:85
msgid "the flag is set/modified by a user-specific configuration;"
msgstr "flaggan är satt/modifierad av användarkonfigurationen;"

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

#. type: Plain text
#: dpkg-buildflags.1:88
msgid "the flag is set/modified by an environment-specific configuration."
msgstr "flaggan är satt/modifierad av en miljöspecifik konfiguration."

#. type: SH
#: dpkg-buildflags.1:96
#, no-wrap
msgid "SUPPORTED FLAGS"
msgstr "FLAGGOR SOM STÖDS"

#. 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 ""
"Flaggor för C-kompilatorn. Standardvärdet som satts av leverantören "
"innehåller I<-g> och den förvalda optimeringsnivån (vanligtvis I<-O2>, eller "
"I<-O0> om miljövariabeln B<DEB_BUILD_OPTIONS> definierar I<noopt>)."

#. 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 "Flaggor för C-förprocesseraren. Förvalt värde: tomt."

#. 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 "Flaggor för C++-kompilatorn. Samma som B<CFLAGS>."

#. 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 "Flaggor för Fortrankompilatorn. Samma som B<CFLAGS>."

#. 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 ""
"Flaggor som sänds till kompilatorn vid länkning av binärer eller delade "
"objekt (om länkaren anropas direkt måste B<-Wl> och B<,> tas bort från dessa "
"flaggor). Standardvärde: tomt."

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

#. type: Plain text
#: dpkg-buildflags.1:125
msgid "System wide configuration file."
msgstr "Konfigurationsfil för hela systemet."

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

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

#. 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 ""
"Det finns två uppsättningar miljövariabler som utför samma operationer, den "
"första (DEB_I<flagga>_I<op>) bör aldrig användas inuti B<debian/rules>). Den "
"är tänkt för användare som vill bygga om källkodspaketet med andra "
"byggflaggor. Den andra uppsättningen (DEB_I<flagga>_MAINT_I<op>) bör endast "
"användas i B<debian/rules> av paketansvariga för att ändra de slutgiltiga "
"byggflaggorna."

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

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

#. type: Plain text
#: dpkg-buildflags.1:141
msgid ""
"This variable can be used to force the value returned for the given I<flag>."
msgstr ""
"Denna variabel kan användas för att tvinga fram värdet som returneras för "
"given I<flagga>."

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

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

#. 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 ""
"Denna variabel kan användas för att tillhandahålla en blankstegsavdelad "
"lista med flaggor som kommer att tas bort från uppsättningen flaggor som ges "
"för given I<flagga>."

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

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

#. 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 ""
"Denna variabel kan användas för att lägga till ytterligare flaggor till "
"värdet som returneras för given I<flagga>."

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

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

#. 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 ""
"Denna variabel kan användas för att lägga till ytterligare flaggor först i "
"värdet som returneras för given I<flagga>."

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

#. 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 ""
"Den här variabeln kan användas för att slå av/på olika härdningsbyggflaggor "
"genom alternativet B<hardening>. Se avsnittet B<HÄRDNING> för mer "
"information."

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

#. 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 ""
"Du kan använda flera kompileringsflaggor (se detaljer nedan) för att härda "
"den färdiga binären mot minnesfördärvningsangrepp, eller för att ge "
"ytterligare varningsmeddelanden under kompileringen. Förutom det som anges "
"nedan aktiveras dessa som standard för arkitekturer som stöder dem."

#. 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 ""
"Varje härdningsfunktion kan aktiveras och inaktiveras i miljövariabeln "
"B<DEB_BUILD_MAINT_OPTIONS> värde B<hardening> med modifierarna \"+\" och \"-"
"\". Du kan till exempel aktivera och funktionen \"pie\" och inaktivera "
"funktionen \"fortify\" genom att ange detta i B<debian/rules>:"

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

#. 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 ""
"Den speciella funktionen B<all> kan användas för att aktivera eller "
"inaktivera alla härdningsfunktioner samtidigt. Du kan till exempel "
"inaktivera allt och endast aktivera \"format\" och \"fortify\" med:"

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

#. type: TP
#: dpkg-buildflags.1:186
#, no-wrap
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 ""
"Inställningen (aktiverad som standard) lägger till B<-Wformat -Wformat-"
"security -Werror=format-security> till B<CFLAGS> och B<CXXFLAGS>. Detta "
"kommer att varna om olämplig användning av formatsträngar, och att "
"misslyckas när formatfunktionerna används på ett sätt som representerar "
"möjliga säkerhetsproblem. För närvarande varnar detta om anrop till "
"funktionerna B<printf> och B<scanf> där formatsträngen inte är en fast "
"sträng och när det inte finns några formatargument, som i B<printf(foo);> "
"istället för B<printf(\"%s\", foo);> Detta kan vara ett säkerhetshål om "
"formatsträngen kommer från en obetrodd källa och innehåller \"%n\"."

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

#. 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 ""
"Inställningen (aktiverad som standard) lägger till  B<-D_FORTIFY_SOURCE=2> "
"till B<CFLAGS>. Kompilatorn har under kodgenereringen kännedom om en hel del "
"information om buffertstorlekar (där tillämpligt) och försöker ersätta "
"osäkra funktionsanrop med obegränsade buffertlängder med längdbegränsade "
"dito. Det här är speciellt användbart för gammal, skräpig kod. Dessutom "
"blockeras formatsträngar i skrivbart minne som innehåller \"%n\". Om ett "
"program är beroende av en sådan formatsträng måste det gås runt i kod."

#. 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 ""
"Observera att, för att den här flaggan skall ha någon effekt, måste "
"källkoden också kompileras med B<-O1> eller högre."

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

#. 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 ""
"Inställningen (aktiverad som standard) lägger till B<-fstack-protector --"
"param=ssp-buffer-size=4> till B<CFLAGS> och B<CXXFLAGS>. Detta lägger till "
"säkerhetskontroller mot stacköverskrivningar, vilket gör att många möjliga "
"kodinjiceringsangrepp istället avbryter programmet. I det bästa fallet gör "
"det kodinjiceringsangrepp till överbelastnignsangrepp eller icke-problem "
"(beroende på programmet)."

#. 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 ""
"Den här funktionen kräver länkning mot glibc (eller ett annat bibliotek som "
"tillhandahåller B<__stack_chk_fail>), så det måste inaktiveras när du bygger "
"med B<-nostdlib> eller B<-ffreestanding> eller liknande."

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

#. 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 ""
"Inställningen (aktiverad som standard) lägger till B<-Wl,-z,relro> till "
"B<LDFLAGS>. Vid inläsning av programmet måste länkaren skriva till flera ELF-"
"minnessektioner. Den här inställningen flaggar till inläsaren att dessa "
"sektioner skall göras skrivskyddade innan programmet får kontroll. Detta "
"skyddar huvudsaklingen mot GOT-överskrivningsangrepp."

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

#. type: Plain text
#: dpkg-buildflags.1:243
#, fuzzy
#| msgid ""
#| "This setting (enabled by default) adds B<-Wl,-z,bindnow> 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)."
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 ""
"Inställningen (aktiverad som standard) lägger till B<-Wl,-z,bindnow> till "
"B<LDFLAGS>. Vid inläsning av programmet löses alla dynamiska symboler, "
"vilket gör att hela PLT kan markeras som skrivskyddad (på grund av B<relro> "
"ovan)."

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

#. 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 ""
"Inställningen (inaktiverad som standard) lägger till B<-fPIE> till B<CFLAGS> "
"och B<CXXFLAGS>, samt B<-fPIE -pie> till B<LDFLAGS>. Positionsoberoende "
"exekverbara program (PIE) behövs för att dra fördel av slumpmässig "
"adressrymd (ASLR), vilket stöds av vissa versioner av kärnan. Medan ASLR "
"redan kan användas för datautrymmen i stacken och heap:en (brk och mmap), "
"måste kodområden först kompileras som positionsoberoende. Delade bibliotek "
"gör redan detta (-fPI C), så de drar automatiskt fördel av ASLR medan "
"binära .text-regioner måste byggas med PIE för att uppnå ASLR. När detta "
"sker är ROP-angrepp (Return Oriented Programming) mycket svårare eftersom "
"det inte finns några statiska platser att studsa från i ett "
"minnesfördärvningsangrepp."

#. 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 ""
"Detta är inte kompatibelt med B<-fPIC> så man måste vara försiktig när man "
"bygger delade objekt."

#. 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 ""
"Eftersom PIE i tillägg implementeras med ett generellt register kan vissa "
"arkitekturer (huvudsakligen i386) se prestandaförluster upp till 15% i "
"väldigt textsegment-tunga programs körning; de flesta körningar ser mindre "
"än 1%. Arkitekturer med många generella register (t.ex amd64) ser inte en "
"lika stor värsta falls-förlust."

#. type: Plain text
#: dpkg-buildflags.1:268
msgid "Copyright \\(co 2010-2011 Rapha\\[:e]l Hertzog"
msgstr "Upphovsrättsskyddat © 2010-2011 Raphaël Hertzog"

#. type: Plain text
#: dpkg-buildflags.1:270
msgid "Copyright \\(co 2011 Kees Cook"
msgstr "Upphovsrättsskyddat © 2011 Kees Cook"

#. 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 - bygg binär- eller källkodspaket från källkod"

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

#. 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-buildprogram> är ett program som automatiserar processen med att "
"bygga ett Debianpaket. Det består av följande steg:"

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

#. type: Plain text
#: dpkg-buildpackage.1:17
msgid ""
"It prepares the build environment by setting various environment variables "
"(see B<ENVIRONMENT>) and calls B<dpkg-source --before-build> (unless B<-T> "
"or B<--target> has been used)."
msgstr ""
"Byggmiljön förbereds genom att diverse miljövariabler sätts (se B<MILJÖ>) "
"och anropar B<dpkg-source --before-build> (såvida inte B<_T> eller B<--"
"target> används)."

#. 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 ""
"Byggberoenden och -konflikter kontrolleras att de uppfylls (såvida inte B<-"
"d> anges)."

#. 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 ""
"Om ett specifikt mål har valts med flaggan B<-T> eller B<--target> anropas "
"det målet, varpå programmet avslutas. I annat fall anropas B<fakeroot debian/"
"rules clean> för att städa byggträdet (såvida inte B<-nc> anges)."

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

#. type: Plain text
#: dpkg-buildpackage.1:29
msgid ""
"It calls B<dpkg-source -b> to generate the source package (unless a binary-"
"only build has been requested with B<-b>, B<-B> or B<-A>)."
msgstr ""
"B<dpkg-source -b> anropas för att skapa källkodspaketet (såvida inte ett "
"bygge av enbart binärer har valts med B<-b>, B<-B> eller B<-A>)."

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

#. type: Plain text
#: dpkg-buildpackage.1:36
msgid ""
"It calls B<debian/rules> B<build> followed by B<fakeroot debian/rules> "
"I<binary-target> (unless a source-only build has been requested with B<-S>). "
"Note that I<binary-target> is either B<binary> (default case, or if B<-b> is "
"specified)  or B<binary-arch> (if B<-B> is specified) or B<binary-indep> (if "
"B<-A> is specified)."
msgstr ""
"B<debian/rules build> anropas, följt av B<fakeroot debian/rules> I<binärmål> "
"(såvida inte ett bygge av enbart källkod har valts med B<-S>). Observera att "
"I<binärmål> är ett av B<binary> (standardval, eller om B<-b> anges), "
"B<binary-arch> (om B<-B> anges) eller B<binary-indep> (om B<-A> anges)."

#. 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 ""
"B<gpg> anropas för att signera B<.dsc>-filen (om sådan finns, såvida inte B<-"
"us> anges)."

#. 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 ""
"B<dpkg-genchanges> anropas för att skapa en B<.changes>-fil. Många av "
"flaggorna till B<dpkg-buildpackage> vidaresänds till B<dpkg-genchanges>."

#. 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 ""
"B<gpg> anropas för att signera B<.changes>-filen (såvida inte B<-uc> anges)."

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

#. type: Plain text
#: dpkg-buildpackage.1:49
msgid ""
"If B<-tc> is specified, it will call B<fakeroot debian/rules clean> again. "
"Finally it calls B<dpkg-source --after-build>."
msgstr ""
"Om B<-tc> anges anropas B<fakeroot debian/rules clean> ytterligare en gång. "
"Till slut anropas B<dpkg-source --after-build>."

#. 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 ""
"Anger att enbart binära paket skall byggas, inga källkodsfiler byggs och/"
"eller distribueras. Sänds vidare till 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 ""
"Anger att enbart binära paket skall byggas, begränsat till "
"arkitekturberoende paket. Sänds vidare till 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 ""
"Anger att enbart binära paket skall byggas, begränsat till "
"arkitekturoberoende paket. Sänds vidare till 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 ""
"Anger att enbart källkodspaket skall byggas, inga binärpaket behöver byggas. "
"Sänds vidare till B<dpkg-genchanges>."

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

#. 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 ""
"Anger att ett normalt komplett bygge, binär- och källkodspaket, skall "
"byggas. Detta är detsamma som standardläget om inga byggflaggor anges."

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

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

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

#. 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 ""
"Anropar B<debian/rules> I<mål> efter att ha konfigurerat byggmiljön, och "
"avbryter byggprocessen efteråt. Om B<--as-root> också anges körs kommandot "
"som root (se B<-r>). Observera att officiella mål som måste köras som root "
"inte behöver flaggan."

#. 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 ""
"Endast meningsfull tillsammans med B<--target>. Kräver att målet körs med "
"root-behörighet."

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

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

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

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

#. type: Plain text
#: dpkg-buildpackage.1:104
msgid "Passed unchanged to B<dpkg-genchanges>. See its manual page."
msgstr ""
"Sänds vidare utan ändringar till B<dpkg-genchanges>. Se dess manualsida."

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

#. 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 ""
"Ange Debianarkitekturen vi bygger för. Arkitekturen för maskinen vi bygger "
"på bestäms automatiskt, och är även standard för värdmaskinen."

#. 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 ""
"Ange GNU-systemtyp vi bygger för. Den kan användas i stället för -a eller "
"som ett komplement för att överstyra standard-GNU-systemtypen för Debian-"
"målarkitekturen."

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

#. 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 ""
"Antalet jobb som tillåts att köras samtidigt, motsvarar B<make>(1)-flaggan "
"med samma namn. Lägger till sig själv i miljövariabeln MAKEFLAGS, vilket får "
"alla påföljande make-anrop att ärva flaggan. Lägger även till flaggan "
"B<parallel=>I<jobb> till miljövariabeln DEB_BUILD_OPTIONS, vilket gör det "
"möjligt för debian/rules-filer att använda informationen för egna ändamål. "
"Värdet B<parallel=>I<jobb> i miljövariabeln DEB_BUILD_OPTIONS kommer att "
"överstyra värdet för B<-j> om den flaggan ges."

#. 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 ""
"Kontrollera  byggberoenden och -konflikter; avbryt om de inte uppfylls. "
"Detta är standardbeteendet."

#. 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 "Kontrollera inte byggberoenden eller -konflikter."

#. 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 ""
"Städa inte upp byggträdet (implicerar B<-b> om inget annat har valts bland "
"B<-B>, B<-A> eller 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 ""
"Städa källkodsträdet (använder I<få-root-kommando> B<debian/rules clean>) "
"efter att paketet har byggts."

#. type: TP
#: dpkg-buildpackage.1:143
#, no-wrap
msgid "B<-r>I<gain-root-command>"
msgstr "B<-r>I<få-root-kommando>"

#. 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 ""
"När B<dpkg-buildpackages> behöver exekvera delar av byggprocessen som root "
"sätter den kommandot som skall exekveras efter I<få-root-kommando> om ett "
"sådant har angivits. Om inte kommer B<fakeroot> att användas som standard, "
"om kommandot existerar. I<få-root-kommando> måste börja med namnet på det "
"faktiska kommandot som skall anropas samt de parametrar det skall anropas "
"med. I<få-root-kommando> kan innehålla parametrar (de måste vara avdelade "
"med blanksteg) men inga skalmetatecken. I<få-root-kommando> kan typiskt vara "
"B<fakeroot>, B<sudo>, B<super> eller B<really>. B<su> är inte lämpligt "
"eftersom det kräver flaggan B<-c> för att köra ett kommando och även då kan "
"det bara starta användarens skal med B<-c> istället för att sända flaggor "
"individuellt till kommandot som skall startas."

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

#. 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 ""
"För att bygga ett Debianpaket körs normalt kommandot B<debian/rules> med "
"flera olika standardparametrar. Den här flaggan gör det möjligt att använda "
"ett annat programanrop för att bygga paketet (det kan innehålla "
"blankstegsavdelade parametrar). Den kan även användas för att exekvera "
"standardregelfilen med ett annat make-program (till exempel genom att "
"använda B</usr/local/bin/make -f debian/rules> som I<regelfil>)."

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

#. 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 ""
"När B<dpkg-buildpackage> måste exekvera GPG eller PGP för att signera ett "
"källkodsstyrfil (B<.dsc>) eller en B<.changes>-fil kör det "
"I<signeringskommando> (det letar i B<PATH> om så behövs) istället för "
"B<gpg>. I<signeringskommando> får de argument B<gpg> skulle ha fått. Om "
"I<signeringskommando> tar kommandon enligt GPG- istället för PGP-stil måste "
"du ge flaggan B<-sgpg>. I<signeringskommando> får inte innehålla blanksteg "
"eller andra skalmetatecken."

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

#. type: Plain text
#: dpkg-buildpackage.1:191
msgid "Specify a key-ID to use when signing packages."
msgstr "Ange nyckel-id att använda vid signering av paket."

#. 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 "Signera inte källkodspaketet."

#. 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 "Signera inte B<.changes>-filen."

#. type: Plain text
#: dpkg-buildpackage.1:199
msgid "B<-i>[I<regexp>]"
msgstr "B<-i>[I<reguljärt-uttryck>]"

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

#. 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 "Sänds vidare utan ändringar till B<dpkg-source>. Se dess manualsida."

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

#. type: Plain text
#: dpkg-buildpackage.1:212
msgid "Pass option I<opt> to B<dpkg-source>."
msgstr "Sänd flaggan I<val> till B<dpkg-source>."

#. type: TP
#: dpkg-buildpackage.1:212
#, no-wrap
msgid "B<--changes-option=>I<opt>"
msgstr "B<--changes-option=>I<val>"

#. type: Plain text
#: dpkg-buildpackage.1:215
msgid "Pass option I<opt> to B<dpkg-genchanges>."
msgstr "Sänder flaggan I<val> till B<dpkg-genchanges>."

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

#. 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 "Ändra platsen för B<dpkg>-databasen. Förval är 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 ""
"Även om B<dpkg-buildpackage> exporterar några variabler bör inte B<debian/"
"rules> vara beroende av deras närvaro och bör istället använda respektive "
"gränssnitt för att hämta de värden som behövs."

#. type: SS
#: dpkg-buildpackage.1:234
#, no-wrap
msgid "Variables set by dpkg-architecture"
msgstr "Variabler som sätts av 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 ""
"B<dpkg-architecture> anropas med flaggorna B<-a> och B<-t> vidaresända. "
"Variabler som skrivs ut via dess B<-s>-flagga integreras i byggmiljön."

#. type: SS
#: dpkg-buildpackage.1:238
#, no-wrap
msgid "Compiler flags are no longer exported"
msgstr "Kompileringsflaggor exporteras inte längre."

#. 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 ""
"Mellan version 1.14.17 och 1.16.1 exporterade B<dpkg-buildpackage> "
"kompilatorflaggor (B<CFLAGS>, B<CXXFLAGS>, B<CPPFLAGS> och B<LDFLAGS>) med "
"värden enligt B<dpkg-buildflags>. Detta gäller inte längre."

#. 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 ""
"Det borde vara möjligt att ange blanksteg och skalmetatecken i, och "
"inledande argument för, I<få-root-kommando> och I<signeringskommando>."

#. type: Plain text
#: dpkg-buildpackage.1:256
msgid ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), B<dpkg-"
"genchanges>(1), B<fakeroot>(1), B<gpg>(1)."
msgstr ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), B<dpkg-"
"genchanges>(1), B<fakeroot>(1), B<gpg>(1)."

#. type: Plain text
#: dpkg-buildpackage.1:265
msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgstr "Upphovsrättsskyddat © 2008-2010 Raphaë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 - kontrollera byggberoenden och -konflikter"

#. type: Plain text
#: dpkg-checkbuilddeps.1:9
msgid "B<dpkg-checkbuilddeps> [I<option>...] [I<control-file>]"
msgstr "B<dpkg-checkbuilddeps> [I<flagga>...] [I<control-fil>]"

#. 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 ""
"Detta program kontrollerar installerade paket på systemet mot byggberoenden "
"och -konflikter som listas i filen control. Om de inte uppfylls, visas de "
"och programmet avslutas med en felstatus som inte är noll."

#. type: Plain text
#: dpkg-checkbuilddeps.1:17
msgid ""
"By default, B<debian/control> is read, but an alternate control filename may "
"be specified on the command line."
msgstr ""
"Som standard läses B<debian/control>, men ett alternativt styrfilnamn kan "
"anges på kommandoraden."

#. type: Plain text
#: dpkg-checkbuilddeps.1:27
msgid ""
"Ignore I<Build-Depends-Indep> lines. Use when no arch-indep packages will be "
"built."
msgstr ""
"Ignorera I<Build-Depends-Indep>-rader. Använd om inga arkitekturoberoende "
"paket skall byggas."

#. type: TP
#: dpkg-checkbuilddeps.1:27
#, no-wrap
msgid "B<-d >I<build-depends-string>"
msgstr "B<-d> I<byggberoendesträng>"

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

#. 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 ""
"Använd de angivna byggberoendena/-konflikterna istället för de som står i "
"filen I<debian/control>."

#. type: Plain text
#: dpkg-checkbuilddeps.1:42
msgid "Copyright \\(co 2001 Joey Hess"
msgstr "Upphovsrättsskyddat © 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 - lägg till poster i debian/files"

#. type: Plain text
#: dpkg-distaddfile.1:8
msgid "B<dpkg-distaddfile> [I<option>...]I< filename section priority>"
msgstr "B<dpkg-distaddfile> [I<flagga>...]I< filnamn sektion prioritet>"

#. 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> lägger till en post för en namngiven fil i 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 ""
"Det tar tre argument som inte är flaggor - filnamn, sektion och prioritet "
"för B<.changes>-filen."

#. 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 ""
"Filnamnet anges relativt till katalogen där B<dpkg-genchanges> förväntas "
"finna filerna, normalt B<..>, snarare än som en sökväg relativ till den "
"aktuella katalogen när B<dpkg-distaddfile> körs."

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

#. 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 ""
"Läs eller skriv listan över filer som skall sändas in här, istället för att "
"använda B<debian/file>."

#. 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 ""
"Listan över genererade filer so ingår i insändningen som förbereds. B<dpkg-"
"distaddfile> kan användas för att lägga till ytterligare filer."

#. 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 - Debians manipuleringsverktyg för paketarkiv (.deb)"

#. type: Plain text
#: dpkg-deb.1:8
msgid "B<dpkg-deb> [I<option>...] I<command>"
msgstr "B<dpkg-deb> [I<flagga>...] I<åtgärd>"

#. type: Plain text
#: dpkg-deb.1:12
msgid ""
"B<dpkg-deb> packs, unpacks and provides information about Debian archives."
msgstr ""
"B<dpkg-deb> packar, packar upp och tillhandahåller information om "
"Debianarkiv."

#. type: Plain text
#: dpkg-deb.1:16
msgid "Use B<dpkg> to install and remove packages from your system."
msgstr "Använd B<dpkg> för att installera och ta bort paket från ditt system."

#. 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 ""
"Du kan även starta B<dpkg-deb> genom att anropa B<dpkg> med de flaggor du "
"vill sända till B<dpkg-deb>. B<dpkg> kommer upptäcka att du ville åt B<dpkg-"
"deb> och kör det åt dig."

#. 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<arkiv>|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 ""
"Skapar ett Debianarkiv från filsystemsträdet som lagras i I<katalog>. "
"I<katalog> måste innehålla underkatalogen B<DEBIAN>, vilken innehåller "
"styrinformationsfiler såsom själv styrfilen control. Katalogen kommer "
"I<inte> att visas i binärpaketets filsystemsarkiv, utan istället kommer "
"filerna läggas i binärpaketets styrinformationsområde."

#. 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 ""
"Såvida du inte anger B<--nocheck> kommer dpkg-deb att läsa B<DEBIAN/control> "
"och tolka den. Den kommer leta efter syntaxfel och andra problem, och visa "
"namnet på det binärpaket som byggs. B<dpkg-deb> kommer även att kontrollera "
"behörigheten på paketskripten och andra filer som hittas i "
"styrinformationskatalogen 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 ""
"Om inget I<arkiv> anges kommer B<dpkg-deb> skriva paketet till filen "
"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 "Om arkivet som skall skapas redan finns kommer det skrivas över."

#. 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 ""
"Om den andra argumentet är en katalog kommer B<dpkg-deb> skriva till filen "
"I<paket>B<_>I<version>B<_>I<arkitektur>B<.deb>, eller "
"I<paket>B<_>I<version>B<.deb> om det inte finns något B<Architecture>-fält i "
"styrfilen control. När en målkatalog anges, istället för en fil, kan inte "
"flaggan B<--nocheck> användas (eftersom B<dpkg-deb> måste läsa och tolka "
"paketets styrfil control för att ta reda på vilket filnamn som skall "
"användas)."

#. 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<arkiv> [I<control-filnamn> ...]"

#. type: Plain text
#: dpkg-deb.1:80
msgid "Provides information about a binary package archive."
msgstr "Tillhandahåller information om ett binärt paketarkiv."

#. 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 ""
"Om inga I<control-filnamn> anges kommer det att visa en sammanfattning av "
"innehållet i paketet tillsammans med dess styrfil."

#. 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 ""
"Om ett eller flera I<control-filnamn> anges kommer B<dpkg-deb> att skriva ut "
"dem i den ordning de anges. Om några av komponenterna inte fanns kommer ett "
"felmeddelande för vart och ett skrivas ut på standard fel, och programmet "
"avslutar med felstatus 2."

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

#. 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 ""
"Ger information om ett binärt paketarkiv i det format som anges med flaggan "
"B<--showformat>. Det förvalda formatet visar paketets namn och version på en "
"rad, avdelade med tabulatortecken."

#. 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<arkiv> [I<control-fältnamn> ...]"

#. type: Plain text
#: dpkg-deb.1:103
msgid "Extracts control file information from a binary package archive."
msgstr "Extraherar styrfilsinformation från ett binärt paketarkiv."

#. 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 "Om du inte anger några B<styrfilfält> visas hela styrfilen."

#. 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 ""
"Om några anges kommer B<dpkg-deb> att visa deras innehåll, i den ordning de "
"förekommer i styrfilen. Om mer än ett B<styrfilsfält> anges kommer B<dpkg-"
"deb> visa varje med ett inledande fältnamn (och ett kolon och mellanrum)."

#. type: Plain text
#: dpkg-deb.1:118
msgid "No errors are reported for fields requested but not found."
msgstr ""
"Inga felmeddelande rapporteras för fält som efterfrågas men inte hittas."

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

#. 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 ""
"Visar innehåller i filsystemsträdsarkivsdelen av paketarkivet. Det visas för "
"närvarande i det format som genereras av B<tar>s pratsamma visning."

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

#. type: Plain text
#: dpkg-deb.1:128
msgid ""
"Extracts the filesystem tree from a package archive into the specified "
"directory."
msgstr ""
"Extraherar filsystemsträdet från ett paketarkiv till den angivna katalogen."

#. 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 ""
"Observera att en extrahering av ett paket till rotkatalogen I<inte> "
"resulterar i en korrekt installation! Använd B<dpkg> för att installera "
"paket."

#. 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> (men inte dess föräldrar) kommer skapas om nödvändigt, och dess "
"behörighet kommer att ändras till att motsvara innehållet i paketet."

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

#. type: Plain text
#: dpkg-deb.1:145
msgid ""
"Is like B<--extract> (B<-x>)  with B<--verbose> (B<-v>)  which prints a "
"listing of the files extracted as it goes."
msgstr ""
"Är som B<--extract> (B<-x>) med B<--verbose> (B<-v>) som visar en lista över "
"filer som extraheras under tiden."

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

#. type: Plain text
#: dpkg-deb.1:150
msgid ""
"Extracts the filesystem tree from a package archive into a specified "
"directory, and the control information files into a DEBIAN subdirectory of "
"the specified directory."
msgstr ""
"Extraherar filsystemsträdet från ett paketarkiv till den angivna katalogen "
"och kontrollinformationsfilerna till underkatalogen DEBIAN i den angivna "
"katalogen."

#. 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 ""
"Målkatalogen (men inte dess föräldrar) kommer att skapas om nödvändigt."

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

#. type: Plain text
#: dpkg-deb.1:161
msgid ""
"Extracts the filesystem tree data from a binary package and sends it to "
"standard output in B<tar> format. Together with B<tar>(1)  this can be used "
"to extract a particular file from a package archive.  The input archive will "
"always be processed sequentially."
msgstr ""
"Extraherar filsystemsträdsdata från ett binärt paket och sänder det till "
"standard ut i B<tar>-format. Tillsammans med B<tar>(1) kan det användas för "
"att hämta ut en enskild fil från ett paketarkiv. Indataarkiven behandlas "
"alltid i den ordning de anges."

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

#. type: Plain text
#: dpkg-deb.1:165
msgid ""
"Extracts the control information files from a package archive into the "
"specified directory."
msgstr ""
"Extraherar styrinformationsfilerna från paketarkivet till den angivna "
"katalogen."

#. 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 ""
"Om ingen katalog anges kommer en underkatalog vid namn B<DEBIAN> i den "
"aktuella katalogen att användas."

#. 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 ""
"Flaggan används för att ange formatet på utdata som skapas av B<--show>. "
"Formatet är en sträng som matas ut för varje paket i listan."

#. 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 ""
"Strängen kan referera till statusfält på formen \"${I<field-name>}\", en "
"förteckning över giltiga fält kan enkelt skapas genom att använda B<-I> på "
"samma paket. En fullständig förklaring av formateringsflaggorna (inklusive "
"ersättningssekvenser och fälttabulering) finns i förklaringen för flaggan "
"B<--showformat> i B<dpkg-query>(1)."

#. type: Plain text
#: dpkg-deb.1:196
msgid "The default for this field is \"${Package}\\et${Version}\\en\"."
msgstr "Förvalet för fältet är \"${Package}\\et${Version}\\en\"."

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

#. type: Plain text
#: dpkg-deb.1:200
msgid ""
"Specify which compression level to use on the compressor backend, when "
"building a package (default is 9 for gzip and bzip2, 6 for xz and lzma)."
msgstr ""
"Ange vilken komprimeringsnivå som skall användas i komprimeringsfunktionen "
"när ett paket byggs (standard är 9 för gzip och bzip2, 6 för xz och lzma)."

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

#. type: Plain text
#: dpkg-deb.1:205
msgid ""
"Specify which compression type to use when building a package. Allowed "
"values are I<gzip>, I<xz>, I<bzip2>, I<lzma>, and I<none> (default is "
"I<gzip>)."
msgstr ""
"Ange vilken komprimeringstyp som skall användas när ett paket byggs. "
"Tillåtna värden är I<gzip>, I<xz>, I<bzip2>, I<lzma> och I<none> (förval är "
"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 ""
"Försäkrar att B<dpkg-deb> bygger ett arkiv i \"nytt\" format.  Detta är "
"förval."

#. 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 ""
"Tvingar B<dpkg-deb> att bygga ett arkiv i \"gammalt\" format. Det gamla "
"arkivformatet är mer svårtolkat av icke-Debianverktyg och är nu utgånget; "
"dess enda användningsområde är för att bygga paket som skall tolkas av "
"versioner av dpkg äldre än 0.93.76 (september 1995), vilka endast släpptes "
"som 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 ""
"Förhindrar B<dpkg-deb --build s> normala tester på det föreslagna innehållet "
"i arkivet. Du kan bygga vilket arkiv du än vill, oavsett hur trasigt, på det "
"här sätt."

#. 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 ""
"Aktiverar pratsam utdata. Påverkar för närvarande bara B<--extract>, vilket "
"får det att bete sig som B<--vextract>."

#. 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 "Aktiverar felsökningsutdata. Denna är inte speciellt intressant."

#. 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 ""
"Om satt så kommer B<dpkg-deb> att använda det som katalogen där temporära "
"filer och kataloger skapas."

#. 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<paket1>B<.deb> I<paket2>B<.deb> gör fel."

#. 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 ""
"Det finns inte någon autentisering av B<.deb>-filer. Faktiskt finns det inte "
"ens någon enkel kontrollsumma. (Verktyg som arbetar på en högre nivå, som "
"APT, stöder autentisering av B<.deb>-paket som hämtas från ett givet arkiv, "
"och de flesta paket har nu för tiden en md5sum-kontrollfil som skapas av "
"debian/rules. Filen stöds dock inte direkt av lågnivåverktygen.)"

#. 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 ""
"Försök inte använda bara B<dpkg-deb> för att installera programvara! Du "
"måste använda normala B<dpkg> för att se till att alla filer läggs på "
"korrekt plats och att paketets skript körs och dess status och innehåll "
"sparas."

#. 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 - överstyr ett pakets version av en fil"

#. type: Plain text
#: dpkg-divert.8:9
msgid "B<dpkg-divert> [I<option>...] I<command>"
msgstr "B<dpkg-divert> [I<flagga>...] I<åtgärd>"

#. 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-divert> är verktyget som används för att ställa in och uppdatera "
"listan över omdirigeringar."

#. 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 ""
"Filen I<diversions> är ett sätt att tvinga B<dpkg>(1) att inte installera en "
"fil på sin plats, utan på en I<omdirigerad> plats. Omdirigeringar kan "
"användas i skript i Debianpaket för att flytta bort en fil när den orsakar "
"en konflikt. Systemadministratörer kan också använda det för att överstyra "
"några pakets konfigurationsfiler, eller när några filer (som inte markerats "
"som konfigurationsfiler) måste bibehållas av dpkg när en nyare version av "
"ett paket som innehåller de filerna installeras."

#. type: TP
#: dpkg-divert.8:25
#, no-wrap
msgid "[B<--add>] I<file>"
msgstr "[B<--add>] I<fil>"

#. type: Plain text
#: dpkg-divert.8:28
msgid "Add a diversion for I<file>."
msgstr "Lägg till en omdirigering för I<fil>."

#. type: TP
#: dpkg-divert.8:28 dpkg-statoverride.8:35
#, no-wrap
msgid "B<--remove>I< file>"
msgstr "B<--remove>I< fil>"

#. type: Plain text
#: dpkg-divert.8:31
msgid "Remove a diversion for I<file>."
msgstr "Ta bort en omdirigering för I<fil>."

#. type: TP
#: dpkg-divert.8:31
#, no-wrap
msgid "B<--list>I< glob-pattern>"
msgstr "B<--list>I< filnamnsmönster>"

#. type: Plain text
#: dpkg-divert.8:34
msgid "List diversions matching I<glob-pattern>."
msgstr "Visa omdirigeringar som matchar I<sökmönster>."

#. type: TP
#: dpkg-divert.8:34
#, no-wrap
msgid "B<--listpackage>I< file>"
msgstr "B<--listpackage>I< fil>"

#. 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 ""
"Visa namnet på paketet som omdirigerar I<fil>. Svarar LOCAL om I<fil> har "
"omdirigerats lokalt och ingenting om I<fil> inte är omdirigerad."

#. type: TP
#: dpkg-divert.8:38
#, no-wrap
msgid "B<--truename>I< file>"
msgstr "B<--truename>I< fil>"

#. type: Plain text
#: dpkg-divert.8:41
msgid "Print the real name for a diverted file."
msgstr "Visa det riktiga namnet på en omdirigerad fil."

#. 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 "Ställ dpkg:s datakatalog till I<katalog> (standard: I</var/lib/dpkg>)."

#. type: TP
#: dpkg-divert.8:46
#, no-wrap
msgid "B<--divert>I< divert-to>"
msgstr "B<--divert>I< omdirigera-till>"

#. 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<omdirigera-till> är platsen där de versioner av I<fil> som tillhandahålls "
"av andra paket kommer omdirigeras till."

#. 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 ""
"Anger att alla pakets versioner av denna fil skall omdirigeras. Det innebär "
"att det inte finns några undantag, och att oavsett vilket paket som "
"installeras så omdirigeras filen. Detta kan användas av en administratör för "
"att installera en lokalt modifierad version."

#. type: TP
#: dpkg-divert.8:56
#, no-wrap
msgid "B<--package>I< package>"
msgstr "B<--package>I< paket>"

#. 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<paket> är namnet på ett paket vars kopia av I<fil> inte kommer att "
"omdirigeras, dvs. I<fil> kommer omdirigeras för alla paket förutom I<paket>."

#. 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 "Tyst läge, dvs. ingen pratsam utdata."

#. 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 ""
"Flytta faktiskt filen åt sidan (eller tillbaka). B<dpkg-divert> kommer att "
"avbryta körningen om destinationsfilen redan existerar."

#. 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 ""
"Testläge, dvs. utför inga faktiska ändringar, bara visa vad som skulle hända."

#. type: SH
#: dpkg-divert.8:78
#, no-wrap
msgid "NOTES"
msgstr "ANTECKNINGAR"

#. type: Plain text
#: dpkg-divert.8:82
msgid ""
"When adding, default is B<--local> and B<--divert> I<original>B<.distrib>. "
"When removing, B<--package> or B<--local> and B<--divert> must match if "
"specified."
msgstr ""
"Vid tillägg är standard B<--local> och B<--divert> I<original>B<.distrib>. "
"Vid borttagning måste B<--package> eller B<--local> och B<--divert> matcha "
"om de anges."

#. type: Plain text
#: dpkg-divert.8:84
msgid "Directories can't be diverted with B<dpkg-divert>."
msgstr "Kataloger kan inte omdirigeras med B<dpkg-divert>."

#. 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 ""
"Se upp när du omdirigerar delade bibliotek. B<ldconfig>(8) skapar en "
"symbolisk länk baserad på DT_SONAME-fältet som är inbyggt i biblioteket. "
"Eftersom ldconfig inte följer omdirigeringar (bara dpkg gör det) kan den "
"symboliska länken komma att peka på det omdirigerade biblioteket om ett "
"omdirigerat bibliotek har samma SONAMN som det ej omdirigerade."

#. 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 ""
"För att omdirigera alla exemplar av en I</usr/bin/exempel> till I</usr/bin/"
"exempel.foo>, dvs. omdirigera samtliga paket som tillhandahåller I</usr/bin/"
"exempel> så att de installerar den som I</usr/bin/exempel.foo>, och utför "
"namnbytet om det behövs:"

#. 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/exempel.foo --rename /usr/bin/exempel"

#. type: Plain text
#: dpkg-divert.8:99 dpkg-divert.8:109
msgid "To remove that diversion:"
msgstr "För att ta bort omdirigeringen:"

#. type: Plain text
#: dpkg-divert.8:101
msgid "dpkg-divert --rename --remove /usr/bin/example"
msgstr "dpkg-divert --rename --remove /usr/bin/exempel"

#. 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 ""
"För att omdirigera samtliga paket som försöker installera I</usr/bin/"
"exempel> till I</usr/bin/exempel.foo>, förutom i det egna paketet 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/exempel.foo --rename /usr/bin/"
"exempel"

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

#. type: TP
#: dpkg-divert.8:113 dpkg-query.1:205 dpkg-statoverride.8:69 dpkg-trigger.1:61
#: update-alternatives.8:355
#, no-wrap
msgid "B<DPKG_ADMINDIR>"
msgstr "B<DPKG_ADMINDIR>"

#. 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 ""
"Om satt, och flaggan B<--admindir> inte har angivits, används värdet som "
"datakatalog för dpkg."

#. 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 ""
"Om satt, och flaggorna B<--local> och B<--package> inte har angivits, kommer "
"B<dpkg-divert> använda det som paketnamn."

#. 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 ""
"Filen som innehåller den aktuella listan med systemets omdirigeringar. Den "
"är placerad i dpkg:s administrativa katalog, tillsammans med andra filer som "
"är viktiga för dpkg, till exempel I<status> och 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 ""
"Observera: B<dpkg-divert> behåller den gamla versionen av filen, med "
"filtillägget I<old>, innan den ersätter den med den nya."

#. type: Plain text
#: dpkg-divert.8:137 update-alternatives.8:496
msgid "Copyright \\(co 1995 Ian Jackson"
msgstr "Upphovsrättsskyddat © 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 - skapa .changes-filer för Debian"

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

#. 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> läser information från ett uppackat och byggt "
"Debiankällkodsträd och från de filer det har genererat, och genererar en "
"styrfil för insändning till Debian (B<.changes>-fil)."

#. 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 ""
"Detta är ett rent binärbygge (inga källkodsfiler skall inkluderas). Det är "
"ingen skillnad mellan B<-b>, B<-B> och B<-A>, den B<.changes>-fil som skapas "
"innehåller alla filer som skapats av B<binary-*>-målen i det byggda paketet."

#. type: Plain text
#: dpkg-genchanges.1:31
msgid ""
"Specifies that only the source should be uploaded (no binary packages will "
"be included)."
msgstr "Anger att endast källkoden skall sändas in (inga binärpaket tas med)."

#. 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 ""
"Flaggorna B<-s>I<x> styr huruvida det ursprungliga källkodsarkivet skall "
"inkluderas i insändningen om källkod genereras (dvs. B<-b> eller B<-B> inte "
"har använts)."

#. 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 ""
"Som standard, eller om den anges, kommer originalkällkoden endast att "
"inkluderas om uppströmsversionsnumret (versionsnumret utan epok och utan "
"Debianuppdateringsnummer) skiljer sig från uppströmsversionsnumret i "
"föregående ändringsloggspost."

#. type: Plain text
#: dpkg-genchanges.1:45
msgid "Forces the inclusion of the original source."
msgstr "Bifogar alltid originalkällkoden."

#. type: Plain text
#: dpkg-genchanges.1:48
msgid "Forces the exclusion of the original source and includes only the diff."
msgstr "Bifogar inte originalkällkoden, utan enbart differensfilen."

#. type: Plain text
#: dpkg-genchanges.1:54
msgid ""
"Causes changelog information from all versions strictly later than "
"I<version> to be used."
msgstr ""
"Använder information från ändringsloggen för alla versioner som är strikt "
"senare än I<version>."

#. 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 ""
"Läs beskrivningen av ändringarna från filen I<ändringsbeskrivning> istället "
"för att använda information från källkodsträdets changelog-fil."

#. 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 ""
"Använd I<paketansvarige-adress> som namn och e-postadress till ansvarig för "
"detta paket, istället för att använda informationen från källkodsträdets "
"control-fil."

#. 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 ""
"Använd I<paketansvarige-adress> som namn och e-postadress till ansvarig för "
"denna insändning, istället för att använda informationen från "
"källkodsträdets changelog-fil."

#. 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<namn>B<=>I<värde>"

#. 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 ""
"Ställer in en utdatasubstitueringsvariabel. Se B<deb-substvars>(5) för en "
"beskrivning av utdatasubstituering."

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

#. type: Plain text
#: dpkg-genchanges.1:86
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  No variable substitution is done on any of the fields that are "
"output, however the special variable I<Format> will override the field of "
"the same name. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Läs substitutionsvariabler från I<substvars-fil>; standard är B<debian/"
"substvars>. Ingen variabelsubstitution utförs på något av fälten i utdata, "
"men om den speciella variabeln I<Format> anges kommer den överstyra fältet "
"med samma namn. Flaggan kan användas flera gånger för att läsa "
"substitutionsvariabler från flera filer."

#. 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<fält>B<=>I<värde>"

#. 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 "Ersätt eller lägg till ett fält i den genererade control-filen."

#. 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<fält>"

#. type: Plain text
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:143
msgid "Remove an output control file field."
msgstr "Ta bort ett fält ur den genererade control-filen."

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

#. 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 ""
"Anger huvudkällkodskontrollfilen som information skall läsas från. "
"Standardvärdet är 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<ändringsloggfil>"

#. 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 ""
"Anger ändringsloggfilen som information skall läsas från. Standardvärdet är "
"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 ""
"Läser listan över filer som skall sändas in härifrån, istället för att "
"använda 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<ändringsloggformat>"

#. 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 ""
"Anger format på ändringsloggen. Som standard läses formatet från en speciell "
"rad nära slutet av ändringsloggen, eller så används Debians standardformat "
"om ingen information hittas."

#. type: TP
#: dpkg-genchanges.1:112
#, no-wrap
msgid "B<-u>I<uploadfilesdir>"
msgstr "B<-u>I<insändningskatalog>"

#. 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 ""
"Se efter filer som skall sändas in i I<insändningskatalog> istället för B<.."
"> (B<dpkg-genchanges> måste kunna se dessa filer så att det kan lägga in "
"deras storlekar och kontrollsummor i B<.changes>-filen)."

#. 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 ""
"B<dpkg-genchanges> kommer normalt att generera informativa meddelanden på "
"standard fel, till exempel om hur många pakets källkodsfiler sänds in. B<-q> "
"undertrycker dessa meddelanden."

#. 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 ""
"Listan över genererade filer som är en del av den insändning som förbereds. "
"B<dpkg-genchanges> läser data här när B<.changes>-filen skapas."

#. 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 - skapa Debians kontrollfiler"

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

#. 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> läser information från ett uppackat Debiankällkodsträd "
"och genererar en binärpaketsstyrfil (som standard debian/tmp/DEBIAN/"
"control). Relationsfälten kommer att förenklas."

#. 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 ""
"Fälten I<Pre-Depends>, I<Depends>, I<Recommends> och I<Suggests> förenklas "
"därmed, i den följden, genom att ta bort beroenden som programmet vet "
"tillhandahålls av starkare beroenden som redan tolkats. Det kommer även ta "
"bort eventuella egenberoenden (programmet tar bort alla beroenden som är "
"uppfyllda när den nuvarande versionen av paketet är installerat). Logiskt "
"behålls snittet av multipla beroenden på samma paket. Ordningsföljden mellan "
"beroendena behålls så långt som möjligt: om ett beroende måste tas bort på "
"grund av att ett beroende återkommer senare i fältet kommer det nya "
"beroendet att ta platsen från det som ersattes."

#. 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 ""
"Övriga relationsfält (I<Enhances>, I<Conflicts>, I<Breaks>, I<Replaces> och "
"I<Provides>) förenklas även individuellt genom att beräkna unionen av de "
"olika beroendena när ett paket förekommer flera gånger i samma fält."

#. 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> lägger dessutom till en post för binärpaketet i B<debian/"
"files>."

#. type: Plain text
#: dpkg-gencontrol.1:41
msgid "Sets the version number of the binary package which will be generated."
msgstr "Sätter versionsnumret på binärpaketet som skall skapas."

#. type: Plain text
#: dpkg-gencontrol.1:45
msgid ""
"Set an output substitution variable. See B<deb-substvars>(5) for discussion "
"of output substitution."
msgstr ""
"Ställer in en utdatasubstitueringsvariabel. Se B<deb-substvars>(5) för en "
"beskrivning av utdatasubstituering."

#. type: Plain text
#: dpkg-gencontrol.1:53
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Läs substitutionsvariabler från I<substvars-fil>; standard är B<debian/"
"substvars>. Ingen variabelsubstitution utförs på något av fälten i utdata, "
"men om den speciella variabeln I<Format> anges kommer den överstyra fältet "
"med samma namn. Flaggan kan användas flera gånger för att läsa "
"substitutionsvariabler från flera filer."

#. type: TP
#: dpkg-gencontrol.1:78 dpkg-gensymbols.1:373
#, no-wrap
msgid "B<-p>I<package>"
msgstr "B<-p>I<paket>"

#. 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 ""
"Skapa information för det binära paketet I<paket>. Om källkodens control-fil "
"bara innehåller ett binärpaket behöver inte flaggan anges. I alla andra fall "
"är det nödvändigt att välja vilket binärpakets information som skall skapas."

#. type: TP
#: dpkg-gencontrol.1:85
#, no-wrap
msgid "B<-n>I<filename>"
msgstr "B<-n>I<filnamn>"

#. 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 ""
"Anta att filnamnet för paketet skalla vara I<filnamn> istället för det "
"normala paket_version_ark.deb-filnamnet."

#. 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 ""
"Dessa flaggor ignoreras för kompatibilitet med äldre versioner av dpkg-dev "
"men avråds numera ifrån. De användes tidigare för att tala om för dpkg-"
"gencontrol att inkludera Section- och Priority-fälten i control-filen. Detta "
"är numera standardbeteendet. Om du vill återskapa det gamla beteendet kan du "
"använda flaggan B<-U> för att ta bort fälten från control-filen."

#. type: TP
#: dpkg-gencontrol.1:99
#, no-wrap
msgid "B<-P>I<packagebuilddir>"
msgstr "B<-P>I<paketbyggkatalog>"

#. 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 ""
"Talar om för B<dpkg-source> att paketet byggs i I<paketbyggkatalog> i "
"stället för B<debian/tmp>. Värdet används för att bestämma standardvärdet "
"för substitueringsvariabeln och control-filsfältet B<Installed-Size> (med "
"hjälp av B<du>), samt för att välja standardplacering av utdatafilen."

#. 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 ""
"Skriv control-filen på standard ut, i stället för till B<debian/tmp/DEBIAN/"
"control> (eller I<paketbyggkatalog>B</DEBIAN/control> om B<-P> användes)."

#. 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 ""
"Huvudkällkodskontrollinformationsfil, vilken innehåller versionsoberoende "
"information om källkodspaketet och de binärpaket som kan skapas från det."

#. 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 ""
"Listan över genererade filer som ingår i insändningen som skapas. B<dpkg-"
"gencontrol> lägger till de förutsatta filnamnen på binärpaketen vars control-"
"filer det genererar här."

#. type: Plain text
#: dpkg-gencontrol.1:148 dpkg-shlibdeps.1:337
msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgstr "Upphovsrättsskyddat © 2007-2008 Raphaël Hertzog"

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

#. type: Plain text
#: dpkg-gensymbols.1:5
msgid ""
"dpkg-gensymbols - generate symbols files (shared library dependency "
"information)"
msgstr ""
"dpkg-gensymbols - generera symbolfiler (information om delade bibliotek)"

#. type: Plain text
#: dpkg-gensymbols.1:9
msgid "B<dpkg-gensymbols> [I<option>...]"
msgstr "B<dpkg-gensymbols> [I<flagga>...]"

#. 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 ""
"B<dpkg-gensymbols> söker genom en temporärt byggträd (som standard debian/"
"tmp) efter bibliotek och skapar en I<symbols>-fil som beskriver dem. Denna "
"fil kommer sedan, såvida den inte är tom, att installeras i DEBIAN-"
"underkatalogen i byggträdet så att den hamnar i styrinformationen i paketet."

#. 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 ""
"När dessa filer skapas, används ett par symbolfiler från paketansvariga som "
"indata. Programmet söker efter följande filer (och använder den första det "
"finner):"

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

#. type: Plain text
#: dpkg-gensymbols.1:24
msgid "debian/symbols.I<arch>"
msgstr "debian/symbols.I<arkitektur>"

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

#. type: Plain text
#: dpkg-gensymbols.1:28
msgid "debian/symbols"
msgstr "debian/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 ""
"Dessa filer är i huvudsak intressanta för att kunna tillhandahålla den "
"minimala version associerad med varje symbol i biblioteken. Detta motsvarar "
"normalt den första version av paketet som tillhandahöll symbolen, men det "
"kan manuellt inkrementeras av de ansvariga om symbolens ABI utökas med "
"bibehållen bakåtkompatibilitet. Det är den ansvarigas ansvar att hålla dessa "
"filer àjourförda och korrekta, men B<dpkg-gensymbols> kan hjälpa till."

#. 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 ""
"När den genererade symbolfilen skiljer sig mot den version som "
"tillhandahållits av de paketansvariga kommer B<dpkg-gensymbols> att skriva "
"ut en differens mellan de två versionerna. Om ändringarna är för stora "
"kommer programmet dessutom att misslyckas (du kan justera hur stora "
"ändringar du kan tolerera, se flaggan B<-c>)."

#. type: SH
#: dpkg-gensymbols.1:42
#, no-wrap
msgid "MAINTAINING SYMBOLS FILES"
msgstr "UNDERHÅLLA SYMBOLFILER"

#. 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 ""
"Symbolfilerna är bara riktigt nyttiga om de motsvarar hur paketet har "
"utvecklats över flera versioner. De paketansvariga måste därför uppdatera "
"dem varje gång en ny symbol läggs till så att dess associerade minimala "
"version motsvarar verkligheten. För att göra detta på ett riktigt sätt finns "
"det differensfiler i byggloggarna. I de flesta fall kan differensfilen "
"appliceras direkt på filen debian/I<paket>. Med det i åtanke så behövs det "
"oftast ytterligare justeringar: det rekommenderas att skippa "
"Debianrevisionen från det minimala versionsnummer så att den "
"bakåtanpassningar med ett lägre versionsnummer, men från samma "
"uppströmsversion, fortfarande uppfyller de genererade beroendena. Om "
"Debianrevisionen inte kan tas bort på grund av att en symbol faktiskt lades "
"till av en Debianspecifik ändring så bör ett \"~\" läggs till i slutet av "
"versionen."

#. 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 ""
"Innan man applicerar en patch på symbolfilen bör de ansvariga dubbelchecka "
"att den är korrekt. Publicerade symboler bör inte försvinna, så patchen bör "
"ideellt sett bara lägga till nya rader."

#. 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 ""
"Obsevera att du kan skriva kommentarer i symbols-filer: alla rader med \"#\" "
"som första tecken är kommentarer, såvida inte det börjar med \"#include"
"\" (se stycket B<Använda inkluderingar>). Rader som börjar med \"#MISSING:\" "
"är speciella kommentarer som dokumenterar symboler som har försvunnit."

#. type: SS
#: dpkg-gensymbols.1:64
#, no-wrap
msgid "Using #PACKAGE# substitution"
msgstr "Använda #PACKAGE#-substituering"

#. 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 ""
"I några sällsynta fall skiljer sig namnet på biblioteket mellan "
"arkitekturer. För att undvika att hårdkoda namnet på paketet i symbolfilen "
"kan du använda markören I<#PACKAGE#>. Den ersätts av det faktiska "
"paketnamnet när symbolfilen installeras. Till skillnad från I<#MINVER#>-"
"markören kommer I<#PACKAGE#> aldrig att dyka upp i en symbolfil i ett "
"binärpaket."

#. type: SS
#: dpkg-gensymbols.1:72
#, no-wrap
msgid "Using symbol tags"
msgstr "Använda symboltaggar"

#. 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 ""
"Symboltaggning är nyttigt för att markera symboler som är speciella på något "
"sätt. Alla symboler kan ha ett godtyckligt antal taggar associerade med sig. "
"Medan alla taggar tolkas och lagras är det bara ett par av dem som förstås "
"av B<dpkg-gensymbols> och som utlöser specialhantering av symbolerna. Se "
"undersymbolen B<Standardsymboltaggar> för mer information om dessa taggar."

#. 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 ""
"Taggarna anges precis före symbolnamnet (inga blanksteg tillåts mellan). Den "
"börjar alltid med en vänsterparentes B<(>, slutar med en högerparentes B<)>, "
"och måste innehålla minst en tagg. Ytterligare taggar avdelas med tecknet B<|"
">. En tagg kan ha ett värde, vilket separeras från taggnamnet med tecknet "
"B<=>. Taggnamn och värden kan vara godtyckliga strängar, förutom att de inte "
"kan innehålla de speciella tecknen B<)> B<|> B<=>. Symbolnamn som följer en "
"taggangivelse kan, om så önskas, citeras med antingen B<'> eller B<\"> för "
"att tillåta blanksteg. Om inga taggar anges för symbolen tolkas dock "
"citattecken som en del av symbolnamnet, vilket fortsätter till det första "
"blanksteget."

#. 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 ""
" (tag1=jag är markerad|taggnamn med blanksteg)\"taggad citerad symbol\"@Bas 1.0\n"
" (optional)taggad_ociterad_symbol@Bas 1.0 1\n"
" ociterad_symbol@Bas 1.0\n"

#. 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 ""
"Den första symbolen i exemplet är heter I<taggad citerad symbol> och har två "
"taggar: I<tag1> med värdet I<jag är markerad> och I<taggnamn med blanksteg> "
"som inte har något värde. Den andra symbolen heter I<taggad_ociterad_symbol> "
"och är bara taggad med taggen som heter I<optional>. Den sista symbolen är "
"ett exempel på en normal, otaggad symbol."

#. 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 ""
"Eftersom symboltaggar er en utökning av formatet i I<deb-symbols(5)> kan de "
"bara användas i symbolfiler i källkodspaket (dessa filer är att anse som "
"mallar som används för att bygga symbolfilerna som finns i binärpaketen). "
"När B<dpkg-gensymbols> anropas utan flaggan I<-t> kommer det att mata ut "
"symbolfiler kompatibla med I<deb-symbols(5)>-formatet: det hanterar symboler "
"helt beroende på vad som beskrivs av standardtaggarna och tar bort alla "
"taggar från utdata. I mall-läge (I<-t>) kommer däremot alla symboler och "
"deras taggar (både standard och okända) att behållas i utdata och skrivas i "
"sin originalform så som de lästes in."

#. type: SS
#: dpkg-gensymbols.1:113
#, no-wrap
msgid "Standard symbol tags"
msgstr "Standardsymboltaggar"

#. type: TP
#: dpkg-gensymbols.1:114
#, no-wrap
msgid "B<optional>"
msgstr "B<optional>"

#. 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 ""
"En symbol markerad som valfri (optional) kan försvinna från bibliotektet när "
"som helst och kommer aldrig göra så att B<dpkg-gensymbols> misslyckas. "
"Försvunna symboler kommer dock fortfarande visas som saknade (MISSING) i "
"differensen för varje ny paketversion. Detta beteende fungerar som en "
"påminnelse för de paketansvariga om att symbolen måste tas bort från "
"symbolfilen eller läggas tillbaka till biblioteket. När en valfri symbol som "
"tidigare markerats som saknad (MISSING) plötsligt dyker upp igen i en senare "
"version kommer den att uppgraderas tillbaka till befintligstatus (\"existing"
"\") med den minsta tillgängliga versionen oförändrad."

#. 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 ""
"Taggen är användbar för symboler som är privata och vars försvinnande inte "
"gör att ABI:et går sönder. De flesta C++-mallinstansieringar faller till "
"exempel in under denna kategori. Som andra taggar kan den här även ha ett "
"godtyckligt värde: det kan användas för att indikera varför symbolen är att "
"anse som valfri."

#. type: TP
#: dpkg-gensymbols.1:129
#, no-wrap
msgid "B<arch=>I<architecture list>"
msgstr "B<arch=>I<arkitekturlista>"

#. 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 ""
"Denna tag gör det möjligt att begränsa vilken uppsättning arkitekturer "
"symbolen är tänkt att finnas för. När symbollistan uppdateras med symboler "
"som upptäcks i biblioteket behandlas alla arkitekturspecifika symboler som "
"inte gäller den aktuella värdarkitekturen som om de inte fanns. Om en "
"arkitekturspecifik symbol som motsvarar den aktuella värdarkitekturen inte "
"existerar i biblioteket gäller de vanliga reglerna för saknade symboler, och "
"kan få B<dpkg-gensymbols> att misslyckas. Å andra sidan, om en "
"arkitekturspecifik symbol hittas där den inte var menad att finnas (då den "
"aktuella värdarkitekturen inte är listad i taggen), görs den "
"arkitekturneutral (dvs. \"arch\"-taggen tas bort och symbolen kommer finnas "
"med i differensen på grund av denna ändring), men den anses inte som ny."

#. 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 ""
"I det vanliga icke-mall-läget skrivs endast de arkitekturspecifika symboler "
"som motsvarar den aktuella värdarkitekturen till symbolfilen. Å andra sidan "
"skrivs alla arkitekturspecifika symboler (inklusive de från andra "
"arkitekturer) till symbolfilen i mall-läget."

#. 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 ""
"Formatet på I<arkitekturlista> är detsamma som det som används i I<Build-"
"Depends>-fältet i I<debian/control> (bortsett från de omslutande "
"hakparenteserna []). Den första symbolen från listan nedan, till exempel, "
"kommer endast att tas med på arkitekturerna alpha, amd64, kfreebsd-amd64 och "
"ia64, medan den andra tas med överallt förutom på armel."

#. 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 ""
" (arch=alpha amd64 kfreebsd-amd64 ia64)en_64bit-specifik_symbol@Base 1.0\n"
" (arch=!armel)symbol_armel_inte_har@Base 1.0\n"

#. type: TP
#: dpkg-gensymbols.1:157
#, no-wrap
msgid "B<ignore-blacklist>"
msgstr "B<ignore-blacklist>"

#. 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 ""
"dpkg-gensymbols har en intern svartlista över symboler som inte skall "
"förekomma i symbolfiler eftersom de oftast bara är sidoeffekter från "
"implementationsdetaljer i verktygskedjan. Om du, av någon orsak, verkligen "
"vill att en av dessa symboler skall tas med i symbolfilen måste du tagga "
"symbolen med B<ignore-blacklist>. Det kan vara nödvändigt för lågnivå-"
"verktygskedjebibliotek som libgcc."

#. type: TP
#: dpkg-gensymbols.1:165 dpkg-gensymbols.1:202
#, no-wrap
msgid "B<c++>"
msgstr "B<c++>"

#. type: Plain text
#: dpkg-gensymbols.1:169
msgid ""
"Denotes I<c++> symbol pattern. See B<Using symbol patterns> subsection below."
msgstr ""
"Betecknar I<c++>-symbolmönster. Se stycket B<Använda symbolmönster> nedan."

#. type: TP
#: dpkg-gensymbols.1:169 dpkg-gensymbols.1:233
#, no-wrap
msgid "B<symver>"
msgstr "B<symver>"

#. type: Plain text
#: dpkg-gensymbols.1:173
msgid ""
"Denotes I<symver> (symbol version) symbol pattern. See B<Using symbol "
"patterns> subsection below."
msgstr ""
"Anger I<symver> (symbolversion)-symbolmönstret. Se stycket B<Använda "
"symbolmönster> nedan."

#. type: TP
#: dpkg-gensymbols.1:173 dpkg-gensymbols.1:258
#, no-wrap
msgid "B<regex>"
msgstr "B<regex>"

#. type: Plain text
#: dpkg-gensymbols.1:177
msgid ""
"Denotes I<regex> symbol pattern. See B<Using symbol patterns> subsection "
"below."
msgstr ""
"Anger I<regex>-symbolmönstret. Se stycket I<Använda symbolmönster> nedan."

#. type: SS
#: dpkg-gensymbols.1:177
#, no-wrap
msgid "Using symbol patterns"
msgstr "Använda symbolmönster"

#. 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 ""
"Till skillnad från vanliga symbolspecifikationer kan ett mönster täcka flera "
"faktiska symboler från biblioteket. B<dpkg-gensymbols> kommer försöka matcha "
"varje mönster mot varje faktisk symbol som I<inte> har en motsvarande "
"specifik symbol definierad i symbolfilen. Så fort det första mönster som "
"motsvarar symbolen hittas kommer alla dess taggar och egenskaper att "
"användas som en basspecifikation för symbolen. Om inget mönster motsvarar "
"symbolen kommer den att tolkas som ny."

#. 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 ""
"Ett mönster anses som tappat om det inte motsvarar några symboler i "
"biblioteket. Som standard kommer detta få B<dpkg-genchanges> att misslyckas "
"om I<-c1> eller högre anges. Om ett sådant misslyckande inte är önskvärt kan "
"mönstret dock märkas med taggen I<optional>. Om mönstret då inte motsvarar "
"någonting kommer det bara dyka upp i differensen som saknas (MISSING). "
"Mönstret kan dessutom, precis som andra symboler, begränsas till specifika "
"arkitekturer med hjälp av I<arch>-taggen. Se stycket B<Standardsymboltaggar> "
"ovan för mer information."

#. 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 ""
"Mönster är en utökning av I<deb-symbols(5)>-formatet och är därför endast "
"tillåtna i symbolfilmallar. Syntax för angivelse av mönster skiljer sig inte "
"från den för en specifik symbol. Symbolnamnsdelen av specifikationen "
"fungerar dock som ett uttryck som skall jämföras mot I<namn@version> för den "
"faktiska symbolen. För att skilja mellan olika sorters mönster, taggas "
"mönster normalt med en speciell tagg."

#. type: Plain text
#: dpkg-gensymbols.1:202
msgid "At the moment, B<dpkg-gensymbols> supports three basic pattern types:"
msgstr ""
"För närvarande stöder B<dpkg-gensymbols> tre grundläggande mönstertyper:"

#. 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 ""
"Detta mönster anges med taggen I<c++>. Den matchar enbart C++-symboler med "
"deras avmanglade symbolnamn (som det skrivs ut av B<c++filt>(1)-verktyget). "
"Det här mönstret är väldigt nyttigt för att matcha symboler vars manglade "
"namn kan skilja sig mellan olika arkitekturer, medan deras avmanglade namn "
"är desamma. En grupp dylika symboler är I<icke-virtuella \"thunks\"> som har "
"arkitekturspecifika offsetvärden inbyggda i sina manglade namn. En vanlig "
"instans av detta fall är en virtuell destruktör som under diamantarv behöver "
"en icke-virtuell \"thunk\"-symbol. Även om till exempel "
"ZThn8_N3NSB6ClassDD1Ev@Base på 32-bitarsarkitekturer troligtvis är "
"_ZThn16_N3NSB6ClassDD1Ev@Base på64-bitarsarkitekturer, så kan de matchas med "
"ett enda I<c++>-mönster:"

#. 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 ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" [...]\n"
" (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n"
" [...]\n"

#. type: Plain text
#: dpkg-gensymbols.1:222
msgid ""
"The demangled name above can be obtained by executing the following command:"
msgstr ""
"Det avmanglade namnet ovan kan hämtas genom att utföra följande kommando:"

#. type: Plain text
#: dpkg-gensymbols.1:224
#, no-wrap
msgid " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"
msgstr " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"

#. 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 ""
"Observera att även om det manglade namnet per definition är unikt i "
"biblioteket gäller inte detta för avmanglade namn. Flera distinkta verkliga "
"symboler kan ha samma avmanglade namn. Det gäller till exempel för icke-"
"virtuella \"thunk\"-symboler i konfigurationer med komplexa arv eller för de "
"flesta konstruktörer och destruktörer (eftersom g++ normalt genererar två "
"symboler för dem). Eftersom dessa kollisioner sker på ABI-nivån bör de dock "
"inte sänka kvaliteten på symbolfilen."

#. 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 ""
"Detta mönster anges med taggen I<symver>. Välunderhållna bibliotek har "
"versionshanterade symboler där varje version motsvarar uppströmsversionen "
"där symbolen lades till. Om det är fallet kan du använda ett I<symver>-"
"möster för att matcha alla symboler som matchar den specifika versionen. "
"Till exempel:"

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

#. 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 ""
"Alla symboler associerade med versionerna GLIBC_2.0 och GLIBC_2.7 kommer "
"leda till den minimal version 2.0 respektive 2.7, med undantag av symbolen "
"access@GLIBC_2.0. Den sistnämnda kommer leda till ett minsta beroende på "
"libc6 version 2.2 trots att den motsvarar mönstret \"(symver)GLIBC_2.0\"-"
"mönstret, eftersom specifika symboler gäller före mönster."

#. 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 ""
"Observera att även om den gamla sortens jokerteckenmönster (anges med "
"\"*@version\" i symbolnamnfältet) fortfarande stöds så rekommenderas de inte "
"längre i och med den nya sortens syntax \"(symver|optional)version\". Till "
"exempel bör \"*@GLIBC_2.0 2.0\" skrivas som \"(symver|optional)GLIBC_2.0 "
"2.0\" om samma beteende behövs."

#. 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 ""
"Mönster med reguljära uttryck anges med taggen I<regex>. De matchar med det "
"reguljära uttrycket på perl-form som anges i symbolnamnsfältet. Ett "
"reguljärt uttryck matchar som det står, glöm därför inte att inleda det med "
"tecknet I<^>, annars kommer det matcha godtycklig del av den verkliga "
"symbolens I<namn@version>-sträng. Till exempel:"

#. 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 ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" (regex)\"^mystack_.*@Base$\" 1.0\n"
" (regex|optional)\"private\" 1.0\n"

#. 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 ""
"Symboler som \"mystack_new@Base\", \"mystack_push@Base\", \"mystack_pop@Base"
"\" osv. kommer att träffas av det första mönstret medan t.ex "
"\"ng_mystack_new@Base\" inte gör det. Det andra mönstret motsvarar alla "
"symbolen som innehåller strängen \"private\" i sina namn och träffar kommer "
"att ärva I<optional>-taggen från mönstret."

#. 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 ""
"Grundläggande mönster som anges ovan kan kombineras där det är vettigt. I så "
"fall behandlas de i den ordning taggarna anges. Till exempel kommer både"

#. 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 ""
" (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n"
" (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n"

#. 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 ""
"att träffa symbolerna \"_ZN3NSA6ClassA7Private11privmethod1Ei@Base\" och "
"\"_ZN3NSA6ClassA7Private11privmethod2Ei@Base\". När det första mönstret "
"jämförs avmanglas först symbolen som en C++-symbol, varefter det avmanglade "
"namnet jämförs med det reguljära uttrycket. När det andra mönstret jämförs, "
"å andra sidan, jämförs det reguljära uttrycket mot det råa symbolnamnet, "
"varefter symbolen testas för att se om det är av C++-typ genom att försöka "
"avmangla det. Om ett grundläggande mönster misslyckas kommer hela uttrycket "
"att misslyckas. Därför kommer, till exempel "
"\"__N3NSA6ClassA7Private11privmethod\\edEi@Base\" inte att träffas av något "
"av mönstrena eftersom det inte är en giltig C++-symbol."

#. 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 ""
"I allmänhet delas alla mönster in i två grupper. alias (grundläggande I<c++> "
"och I<symver>) och generella mönster (I<regex>, samtliga kombinationer av "
"multipla grundläggande mönster). Det går snabbt att träffa grundläggande "
"aliasbaserade mönster (O(1)) medan generella mönster är O(N) (N - antal "
"generella mönster) för varje symbol. Det rekommenderas därför inte att "
"använda för många generella mönster."

#. 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 ""
"När flera mönster träffar samma verkliga symbol föredras alias (först I<c+"
"+>, sedan I<symver>) framför generella mönster. Generella mönster träffas i "
"den ordning de upptäcktes i symbolfilmallen fram till den första lyckade "
"träffen. Observera dock att manuell omsortering av poster i mallfilen inte "
"rekommenderas då B<dpkg-gensymbols> genererar differensfiler baserad på den "
"alfanumeriska sorteringsordningen av dess namn."

#. type: SS
#: dpkg-gensymbols.1:306
#, no-wrap
msgid "Using includes"
msgstr "Använda inkluderingar"

#. 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 ""
"När uppsättningen av exporterade symboler skiljer sig mellan arkitekturer "
"kan det vara ineffektivt att använda en enda symbolfil. I dessa fall kan ett "
"inkluderingsdirektiv vara nyttigt på flera sätt:"

#. 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 ""
"Du kan faktorisera de gemensamma delarna i en extern fil och inkludera den "
"filen i din I<paket>.symbols.I<arkitektur>-fil genom att använda ett "
"inkluderingsdirektiv som detta:"

#. type: Plain text
#: dpkg-gensymbols.1:317
msgid "#include \"I<packages>.symbols.common\""
msgstr "#include \"I<paket>.symbols.common\""

#. type: Plain text
#: dpkg-gensymbols.1:319
msgid "The include directive may also be tagged like any symbol:"
msgstr "Inkluderingsdirektivet kan även taggas som alla andra symboler:"

#. type: Plain text
#: dpkg-gensymbols.1:321
msgid "(tag|..|tagN)#include \"file-to-include\""
msgstr "(tag|..|tagN)#include \"fil-att-inkludera\""

#. 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 ""
"Alla symboler som inkluderas från I<fil-att-inkludera> kommer att anses som "
"standard vara taggade med I<tag> .. I<tagN>. Du kan använda denna funktion "
"för att skapa en gemensam I<paket>.symbols-fil som inkluderar "
"arkitekturspecifika filer:"

#. 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 ""
"  gemensam_symbol1@Base 1.0\n"
" (arch=amd64 ia64 alpha)#include \"paket.symbols.64bit\"\n"
" (arch=!amd64 !ia64 !alpha)#include \"paket.symbols.32bit\"\n"
"  gemensam_symbol2@Base 1.0\n"

#. 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 ""
"Symbolfilerna läses radvis, och inkluderingsdirektiv utförs så fort de "
"upptäcks. Det betyder att innehållet i den inkluderade filen kan överstyra "
"allt innehåll som förekom före inkluderingsdirektivet och att innehåll efter "
"direktivet kan överstyra allt från den inkluderade filen. Alla symboler "
"(även andra #include-direktiv) i den inkluderade filen kan ange ytterligare "
"taggar eller överstyra värden för de ärvda taggarna i sin taggspecifikation. "
"Det finns dock inte något sätt för en symbol att ta bort någon av sina ärvda "
"taggar."

#. 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 ""
"En inkluderad fil kan repetera huvudraden som innehåller SONAMNet för "
"biblioteket. I så fall överstyr den en eventuell huvudrad som lästs in "
"tidigare. Det är vanligtvis dock bäst att undvika att duplicera huvudrader. "
"Ett sätt att göra det är som följer:"

#. type: Plain text
#: dpkg-gensymbols.1:348
#, no-wrap
msgid ""
"#include \"libsomething1.symbols.common\"\n"
" arch_specific_symbol@Base 1.0\n"
msgstr ""
"#include \"libnågonting1.symbols.common\"\n"
" arkitekturspecifik_symbol@Base 1.0\n"

#. type: SS
#: dpkg-gensymbols.1:348
#, no-wrap
msgid "Good library management"
msgstr "God hantering av bibliotek"

#. type: Plain text
#: dpkg-gensymbols.1:351
msgid "A well-maintained library has the following features:"
msgstr "Ett välunderhållet bibliotek har följande funktioner:"

#. 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 ""
"dess API är stabilt (publika symboler tas aldrig bort, endast nya publika "
"symboler läggs till) och inkompatibla ändringar görs endast när SONAMNet "
"ändras;"

#. type: Plain text
#: dpkg-gensymbols.1:358
msgid ""
"ideally, it uses symbol versioning to achieve ABI stability despite internal "
"changes and API extension;"
msgstr ""
"ideellt använder det en versionhanterade symboler för att upprätthålla ABI-"
"stabilitet trots interna ändringar och API-utökningar;"

#. type: Plain text
#: dpkg-gensymbols.1:361
msgid ""
"it doesn't export private symbols (such symbols can be tagged optional as "
"workaround)."
msgstr ""
"det exporterar inte privata symboler (sådana symboler kan taggas med "
"\"optional\" för att gå runt detta)."

#. 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 ""
"När man underhåller symbolfilen är det lätt att upptäcka symboler som dyker "
"upp och försvinner. Det är svårare att upptäcka inkompatibla API- och ABI-"
"ändringar. Den paketansvarige bör därför noggrant läsa igenom "
"uppströmsändringsloggen för fall då reglerna för god hantering av bibliotek "
"bryts. Om ett möjligt fel upptäcks bör uppströmsförfattaren meddelas, då det "
"alltid är bättre att problemet rättas uppströms än specifikt i Debian."

#. type: TP
#: dpkg-gensymbols.1:370
#, no-wrap
msgid "B<-P>I<package-build-dir>"
msgstr "B<-P>I<paketbyggkatalog>"

#. type: Plain text
#: dpkg-gensymbols.1:373
msgid "Scan I<package-build-dir> instead of debian/tmp."
msgstr "Sök I<paketbyggkatalog> istället för debian/tmp."

#. 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 ""
"Definiera paketnamnet. Krävs om mer än ett binärpaket listas i debian/"
"control (eller om det inte finns någon debian/control-fil)."

#. 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 ""
"Definiera paketversion. Standardvärdet är versionen som hämtas från debian/"
"changelog. Krävs om programmet anropas utanför ett källkodspaketträd."

#. type: TP
#: dpkg-gensymbols.1:381
#, no-wrap
msgid "B<-e>I<library-file>"
msgstr "B<-e>I<biblioteksfil>"

#. 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 ""
"Analyserar endast bibliotek som listats explicit istället för att hitta alla "
"publika bibliotek. Du kan använda ett reguljärt uttryck i I<biblioteksfil> "
"för att träffa multipla bibliotek med ett enda argument (annars behöver du "
"flera B<-e>)."

#. type: TP
#: dpkg-gensymbols.1:387
#, no-wrap
msgid "B<-I>I<filename>"
msgstr "B<-I>I<filnamn>"

#. 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 ""
"Använd I<filnamn> som referensfil för att generera symbolfilen som "
"integreras i själva paketet."

#. type: Plain text
#: dpkg-gensymbols.1:395
msgid ""
"Print the generated symbols file to standard output, rather than being "
"stored in the package build tree."
msgstr ""
"Skriv den genererade symbolfilen på standard ut, i stället för att lagra den "
"i paketets byggträd."

#. type: TP
#: dpkg-gensymbols.1:395
#, no-wrap
msgid "B<-O>I<filename>"
msgstr "B<-O>I<filnamn>"

#. 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 ""
"Lagra den genererade symbolfilen som I<filnamn>. Om I<filnamn> redan "
"existerar kommer dess innehåll att användas som bas för den genererade "
"symbolfilen. Du kan använda den här funktionen för att uppdatera en "
"symbolfil så att den motsvarar en nyare uppströmsversion av ditt bibliotek."

#. type: TP
#: dpkg-gensymbols.1:401
#, no-wrap
msgid "B<-t>"
msgstr "B<-t>"

#. 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 ""
"Skriv symbolfilen i mall-läge istället för i formatet kompatibelt med I<deb-"
"symbols(5)>. Huvudskillnaden är att symbolnamn och taggar skrivs i sin "
"originalform i mall-läget, till skillnad från de efterbehandlade "
"symbolnamnen med borttagna taggar som skrivs i det kompatibla läget. "
"Dessutom kan vissa symboler uteslutas när en vanlig I<deb-symbols(5)>-fil "
"skrivs (i enlighet med tagghanteringsreglerna) medan alla symboler alltid "
"skrivs till symbolfilsmallen."

#. type: TP
#: dpkg-gensymbols.1:410
#, no-wrap
msgid "B<-c>I<[0-4]>"
msgstr "B<-c>I<[0-4]>"

#. 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 ""
"Definiera vilka kontroller som skall utföras när den genererade symbolfilen "
"jämförs med den mallfil som används som startpunkt. Som standard är nivån 1. "
"Genom att öka nivån utförs flera kontroller, inklusive alla kontroller på "
"lägre nivå. Nivå 2 misslyckas om nya symboler har introducerats. Nivå 3 "
"misslyckas om några bibliotek har försvunnit. Nivå 4 misslyckas om några "
"bibliotek har introducerats."

#. type: Plain text
#: dpkg-gensymbols.1:421
msgid ""
"This value can be overridden by the environment variable "
"DPKG_GENSYMBOLS_CHECK_LEVEL."
msgstr "Värdet kan överstyras med miljövariabeln DPKG_GENSYMBOLS_CHECK_LEVEL."

#. 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 ""
"Håll tyst och generera aldrig en differens mellan den genererade symbolfilen "
"och mallfilen som användes som startpunkt eller visa varningar om nya/"
"förlorade bibliotek eller nya/förlorade symboler. Den här flaggan tar endast "
"bort informationsutdata, inte själva kontrolleran (se flaggan I<-c>)."

#. type: TP
#: dpkg-gensymbols.1:427
#, no-wrap
msgid "B<-a>I<arch>"
msgstr "B<-a>I<arkitektur>"

#. 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 ""
"Anta I<arkitektur> som värdarkitektur vid hantering av symbolfiler. Använd "
"den här flaggan för att generera en symbolfil eller differens för valfri "
"arkitektur så länge dess binärer är tillgängliga."

#. type: Plain text
#: dpkg-gensymbols.1:437
msgid ""
"Enable debug mode. Numerous messages are displayed to explain what B<dpkg-"
"gensymbols> does."
msgstr ""
"Aktiverar felsökningsläge. Flera meddelanden visas för att förklara vad "
"B<dpkg-gensymbols> gör."

#. type: TP
#: dpkg-gensymbols.1:437
#, no-wrap
msgid "B<-V>"
msgstr "B<-V>"

#. 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 ""
"Aktivera pratsamt läge. Den genererade symbolfilen innehåller ej längre "
"rekommenderade symboler som kommentarer. I mall-läge följs dessutom "
"mönstersymboler av kommentarer som visar vilka verkliga symboler som har "
"träffats av mönstret."

#. type: Plain text
#: dpkg-gensymbols.1:452
msgid "B<http://people.redhat.com/drepper/symbol-versioning>"
msgstr "B<http://people.redhat.com/drepper/symbol-versioning>"

#. type: Plain text
#: dpkg-gensymbols.1:454
msgid "B<http://people.redhat.com/drepper/goodpractice.pdf>"
msgstr "B<http://people.redhat.com/drepper/goodpractice.pdf>"

#. type: Plain text
#: dpkg-gensymbols.1:456
msgid "B<http://people.redhat.com/drepper/dsohowto.pdf>"
msgstr "B<http://people.redhat.com/drepper/dsohowto.pdf>"

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

#. type: Plain text
#: dpkg-gensymbols.1:462
msgid "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"
msgstr "Upphovsrättsskyddat © 2007-2009 Raphaël Hertzog"

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

#. type: Plain text
#: dpkg-maintscript-helper.1:4
msgid ""
"dpkg-maintscript-helper - works around known dpkg limitations in maintainer "
"scripts"
msgstr ""
"dpkg-maintscript-helper - går runt kända dpkg-begränsningar i paketskript"

#. type: Plain text
#: dpkg-maintscript-helper.1:8
msgid ""
"B<dpkg-maintscript-helper> I<command> [I<parameter>...] B<--> I<maint-script-"
"parameter>..."
msgstr ""
"B<dpkg-maintscript-helper> I<kommando> [I<flagga>...] B<--> I<maint-script-"
"flagga>..."

#. type: SH
#: dpkg-maintscript-helper.1:9
#, no-wrap
msgid "COMMANDS AND PARAMETERS"
msgstr "KOMMANDON OCH PARAMETRAR"

#. type: Plain text
#: dpkg-maintscript-helper.1:12
msgid "B<rm_conffile> I<conffile> [I<lastversion> [I<package>]]"
msgstr "B<rm_conffile> I<konffil> [I<senasteversion> [I<paket>]]"

#. type: Plain text
#: dpkg-maintscript-helper.1:14
msgid ""
"B<mv_conffile> I<oldconffile> I<newconffile> [I<lastversion> [I<package>]]"
msgstr ""
"B<mv_conffile> I<gammalkonffil> I<nykonffil> [I<senasteverison> [I<paket>]]"

#. 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 ""
"Programmet skrevs för att köras i paketskript för att utföra en del åtgärder "
"som dpkg (ännu) inte själv kan hantera, antingen på grund av designval eller "
"på grund av nuvarande begränsningar."

#. 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 ""
"Många av dessa åtgärder kräver samordnade åtgärder från flera paketskript "
"(B<preint>, B<postinst>, B<prerm>, B<postrm>). För att undvika misstag "
"räcker det att lägga in ett och samma anrop i alla skript, varpå programmet "
"anpassar sitt beteende beroende på miljövariabeln B<DPKG_MAINTSCRIPT_NAME> "
"och på paketskriptets parametrar, vilka du måste vidaresända efter dubbla "
"bindestreck."

#. type: SH
#: dpkg-maintscript-helper.1:28
#, no-wrap
msgid "CONFFILE RELATED TASKS"
msgstr "KONFFIL-RELATERADE ÅTGÄRDER"

#. 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 ""
"När ett paket uppgraders kommer dpkg inte att automatiskt ta bort en konffil "
"(en konfigurationsfil för vilken dpkg skall behålla användarens ändringar) "
"om den inte finns i den nya versionen. Det finns två grundläggande skäl till "
"detta; den första är att konffilen kan ha tappats av misstag och nästa "
"version kan komma att återställa den, varpå användaren inte vill tappa sina "
"ändringar. Den andra är att för att göra det möjligt för paket att gå över "
"från en dpkg-hanterad konffil till en fil som hanteras av paketets skript, "
"vanligtvis genom ett verktyg som debconf eller ucf."

#. 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 ""
"Det innebär att, om paketet menar att byta namn eller ta bort en "
"konfigurationsfil, så måste det göra så explicit, och då kan B<dpkg-"
"maintscript-helper> användas för att implementera en elegant borttagning och "
"flyttning av konffiler i paketscripten."

#. type: SS
#: dpkg-maintscript-helper.1:44
#, no-wrap
msgid "REMOVING A CONFFILE"
msgstr "TA BORT EN KONFFIL"

#. 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 ""
"Om en konffil helt tas bort bör den tas bort från disk, såvida inte "
"användaren har modifierat den. Om det finns lokala ändringar bör de "
"bibehållas. Om paketuppgraderingen avbryts bör inte konffilen som just blev "
"föråldras försvinna."

#. 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 ""
"Allt detta implementeras genom att lägga in följande skalkod i paketskripten "
"B<preinst>, B<postinst> och B<postrm>:"

#. 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 ""
"    dpkg-maintscript-helper rm_conffile \\e\n"
"        I<konffil> I<senasteversion> I<paket> -- \"$@\"\n"

#. 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 ""
"I<konffil> är filnamnet på den konffil som skall tas bort. I<senasteversion> "
"är den senaste versionen av paketet som innehöll konffilen (eller den "
"senaste versionen av paketet som inte tog hand om att ta bort den överblivna "
"konffilen om detta inte omedelbart implementerades). Om I<senasteversion> är "
"tomt eller inte angivits försöks operationen varje gång paketet uppgraderas. "
"I<paket> är paketnamnet, det är frivilligt eftersom det faller tillbaka på "
"$DPKG_MAINSTCRIPT_PACKAGE (variabeln sätts av dpkg till namnet på det paket "
"som behandlas). Alla paramerar till paketskriptet måste vidaresändas till "
"programmet efter \"--\"."

#. 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 ""
"Aktuell implementation: i B<preinst> kontrolleras om konffilen ändrades och "
"i så fall byts namnet på den till antingen I<konffil>B<.dpkg-remove> (om "
"inte modifierad) eller till I<konffil>B<.dpkg-backup> (om modifierad). I "
"B<postinst> byts namnet på den sistnämnda filen till I<konffil>B<.dpkg-bak> "
"och behålls som referens om den innehåller ändringar av användaren, medan "
"den tidigare kommer att tas bort. Om paketuppgraderingen avbryts kommer "
"B<postrm> att ominstallera den ursprungliga konffilen. Vid borttagning "
"kommer B<postrm> även att ta bort B<.dpkg-bak>-filen som behållits fram till "
"dess."

#. type: SS
#: dpkg-maintscript-helper.1:76
#, no-wrap
msgid "RENAMING A CONFFILE"
msgstr "BYTA NAMN PÅ EN KONFFIL"

#. 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 ""
"Om en konffil flyttas från en plats till en annan måste du se till att du "
"flyttar med eventuella ändringar gjorda av användaren. Detta kan först verka "
"vara en enkel ändring av B<preinst>-skriptet, men det kommer leda till att "
"användaren ombeds att godkänna ändringar i konffilen för dpkg, även om denne "
"inte är ansvarig för dem."

#. 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 ""
"En elegant namnändring kan implementeras genom att lägga in följande skalkod "
"i paketskripten B<preinst>, B<postinst> och B<postrm>:"

#. 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 ""
"    dpkg-maintscript-helper mv_conffile \\e\n"
"        I<gammalkonffil> I<nykonffil> I<senasteversion> I<paket> -- \"$@\"\n"

#. 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 ""
"I<gammalkonffil> och I<nykonffil> är det gamla och nya namnet på konffilen "
"vars namn skall bytas. I<senasteversion> är den senaste versionen av paketet "
"som innehöll konffilen med dess gamla namn. Om I<senasteversion> är tom "
"eller inte har angivits kommer operationen att försökas varje gång paketet "
"uppgraderas (observera: det är säkrare att ange versionen och därmed endast "
"utföra operationen en gång). I<paket> är paketnamnet, det är frivilligt "
"eftersom det faller tillbaka på $DPKG_MAINSTCRIPT_PACKAGE (variabeln sätts "
"av dpkg till namnet på det paket som behandlas). Alla paramerar till "
"paketskriptet måste vidaresändas till programmet efter \"--\"."

#. 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 ""
"Aktuell implementation: I B<preinst> kontrolleras om konffilen har ändrats, "
"om ja lämnas den kvar på plats, annars byts namnet på den till "
"I<gammalkonffil>B<.dpkg-remove>. Vid konfigurering tar B<postinst> bort "
"I<gammalkonffil>B<.dpkg-remove> och byter namn på I<gammalkonffil> till "
"I<nykonffil> om I<gammalkonffil> fortfarande finns. Vid avbruten "
"uppgradering eller installation byter B<postrm> tillbaka namnet från "
"I<gammalkonffil>B<.dpkg-remove> till I<gammalkonffil> om så behövs."

#. type: SH
#: dpkg-maintscript-helper.1:109
#, no-wrap
msgid "INTEGRATION IN PACKAGES"
msgstr "INTEGRERA I PAKET"

#. 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 ""
"Givet att B<dpkg-maintscript-helper> används i B<preinst> så innebär detta "
"villkorslöst att ett förhandsberoende (\"pre-dependency\") krävs för att "
"försäkra att den nödvändiga versionen av dpkg redan har packats upp. Den "
"version som krävs beror på vilket kommando som används, för B<rm_conffile> "
"och B<mv_conffile> är det 1.15.7.2:"

#. type: Plain text
#: dpkg-maintscript-helper.1:118
#, no-wrap
msgid "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"
msgstr "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"

#. 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 ""
"Men i många fall är operationen som utförs av programmet inte kritiskt för "
"paketet, och istället för att använda ett förhandsberoende kan vi anropa "
"programmet endast om vi vet att det nödvändiga kommandot stöds av den nu "
"installerade dpkg:"

#. 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 ""
"    if dpkg-maintscript-helper supports I<kommando>; then\n"
"        dpkg-maintscript-helper I<kommando> ...\n"
"    fi\n"

#. type: Plain text
#: dpkg-maintscript-helper.1:130
msgid "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"
msgstr "Upphovsrättsskyddat © 2010 Raphaël Hertzog"

#. type: Plain text
#: dpkg-maintscript-helper.1:132
msgid "Copyright \\(co 2008 Joey Hess"
msgstr "Upphovsrättsskyddat © 2008 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:134
msgid "Copyright \\(co 2007 Guillem Jover"
msgstr "Upphovsrättsskyddat © 2007 Guillem Jover"

#. type: Plain text
#: dpkg-maintscript-helper.1:136
msgid "Copyright \\(co 2005 Scott James Remnant"
msgstr "Upphovsrättsskyddat © 2005 Scott James Remnant"

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

#. type: Plain text
#: dpkg-mergechangelogs.1:4
msgid "dpkg-mergechangelogs - 3-way merge of debian/changelog files"
msgstr "dpkg-mergechangelogs - trevägssammanslagning av Debianändringsloggar"

#. type: Plain text
#: dpkg-mergechangelogs.1:8
msgid ""
"B<dpkg-mergechangelogs> [I<option>...] I<old> I<new-a> I<new-b> [I<out>]"
msgstr ""
"B<dpkg-mergechangelogs> [I<flaggor>...] I<gammal> I<ny-a> I<ny-b> [I<ut>]"

#. 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 ""
"Programmet kommer använda de 3 angivna versionerna av Debianändringsloggen "
"för att skapa en sammanslagen ändringsloggfil. Den skapade ändringsloggen "
"sparas i filen I<ut> eller skrivs ut på standard ut om den parametern inte "
"anges."

#. 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 ""
"Enskilda poster identifieras av sitt versionsnummer och de antas inte stå i "
"konflikt med varandra, de slås helt enkelt ihop i rätt ordning (enligt "
"minskade versionsnummer). När B<--merge-prereleases> används ignoreras "
"versionsnumret efter det sista tilde-tecknet, så att 1.0-1~exp1 och "
"1.0-1~exp5 anges vara samma post. När samma versionsnummer är tillgänglig i "
"både I<ny-a> och I<ny-b> görs ett försök på en vanlig radbaserad "
"trevägssammanslagning (förutsatt att modulen Algorithm::Merge är tillgänglig "
"\\[em] den ingår i paketet libalgorithm-merge-perl \\[em] om inte får du en "
"global konflikt på innehållet i posten)."

#. type: TP
#: dpkg-mergechangelogs.1:28
#, no-wrap
msgid "B<--merge-prereleases>, B<-m>"
msgstr "B<--merge-prereleases>, B<-m>"

#. 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 ""
"Ignorera delen efter det sista tilde-tecknet i versionsnumret vid "
"versionsjämförelse för att ta reda på om två poster anses vara densamma "
"eller inte."

#. 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 ""
"Det kan vara användarbart om du använder samma ändringsloggpost men ökar "
"versionsnumret med jämna mellanrum. Till exempel kanske du har 2.3-1~exp1, "
"2.3-1~exp2, ... fram till den officiella utgåvan 2.3-1 och de har alla samma "
"ändringsloggpost som har växt fram över tid."

#. type: SH
#: dpkg-mergechangelogs.1:45
#, no-wrap
msgid "LIMITATIONS"
msgstr "BEGRÄNSNINGAR"

#. 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 ""
"Allt som inte tolkas av Dpkg::Changelog försvinner under sammanslagningen. "
"Det kan gälla saker som vim-lägesrader, kommentarer som inte skulle vara "
"där, osv."

#. type: SH
#: dpkg-mergechangelogs.1:51
#, no-wrap
msgid "INTEGRATION WITH GIT"
msgstr "INTEGRATION MED GIT"

#. 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 ""
"Om du vill använda det här programmet för att slå ihop Debianändringsloggar "
"i ett Git-arkiv måste du först registrera en ny sammanslagningsdrivrutin "
"(merge driver) i B<.git/config> eller B<~/.gitconfig>:"

#. 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 ""
" [merge \"dpkg-mergechangelogs\"]\n"
"     name = debian/changelog-sammanslagningsdrivrutin\n"
"     driver = dpkg-mergechangelogs -m %O %A %B %A\n"

#. 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 ""
"Därefter måste du ställa in merge-attributet på debian/changelog-filen, "
"antingen i B<.gitattributes> i själv arkivet, eller i B<.git/info/"
"attributes>:"

#. type: Plain text
#: dpkg-mergechangelogs.1:66
#, no-wrap
msgid " debian/changelog merge=dpkg-mergechangelogs\n"
msgstr " debian/changelog merge=dpkg-mergechangelogs\n"

#. type: Plain text
#: dpkg-mergechangelogs.1:68
msgid "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"
msgstr "Upphovsrättsskyddat © 2009-2010 Raphaë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 - byt namnet på Debianpaket till det fullständiga paketnamnet"

#. type: Plain text
#: dpkg-name.1:15
msgid "B<dpkg-name> [I<option>...] [B<-->] I<file>..."
msgstr "B<dpkg-name> [I<flagga>...] [B<-->] I<fil>..."

#. type: Plain text
#: dpkg-name.1:29
msgid ""
"This manual page documents the B<dpkg-name> program which provides an easy "
"way to rename B<Debian> packages into their full package names. A full "
"package name consists of I<package>B<_>I<version>B<_>I<architecture>B<."
">I<package-type> as specified in the control file of the package. The "
"I<version> part of the filename consists of the upstream version information "
"optionally followed by a hyphen and the revision information. The I<package-"
"type> part comes from that field if present or fallbacks to B<deb>."
msgstr ""
"Manualsidan dokumenterar programmet B<dpkg-name>, vilket tillhandahåller ett "
"enkelt sätt att byta namn på B<Debian>paket till deras fullständiga "
"paketnamn. Ett fullständigt paketnamn består av "
"I<paket>B<_>I<version>B<_>I<arkitektur>B<.>I<pakettyp> och anges av control-"
"filen i paketet. I<Version>-delen av filnamnet består av "
"uppströmsversionsinformation och kan eventuellt följas av ett bindestreck "
"och revisionsinformationen. I<Pakettyp>-delen kommer från fältet I<package-"
"type> om det finns, annars 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 ""
"Destinationsfilnamnet kommer inte att innehålla information om arkitektur."

#. 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 "Skapa en symbolisk länk istället för att flytta."

#. 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 ""
"Befintliga filer kommer att skrivas över om de har samma namn som "
"destinationsfilnamnet."

#. 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
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 ""
"Filerna kommer att flyttas till en underkatalog. Om katalogen i argumentet "
"existerar kommer filerna att flyttas in i den katalogen, om inte kommer "
"namnet på målkatalogen att hämtas från sektionsfältet i styrdelen av "
"paketet. Målkatalogen kommer vara \"unstable/binary-I<arkitekur>I<sektion>"
"\". Om sektionen inte hittas i styrfilen antas \"no-section\", och i så "
"fall, samt för sektionerna \"non-free\" och \"contrib\", är målkatalogen "
"\"I<sektion>/binary-I<arkitektur>\". Sektionsfältet är inte nödvändigt, så "
"flera paket hamnar i katalogen \"no-section\". Använd den här flaggan med "
"tillförsikt, den kan vara rörig."

#. 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 ""
"Flaggan kan användas tillsammans med -s-flaggan. Om en målkatalog inte "
"existerar kommer den att skapas automatiskt. B<Använd denna flagga "
"försiktigt.>"

#. 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 ""
"Filen \"bar-foo.deb\" kommer att få det nya namnet bar-foo_1.0-2_i386.deb "
"eller något liknande (beroende på vilken information som hittas i styrdelen "
"av \"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 ""
"Alla filer med ändelsen \"deb\" i katalogen /root/debian och dess "
"underkataloger kommer att få sina namn ersatta med dpkg-name, om så behövs, "
"till namn utan arkitekturinformation."

#. 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<Gör inte så här.> Ditt arkiv kommer att röras till helt och hållet "
"eftersom många paket inte har någon sektionsinformation. B<Gör inte så här.>"

#. 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 "Kan användas när nya paket byggs."

#. type: Plain text
#: dpkg-name.1:95
msgid ""
"Some packages don't follow the name structure "
"I<package>B<_>I<version>B<_>I<architecture>B<.deb>.  Packages renamed by "
"dpkg-name will follow this structure. Generally this will have no impact on "
"how packages are installed by B<dselect>(1)/B<dpkg>(1), but other "
"installation tools might depend on this naming structure."
msgstr ""
"Vissa paket följer inte namnstrukturen "
"I<paket>B<_>I<version>B<_>I<arkitektur>B<.deb>. Paket vars namn ändrats med "
"dpkg-name kommer följa denna struktur. Normalt påverkar detta inte hur "
"B<dselect>(1)/B<dpkg>(1) installerar paket, men vissa andra "
"installationsverktyg kan vara beroende av denna namngivningsstruktur."

#. 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 "Upphovsrättsskyddat © 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 - tolka Debians ändringsloggar"

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

#. 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> läser och tolkar ändringsloggen i ett uppackat "
"Debiankällkodsträd och visar informationen i den på standard ut i en "
"maskinläsbar form."

#. type: TP
#: dpkg-parsechangelog.1:26
#, no-wrap
msgid "B<-L>I<libdir>"
msgstr "B<-L>I<bibliotekskatalog>"

#. 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 ""
"Ange en ytterligare katalog att söka i efter parserskript. Katalogen söks "
"genom innan standardkatalogerna, vilka för närvarande är B</usr/local/lib/"
"dpkg/parsechangelog> och B</usr/lib/dpkg/parsechangelog>."

#. type: SS
#: dpkg-parsechangelog.1:39
#, no-wrap
msgid "Parser Options"
msgstr "Parserflaggor"

#. 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 ""
"Följande flaggor kan användas för att styra utdata från ändringsloggparsern, "
"t.ex. omfånget av poster eller formatet på utdata. De måste stödas av "
"parserskriptet i fråga. Se även B<VARNINGAR>."

#. type: TP
#: dpkg-parsechangelog.1:44
#, no-wrap
msgid "B<--format>I< outputformat>"
msgstr "B<--format> I<utdataformat>"

#. 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 ""
"Välj utdataformat. Stödda format är för närvarande I<dpkg> och I<rfc822>. "
"I<dpkg> är det klassiska utdataformatet (från innan denna flagga var "
"tillgänglig) och förvalet. Det består av ett stycke i Debians control-format "
"(se B<deb-control>(5)). Om mer än en post önskas tas de flesta fält från den "
"senaste posten, förutom om annat anges:"

#. type: TP
#: dpkg-parsechangelog.1:54
#, no-wrap
msgid "B<Source:>I< pkg-name>"
msgstr "B<Source:> I<paketnamn>"

#. type: TP
#: dpkg-parsechangelog.1:56
#, no-wrap
msgid "B<Version:>I< version>"
msgstr "B<Version:> I<versions>"

#. type: TP
#: dpkg-parsechangelog.1:58
#, no-wrap
msgid "B<Distribution:>I< target-distribution>"
msgstr "B<Distribution:> I<målutgåva>"

#. type: TP
#: dpkg-parsechangelog.1:60
#, no-wrap
msgid "B<Urgency:>I< urgency>"
msgstr "B<Urgency:> I<brådska>"

#. type: Plain text
#: dpkg-parsechangelog.1:63
msgid "The highest urgency of all included entries is used."
msgstr "Högsta brådskan av alla de inkluderade posterna används."

#. type: TP
#: dpkg-parsechangelog.1:63
#, no-wrap
msgid "B<Maintainer:>I< author>"
msgstr "B<Maintainer:> I<författare>"

#. type: TP
#: dpkg-parsechangelog.1:65
#, no-wrap
msgid "B<Date:>I< date>"
msgstr "B<Date:> I<datum>"

#. type: TP
#: dpkg-parsechangelog.1:67
#, no-wrap
msgid "B<Closes:>I< bug-number>"
msgstr "B<Closes:> I<nummer-på-felrapport>"

#. type: Plain text
#: dpkg-parsechangelog.1:70
msgid "The Closes fields of all included entries are merged."
msgstr "Closes-fältet i alla inkluderade poster slås samman."

#. type: TP
#: dpkg-parsechangelog.1:70
#, no-wrap
msgid "B<Changes:>I< changelog-entries>"
msgstr "B<Changes:> I<posterfrån-ändringsloggen>"

#. 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 ""
"Texten i alla ändringsloggposter slås samman. För att göra fältet till "
"giltigt flerradsfält i Debian-control-format ersätts tomma rader med en "
"ensam punkt och alla rader får ett teckens indrag. Exakt innehåll beror på "
"formatet på ändringsloggen."

#. type: Plain text
#: dpkg-parsechangelog.1:80
msgid "There might be additional user-defined fields present."
msgstr "Ytterligare användardefinierade fält kan finnas."

#. 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 ""
"B<rfc822>-formatet använder samma fält, men ger ett separat stycke för varje "
"ändringsloggspost så att all metadata för varje post behålls."

#. 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<version>, B<-s>I<version>,B< -v>I<version>"

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

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

#. type: Plain text
#: dpkg-parsechangelog.1:90
msgid "include all changes earlier than I<version>."
msgstr "ta med alla ändringar före I<version>."

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

#. type: Plain text
#: dpkg-parsechangelog.1:93
msgid "include all changes equal or later than I<version>."
msgstr "ta med alla ändringar från och med I<version>."

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

#. type: Plain text
#: dpkg-parsechangelog.1:96
msgid "include all changes up to or equal than I<version>."
msgstr "ta med alla ändringar till och med I<version>."

#. 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<antal>, B<-c>I<antal>, B<-n>I<antal>"

#. 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 ""
"ta med I<antal> ändringar från början (eller slutet om I<antal> är lägre än "
"0)."

#. type: TP
#: dpkg-parsechangelog.1:100
#, no-wrap
msgid "B<--offset> I<number>, B<-o>I<number>"
msgstr "B<--offset> I<antal>, B<-o>I<antal>"

#. 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 ""
"ändra startpunkt för --count, räknat från början (eller slutet om I<antal> "
"är lägre än 0)."

#. 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 ""
"ta med alla ändringar. Observera: övriga flaggor har ingen effekt när denna "
"används."

#. 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 ""
"De olika B<parserflaggorna>, bortsett -v, stöds enbart i B<dpkg> version "
"1.14.16 och senare. Tredjepartsparsrar för andra ändringsloggformat än "
"I<debian> kanske inte stöder alla flaggor."

#. 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 ""
"Ändringsloggsfilen, används för att hämta versionsberoende information om "
"källkodspaketet, till exempel brådska och utgåva för en insändning, "
"ändringarna som utförts sedan en specifik version och själva versionsnumret "
"på källkoden."

#. type: Plain text
#: dpkg-parsechangelog.1:129
msgid "Copyright \\(co 2007, 2008 Frank Lichtenheld"
msgstr "Upphovsrättsskyddat © 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 - ett verktyg för att fråga dpkg-databasen"

#. type: Plain text
#: dpkg-query.1:8
msgid "B<dpkg-query> [I<option>...] I<command>"
msgstr "B<dpkg-query> [I<flaggor>...] I<åtgärd>"

#. 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> är ett verktyg för att visa information om paket i B<dpkg>-"
"databasen."

#. type: TP
#: dpkg-query.1:14
#, no-wrap
msgid "B<-l>, B<--list> [I<package-name-pattern>...]"
msgstr "B<-l>, B<--list> [I<paketnamnsmönster> ...]"

#. 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 ""
"Lista paket som matchar det givna mönstret. Om inget I<paketnamnsmönster> "
"anges listas alla paket i I</var/lib/dpkg/status>, förutom de paket som "
"markerats som ej installerade (dvs. de som tidigare har helt tagits bort). "
"Skalets normala jokertecken tillåts i I<paketnamnsmönster>. Observera att du "
"sannolikt måste skriva I<paketnamnsmönster> inom citationstecken för att "
"förhindra att skalet expanderar filnamnet. Till exempel kommer följande "
"lista alla paket vars namn börjar på \"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 ""
"De första tre kolumnerna i utdata visar önskad åtgärd, paketstatus och fel, "
"i den ordningen."

#. type: Plain text
#: dpkg-query.1:33
msgid "Desired action:"
msgstr "Önskad åtgärd"

#. 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 ""
"  u = Okänd\n"
"  i = Installera\n"
"  h = Håll\n"
"  r = Ta bort\n"
"  p = Rensa\n"

#. type: Plain text
#: dpkg-query.1:42
msgid "Package status:"
msgstr "Paketstatus:"

#. 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 ""
"  n = Ej installerat\n"
"  c = Konfigurationsfiler\n"
"  H = Halvinstallerat\n"
"  U = Uppackat\n"
"  F = Halvkonfigurerat\n"
"  W = Utlösare väntad\n"
"  t = Utlösare förestående\n"
"  i = Installerad\n"

#. type: Plain text
#: dpkg-query.1:54
msgid "Error flags:"
msgstr "Felflaggor:"

#. type: Plain text
#: dpkg-query.1:57
#, no-wrap
msgid ""
"  E<lt>emptyE<gt> = (none)\n"
"  R = Reinst-required\n"
msgstr ""
"  E<lt>tomE<gt> = (ingen)\n"
"  R = Ominstallation krävs\n"

#. 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 ""
"En versal status- eller felbokstav anger att paketet troligen kommer orsaka "
"allvarliga problem. Se B<dpkg>(1) för information om status och flaggor ovan."

#. 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 ""
"Utdataformatet för den här flaggan kan inte justeras, men varieras "
"automatiskt för att passa terminalbredden. Det är avsett för mänskliga "
"läsare, och är inte enkelt maskinläsbart. Se B<-W> (B<--show>) och B<--"
"showformat> för hur du konfigurerar utdataformatet."

#. type: TP
#: dpkg-query.1:67
#, no-wrap
msgid "B<-W>, B<--show> [I<package-name-pattern>...]"
msgstr "B<-W>, B<--show> [I<paketnamnsmönster> ...]"

#. 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 ""
"Precis som flaggan B<--list> kommer att paket som matchar det givna mönstret "
"att visas. Utdatat kan dock skräddarsys med flaggan B<--showformat>. "
"Standardutdataformatet är en rad per paket som träffas, där varje rad "
"innehåller namn och installerad version av paketet, avdelat med ett "
"tabulatortecken."

#. type: TP
#: dpkg-query.1:74
#, no-wrap
msgid "B<-s>, B<--status> I<package-name>..."
msgstr "B<-s>, B<--status> I<paketnamn> ..."

#. type: Plain text
#: dpkg-query.1:79
msgid ""
"Report status of specified package. This just displays the entry in the "
"installed package status database. When multiple I<package-name> are listed, "
"the requested status entries are separated by an empty line."
msgstr ""
"Rapportera status om det angivna paketet.  Detta alternativ visar helt "
"enkelt posten i statusdatabasen för installerade paket. Om flera "
"I<paketnamn> anges avdelas de efterfrågade statusposterna med en tomrad."

#. type: TP
#: dpkg-query.1:79
#, no-wrap
msgid "B<-L>, B<--listfiles> I<package-name>..."
msgstr "B<-L>, B<--listfiles> I<paketnamn> ..."

#. type: Plain text
#: dpkg-query.1:85
msgid ""
"List files installed to your system from I<package-name>. When multiple "
"I<package-name> are listed, the requested lists of files are separated by an "
"empty line. However, note that files created by package-specific "
"installation-scripts are not listed."
msgstr ""
"Listar filer som installerats på ditt system från I<paketnamn>. Om flera "
"I<paketnamn> anges avdelas den efterfrågade fillistan med en tomrad. "
"Observera att filer som skapats av paketspecifika installationsskript inte "
"visas"

#. 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<paketnamn> [I<control-filnamn>]"

#. 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 ""
"Visar sökvägarna till control-filerna som installerats på ditt system för "
"I<paketnamn>. Om I<control-fil> anges visas endast sökvägen för den control-"
"filen, om den finns. B<Varning>: kommandot är halvöppet, det bör användas "
"endast som en sista desperat åtgärd om det inte finns något annat "
"gränssnitt. Det kan avrådas från senare om bättre gränssnitt eller de "
"nuvarande arkitektoniska begränsningarna har lösts."

#. type: TP
#: dpkg-query.1:93
#, no-wrap
msgid "B<-S>, B<--search> I<filename-search-pattern>..."
msgstr "B<-S>, B<--search> I<filnamnssökmönster> ..."

#. type: Plain text
#: dpkg-query.1:99
msgid ""
"Search for packages that own files corresponding to the given pattern.  "
"Standard shell wildchars can be used in the pattern.  This command will not "
"list extra files created by maintainer scripts, nor will it list "
"alternatives."
msgstr ""
"Sök efter paket som äger filer som motsvarar det angivna mönstret. Alla "
"skalets vanliga jokertecken kan användas i mönstret. Kommandot kommer inte "
"att visa extrafiler som skapas av paketskript, ej heller kommer det att visa "
"alternativ."

#. type: TP
#: dpkg-query.1:99
#, no-wrap
msgid "B<-p>, B<--print-avail> I<package-name>..."
msgstr "B<-p>, B<--print-avail> I<paketnamn>"

#. type: Plain text
#: dpkg-query.1:105
msgid ""
"Display details about I<package-name>, as found in I</var/lib/dpkg/"
"available>. When multiple I<package-name> are listed, the requested "
"I<available> entries are separated by an empty line."
msgstr ""
"Visar information om I<paketnamn>, enligt vad som finns i I</var/lib/dpkg/"
"available>. Om flera I<paketnamn> anges avdelas de efterfrågade posterna ur "
"I<available>-filen med en tomrad."

#. type: Plain text
#: dpkg-query.1:110
msgid ""
"Users of APT-based frontends should use B<apt-cache show> I<package-name> "
"instead as the I<available> file is only kept up-to-date when using "
"B<dselect>."
msgstr ""
"Använder du ett APT-baserat skal bör du istället använda B<apt-cache show> "
"I<paketnamn>, då I<available>-filen endast àjourförs om B<dselect> används."

#. 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 "I formatsträngen inleds följande styrsekvenser med \\(lqB<\\e>\\(rq:"

#. 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>  radmatning\n"
"    B<\\er>  vagnretur\n"
"    B<\\et>  tabulator\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 före ett annat tecken undertrycken en speciell betydelse "
"för det efterföljande tecknet, vilket är kan användas för \\(lqB<\\e>\\(rq "
"och \\(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 ""
"Paketinformation kan läggas in genom att sätta in variabelreferenser till "
"paketfält, på syntaxen \\(lqB<${>I<field>[B<;>I<width>]B<}>\\(rq. Fält "
"skrivs högerjusterade såvida inte bredden är negativ i vilket fall "
"vänsterjustering kommer att användas. Följande I<fält> stöds, men de är inte "
"nödvändigtvis tillgängliga i statusfilen (endast interna fält och fält som "
"finns i binärpaketet hamnar där):"

#. type: Plain text
#: dpkg-query.1:182
#, no-wrap
msgid ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (internal)\n"
"    B<Config-Version> (internal)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (internal, front-end related)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (internal, front-end related)\n"
"    B<MSDOS-Filename> (internal, front-end related)\n"
"    B<Maintainer>\n"
"    B<Origin>\n"
"    B<Package>\n"
"    B<Pre-Depends>\n"
"    B<Priority>\n"
"    B<Provides>\n"
"    B<Recommends>\n"
"    B<Replaces>\n"
"    B<Revision> (obsolete)\n"
"    B<Section>\n"
"    B<Size> (internal, front-end related)\n"
"    B<Source>\n"
"    B<Status> (internal)\n"
"    B<Suggests>\n"
"    B<Tag> (usually not in the .deb but in the repository Packages files)\n"
"    B<Triggers-Awaited> (internal)\n"
"    B<Triggers-Pending> (internal)\n"
"    B<Version>\n"
msgstr ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (internt)\n"
"    B<Config-Version> (internt)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (internt, skalrelaterat)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (internt, skalrelaterat)\n"
"    B<MSDOS-Filename> (internt, skalrelaterat)\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> (föråldrat)\n"
"    B<Section>\n"
"    B<Size>  (internt, skalrelaterat)\n"
"    B<Source>\n"
"    B<Status> (internt)\n"
"    B<Suggests>\n"
"    B<Tag> (normalt inte i .deb, utan i arkivets Packages-filer)\n"
"    B<Triggers-Awaited> (internt)    B<Triggers-Pending> (internt)    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 ""
"Standardformatet är \\(lqB<${Package}\\et${Version}\\en>\\(rq. Alla andra "
"fält som finns i statusfilen (även användardefinierade fält) kan också "
"hämtas. De visas dock som de är, ingen konvertering eller felkorrigering "
"görs på dem. För att hämta namnet på paketansvarig och installerad version "
"av dpkg och kan du köra:"

#. 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 "RETURVÄRDE"

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

#. type: Plain text
#: dpkg-query.1:199
msgid "The requested query was successfully performed."
msgstr "Den önskade frågan utfördes utan fel."

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

#. type: Plain text
#: dpkg-query.1:203
msgid ""
"Problems were encountered while parsing the command line or performing the "
"query, including no file or package being found (except for --control-path)."
msgstr ""
"Problem uppstod vid tolkning av kommandoraden eller när frågan skulle "
"utföras, till exempel att ingen fil eller paket hittades (förutom för --"
"control-path)."

#. 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 ""
"Inställningen påverkar utdata från kommandot B<--list> genom att ändra "
"bredden på dess utdata."

#. type: Plain text
#: dpkg-query.1:216
msgid "Copyright \\(co 2001 Wichert Akkerman"
msgstr "Upphovsrättsskyddat © 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 - skapar indexfilerna Packages"

#. type: Plain text
#: dpkg-scanpackages.1:26
msgid ""
"B<dpkg-scanpackages> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Packages>"
msgstr ""
"B<dpkg-scanpackages> [I<flagga>...] I<binärkatalog> [I<överstyrningsfil> "
"[I<sökvägsprefix>]] 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> går genom ett träd av Debianbinärpaket och skapar en "
"Packages-fil, som B<apt>(8), B<dselect>(8) osv. använder för att berätta för "
"användaren vilka paket som kan installeras. Dessa Packages-filer är desamma "
"som de som finns på Debianarkivspeglar och cd-rom:ar. Du kan använda B<dpkg-"
"scanpackages> själv för att skapa en katalog med lokala paket att installera "
"på en klase maskiner."

#. type: Plain text
#: dpkg-scanpackages.1:51
msgid ""
"B<Note:> If you want to access the generated Packages file with B<apt> you "
"will probably need to compress the file with B<bzip2>(1)  (generating a "
"Packages.bz2 file) or B<gzip>(1)  (generating a Packages.gz file). apt "
"ignores uncompressed Packages files except on local access (i.e.  B<file://> "
"sources)."
msgstr ""
"B<Observera:> Om du vill läsa den skapade Packages-filen med B<apt> måste du "
"antagligen komprimera filen med B<bzip2>(1) (vilket skapar filen Packages."
"bz2) eller B<gzip>(1) (vilket skapar filen Packages.gz). apt ignorerar "
"okomprimerade Packages-filer, förutom vid lokal åtkomst (dvs. B<file://>-"
"källor)."

#. 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<binärkatalog> är namnet på trädet med binärpaketen som skall hanteras "
"(till exempel B<contrib/binary-i386>). Det är bäst att skapa den relativt "
"till roten på Debianarkivet eftersom all filnamnsfält i den skapade Packages-"
"filen kommer inledas med strängen."

#. type: Plain text
#: dpkg-scanpackages.1:63
msgid ""
"I<overridefile> is the name of a file to read which contains information "
"about how the package fits into the distribution (it can be a compressed "
"file); see B<deb-override>(5)."
msgstr ""
"I<överstyrningsfil> är namnet på en fil som skall läsas in och som "
"innehåller information om hur paketet passar in i distributionen (kan vara "
"en komprimerad fil); se 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<sökvägsprefix> är en frivillig sträng som läggs till i början i "
"filnamnsfältet."

#. 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 ""
"Om mer än en version av ett paket upptäcks kommer endast den senaste att tas "
"med i utdata. Om de har samma version och bara skiljer i arkitektur kommer "
"bara den första som hittas att användas."

#. type: TP
#: dpkg-scanpackages.1:72
#, no-wrap
msgid "B<-t>, B<--type> I<type>"
msgstr "B<-t>, B<--test> I<typ>"

#. type: Plain text
#: dpkg-scanpackages.1:75
msgid "Scan for *.I<type> packages, instead of *.deb."
msgstr "Sök efter *.I<typ>-paket, i stället för *.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<Föråldrat> alias till 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<fil>"

#. type: Plain text
#: dpkg-scanpackages.1:84 dpkg-scansources.1:54
msgid ""
"Scan I<file> to find supplementary overrides (the file can be compressed). "
"See B<deb-extra-override>(5)  for more information on its format."
msgstr ""
"Läs I<fil> för att hitta ytterligare överstyrningar (filen kan vara "
"komprimerad). Se B<deb-extra-override>(5) för mer information om dess format."

#. type: TP
#: dpkg-scanpackages.1:84
#, no-wrap
msgid "B<-a>, B<--arch> I<arch>"
msgstr "B<-a>, B<--arch> I<arkitektur>"

#. type: Plain text
#: dpkg-scanpackages.1:88
msgid ""
"Use a pattern consisting of I<*_all.deb> and I<*_arch.deb> instead of "
"scanning for all debs."
msgstr ""
"Använd ett mönster som består av I<*_all.deb> och I<*_arkitektur.deb> "
"istället för att söka efter alla deb-arkiv."

#. 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 "Ta med alla paket som hittas i utdata."

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

#. 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 ""
"Lägg till ett X-Medium-fält som innehåller värdet I<idsträng>. Fältet är "
"nödvändigt om du vill generera B<Packages.cd>-filer som kan användas med "
"dselect:s multicd-åtkomstmetod."

#. type: SH
#: dpkg-scanpackages.1:103 update-alternatives.8:448
#, no-wrap
msgid "DIAGNOSTICS"
msgstr "DIAGNOSTIK"

#. 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> skriver ut de vanliga självförklarande felen. Det "
"varnar även om paket ligger i fel katalog har dubbletter, har ett Filename-"
"fält i sin control-fil, saknas från överstyrningsfilen, eller har "
"substitueringar utan effekt skrivna av paketansvariga."

#. 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-scansources - skapar indexfilerna Sources"

#. type: Plain text
#: dpkg-scansources.1:12
msgid ""
"B<dpkg-scansources> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Sources>"
msgstr ""
"B<dpkg-scansources> [I<flagga>...] I<binärkatalog> [I<överstyrningsfil> "
"[I<sökvägsprefix>]] 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> söker genom den givna I<binärkatalogen> efter I<.dsc>-"
"filer. De används för att skapa ett Debiankällkodsindex, vilket skrivs på "
"standard ut."

#. type: Plain text
#: dpkg-scansources.1:28
msgid ""
"The I<override-file>, if given, is used to set priorities in the resulting "
"index records and to override the maintainer field given in the I<.dsc> "
"files. The file can be compressed. See B<deb-override>(5)  for the format of "
"this file. \\s-1NB:\\s0 Since the override file is indexed by binary, not "
"source, packages, there's a bit of a problem here. The current "
"implementation uses the highest priority of all the binary packages produced "
"by a I<.dsc> file for the priority of the source package, and the override "
"entry for the first binary package listed in the I<.dsc> file to modify "
"maintainer information. This might change."
msgstr ""
"I<Överstyrningsfil>en, om den anges, används för att ställa in prioriteter i "
"de skapade indexposterna, samt för att ersätta fält de paketansvariga ger i "
"I<.dsc>-filerna. Filen kan vara komprimerad. Se B<deb-override>(5) för en "
"beskrivning av formatet för denna fil. \\s-1Obs!\\s0 Eftersom "
"överstyrningsfilen indexerar per binärpaket, inte källkodspaket, uppstår det "
"ett problem här. Nuvarande implementation använder den högsta prioriteten av "
"samtliga binärpaket som skapas av en I<.dsc>-fil som prioritet för "
"källkodspaketet, och överstyrningsposten för det första binärpaket som "
"listas i I<.dsc>-filen för att ersätta information från paketansvariga. "
"Detta kan komma att ändras."

#. 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<sökvägsprefix> läggs, om den anges, till i början av katalogfältet i det "
"skapade källkodsindexet. Du använder det normalt till att göra så att "
"katalogfälten innehåller sökvägen från toppen av Debianarkivhierarkin."

#. 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<Observera:> Om du vill läsa den skapade Sources-filen med B<apt>(8) måste "
"du antagligen komprimera filen med B<gzip>(1) (vilket skapar filen Sources."
"gz). apt ignorerar okomprimerade Sources-filer, förutom vid lokal åtkomst "
"(dvs. B<file://>-källor)."

#. 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 ""
"Sortera inte indexposterna. De sorteras normalt efter namn på "
"källkodspaketet."

#. type: IP
#: dpkg-scansources.1:54
#, no-wrap
msgid "B<-s>, B<--source-override> I<file>"
msgstr "B<-s>, B<--source-override> I<fil>"

#. type: Plain text
#: dpkg-scansources.1:58
msgid ""
"Use I<file> as the source override file (the file can be compressed).  The "
"default is the name of the override file you specified with I<.src> appended."
msgstr ""
"Använd I<fil> som överstyrningsfil för källkoden (filen kan vara "
"komprimerad). Standardnamnet är namnet på den överstyrningsfil du angav, med "
"tillägget 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 ""
"Källkodsöverstyrningsfilen har ett annat format än binäröverstyrningsfilen. "
"Den innehåller endast två fält avdelade med blanktecken, där det första är "
"namnet på källkodspaketet och det andra är sektionen. Tomma rader och "
"kommentarer ignoreras på vanligt sätt. Om ett paket specificeras i båda "
"filerna kommer källkodsöverstyrningsfilen först för att välja sektion."

#. 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 "Slå på felsökning."

#. 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 - skapar substvar-beroenden för delade bibliotek"

#. type: Plain text
#: dpkg-shlibdeps.1:8
msgid "B<dpkg-shlibdeps> [I<option>...] [B<-e>]I<executable> [I<option>...]"
msgstr "B<dpkg-shlibdeps> [I<flagga>...] [B<-e>]I<programfil> [I<flagga>...]"

#. type: Plain text
#: dpkg-shlibdeps.1:22
msgid ""
"B<dpkg-shlibdeps> calculates shared library dependencies for executables "
"named in its arguments. The dependencies are added to the substitution "
"variables file B<debian/substvars> as variable names B<shlibs:"
">I<dependencyfield> where I<dependencyfield> is a dependency field name. Any "
"other variables starting with B<shlibs:> are removed from the file."
msgstr ""
"B<dpkg-shlibdeps> beräknar beroenden mellan exekverbara filer som anges som "
"argument och delade bibliotek. Beroendena läggs till i "
"substitueringsvariabelfilen B<debian/substvars> som variabler med namnen "
"B<shlibs:>I<beroendefält> där I<beroendeefält> är ett beroendefältsnamn. "
"Alla andra variabler som börjar på I<shlibs:> tas bort ur filen."

#. 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> kan generera beroendeinformation från två "
"informationskällor, antingen filen I<symbols> eller filen I<shlibs>. För "
"varje binärfil som analyseras av B<dpkg-shlibdeps> tas en lista fram över "
"vilka bibliotek de är länkade mot. Programmet slår sedan upp varje bibliotek "
"i filen I<symbols>, eller i filen I<shlibs> (om den förstnämnda inte "
"existerar eller om debian/shlibs.local innehåller ett relevant beroende). ). "
"De båda filerna skall tillhandahållas av bibliotekspaketet och borde därför "
"vara tillgängliga som /var/lib/dpkg/info/I<paket>.I<symbols> eller /var/lib/"
"dpkg/info/I<paket>.I<shlibs>. Paketnamnet identifieras i två steg: "
"biblioteksfilen lokaliseras på systemet (genom att slå upp i de kataloger "
"B<ld.so> skulle använt), och därefter används B<dpkg -S> I<biblioteksfil> "
"för att slå upp vilket paket biblioteket kommer från."

#. type: SS
#: dpkg-shlibdeps.1:45
#, no-wrap
msgid "Symbols files"
msgstr "Symbolfiler"

#. 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 ""
"Symbolfiler innehåller mer finkornig beroendeinformation genom att ange det "
"minsta beroendet för varje symbol som exporteras av biblioteket. Skriptet "
"försöker hitta de symboler som är associerade med ett bibliotek på följande "
"platser (den första träffen används):"

#. 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 ""
"Information om delade bibliotek som skapats av den aktuella byggproceduren "
"som också anropade B<dpkg-shlibdeps>. De genereras av B<dpkg-gensymbols>(1). "
"De används endast om biblioteket finns i paketets byggräd. Filen symbols i "
"det byggträdet går före symbols-filer från andra binärpaket."

#. type: IP
#: dpkg-shlibdeps.1:58
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols.I<arch>"
msgstr "/etc/dpkg/symbols/I<package>.symbols.I<arkitektur>"

#. type: IP
#: dpkg-shlibdeps.1:59
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols"
msgstr "/etc/dpkg/symbols/I<paket>.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 ""
"Överstyrningsfil för beroendeinformation för delade bibliotek, per system. "
"I<arkitektur> är det aktuella systemets arkitektur (hämtas från 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 "Utdata från \\(rqB<dpkg-query --control-path> I<package> symbols\\(rq"

#. type: Plain text
#: dpkg-shlibdeps.1:66 dpkg-shlibdeps.1:100
msgid ""
"Package-provided shared library dependency information.  Unless overridden "
"by --admindir, those files are located in /var/lib/dpkg."
msgstr ""
"Paketlokal överstyrande beroendeinformation för delade bibliotek. Filerna "
"befinner sig i /var/lib/dpkg om inte överstyrt med --admindir."

#. 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 ""
"B<dpkg-shlibs> kommer ihåg den (största) minimala version som behövs av "
"varje bibliotek när den söker genom de symboler som används av alla "
"binärfilerna. När proceduren är avslutad kan den visa det minsta beroende "
"som behövs av alla bibliotek som används (så tillvida informationen i "
"I<symbols>-filerna är korrekt)."

#. 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 ""
"Som en säkerhetsåtgärd kan en symbols-fil innehålla metainformationsfältet "
"I<Build-Depends-Package>, varpå B<dpkg-shlibdeps> hämtar vilken minsta "
"version som behövs för paketet ur Build-Depends-fältet och använder denna "
"version om den är högre än den minsta version som beräknats genom att söka "
"genom symbolerna."

#. type: SS
#: dpkg-shlibdeps.1:80
#, no-wrap
msgid "Shlibs files"
msgstr "Shlibs-filer"

#. 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 ""
"Shlibs-filer associerar ett bibliotek direkt till ett beroende (utan att se "
"på symbolerna). Det är därför oftare starkare än vad som egentligen behövs, "
"men mycket säkert och enkelt att hantera."

#. 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 ""
"Beroenden för ett bibliotek slås upp på flera platser. Den första filen som "
"innehåller information om det intressanta biblioteket används:"

#. 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 "Paketlokal överstyrande beroendeinformation för delade bibliotek."

#. 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 "Systemspecifik överstyrande beroendeinformation för delade bibliotek."

#. 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 ""
"Information om delade bibliotek som skapats av den aktuella byggproceduren "
"som också anropade B<dpkg-shlibdeps>. De genereras av B<dpkg-gensymbols>(1). "
"De används bara om biblioteket finns i paketets byggträd. Filen shlibs i "
"byggträdet går före shlibs-filer från andra paket."

#. type: IP
#: dpkg-shlibdeps.1:97
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> shlibs\\(rq"
msgstr "Utdata från \\(rqB<dpkg-query --control-path> I<package> shlibs\\(rq"

#. 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 "Systemspecifik standardberoendeinformation för delade bibliotek."

#. 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 ""
"De utökade beroendena används sedan direkt (förutom om de filtrerats bort "
"för att de identifierats som dubbletter, eller svagare än ett annat "
"beroende)."

#. 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> tolkar argument som inte är flaggor som namn på körbara "
"filer, precis som om de angivits som B<-e>I<programfil>."

#. type: TP
#: dpkg-shlibdeps.1:111
#, no-wrap
msgid "B<-e>I<executable>"
msgstr "B<-e>I<programfil>"

#. type: Plain text
#: dpkg-shlibdeps.1:115
msgid ""
"Include dependencies appropriate for the shared libraries required by "
"I<executable>."
msgstr ""
"Ta med beroenden som är passar för delade bibliotek som krävs för "
"I<programfil>."

#. type: TP
#: dpkg-shlibdeps.1:115
#, no-wrap
msgid "B<-d>I<dependencyfield>"
msgstr "B<-d>I<beroendefält>"

#. 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 ""
"Lägg till beroenden som skall läggas till till control-filens beroendefält "
"I<beroendefält>. (Beroenden för detta fält läggs in i variabeln B<shlibs:"
">I<beroendefält>.)"

#. 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 ""
"Flaggan B<-d>I<beroendefält> gäller för samtliga binärer efter flaggan, fram "
"till nästa B<-d>I<beroendefält>. Standardvärdet för I<beroendefält> är "
"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 ""
"Om samma katalogpost (eller en uppsättning alternativ) förekommer i mer än "
"ett av de kända beroendefältnamnen B<Pre-Depends>, B<Depends>, "
"B<Recommends>, B<Enhances> eller B<Suggests> så kommer B<dpkg-shlibdeps> att "
"automatiskt ta bort beroendet från samtliga fält förutom det som anger de "
"viktigaste beroendena."

#. type: TP
#: dpkg-shlibdeps.1:139
#, no-wrap
msgid "B<-p>I<varnameprefix>"
msgstr "B<-p>I<variabelnamnsprefix>"

#. 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 ""
"Inled substitueringsvariabler med I<variabelnamnsprefix>B<:> i stället för "
"B<shlibs:>. På samma sätt kommer befintliga substitueringsvariabler som "
"inleds med I<variabelnamnsprefix>B<:> (i stället för B<shlibs:>) att tas "
"bort från substitueringsvariabelfilen."

#. 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 ""
"Skriv substitueringsvariabelinställningar på standard ut, i stället för att "
"försöka lägga till dem i substitueringsvariabelfilen (som standard 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 ""
"Föredra information om delade bibliotek som märkts för den givna pakettypen. "
"Om det inte finns någon märkt information används omärkt. Standardpakettypen "
"är \"deb\". Beroendeinformation för delade bibliotek märks för en given typ "
"genom att inleda det med namnet på typen, ett kolon, samt blanktecken."

#. type: TP
#: dpkg-shlibdeps.1:163
#, no-wrap
msgid "B<-L>I<localshlibsfile>"
msgstr "B<-L>I<lokal-shlibs-fil>"

#. type: Plain text
#: dpkg-shlibdeps.1:169
msgid ""
"Read overriding shared library dependency information from "
"I<localshlibsfile> instead of B<debian/shlibs.local>."
msgstr ""
"Läs överstyrande beroendeinformation om delade bibliotek från I<lokal-shlibs-"
"fil> i stället för 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 ""
"Skriv substitueringsvariabler i I<substvars-fil>; standard är 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 ""
"Aktiverar pratsamt läge. Flera meddelanden visas för att förklara vad B<dpkg-"
"shlibs> håller på med."

#. type: TP
#: dpkg-shlibdeps.1:180
#, no-wrap
msgid "B<-x>I<package>"
msgstr "B<-x>I<paket>"

#. 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 ""
"Uteslut paketet från de genererade beroendena. Flaggan är användbar för att "
"undvika självberoenden för paket som innehåller ELF-binärer (exekverbara "
"eller biblioteksinsticksprogram) som använder ett bibliotek som ligger i "
"samma paket. Flaggan kan användas flera gånger för att utesluta flera paket."

#. type: TP
#: dpkg-shlibdeps.1:187
#, no-wrap
msgid "B<-S>I<pkgbuilddir>"
msgstr "B<-S>I<paketbyggkatalog>"

#. 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 ""
"Se först i I<paketbyggkatalog> vid försök att hitta ett bibliotek. "
"Användbart när källkodspaketet bygger flera varianter av samma bibliotek och "
"du vill se till att du får beroendet från ett givet binärpaket. Flaggan kan "
"inte användas flera gånger: kataloger söks efter i samma ordning före "
"kataloger från andra binärpaket."

#. 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 ""
"Misslyckas inte om det inte upptäcks någon beroendeinformation för ett delat "
"bibliotek. Alla bibliotek bör tillhandahålla beroendeinformation (antingen "
"med shlibs-filer eller med symbols-filer), även om de ännu inte används av "
"andra paket."

#. type: TP
#: dpkg-shlibdeps.1:200
#, no-wrap
msgid "B<--warnings=>I<value>"
msgstr "B<--warnings=>I<värde>"

#. 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<Värde> är ett bitfält som anger de varningar som kan ges av B<dpkg-"
"shlibdeps>. Bit 0 (värde=1) aktiverar varningen \"symbolen I<sym>, som "
"används av I<binär>, hittades inte i något av biblioteken\", bit 1 (värde=2) "
"aktiverar varningen \"beroendet på I<bibliotekt> kunde undvikas\" och bit 2 "
"(värde=4) aktiverar varningen \"I<binär> borde inte vara länkat mot "
"I<bibliotek>\". Standard för I<värde> är 3: de första två varningarna är "
"aktiva som standard, men inte den sista. Sätt I<värde> till 7 om du vill att "
"alla varningar skall vara aktiva."

#. type: SH
#: dpkg-shlibdeps.1:222
#, no-wrap
msgid "WARNINGS"
msgstr "VARNINGAR"

#. 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 ""
"Eftersom B<dpkg-shlibdeps> analyserar mängden symboler som används av varje "
"binärfil i det genererade paketet, kan det i flera fall skriva ut "
"varningsmeddelanden. De visar på saker som kan förbättras i paketet. I de "
"flesta fall gäller förbättringarna direkt uppströmskällkoden. Här är de "
"varningar du kan stöta på, i fallande allvarlighetsgrad:"

#. 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<symbolen> I<sym>B<, som används av> I<binär>B<, hittades inte i något av biblioteken.>"

#. 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 ""
"Den omnämnda symbolen hittades inte i biblioteken som länkas mot binären. "
"I<Binär> är antagligen ett bibliotek och måste länkas mot ett annat "
"bibliotek under byggproceduren (länkarflaggan B<-l>I<bibliotek>)."

#. 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<binär> B<innehåller en referens till symbolen> I<sym> B<som inte kan kopplas; det är troligen ett insticksprogram>"

#. 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 ""
"Den angivna symbolen hittades inte i biblioteken som länkats mot binären. "
"I<Binär> är antagligen ett insticksprogram och symbolen tillhandahålls av "
"programmet som läser in det. I teorin har inte insticksprogram något SONAMN, "
"men den här binären har ett och därmed kunde det inte tydligt identifieras "
"som insticksprogram. Det faktum att binären befinner sig i en icke-offentlig "
"katalog är dock en stark indikation på att det inte är ett vanligt delat "
"bibliotek. Om binären faktiskt är ett insticksprogram kan du ignorera "
"varningen. Det är dock alltid möjligt att det är ett riktigt bibliotek och "
"att program som länker det använder en RPATH så att den dynamiska länkaren "
"hittar det. Om så är fallet är biblioteket trasigt och behöver fixas."

#. 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<Beroendet på> I<bibliotek> B<kunde undvikas om inte> I<binärer> B<meningslöst länkades mot det (de använder inga av dess symboler).>"

#. 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 ""
"Ingen av I<binärer>na som länkas mot I<bibliotek> använder någon av "
"symbolerna som tillhandahålls av biblioteket. Genom att rätta alla binärer "
"kan du undvika beroendet som gäller detta bibliotek (såvida inte samma "
"beroende även genereras av ett annat bibliotek som faktiskt används)."

#. 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<binär> B<borde inte vara länkat mot> I<bibliotek> B<(inga av symbolerna används).>"

#. 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<Binär> länkar mot ett bibliotek den inte behöver. Det är inte ett problem, "
"Men genom att inte länka biblioteket mot binären kan man uppnå en mindre "
"prestandaförbättring. Varningen kontrollerar samma information som den "
"föregående, men gör det för varje binär istället för att utföra kontrollen "
"globalt på alla analyserade binärer."

#. type: SH
#: dpkg-shlibdeps.1:262
#, no-wrap
msgid "ERRORS"
msgstr "FELMEDDELANDEN"

#. 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> kommer att misslyckas om det inte hittar ett öppet "
"bibliotek som en av binärerna använder, eller om biblioteket saknar "
"associerad beroendeinformation (antingen en shlibs-fil eller en symbols-"
"fil). Ett öppet bibliotek har ett SONAMN och är versionshanterad "
"(libvadsomhelst.so.I<X>). Ett privat bibliotek (till exempel ett "
"insticksprogram) bör inte ha något SONAMN och behöver inte vara "
"versionshanterat."

#. 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<hittade inte biblioteket> I<bibliotek-sonamn> B<som behövs för> I<binär> B<(dess RPATH är \">I<rpath>B<\")>"

#. type: Plain text
#: dpkg-shlibdeps.1:285
msgid ""
"The I<binary> uses a library called I<library-soname> but B<dpkg-shlibdeps> "
"has been unable to find the library.  B<dpkg-shlibdeps> creates a list of "
"directories to check as following: directories listed in the RPATH of the "
"binary, directories listed in /etc/ld.so.conf, directories listed in the "
"LD_LIBRARY_PATH environment variable, and standard public directories (/"
"lib, /usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those "
"directories in the package's build tree of the binary being analyzed, in the "
"packages' build trees indicated with the -S command-line option, in other "
"packages' build trees that contains a DEBIAN/shlibs or DEBIAN/symbols file "
"and finally in the root directory.  If the library is not found in any of "
"those directories, then you get this error."
msgstr ""
"I<Binär> använder ett bibliotek som heter I<bibliotek-sonamn>, men B<dpkg-"
"shlibdeps> kunde inte hitta biblioteket. B<dpkg-shlibdeps> skapar en lista "
"över kataloger det ser i på följande sätt: katalogerna som beskrivs i RPATH "
"i binären, kataloger som beskrivs i /etc/ld.so.conf, kataloger i "
"miljövariabeln LD_LIBRARY_PATH, och vanliga öppna kataloger (/lib, /usr/"
"lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Därefter ser det i motsvarande "
"kataloger i byggträdet för paketet som innehåller binären som analyseras, i "
"paketbyggträdet som anges med kommandoradsflaggan -S, i andra pakets "
"byggträd som innehåller en DEBIAN/shlibs-fil och slutligen i rotkatalogen. "
"Om biblioteket inte hittas i någon av dessa kataloger får du det här "
"felmeddelandet."

#. 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 ""
"Om biblioteket som inte hittades ligger i en privat katalog i samma paket "
"bör du lägga till katalogen i LD_LIBRARY_PATH. Om det finns i ett annat "
"binärpaket som byggs bör du se till att shlibs- eller symbols-filen för "
"paketet redan har skapats och att LD_LIBRARY_PATH innehåller korrekt katalog "
"som det också ligger i en privat katalog."

#. 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<hittade ingen beroendeinformation för> I<biblioteksfil> B<(använd av> I<binär>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 ""
"Biblioteket som behövs av I<binär> hittades i I<biblioteksfil> av B<dpkg-"
"shlibdeps>, men B<dpkg-shlibdeps> kunde inte hitta någon beroendeinformation "
"för biblioteket. För att hitta beroendet har det försökt koppla biblioteket "
"mot ett Debianpaket med hjälp av B<dpkg -S> I<biblioteksfil>. Därefter såg "
"det i motsvarande shlibs- och symbols-filer i /var/lib/dpkg/info/, samt i de "
"olika paketens byggträd (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 ""
"Det här felet kan orsakas av felaktiga eller saknade shlibs- eller symbols-"
"filer i bibliotekets paket. Det kan även inträffa om biblioteket byggts i "
"samma källkodspaket och om shlibs-filen ännu inte har skapats (då måste du "
"fixa debian/rules så att det skapar shlibs-filen innan det anropar B<dpkg-"
"shlibdeps>). Felaktig RPATH kan också leda till att biblioteket hittas under "
"ett icke-kanoniskt namn (till exempel: /usr/lib/openoffice.org/../lib/libssl."
"so.9.8 istället för /usr/lib/libssl.so.0.9.8) som inte associeras till något "
"paket, B<dpkg-shlibdeps> försöker gå runt detta genom att falla tillbaka på "
"ett kanoniskt namn (med B<realpath>(3)), men det fungerar kanske inte "
"alltid. Det är alltid bäst att städa upp RPATH i binären för att undvika "
"problem."

#. 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 ""
"Om du anropar B<dpkg-shlibdeps> i pratsamt läge (-v) kommer det ge mycket "
"mer information om var det försökte hitta beroendeinformationen. Det kan "
"vara användbart om du inte förstår varför du får felmeddelandet."

#. 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 "Upphovsrättsskyddat © 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 - Verktyg för att manipulera Debiankällkodspaket (.dsc)"

#. type: Plain text
#: dpkg-source.1:9
msgid "B<dpkg-source> [I<option>...] I<command>"
msgstr "B<dpkg-source> [I<flagga>...] I<åtgärd>"

#. type: Plain text
#: dpkg-source.1:13
msgid "B<dpkg-source> packs and unpacks Debian source archives."
msgstr "B<dpkg-source> packar och packar upp Debiankällkodsarkiv."

#. 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 ""
"Inga av dessa kommandon tillåter att flera flaggor kombineras till ett, och "
"de tillåter inte att värdet på en flagga anges som ett separat argument."

#. type: TP
#: dpkg-source.1:19
#, no-wrap
msgid "B<-x >I<filename>B<.dsc >[I<output-directory>]"
msgstr "B<-x >I<filnamn>B<.dsc >[I<utdatakatalog>]"

#. 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 ""
"Extrahera ett källkodspaket. Ett argument som inte är en flagga måste anges, "
"namnet på debiankällkodsstyrfilen (B<.dsc>). Ett valfritt andra argument som "
"inte är en flagga kan anges för att bestämma vilken katalog källkoden skall "
"packas upp i, det får inte existera. Om du inte anger någon utdatakatalog "
"extraheras källkodspaketet till en katalog som heter I<källkod>-I<version> i "
"den aktuella arbetskatalogen."

#. 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> läser namnen på de övriga filer som ingår i källkodspaketet "
"från styrfilen; de antas vara i samma katalog som B<.dsc>-filen."

#. 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 ""
"Filerna i det extraherade paketet kommer att ha behörighet och ägare satta "
"till det som kunde förväntas om filerna och katalogerna bara hade skapats - "
"kataloger och körbara filer kommer ha 0777 och enkla filer 0666, båda "
"modifierade av uppackarens umask; om föräldrakatalogen är setgid kommer de "
"extraherade katalogerna också att vara det, och samtliga filer och kataloger "
"kommer ärva dess gruppägarskap."

#. 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 ""
"Om källkoden använder ett annat format än standardformatet (gäller för "
"närvarande alla format förutom \"1.0\"), kommer dess namn att lagras som "
"B<debian/source/format> så att det används som standard när källkodspaketet "
"byggs på nytt."

#. type: TP
#: dpkg-source.1:49
#, no-wrap
msgid "B<-b> I<directory> [I<format-specific-parameters>]"
msgstr "B<-b> I<katalog> [I<formatspecifika-flaggor>]"

#. 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 ""
"Bygg ett källkodpaket. Det första argumentet som inte är en flagga tas som "
"namn på katalogen som innehåller det debianiserade källkodsträdet (dvs. med "
"underkatalogen \"debian\" och kanske ändringar på originalfilerna). Beroende "
"på vilket källkodspaketformat som används för att bygga formatet kan "
"ytterligare parametrar kanske godtas."

#. type: Plain text
#: dpkg-source.1:65
msgid ""
"B<dpkg-source> will build the source package with the first format found in "
"this ordered list: the format indicated with the I<--format> command line "
"option, the format indicated in B<debian/source/format>, \"1.0\". The "
"fallback to \"1.0\" is deprecated and will be removed at some point in the "
"future, you should always document the desired source format in B<debian/"
"source/format>. See section B<SOURCE PACKAGE FORMATS> for an extensive "
"description of the various source package formats."
msgstr ""
"B<dpkg-source> kommer bygga källkodspaketet med det första format som "
"fungerar från denna lista i denna ordning: formatet som anges med "
"kommandoradsflaggan I<--format>, formatet som anges i I<debian/source/"
"format>, \"1.0\". Standardvärdet \"1.0\" rekommenderas ej och kommer att tas "
"bort en gång i framtiden, du bör alltid dokumentera det önskade "
"källkodsformatet i B<debian/source/format>. Se avsnittet B<FORMAT PÅ "
"KÄLLKODSPAKET> för en utförlig beskrivning av de olika källkodspaketformaten."

#. type: TP
#: dpkg-source.1:66
#, no-wrap
msgid "B<--print-format> I<directory>"
msgstr "B<--print-format> 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 ""
"Visa formatet som skulle användas för att bygga källkodspaketet om B<dpkg-"
"source -b> I<katalog> skulle köras (under samma förhållanden och med samma "
"parametrar)."

#. type: TP
#: dpkg-source.1:72
#, no-wrap
msgid "B<--before-build> I<directory>"
msgstr "B<--before-build> 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 ""
"Kör motsvarande krok för källkodspaketformatet. Kroken anropas innan något "
"från paketet byggs (B<dpkg-buildpakcage> anropar det väldigt tidigt, till "
"och med före B<debian/rules clean>). Kommandot är idempotent och kan anropas "
"flera gånger. Det är inte alla källkodsformat som implementerar något i den "
"här kroken, och de som gör det förbereder oftast källkodsträdet för att "
"byggas, till exempel genom att se till att Debianpatchar har applicerats."

#. type: TP
#: dpkg-source.1:82
#, no-wrap
msgid "B<--after-build> I<directory>"
msgstr "B<--after-build> 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 ""
"Kör motsvarande krok för källkodspaketformatet. Kroken anropas efter att "
"allt från paketet byggts (B<dpkg-buildpakcage> anropar det sist). Kommandot "
"är idempotent och kan anropas flera gånger. Det är inte alla källkodsformat "
"som implementerar något i den här kroken, och de som gör det använder den "
"normalt för att återställa det som B<--before-build> har gjort."

#. type: TP
#: dpkg-source.1:90
#, no-wrap
msgid "B<--commit> [I<directory>] ..."
msgstr "B<--commit> [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 ""
"Spara ändringar i källkodsträdet som har packats upp i I<katalog>. Kommandot "
"kan ta ytterligare parametrar beroende på källkodsformatet. Ett fel kommer "
"rapporteras för format där operationen inte har någon betydelse."

#. type: SH
#: dpkg-source.1:103
#, no-wrap
msgid "GENERIC BUILD OPTIONS"
msgstr "ALLMÄNNA BYGGFLAGGOR"

#. 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 ""
"Anger huvudkällkodsstyrfil som information skall läsas från. Standardvärde "
"är B<debian/control>. Om ett relativt sökvägsnamn anges tolkas det från "
"källkodsträdets toppnivåkatalog."

#. 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 ""
"Anger ändringsloggsfil som information skall läsas från. Standardvärde är "
"B<debian/changelog>. Om ett relativt sökvägsnamn anges tolkas det från "
"källkodsträdets toppnivåkatalog."

#. type: TP
#: dpkg-source.1:123
#, no-wrap
msgid "B<--format=>I<value>"
msgstr "B<--format=>I<värde>"

#. type: Plain text
#: dpkg-source.1:127
msgid ""
"Use the given format for building the source package. It does override any "
"format given in B<debian/source/format>."
msgstr ""
"Använd det givna formatet för att bygga källkodspaketet. Det överstyr inte "
"ett eventuellt format som anges i B<debian/source/format>."

#. type: Plain text
#: dpkg-source.1:137
msgid ""
"Read substitution variables in I<substvarsfile>; the default is to not read "
"any file. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""
"Läs substitueringsvariabler från I<substvarfil>; standardvärde är att inte "
"läsa någon fil.Flaggan kan användas flera gånger för att läsa "
"substitueringsvariabler från flera filer."

#. type: TP
#: dpkg-source.1:143
#, no-wrap
msgid "B<-Z>I<compression>, B<--compression>=I<compression>"
msgstr "B<-Z>I<komprimering>, B<--compression>=I<komprimering>"

#. type: Plain text
#: dpkg-source.1:151
msgid ""
"Specify the compression to use for created files (tarballs and diffs).  Note "
"that this option will not cause existing tarballs to be recompressed, it "
"only affects new files. Supported values are: I<gzip>, I<bzip2>, I<lzma> and "
"I<xz>.  I<gzip> is the default. I<xz> is only supported since dpkg-dev "
"1.15.5."
msgstr ""
"Anger vilken komprimering som skall användas för de skapade filerna (tar-"
"bollar och diffar). Observera att flaggan inte gör att befintliga tar-bollar "
"packas om, utan enbart påverkar nya filer. Värden som stöds är: I<gzip>, "
"I<bzip2>, I<lzma> samt I<xz>. I<gzip> är förvalet. Stöd för I<xz> finns bara "
"från och med dpkg-dev 1.15.5."

#. type: TP
#: dpkg-source.1:151
#, no-wrap
msgid "B<-z>I<level>, B<--compression-level>=I<level>"
msgstr "B<-z>I<nivå>, B<--compression-level>=I<nivå>"

#. type: Plain text
#: dpkg-source.1:157
msgid ""
"Compression level to use. As with B<-Z> it only affects newly created files. "
"Supported values are: I<1> to I<9>, I<best>, and I<fast>.  The default is "
"I<9> for gzip and bzip2, I<6> for xz and lzma."
msgstr ""
"Komprimeringsnivå att använda. Som med B<-Z> påverkas bara filer som "
"nyskapas. Värden som stöds är: I<1> till I<9>, I<best> (bäst) och I<fast> "
"(snabb). I<9> är förval för gzip och bzip2, I<6> för xz och lzma."

#. type: TP
#: dpkg-source.1:157
#, no-wrap
msgid "B<-i>[I<regexp>], B<--diff-ignore>[=I<regexp>]"
msgstr "B<-i>[I<reg.uttr>], B<--diff-ignore>[=I<reg.uttr>]"

#. 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 ""
"Du kan ange ett reguljärt uttryck i perlformat för att matcha filer som du "
"vill skall filtreras ut ur listan över filer för diffen. (Listan skapas av "
"ett find-kommando.) (Om källkodspaketet byggs som ett version 3-paket med "
"ett VCS kan detta användas för att ignorera ändringar som inte har checkats "
"in på de angivna filerna. -i.* kommer att ignorera samtliga.) B<-i> ensamt "
"aktiverar funktionen, med ett standardvärde som filtrerar ut styrfiler och "
"kataloger från de flesta vanliga versionshanteringssystem, säkerhetskopior, "
"växlingsfiler och Libtool-byggutdatakataloger. Endast ett reguljärt kan vara "
"aktivt, om du anger flera B<-i>-flaggor är det den sista på kommandoraden "
"som gäller."

#. 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 ""
"Flaggan är mycket användbar för att utesluta extrafiler som kommer med i "
"diffen, t.ex om du underhåller din källkod i ett versionshanteringssystem "
"och vill använda en utcheckning för att bygga ett källkodspaket utan att ta "
"med de ytterligare filer och det normalt innehåller (t.ex CVS/, .cvsignore, ."
"svn/). Det förvalda reguljära uttrycket täcker redan in många av dessa, men "
"om du ändrar det, kom ihåg att det som standard kan träffa alla delar av "
"filnamnet. Så, om du träffa bara början av ett filnamn eller hela filnamn "
"måste du själv lägga till de förankringar som är nödvändiga (t.ex '(^|/)', "
"'($|/)')."

#. type: TP
#: dpkg-source.1:179
#, no-wrap
msgid "B<--extend-diff-ignore>=I<regexp>"
msgstr "B<--extend-diff-ignore>=I<reg.uttr>"

#. 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 ""
"Det reguljära uttrycket i perlformat som angavs utökar standardvärdet för "
"B<--diff-ignore> och dess nuvarande värde (om satt). Det gör så genom att "
"lägga till \"B<|>I<reg.uttry>\" efter standarduttrycket. Flaggan är nyttig "
"för B<debian/source/options> för att exkludera en del automatiskt genererade "
"filer från skapandet av automatiska patchar."

#. type: TP
#: dpkg-source.1:186
#, no-wrap
msgid "B<-I>[I<file-pattern>], B<--tar-ignore>[=I<file-pattern>]"
msgstr "B<-I>[I<filmönster>], B<--tar-ignore>[=I<filmönster>]"

#. 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 ""
"Om flaggan anges kommer filnamnet att sändas vidare till B<tar>(1):s --"
"exclude-flagga när det anropas för att skapa en .orig.tar.gz eller .tar.gz-"
"fil. Till exempel kommer -ICVS att hoppa över CVS-kataloger när tar.gz-filen "
"skapas. Flaggan kan upprepas flera gånger för att lista flera filnamn som "
"skall uteslutas."

#. 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 ""
"B<-i> ensamt aktiverar funktionen, med ett standardvärde som filtrerar ut "
"styrfiler och kataloger från de flesta vanliga versionshanteringssystem, "
"säkerhetskopior, växlingsfiler och Libtool-byggutdatakataloger."

#. 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<Observera:> Även om de används till liknande ändamål, så har B<-i> och B<-"
"I> väldigt olika syntax och semantik. B<-i> kan endast anges en gång och tar "
"ett perl-kompatibelt reguljärt uttryck, vilket matchas mot den kompletta "
"relativa sökvägen för varje fil. B<-I> kan anges flera gånger och tar ett "
"filnamnssökmänster med skaljokertecken. Mönstret matchas mot den kompletta "
"relativa sökvägen, men även individuellt mot varje komponent i sökvägen. Den "
"exakta semantiken för tar:s --exclude-flagga är något komplicerad, se http://"
"www.gnu.org/software/tar/manual/tar.html#wildcards för fullständig "
"dokumentation."

#. 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 ""
"Förvalt reguljärt uttryck och sökmönster för de bägge flaggorna kan ses i "
"utdata för B<--help>-kommandot."

#. type: SH
#: dpkg-source.1:215
#, no-wrap
msgid "GENERIC EXTRACT OPTIONS"
msgstr "ALLMÄNNA UPPACKNINGSFLAGGOR"

#. 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 ""
"Kopiera inte original-tarbollar i närheten av det uppackade källkodspaketet."

#. 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 "Kontrollera inte signaturer och kontrollsummor före uppackning."

#. 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 ""
"Vägra packa upp källkodspaketet om det inte innehåller en OpenPGP-signatur "
"som kan verifieras antingen med användarens I<trustedkeys.gpg>-nyckelring, "
"en av de säljarspecifka nyckelringarna, eller en av de officiella "
"Debiannyckelringarna (I</usr/share/keyrings/debian-keyring.gpg> och I</usr/"
"share/keyrings/debian-maintainers.gpg>)."

#. type: SH
#: dpkg-source.1:231
#, no-wrap
msgid "SOURCE PACKAGE FORMATS"
msgstr "FORMAT PÅ KÄLLKODSPAKET"

#. 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 ""
"Om du inte vet vilket källkodspaketformat du skall använda, bör du "
"antagligen välja antingen \"3.0 (quilt)\" eller \"3.0 (native)\". Se http://"
"wiki.debian.org/Projects/DebSrc3.0 för information om hur dessa format sätts "
"i produktion i Debian."

#. 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 ""
"Ett källkodspaket i detta format består antingen av en B<.orig.tar.gz>, "
"förbunden med en B<.diff.gz>, eller en ensam B<.tar.gz> (i så fall anses "
"paketet vara I<eget>, \"I<native>\")."

#. type: Plain text
#: dpkg-source.1:243 dpkg-source.1:411 dpkg-source.1:586 dpkg-source.1:625
msgid "B<Extracting>"
msgstr "B<Uppackning>"

#. 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 ""
"Att packa upp ett Debianeget paket innebär att packa upp den ensamma "
"tarbollen i målkatalogen. Att packa upp ett icke-eget paket innebär att "
"först packa upp I<.orig.tar.gz>-filen och sedan genom att tillämpa patchen "
"som finns i B<.diff.gz>-filen. Tidsstämplarna för alla filer nollställs till "
"den tidpunkt då källkodspaketet extraherades (vilket undviker "
"tidsstämpelförskjutningar som kunde leda till problem när autogenererade "
"filer patchas). Diffen kan skapa nya filer (hela debian-katalogen skapas på "
"det sättet), men kan inte ta bort filer (tomma filer kommer lämnas kvar)."

#. type: Plain text
#: dpkg-source.1:255 dpkg-source.1:439 dpkg-source.1:597 dpkg-source.1:630
msgid "B<Building>"
msgstr "B<Bygga>"

#. 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 ""
"Att bygga ett Debianeget paket innebär bara att skapa en ensam tarboll med "
"källkodskatalogen. Att bygga ett icke-eget paket innefattar att extrahera "
"original-tarbollen i en separat \".orig\"-katalog och skapa B<.diff.gz>-"
"filen på nytt genom att jämföra källkodspaketets I<katalog> med .orig-"
"katalogen."

#. type: TP
#: dpkg-source.1:262
#, no-wrap
msgid "B<Build options (with -b):>"
msgstr "B<Byggflaggor (med -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 ""
"Om ett andra argument som inte är en flagga anges skall det vara namnet på "
"originalkällkodskatalogen eller -tarfilen eller den tomma strängen om "
"paketet är Debianspecifikt och därför inte har några Debianiserings-diffar. "
"Om inget andra argument anges kommer B<dpkg-source> att leta efter "
"originalkällkodstarfilen I<paket>B<_>I<uppströmsversion>B<.orig.tar.gz> "
"eller originalkällkodskatalogen I<paket>B<.orig> beroende på B<-sX>-"
"flaggorna."

#. 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> och B<-sr> skriver inte över befintliga tar-"
"filer och kataloger. Om det önskas bör  B<-sA>, B<-sP>, B<-sK>, B<-sU> och "
"B<-sR> anges i stället."

#. 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 ""
"Anger att den ursprungliga källkoden är en tar-fil, som standard "
"I<paket>B<_>I<uppströmsversion>B<.orig.tar.>I<filändelse>. Den kommer låta "
"originalkällkodsfilen ligga kvar som en tarfil, eller kopiera den till den "
"aktuella katalogen om den inte redan är där. Tarbollen kommer att packas upp "
"i I<katalog>B<.orig> för att generera diffen."

#. 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 "Som B<-sk>, men tar bort katalogen igen efteråt."

#. 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 ""
"Anger att originalkällkoden är en katalog, som standard I<paket>B<-"
">I<uppströmsversion>B<.orig> och att B<dpkg-source> skall skapa ett nytt "
"originalkällkodsarkiv från den."

#. 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 "Som B<-su>, men tar bort katalogen när den har använts."

#. 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 ""
"Anger att originalkällkoden finns både som en katalog och en tar-fil. "
"Katalogen kommer att användas av dpkg-source för att skapa diffen, men "
"tarfilen för att skapa B<.dsc>-filen. Flaggan måste användas med tillförsikt "
"- om katalogen och tarfilen inte stämmer överens kommer ett trasigt "
"källkodsarkiv att skapas."

#. 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 ""
"Anger att dpkg-source inte skall leta efter något källkodsarkiv och att "
"ingen diff skall skapas. Det andra argumentet, om det anges, måste vara den "
"tomma strängen. Flaggan används för Debianspecifika paket som inte har en "
"separat uppströmskällkod och därför inte har någon debianiseringsdiff."

#. type: TP
#: dpkg-source.1:322
#, no-wrap
msgid "B<-sa> or B<-sA>"
msgstr "B<-sa> eller 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 ""
"Anger att originalkällkoden finns som en katalog eller en tarfil - det andra "
"argumentet, om det anges, kan vara det ena eller det andra, eller den tomma "
"strängen (motsvarar att använda B<-sn>). Om en tarfil hittas kommer "
"programmet att packa upp den för att skapa en diff och ta bort den efteråt "
"(motsvarar B<-sp>). Om en katalog hittas kommer den att packas för att skapa "
"originalkällkoden och ta bort den efteråt (motsvarar B<-sn>). Om båda hittas "
"kommer B<dpkg-source> att ignorera katalogen, och skriva över den om B<-sA> "
"angavs (detta motsvarar B<-sP>) eller ge ett felmeddelande om B<-sa> angavs. "
"B<-sA> är standard."

#. type: TP
#: dpkg-source.1:348 dpkg-source.1:541
#, no-wrap
msgid "B<--abort-on-upstream-changes>"
msgstr "B<--abort-on-upstream-changes>"

#. 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 ""
"Processen misslyckas om den genererade diffen innehåller ändringar av filer "
"utanför underkatalogen debian. Den här flaggan tillåts inte i B<debian/"
"source/options>, men kan användas i B<debian/source/local-options>."

#. type: TP
#: dpkg-source.1:355
#, no-wrap
msgid "B<Extract options (with -x):>"
msgstr "B<Extraheringsflaggor (med -x):>"

#. type: Plain text
#: dpkg-source.1:359
msgid "In all cases any existing original source tree will be removed."
msgstr "Oavsett kommer ett befintligt källkodsträd att tas bort."

#. 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 ""
"Används när originalkällkoden som extraheras (om sådan finns) skall lämnas "
"kvar som en tarfil. Om den inte redan finns i den aktuella katalogen, eller "
"om en befintlig men annan fil finns där, kommer den att kopieras dit. "
"(B<Detta är standard.>)"

#. type: Plain text
#: dpkg-source.1:368
msgid "Unpacks the original source tree."
msgstr "Packar upp originalkällkodsträdet."

#. 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 ""
"Försäkrar att originalkällkoden varken kopieras till en aktuella katalogen "
"eller packas upp. Eventuella originalkällkodsträd som finns i den aktuella "
"katalogen tas fortfarande bort."

#. 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 ""
"Alla B<-s>I<X>-flaggor är ömsesidigt uteslutande. Om du anger mer än en "
"kommer endast den sista att användas."

#. 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 "Hoppas över att tillämpa debian-diffen ovanpå uppströmskällkoden."

#. 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 ""
"Även känt som wig&pen. Detta format rekommenderas inte för allmän "
"användning, formatet \"3.0 (quilt)\" ersätter det. Wig&pen var den första "
"specifikationen av en ny generation av källkodspaketformat."

#. 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 ""
"Beteendet för detta format är detsamma som för \"3.0 (quilt)\"-formatet, "
"förutom att det inte använder en explicit förteckning patchar. Alla filer i "
"B<debian/patches/> som motsvarar det Perl-reguljära uttrycket B<[\\ew-]+> "
"måste vara giltiga patchar: de appliceras när paketet packas upp."

#. 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 ""
"När du bygger ett nytt källkodspaket kommer eventuella ändringar på "
"uppströmskällkoden att lagras i en patch som kallas B<zz_debian-diff-auto>."

#. type: SS
#: dpkg-source.1:395
#, no-wrap
msgid "Format: 3.0 (native)"
msgstr "Format: 3.0 (eget)"

#. 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 ""
"Detta format är en utökning av det egna paketformatet som anges av 1.0-"
"formatet. Det stöder alla komprimeringsmetoder och kommer att som standard "
"ignorera alla VCS-specifika filer och kataloger, samt många temporärfiler "
"(se standardvärdet som är knutet till flaggan B<-i> i texten för 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
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 ""
"Ett källkodspaket i detta format innehåller åtminstone en original-tarboll "
"(B<.orig.tar.>I<ext>, där I<ext> kan vara B<gz>, B<bz2>, B<lzma> eller "
"B<xz>) och en Debiantarboll (B<.debian.tar.>I<ext>). Den kan även innehålla "
"ytterligare original-tarbollar (B<.orig->I<komponent>B<.tar.>I<ext>). "
"I<komponent> kan endast innehålla alfanumeriska tecken och bindestreck (\"-"
"\")."

#. 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 ""
"Huvud-originaltarbollen packas upp först, därefter packas alla ytterligare "
"originaltarbollar upp i underkataloger med namn efter I<komponent>-delen i "
"sitt filnamn (eventuella redan befintliga kataloger ersätts). Debian-"
"tarbollen packas sedan upp ovanpå källkodskatalogen efter att en redan "
"befintlig B<debian>-katalog har tagits bort först. Observera att debian-"
"tarbollen måste bestå av en B<debian>-underkatalog, men att den även kan "
"innehålla binärfiler utanför den katalogen (se flaggan 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 ""
"Alla patchar listade i B<debian/patches/debian.series> eller B<debian/"
"patches/series> tillämpas sedan. Om den förstnämnda filen används och den "
"sistnämnda inte existerar (eller är en symbolisk länk), kommer den senare "
"att ersättas av en symbolisk länk till den första. Tanken är att göra det "
"enklare att använda quilt till att hantera patchuppsättningen. Observera "
"att, även om B<dpkg-source> korrekt tolkar series-filer som använder "
"explicita flaggor till patch-programmet (lagrade på kommandoraden efter "
"patch-filnamnet och ett eller flera blanksteg), så ignoreras dessa flaggor "
"och det förväntar sig att patchar kan tillämpas med flaggan B<-p1> till "
"B<patch>. Det kommer därför visa en varning sådana flaggor upptäcks, och "
"bygget kommer troligen att misslyckas."

#. type: Plain text
#: dpkg-source.1:434
msgid ""
"Similarly to quilt's default behaviour, the patches can remove files too."
msgstr ""
"Patchar kan även ta bort filer, på ungfär samma sätt som quilt normalt "
"fungerar."

#. type: Plain text
#: dpkg-source.1:437
msgid ""
"The file B<.pc/applied-patches> is created if some patches have been applied "
"during the extraction."
msgstr ""
"Filen B<.pc/applied-patchers> skapas om patchar tillämpades vid uppackningen."

#. type: Plain text
#: dpkg-source.1:451
msgid ""
"All original tarballs found in the current directory are extracted in a "
"temporary directory by following the same logic as for the unpack, the "
"debian directory is copied over in the temporary directory, and all patches "
"except the automatic patch (B<debian-changes->I<version> or B<debian-"
"changes>, depending on B<--single-debian-patch>) are applied. The temporary "
"directory is compared to the source package directory. When the diff is non-"
"empty, the build fails unless B<--single-debian-patch> or B<--auto-commit> "
"has been used, in which case the diff is stored in the automatic patch.  If "
"the automatic patch is created/deleted, it's added/removed from the series "
"file and from the quilt metadata."
msgstr ""
"Alla original-tarbollar som finns i den aktuella katalogen packas upp i en "
"temporär katalog med samma logik som i uppackningen, debian-katalogen "
"kopieras över i den temporära katalogen och alla patchar, förutom den "
"automatiska patchen (B<debian-changes>I<version> eller B<debian-changes>, "
"beroende på B<--single-debian-patch>) tillämpas. Temporärkatalogen jämförs "
"därefter mot källkodskatalogen. Om diffen inte är tom misslyckas bygget, "
"såvida inte B<--single-debian-patch> eller B<--auto-commit> använts, i "
"vilket fall diffen lagras i den automatiska patchen. Om den automatiska "
"patchen skapas/tas bort, läggs den till/tas bort från series-filen och från "
"quilt-metadata."

#. type: Plain text
#: dpkg-source.1:459
msgid ""
"Any change on a binary file is not representable in a diff and will thus "
"lead to a failure unless the maintainer deliberately decided to include that "
"modified binary file in the debian tarball (by listing it in B<debian/source/"
"include-binaries>). The build will also fail if it finds binary files in the "
"debian sub-directory unless they have been whitelisted through B<debian/"
"source/include-binaries>."
msgstr ""
"Eventuella ändringar på binärfiler kan inte representeras i en diff och "
"kommer därmed att leda till ett felmeddelande, såvida inte paketansvariga "
"medvetet väljer att inkludera den modifierade binärfilen i debian-tarbollen "
"(genom att lista den i B<debian/source/include-binaries>). Byggningen kommer "
"även att misslyckas om binärfiler upptäcks i debian-underkatalogen, såvida "
"de inte har vitlistats i 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 ""
"Den uppdaterade debiankatalogen, och listan över modifierade binärer, "
"används sedan för att skapa debian-tarbollen."

#. 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 ""
"Den automatiskt genererade diff-filen innehåller inte ändringar för VCS-"
"specifika filer eller för många temporära filer (se standardvärdet som är "
"knutet till flaggan B<-i> i texten för B<--help>). Detta gäller speciellt "
"katalogen B<.pc> som används av quilt, katalogen kommer att ignoreras när "
"den automatiska patchen skapas."

#. type: Plain text
#: dpkg-source.1:477
msgid ""
"Note: B<dpkg-source> B<--before-build> (and B<-b>) will ensure that all "
"patches listed in the series file are applied so that a package build always "
"has all patches applied. It does this by finding unapplied patches (they are "
"listed in the B<series> file but not in B<.pc/applied-patches>), and if the "
"first patch in that set can be applied without errors, it will apply them "
"all. The option B<--no-preparation> can be used to disable this behavior."
msgstr ""
"Observera: B<dpkg-source> B<--before-build> (och B<-b>) ser till att alla  "
"patchar som anges i seriefilen tillämpas så att paketbygget alltid har alla "
"patchar tillämpade. Detta görs genom att hitta alla icke-tillämpade patchar "
"(som anges i filen B<series> men inte i B<.pc/applied-patches>), och om den "
"första patchen i listan kan tillämpas utan fel kommer samtliga att "
"tillämpas. Flaggan B<--no-preparation> kan användas för att slå av detta "
"beteende."

#. type: Plain text
#: dpkg-source.1:480
msgid "B<Recording changes>"
msgstr "B<Lagra ändringar>"

#. type: TP
#: dpkg-source.1:480
#, no-wrap
msgid "B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]"
msgstr "B<--commit> [I<katalog>] [I<patchnamn>] [I<patch-fil>]"

#. 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 ""
"Skapar en patch som motsvarar de lokala ändringar som inte hanteras av quilt-"
"patch-systemet och integrerar dem i patch-systemet under namnet "
"I<patchnamn>. Om namnet saknas kommer programmet be om ett interaktivt. Om "
"I<patch-fil> anges används den som patch som motsvarar de lokala ändringar "
"som skall integreras. Detta är oftast användbart efter ett misslyckat bygge "
"som skapat filen på förhand. När patchen är integrerad startas ett "
"redigeringsprogram så att du kan ange metainformationen i patchhuvudet."

#. type: Plain text
#: dpkg-source.1:493 dpkg-source.1:567 dpkg-source.1:606
msgid "B<Build options>"
msgstr "B<Byggflaggor>"

#. type: TP
#: dpkg-source.1:493
#, no-wrap
msgid "B<--allow-version-of-quilt-db=>I<version>"
msgstr "B<--allow-version-of-quilt-db=>I<version>"

# type: Plain text
#. type: Plain text
#: dpkg-source.1:501
msgid ""
"Allow B<dpkg-source> to build the source package if the version of the quilt "
"metadata is the one specified, even if B<dpkg-source> doesn't know about it. "
"Effectively this says that the given version of the quilt metadata is "
"compatible with the version 2 that B<dpkg-source> currently supports. The "
"version of the quilt metadata is stored in B<.pc/.version>."
msgstr ""
"Tillåt B<dpkg-source> att bygga källkodspaketet om versionen av quilt-"
"metadata är den som angavs, även om B<dpkg-source> inte känner till den. Det "
"betyder att den givna versionen av quilt-metadata är kompatibel med version "
"2 som B<dpkg-source> för närvarande stöder. Versionen av quilt-metadata "
"lagras i B<.pc/.version>."

#. 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 ""
"Ignorera inte borttagna filer och ta med dem i den automatiskt genererade "
"patchen."

#. 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 "Ta med tidsstämpel i den automatiskt genererade patchen."

#. 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 ""
"Lägg till alla modifierade binärer i debian-tarbollen. Lägg även till dem i "
"B<debian/source/include-binaries>: de kommer att läggas till som standard i "
"följande byggen och du behöver inte längre ange den här flaggan."

#. 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 ""
"Försök inte att förbereda byggträdet genom att tillämpa patchar som inte "
"verkar ha tillämpas för närvarande."

#. type: TP
#: dpkg-source.1:517
#, no-wrap
msgid "B<--single-debian-patch>"
msgstr "B<--single-debian-patch>"

# type: Plain text
#. 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 ""
"Använd B<debian/patches/debian-changes> istället för B<debian/patches/debian-"
"changes->I<version> som namn på den automatiska patch som genereras vid "
"bygget. Denna flagga är speciellt nyttig när paketet hanteras i ett "
"versionshanteringssystem och en patch inte kan skapas på ett pålitligt sätt. "
"Den aktuella diffen mot uppströms lagras istället i en ensam patch. Flaggan "
"bör anges i B<debian/source/local-options> och följs av filen B<debian/"
"source/local-patch-header> som beskricer hur Debianändringarna bäst kan ses, "
"till exempel i det versionshanteringssystem som används."

#. type: TP
#: dpkg-source.1:528
#, no-wrap
msgid "B<--create-empty-orig>"
msgstr "B<--create-empty-orig>"

#. 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 ""
"Skapa huvud-originaltarbollen som tom automatiskt om den saknas och om det "
"finns supplement-originaltarbollar. Flaggan är tänkt att användas när "
"källkodspaketet bara är en samling av flera uppströmsprogram och där det "
"inte finns något \"huvud\"-program."

#. type: TP
#: dpkg-source.1:534
#, no-wrap
msgid "B<--unapply-patches>"
msgstr "B<--unapply-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 ""
"Ta bort patchar i kroken B<--after-build>. Du behöver oftast inte ange "
"flaggan eftersom dpkg-source automatiskt tar bort patchar om de tillämpades "
"i B<--before-build>. Flaggan tillåts endast i B<debian/source/local-options> "
"så att alla genererade källkodspaket som standard har samma beteende."

#. 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 ""
"Processen misslyckas om en automatisk patch har genererats. Flaggan kan "
"användas för att se till att alla ändringar har lagrats undan korrekt i "
"separata quilt-patchar innan källkodspaketet byggts. Flaggan tillåts inte i "
"B<debian/source/options>, men kan användas i B<debian/source/local-options>."

#. type: TP
#: dpkg-source.1:548
#, no-wrap
msgid "B<--auto-commit>"
msgstr "B<--auto-commit>"

#. 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 ""
"Processen misslyckas inte om en automatisk patch har skapats, den läggs "
"istället direkt in i quilt-serien."

#. type: Plain text
#: dpkg-source.1:555
msgid "B<Extract options>"
msgstr "B<Extraheringsflaggor>"

#. type: Plain text
#: dpkg-source.1:558
msgid "Skips extraction of the debian tarball on top of the upstream sources."
msgstr "Hoppas över att packa upp debian-tarbollen ovanpå uppströmskällkoden."

#. 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 "Applicera inte patchar i slutet av uppackningen."

#. type: SS
#: dpkg-source.1:562
#, no-wrap
msgid "Format: 3.0 (custom)"
msgstr "Format: 3.0 (skräddarsytt)"

#. type: Plain text
#: dpkg-source.1:565
msgid ""
"This format is special. It doesn't represent a real source package format "
"but can be used to create source packages with arbitrary files."
msgstr ""
"Detta formatet är speciellt. Det anger inte ett riktigt källkodspaketformat, "
"utan kan användas för att skapa källkodspaket med godtyckliga filer."

#. 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 ""
"Alla argument som inte är flaggor tas som filer som skall integreras i det "
"skapade källkodspaketet. De måste finnas, och helst i aktuell katalog. "
"Åtminstone en fil måste anges."

#. type: TP
#: dpkg-source.1:571
#, no-wrap
msgid "B<--target-format=>I<value>"
msgstr "B<--target-format=>I<värde>"

#. 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<Krävs>. Anger det riktiga formatet på det genererade källkodspaketet. Den "
"skapade .dsc-filen kommer innehålla detta värde i sitt I<Format>-fält och "
"inte \"3.0 (custom)\"."

#. type: SS
#: dpkg-source.1:577
#, no-wrap
msgid "Format: 3.0 (git)"
msgstr "Format: 3.0 (git)"

#. type: Plain text
#: dpkg-source.1:579
msgid "This format is experimental."
msgstr "Formatet är experimentellt."

#. 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 ""
"Ett källkodspaket i detta format består av en ensam \"bundle\" från ett git-"
"arkiv B<.git>, vilket innehåller paketets källkod. Filen B<.gitshallow>, som "
"innehåller revisioner för grunda git-kloner, kan även förekomma."

#. 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 ""
"\"Bundle\":n klonas som ett git-arkiv till målkatalogen. Om filen gitshallow "
"finns installeras den som \".git/shallow\" i det klonade git-arkivet."

#. 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 ""
"Observera att det nya arkivet som standard kommer att ha samma gren "
"utcheckad som den som var utcheckad i det ursprungliga källkodsträdet. "
"(Typiskt \"master\", men kan vara vad som helst.) Eventuella andra grenar "
"kommer också att vara tillgängliga, under \"remotes/origin/\"."

#. 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 ""
"Innan uppackningen fortsätter kommer en del tester att utföras för att se "
"till att vi inte har några ej ignorerade ej incheckade ändringar."

#. 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 ""
"B<git-bundle>(1) används för att generera en \"bundle\" från git-arkivet. "
"Som standard tas alla grenar och taggar i arkivet med i \"bundle\":n."

#. type: TP
#: dpkg-source.1:606
#, no-wrap
msgid "B<--git-ref=>I<ref>"
msgstr "B<--git-ref=>I<ref>"

#. 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 ""
"Gör det möjligt att ange en git-referens som skall tas med i \"bundle\":n. "
"Om den anges överstyr den standardbeteendet som är att ta med alla grenar "
"och taggar. Kan anges flera gånger. I<ref> kan vara namnet på en gren eller "
"tagg som skall tas med. Den kan även vara vilken som helst annan parameter "
"som kan sändas med till B<git-rev-list>(1). För att, till exempel, endast ta "
"med grenen \"master\", angänd --git-ref=master. För att ta med alla taggar "
"och grenar, förutom grenen private, använd --git-ref=--all --git-ref=^private"

#. type: TP
#: dpkg-source.1:616
#, no-wrap
msgid "B<--git-depth=>I<number>"
msgstr "B<--git-depth=>I<antal>"

#. type: Plain text
#: dpkg-source.1:620
msgid ""
"Creates a shallow clone with a history truncated to the specified number of "
"revisions."
msgstr ""
"Skapar en grund klon med en historik som är avhuggen vid det angivna antalet "
"revisioner."

#. type: SS
#: dpkg-source.1:620
#, no-wrap
msgid "Format: 3.0 (bzr)"
msgstr "Format: 3.0 (bzr)"

#. type: Plain text
#: dpkg-source.1:623
msgid ""
"This format is experimental. It generates a single tarball containing the "
"bzr repository."
msgstr ""
"Detta format är experimentellt. Det genererar en ensam tarboll som "
"innehåller bzr-arkivet."

#. type: Plain text
#: dpkg-source.1:628
msgid ""
"The tarball is unpacked and then bzr is used to checkout the current branch."
msgstr ""
"Tarbollen packas upp och bzr används sedan för att hämta ut den aktuella "
"grenen."

#. 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 ""
"De VCS-specifika delarna av källkodskatalogen kommer därefter att kopieras "
"över till en temporär katalog. Innan den temporära katalogen packas i en "
"tarboll utförs viss städning för att spara plats."

#. type: SH
#: dpkg-source.1:637
#, no-wrap
msgid "WARNINGS AND ERRORS"
msgstr "VARNINGAR OCH FELMEDDELANDEN"

#. type: SS
#: dpkg-source.1:638
#, no-wrap
msgid "no source format specified in debian/source/format"
msgstr "källkodsformat ej angivet i debian/source/format"

#. 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 ""
"Filen B<debian/source/format> bör alltid finnas och ange det önskade "
"källkodsformatet. För bakåtkompatibilitet antar formatet \"1.0\" om filen "
"inte finns, men du bör inte förlita dig på detta: vid någon punkt i "
"framtiden kommer dpkg-source att justeras så att det misslyckas om filen "
"inte finns."

#. 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 ""
"Resonemanget bakom detta är att formatet \"1.0\" inte längre är det "
"rekommenderade formatet, du bör normalt välja ett av de nyare formaten "
"(\"3.0 (quilt)\", \"3.0 (native)\"), men B<dpkg-source> gör inte detta "
"automatiskt åt dig. Om du vill fortsätta använda det gamla formatet bör du "
"ange det explicit genom att skriva \"1.0\" i B<debian/source/format>."

#. type: SS
#: dpkg-source.1:650
#, no-wrap
msgid "the diff modifies the following upstream files"
msgstr "diffen modifierar följande uppströmsfiler"

#. 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 ""
"När du använder källkodsformatet \"1.0\" är det oftast inte någon bra idé "
"att modifiera uppströmsfiler direkt eftersom ändringarna döljs och i "
"huvudsak är odokumenterade i diff.gz-filen. Du bör istället spara dina "
"ändringar som patchar i debian-katalogen och applicera dem när paketet skall "
"byggas. För att undvika den här komplexiteten kan du även använda formatet "
"\"3.0 (quilt)\" som låter dig göra det här automatiskt."

#. type: SS
#: dpkg-source.1:657
#, no-wrap
msgid "cannot represent change to I<file>"
msgstr "kan inte representera ändringen för I<fil>"

#. 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 ""
"Ändringar på uppströmsfiler sparas normalt som patchfiler, men inte alla "
"ändringar kan representeras med patchar: de kan endast ändra innehållet i "
"vanliga textfiler. Om du försöker ersätta en fil med något som har en annan "
"typ (till exempel ersätta en vanlig fil med en symbolisk länk eller en "
"katalog) får du det här felmeddelandet."

#. type: SS
#: dpkg-source.1:663
#, no-wrap
msgid "newly created empty file I<file> will not be represented in diff"
msgstr "den tomma filen I<fil> som just skapats kommer inte representeras i diffen"

#. 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 ""
"Tomma filer kan inte skapas med patchfiler. Ändringen kommer därmed inte att "
"sparas i källkodspaketet och du får en varning om det."

#. type: SS
#: dpkg-source.1:666
#, no-wrap
msgid "executable mode I<perms> of I<file> will not be represented in diff"
msgstr "exekveringsläge I<läge> på I<fil> kommer inte representeras i diffen"

#. type: SS
#: dpkg-source.1:667
#, no-wrap
msgid "special mode I<perms> of I<file> will not be represented in diff"
msgstr "specialläget I<läge> på I<fil> kommer inte representeras i diffen"

#. 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 ""
"Patchfiler beskriver inte läget på filer och ändrade lägen sparas inte i "
"källkodspaketet. Den här varningen påminner dig om detta."

#. type: SH
#: dpkg-source.1:671
#, no-wrap
msgid "FILE FORMATS"
msgstr "FILFORMAT"

#. 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 ""
"Filen innehåller på en ensam rad det format som skall användas för att bygga "
"källkodspaketet (möjliga format beskrivs ovan). Varken ledande eller "
"avslutande blanksteg tillåts."

#. 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 ""
"Filen innehåller en förteckning över binärfiler (en per rad) som skall tas "
"med i debian-tarbollen. Inledande och avslutande blanksteg tas bort. Rader "
"som börjar med \"#\" är kommentarer och hoppas över. Tomma rader ignoreras."

#. type: SS
#: dpkg-source.1:680
#, no-wrap
msgid "debian/source/options"
msgstr "debian/source/options"

#. 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 ""
"Filen innehåller en lista över långa flaggor som automatiskt sätts in före "
"kommandoradsflaggorna som anges i ett anrop til B<dpkg-source -b> eller "
"B<dpkg-source --print-format>. Flaggor som B<--compression> och B<--"
"compression-level> är passande att lägga in i den  här filen."

#. 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 ""
"Ange varje flagga på en egen rad. Tomma rader och rader som börjar med \"#\" "
"ignoreras. Inledande \"--\" skall tas bort och korta flaggor är inte "
"tillåtna. Blanksteg tillåts runt \"=\"-tecknet och citattecken tillåts runt "
"värdet. Här är ett exempel på en sådan fil:"

#. 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 ""
"  # låt dpkg-source skapa en debian.tar.bz2 med maximal komprimering\n"
"  compression = \"bzip2\"\n"
"  compression-level = 9\n"
"  # använd debian/patches/debian-changes som en automatisk patch\n"
"  single-debian-patch\n"
"  # ignorera ändringar i config.{sub,guess}\n"
"  extend-diff-ignore = \"(^|/)(config.sub|config.guess)$\"\n"

#. 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 ""
"Observera: B<format>-flaggor tillåts inte i den här filen, du bör använda "
"filen B<debian/source/format> istället."

#. type: SS
#: dpkg-source.1:703
#, no-wrap
msgid "debian/source/local-options"
msgstr "debian/source/local-options"

#. 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 ""
"Precis som B<debian/source/options> förutom att filen inte inkluderas i det "
"genererade källkodspaketet. Det kan vara användbart för att spara ett val "
"som gäller för paketansvariga eller VCS-systemet källkodspaketet hanteras i."

#. type: SS
#: dpkg-source.1:708
#, no-wrap
msgid "debian/source/local-patch-header"
msgstr "debian/source/local-patch-header"

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

# type: Plain text
#. 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 ""
"Friformstext som läggs in på toppen av den automatiskt genererade patchen i "
"formaten \"2.0\" eller \"3.0 (quilt)\". B<local-patch-header> tas inte med i "
"det genererade källkodspaketet medan B<patch-header> tas med."

#. 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 ""
"Listar alla patchar som måste tillämpas (i den givna ordningen) ovanpå "
"uppströmskällkodspaketet. Inledande och avslutande blanksteg tas bort. Rader "
"som börjar med \"#\" är kommentarer och ignoreras. Tomma rader ignoreras. De "
"rader som är kvar inleds med filnamnet på en patchfil (relativt till "
"B<debian/patches/>-katalogen) upp till det första blankstegstecknet eller "
"slutet på raden. Valfria flaggor till quilt kan följa fram till slutet av "
"raden eller det första \"#\" som följer på ett eller flera blanksteg (vilket "
"anger början på en kommentar fram till slutet av raden)."

#. 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
msgid "Copyright \\(co 2008-2011 Rapha\\[:e]l Hertzog"
msgstr "Upphovsrättsskyddat © 2008-2011 Raphaë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 - Verktyg för att dela/slå ihop Debianpaket"

#. type: Plain text
#: dpkg-split.1:9
msgid "B<dpkg-split> [I<option>...] I<command>"
msgstr "B<dpkg-split> [I<flaggor>...] I<åtgärd>"

#. 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> delar upp binära Debianpaketfiler i mindre delar och slår "
"samman dem igen, för att göra det möjligt att lagra stora paketfiler på små "
"media, till exempel disketter."

#. type: Plain text
#: dpkg-split.1:19
msgid ""
"It can be operated manually using the B<--split>, B<--join> and B<--info> "
"options."
msgstr ""
"Programmet kan köras manuellt med flaggorna B<--split>, B<--join> och 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 ""
"Det har även ett automatiskt läge, vilket aktiveras med flaggan B<--auto>. I "
"det läget hanterar det en kö av delar som setts men ännu inte återställts, "
"och återställer en paketfil när den sett alla dess delar. Flaggorna B<--"
"listq> and B<--discard> gör det möjligt att hantera kön."

#. 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 ""
"Alla funktioner för uppdelning, sammanslagning och köande visar informativa "
"meddelanden på standard ut; dessa kan ignoreras."

#. type: TP
#: dpkg-split.1:32
#, no-wrap
msgid "B<-s>, B<--split> I<complete-archive> [I<prefix>]"
msgstr "B<-s>, B<--split> I<helt-arkiv> [I<prefix>]"

#. type: Plain text
#: dpkg-split.1:35
msgid "Splits a single Debian binary package into several parts."
msgstr "Delar ett ensamt binärt Debianpaket i flera delar."

#. 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 ""
"Delarna namnges som I<prefix>B<.>I<N>B<of>I<M>B<.deb> där I<N> är numret på "
"delen, räknat från 1, och I<M> är det totala antalet delar (båda angivna "
"decimalt)."

#. 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 ""
"Om inget I<prefix> ges tas filnamnet för I<helt-arkiv>, inklusive "
"katalognamn, med den avslutande B<.deb> borttagen."

#. type: TP
#: dpkg-split.1:51
#, no-wrap
msgid "B<-j>, B<--join> I<part>..."
msgstr "B<-j>, B<--join> I<del>..."

#. 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 ""
"Slår samman de olika paketdelarna, och återskapar den ursprungliga filen som "
"den såg ut innan den delades."

#. 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 ""
"Delfilerna som ges som argument måste alla vara delar av exakt samma "
"ursprungliga binärfil. Varje måste finnas exakt en gång i argumentlistan, "
"men de behöver inte listas i ordning."

#. 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 ""
"Delarna måste naturligtvis alla ha genererats med samma delstorlek när "
"uppdelningen skedde, vilket betyder att de vanligtvis måste ha genererats "
"vid samma körning av B<dpkg-split --split>."

#. type: Plain text
#: dpkg-split.1:66
msgid "The parts' filenames are not significant for the reassembly process."
msgstr "Delarnas filnamn är inte signifikanta för sammanslagningsproceduren."

#. type: Plain text
#: dpkg-split.1:69
msgid ""
"By default the output file is called I<package>B<_>I<version>B<_>I<arch>B<."
"deb>."
msgstr ""
"Förvalt namn på utdatafilen är I<paket>B<_>I<version>B<_>I<ark>B<.deb>."

#. type: TP
#: dpkg-split.1:70
#, no-wrap
msgid "B<-I>, B<--info> I<part>..."
msgstr "B<-I>, B<--info> I<del>..."

#. 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 ""
"Skriver ut information, i människoläsbar form, om delfilerna som anges. "
"Argument som inte är delar av binärpaket resulterar i ett meddelande som "
"talar om detta (men fortfarande på standard ut)."

#. 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< fullständig-utdata del>"

#. type: Plain text
#: dpkg-split.1:78
msgid "Automatically queue parts and reassemble a package if possible."
msgstr "Köa automatiskt delarna och återskapa paketet om möjligt."

#. 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 ""
"Den I<del> som anges undersöks och jämförs med andra delar av samma paket "
"(om sådana existerar) i kön av delar av paket."

#. 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 ""
"Om alla delar av ett paket av vilket I<del> är en del av är tillgängliga "
"kommer paketet att återskapas och skrivas till I<fullständig-utdata> (vilken "
"vanligtvis inte redan bör existera, även om det inte vore ett fel om det "
"gjorde det)."

#. 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 ""
"Om inte kommer I<del> att kopieras till kön och I<fullständig-utdata> skapas "
"inte."

#. type: Plain text
#: dpkg-split.1:103
msgid ""
"If I<part> is not a split binary package part then B<dpkg-split> will exit "
"with status B<1>; if some other trouble occurs then it will exit with status "
"B<2>."
msgstr ""
"Om I<del> inte är en del av ett delat binärpaket kommer B<dpkg-split> att "
"avsluta med returvärde B<1>; om något annat fel uppstår avslutar det med "
"returvärde B<2>."

#. 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 ""
"Flaggan B<--output> eller B<-o> måste ges då B<--auto>används.  (Om detta "
"inte vore ett krav skulle det anropande programmet inte veta vilken "
"utdatafil som förväntades.)"

#. 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 "Listar innehållet i kön över paket att återställa."

#. 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 ""
"För varje paketfil för vilken delar finns i kön visas i utdata namnet på "
"paketet, antal delar i kön, och det totala antalet byte som är lagrade i kön."

#. type: TP
#: dpkg-split.1:117
#, no-wrap
msgid "B<-d>, B<--discard> [I<package>...]"
msgstr "B<-d>, B<--discard> [I<paket>...]"

#. 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 ""
"Kastar bort delar från kön över de som väntar på återstående delar av paket."

#. 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 ""
"Om inget I<paket> anges töms kön helt; om paket anges kastas bara delar för "
"de(t) paket som anges."

#. 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 ""
"Anger en alternativ katalog för kön av delar som väntar på automatisk "
"sammanslagning. Förvalet är 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<kibibyte>"

#. 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 ""
"Anger maximal storlek vid delning, i kibibyte (1024 byte). Förval är 450 KiB."

#. type: TP
#: dpkg-split.1:143
#, no-wrap
msgid "B<-o>, B<--output> I<complete-output>"
msgstr "B<-o>, B<--output> I<fullständig-utdata>"

#. type: Plain text
#: dpkg-split.1:146
msgid "Specifies the output file name for a reassembly."
msgstr "Anger filnamnet för utdata vid sammanslagning."

#. 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 ""
"Används istället för förvalet vid manuell sammanslagning (B<--join>) och "
"krävs för automatisk köa-eller-sammanslå (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 ""
"Vid automatisk köa-eller-sammanslå skriver B<dpkg-split> normalt ett "
"meddelande om den matas med en I<del> som inte är en binär paketdel. Denna "
"flagga undertrycker meddelandet, vilket gör det möjligt för program såsom "
"B<dpkg> att hantera både delade och odelade paket utan att producera "
"felaktiga meddelanden."

#. 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 "Tvingar utdatafilnamn skapade av B<--split> att vara msdos-kompatibla."

#. 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 ""
"Misshandlar prefixet - antingen förvalet taget från indatafilnamnet, eller "
"det som angetts som argument: alfanumeriska tecken görs till gemener, "
"plustecken ersätts med B<x> och alla andra tecken kastas."

#. 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 ""
"Resultatet trunkeras så långt som möjligt, och filnamn på formen "
"I<prefixN>B<of>I<M>B<.deb> genereras."

#. type: Plain text
#: dpkg-split.1:186
msgid ""
"The requested split, merge, or other command succeeded.  B<--info> commands "
"count as successful even if the files are not binary package parts."
msgstr ""
"Den efterfrågade delningen, sammanslagningen eller annan åtgärd lyckades. "
"B<--info>-kommandon lyckas även om indatafilen inte är en del av ett "
"binärpaket."

#. type: Plain text
#: dpkg-split.1:193
msgid ""
"Only occurs with B<--auto> and indicates that the I<part> file was not a "
"binary package part."
msgstr ""
"Uppkommer endast med B<--auto> och anger att I<del>filen inte var en del av "
"ett binärpaket."

#. type: TP
#: dpkg-split.1:193 start-stop-daemon.8:275 update-alternatives.8:378
#, no-wrap
msgid "B<2>"
msgstr "B<2>"

#. type: Plain text
#: dpkg-split.1:198
msgid ""
"Some kind of trouble happened, such as a system call failure, a file that "
"looked like a package part file but was corrupted, a usage error or some "
"other problem."
msgstr ""
"Något har gått fel, till exempel ett systemanrop, att en fil såg ut som en "
"paketdel men var trasig, ett användningsfel, eller något annat problem."

#. 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 ""
"Kompletta detaljer för paket i kön kan inte fås utan att själv gräva i kö-"
"katalogen."

#. 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 ""
"Det finns inget lätt sätta att testa om en fil som kan vara en del av ett "
"binärpaket faktiskt är det."

#. type: TP
#: dpkg-split.1:207
#, no-wrap
msgid "I</var/lib/dpkg/parts>"
msgstr "B</var/lib/dpkg/parts>"

#. type: Plain text
#: dpkg-split.1:211
msgid ""
"The default queue directory for part files awaiting automatic reassembly."
msgstr ""
"Förvald kö-katalog för delfiler som väntar på automatisk sammanslagning."

#. 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 ""
"Filnamnen som används i katalogen är i ett internt format för B<dpkg-split> "
"och är knappast användbara för andra program, och hur som helst kan inte "
"formatet på filnamnen litas på."

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

#. type: Plain text
#: dpkg-statoverride.8:4
msgid "dpkg-statoverride - override ownership and mode of files"
msgstr "dpkg-statoverride - överstyr ägarskap och läge för filer"

#. type: Plain text
#: dpkg-statoverride.8:8
msgid "B<dpkg-statoverride> [I<option>...] I<command>"
msgstr "B<dpkg-statoverride> [I<flagga>...] I<åtgärd>"

#. 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<stat-överstyrningar>\" är ett sätt att tala om för B<dpkg>(1) att en "
"annan ägare eller ett annat läge skall användas för en fil är ett paket "
"installeras. (Observera att ordet \"fil\" används här, men att det kan vara "
"alla sorters filsystemsobjekt som hanteras av dpkg, till exempel kataloger, "
"enheter osv.). Detta kan användas för att tvinga program som normalt är "
"setuid att installeras som en setuid-flagga, eller bara exekverbar av en "
"specifik grupp."

#. 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> är ett verktyg för att hantera listan över stat-"
"överstyrningar. Det har tre grundläggande funktioner: lägga till, ta bort "
"och visa överstyrningar."

#. type: TP
#: dpkg-statoverride.8:24
#, no-wrap
msgid "B<--add>I< user group mode file>"
msgstr "B<--add>I< användare grupp läge fil>"

#. 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 ""
"Lägg till en överstyrning för I<fil>. I<Fil> behöver inte existera när "
"kommandot körs; överstyrningen kommer lagras och användas senare. Användare "
"och grupper kan anges med namn (till exempel B<root> eller B<nobody>), eller "
"med deras nummer med ett \"B<#>\" (till exempel B<#0> eller B<#65534>). "
"I<Läge> måste anges oktalt."

#. 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 ""
"Om --update anges och I<fil> existerar kommer den omedelbart att sättas till "
"den nya användaren och läget."

#. 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 ""
"Ta bort en överstyrning för I<fil>, status för I<fil> ändras inte av detta "
"kommando."

#. type: TP
#: dpkg-statoverride.8:39
#, no-wrap
msgid "B<--list> [I<glob-pattern>]"
msgstr "B<--list> [I<filnamnssökmönster>]"

#. 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 ""
"Visa alla överstyrningar. Om ett sökmönster anges kommer utdata att "
"begränsas till överstyrningar som motsvarar mönstret. Om det inte finns "
"några överstyrningar, eller inga motsvarar mönstret, kommer B<dpkg-"
"statoverride> avslutas med statuskod 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 ""
"Ändra I<katalog> för dpkg-databasen där statoverride-filen också lagras. "
"Förval är 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 ""
"Tvinga ett kommando, även om en säkerhetskontroll annars skulle förhindra "
"det. Detta behövs för att överstyra en befintlig överstyrning."

#. 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 ""
"Försök att omedelbart ändra filen·om·den·finns till den nya ägaren och läget."

#. type: Plain text
#: dpkg-statoverride.8:67
msgid "Be less verbose about what we do."
msgstr "Var mindre pratsom om vad som görs."

#. 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 ""
"Fil som innehåller den aktuella listan över statöverstyrningar på systemet. "
"Den finns i dpkg:s administrationskatalog, tillsammans med andra filer som "
"är viktiga för dpkg, som \"status\" och \"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 ""
"Observera: B<dpkg-statoverride> bevarar den gamla upplagan av filen, med "
"tillägget \"-old\" innan den ersätts med den nya."

#. 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 - ett verktyg för paketutlösare"

#. type: Plain text
#: dpkg-trigger.1:8
msgid "B<dpkg-trigger> [I<option>...] I<trigger-name>"
msgstr "B<dpkg-trigger> [I<flaggor>...] I<utlösarnamn>"

#. type: Plain text
#: dpkg-trigger.1:11
msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgstr "B<dpkg-trigger> [I<flaggor>...] I<kommando>"

#. 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> är ett verktyg för att explicit aktivera utlösare och för "
"att testa om de stöds av den körande 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 ""
"Det kan användas av utvecklarskript i komplexa och villkorliga situationer "
"där filutlösare, eller det deklarativa B<activate>-direktivet i "
"utlösarstyrfilen inte kan uttrycka det som behövs. Det kan även användas för "
"test och av systemadministratörer (men observera att utlösarna inte kommer "
"att faktiskt köras av B<dpkg-trigger>)."

#. type: Plain text
#: dpkg-trigger.1:23
msgid "Unrecognised trigger name syntaxes are an error for B<dpkg-trigger>."
msgstr "Okända utlösarnamnsyntaxer är ett fel för 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
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 ""
"Se om den B<dpkg> som körs stöder utlösare (anropas vanligtvis från ett "
"postinst-skript). Avslutar med B<0> om en B<dpkg> med utlösarstöd har kört, "
"eller B<1> med ett felmeddelande på standard fel om inte. Det är dock "
"normalt sett bättre att bara aktivera den önskade utlösaren med B<dpkg-"
"trigger>."

#. type: TP
#: dpkg-trigger.1:43
#, no-wrap
msgid "B<--by-package=>I<package>"
msgstr "B<--by-package=>I<paket>"

#. type: Plain text
#: dpkg-trigger.1:49
msgid ""
"Override trigger awaiter (normally set by B<dpkg> through the "
"B<DPKG_MAINTSCRIPT_PACKAGE> environment variable of the maintainer scripts, "
"naming the package to which the script belongs, and this will be used by "
"default)."
msgstr ""
"Överstyr den som väntar på en utlösare (sätts vanligen av B<dpkg> genom "
"miljövariabeln B<DPKG_MAINTSCRIPT_PACKAGE> i utvecklarskript, för att namnge "
"det paket som skriptet tillhör, och detta används som standard)."

#. 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 ""
"Denna flagga gör så att det anropade paketet T (om det finns) inte behöver "
"vänta på hantering av utlösaren; det/de intresserade paketet/paketen I "
"kommer inte läggas till T:s väntelista för hantering av utlösare och T:s "
"status ändras inte. T kan anses vara installerat även om I kanske ännu inte "
"har hanterat utlösaren."

#. 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 "Bara testa, ändra inte på någonting."

#. type: Plain text
#: dpkg-trigger.1:69
msgid ""
"B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr ""
"B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/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 - frågar efter information om distributionsåterförsäljare"

#. type: Plain text
#: dpkg-vendor.1:8
msgid "B<dpkg-vendor> [I<option>...] I<command>"
msgstr "B<dpkg-vendor> [I<flaggor>...] I<åtgärd>"

#. 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> är ett verktyg för att fråga efter återförsäljare som finns i "
"I</etc/dpkg/origins>. B</etc/dpkg/origins/default> innehåller information om "
"den aktuella återförsäljaren."

#. type: TP
#: dpkg-vendor.1:15
#, no-wrap
msgid "B<--is>I< vendor>"
msgstr "B<--is>I< återförsäljare>"

#. type: Plain text
#: dpkg-vendor.1:19
msgid ""
"Exits with B<0> if the current vendor is I<vendor>. Otherwise exits with non-"
"zero."
msgstr ""
"Avslutar med B<0> om den aktuella återförsäljaren är I<återförsäljare>. I "
"annat fall avslutas programmet med icke-noll."

#. type: TP
#: dpkg-vendor.1:19
#, no-wrap
msgid "B<--derives-from>I< vendor>"
msgstr "B<--derives-from>I< återförsäljare>"

#. type: Plain text
#: dpkg-vendor.1:24
msgid ""
"Exits with B<0> if the current vendor distribution is a derivative of "
"I<vendor>, otherwise exits with non-zero. It uses the \"Parent\" field to "
"browse all ancestors of the current vendor."
msgstr ""
"Avslutar med B<0> om den aktuella återförsäljardistributionen är härledd "
"från I<återförsäljare>. I annat fall avslutas programmet med icke-noll. "
"Använder fältet \"Parent\" för att bläddra genom alla föräldrar till den "
"aktuella återförsäljaren."

#. type: TP
#: dpkg-vendor.1:24
#, no-wrap
msgid "B<--query>I< field>"
msgstr "B<--query> I<fält>"

#. 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 ""
"Skriver värdet för det återförsäljarspecifika fältet I<fält> för den "
"aktuella återförsäljaren på standard ut."

#. type: TP
#: dpkg-vendor.1:36
#, no-wrap
msgid "B<--vendor>I< vendor>"
msgstr "B<--vendor>I< återförsäljare>"

#. type: Plain text
#: dpkg-vendor.1:41
msgid ""
"Assumes the current vendor is I<vendor> instead of discovering it with the "
"B<DEB_VENDOR> environment variable or B</etc/dpkg/origins/default>."
msgstr ""
"Anta att den aktuella återförsäljaren är I<återförsäljare> istället för att "
"upptäcka det via miljövariabeln B<DEB_VENDOR> eller 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 ""
"Inställningen anger den aktuella återförsäljaren. Om den inte är satt kommer "
"återförsäljaren att identifieras genom att läsa 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 "Upphovsrättsskyddat © 2009 Raphaë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 - Debians pakethanteringsskal"

#. type: Plain text
#: dselect.1:8
msgid "B<dselect> [I<option>...] [I<action>]"
msgstr "B<dselect> [I<flagga>...] [I<åtgärd>]"

#. 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"
"är ett av det primära användargränssnitten för att hantera paket på ett\n"
"Debiansystem. I B<dselect>s huvudmeny kan systemadministratören:\n"
" - Uppdatera listan över tillgängliga paketversioner,\n"
" - Visa status för installerade och tillgängliga paket,\n"
" - Ändra paketval och hantera beroenden,\n"
" - Installera nya paket eller uppgradera till nyare versioner.\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> arbetar som ett skal runt B<dpkg>(1), Debians "
"lågnivåpakethanteringsverktyg. Det har en fullskärmspaketvalshanterare som "
"hanterar beroenden och konflikter mellan paket. När det körs med "
"administratörsbehörighet kan paket installeras, uppgraderas och tas bort. "
"Olika åtkomstmetoder kan konfigureras för att hämta tillgänglig information "
"om paketversioner och installerbara paket från paketsamlingar. Beroende på "
"åtkomstmetoden kan dessa samlingar vara öppna arkivservrar på Internet, "
"lokala arkivservrar eller finnas på cd-rom. Den rekommenderade "
"åtkomstmetoden är I<apt>, vilken tillhandahålls av paketet B<apt>."

#. type: Plain text
#: dselect.1:35
msgid ""
"Normally B<dselect> is invoked without parameters. An interactive menu is "
"presented, offering the user a list of actions. If an action is given as "
"argument, then that action is started immediately. Several command line "
"parameters are still available to modify the running behaviour of B<dselect> "
"or show additional information about the program."
msgstr ""
"Vanligtvis anropas B<dselect> utan parametrar. En interaktiv meny visas då, "
"vilken ger användaren ett antal handlingsmöjligheter. Om en handling ges som "
"kommandoradsflagga startas denna med en gång. Flera kommandoradsflaggor "
"finns ändå att tillgå för att förändra hur B<dselect> arbetar eller för att "
"visa ytterligare information om programmet."

#. type: Plain text
#: dselect.1:43
msgid ""
"All options can be specified both on the command line and in the B<dselect> "
"configuration file I</etc/dpkg/dselect.cfg> or the files on the "
"configuration directory I</etc/dpkg/dselect.cfg.d/>. Each line in the "
"configuration file is either an option (exactly the same as the command line "
"option but without leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""
"Alla flaggorna kan ges både på kommandoraden och i B<dselect>s "
"konfigurationsfil I</etc/dpkg/dselect.cfg> eller filerna i "
"konfigurationskatalogen I</etc/dpkg/dpkg.cfg.d/>. En rad i "
"konfigurationsfilen är antingen en flagga (precis samma som på "
"kommandoraden, men utan inledande bindestreck) eller en kommentar (om den "
"börjar med ett 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 ""
"Ändrar namnet på katalogen där dpkg letar efter filerna \"status\", "
"\"available\" m.fl. Förval är I</var/lib/dpkg> och du bör normalt sett inte "
"behöva ändra det."

#. type: TP
#: dselect.1:49
#, no-wrap
msgid "B<--debug>I< file >|I< >B<-D>I<file>"
msgstr "B<--debug>I< fil >|I< >B<-D>I<fil>"

#. type: Plain text
#: dselect.1:52
msgid "Turn on debugging. Debugging information is sent to I<file>."
msgstr "Slå på felsökningsläge. Felsökningsinformation lagras i I<fil>."

#. 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 ""
"Slår på expertläge, dvs. visar inte hjälpmeddelanden som kanske kan vara "
"irriterande."

#. 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<skärmdel>:[I<förgrund>],[I<bakgrund>][I<:attr>[I<+attr+..>]]"

#. 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 ""
"Ställer in skärmfärger. Detta fungerar bara om din skärm kan visa färger. "
"Flaggan kan användas flera gånger (och fungerar bäst i I<dselect.cfg>). "
"Varje användning ändrar färgen (och kanske andra attribut) för en del av "
"skärmen. Skärmdelarna är, uppifrån och ner:"

#. type: TP
#: dselect.1:64
#, no-wrap
msgid "B<title>"
msgstr "B<title>"

#. type: Plain text
#: dselect.1:67
msgid "The screen title."
msgstr "Skärmtiteln."

#. 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 "Huvudraden ovanför paketlistan."

#. 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 "Den rullande paketlistan (och även viss hjälptext)."

#. 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 "Den valda posten i listan."

#. 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 ""
"I listan över paket är det här texten som anger aktuellt tillstånd för varje "
"paket."

#. 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 ""
"I listan över paket är det här texten som anger aktuellt tillstånd för det "
"nu markerade paketet."

#. 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 ""
"Huvudraden som visar information om tillståndet för det nu markerade paketet."

#. 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 "Paketets korta beskrivning."

#. 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 "Används för att visa paketinformation, såsom paketets beskrivning."

#. 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 "Den sista raden på skärmen när paket väljs."

#. 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 "Används för att visa frågor."

#. 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 "Färg på hjälpskärmar."

#. 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 ""
"Efter skärmdelen följer ett kolon och färgangivelsen. Du kan ange antingen "
"förgrundsfärgen, bakgrundsfärgen eller båda två, vilka kommer att ersätta de "
"inkompilerade färgerna. Använd de normala curses-namnen för färgerna."

#. 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 ""
"Du kan även ange ytterligare ett kolon efter färgangivelsen och där ge "
"attribut. Detta är en lista med ett eller flera attribut, avdelade med "
"plustecken (\"+\"). Tillgängliga attribut är (alla fungerar inte på alla "
"terminaler): normal, standout (uthävd), underline (understruken), reverse "
"(omvänd), blink, bright (ljus), dim (mörk), bold (fet)"

#. type: Plain text
#: dselect.1:116
msgid "Print a brief help text and exit successfully."
msgstr "Visar en kort hjälptext och ger lyckat avslut."

#. type: Plain text
#: dselect.1:119
msgid "Print version information and exit successfully."
msgstr "Visar versionsinformation och ger lyckat avslut."

#. type: Plain text
#: dselect.1:126
msgid ""
"When B<dselect> is started it can perform the following actions, either "
"directly if it was specified on the command line or by prompting the user "
"with a menu of available actions if running interactively:"
msgstr ""
"När B<dselect> startas kan det utföra följande åtgärder, antingen direkt om "
"de anges på kommandoraden eller genom att fråga användaren med en meny om "
"det körs interaktivt:"

#. type: SS
#: dselect.1:126
#, no-wrap
msgid "access"
msgstr "Access (Åtkomst)"

#. type: Plain text
#: dselect.1:128
msgid "Choose and configure an access method to access package repositories."
msgstr ""
"Väljer och konfigurerar en \"åtkomstmetod\" för att komma åt paketsamlingen."

#. type: Plain text
#: dselect.1:134
msgid ""
"By default, B<dselect> provides several methods such as I<cdrom>, "
"I<multi_cd>, I<nfs>, I<multi_nfs>, I<harddisk>, I<mounted>, I<multi_mount>, "
"I<floppy> or I<ftp>, but other packages may provide additional methods, eg. "
"the I<apt> access method provided by the B<apt> package."
msgstr ""
"Som standard ger B<dselect> flera olika metoder, såsom I<cdrom>, "
"I<multi_cd>, I<nfs>, I<multi_nfs>, I<harddisk>, I<mounted>, I<multi_mount>, "
"I<floppy> och I<ftp>, men andra paket du installerar kan tillhandahålla "
"ytterligare metoder, t.ex ges åtkomstmetoden I<apt> av paketet B<apt>."

#. type: Plain text
#: dselect.1:136
msgid "The use of the I<apt> access method is strongly recommended."
msgstr "Åtkomstmetoden I<apt> rekommenderas starkt."

#. type: SS
#: dselect.1:137
#, no-wrap
msgid "update"
msgstr "Update (Uppdatera)"

#. type: Plain text
#: dselect.1:139
msgid "Refresh the available packages database."
msgstr "Uppdatera databasen med tillgängliga paket."

#. 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 ""
"Hämtar en lista över tillgängliga paket från paketsamlingen som "
"konfigurerats för den aktuella åtkomstmetoden, och uppdaterar dpkg:s "
"databas. Paketlistor finns normalt på paketsamlingarna i filer vid namn "
"B<Packages> eller B<Packages.gz>. Dessa filer kan genereras av de som "
"underhåller samlingarna genom att använda programmet 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 ""
"Vilka detaljer som ges om uppdateringen beror på hur åtkomstmetoden är "
"implementerad. Normalt är processen självförklarande och behöver ingen "
"interaktion med användaren."

#. type: SS
#: dselect.1:150
#, no-wrap
msgid "select"
msgstr "Select (Välj)"

#. type: Plain text
#: dselect.1:152
msgid "View or manage package selections and dependencies."
msgstr "Visar eller väljer paketval och beroenden."

#. 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 ""
"Detta är B<dselect>s huvudfunktion.  På valskärmen kan användaren titta på "
"en lista över samtliga tillgängliga och installerade paket. När det körs med "
"administratörsbehörighet är det även möjligt att interaktivt ändra paketets "
"valstatus. B<dselect> spårar vilken inverkning dessa ändringar får på "
"beroende eller motstridiga paket."

#. 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 ""
"När en konflikt eller ett misslyckat beroende upptäcks visas en delskärm med "
"möjlighet att lösa beroendet. På denna skärm visas en lista över motstridiga "
"eller beroende paket, och för varje paket som listas visas dess orsak. "
"Användaren kan applicera de av B<dselect> rekommenderade ändringarna, själv "
"ändra dem, eller backa alla ändringar, inklusive de som gjorde att de ej "
"hanterade beroendena eller konflikterna uppstod till att börja med."

#. type: Plain text
#: dselect.1:168
msgid ""
"The use of the interactive package selections management screen is explained "
"in more detail below."
msgstr ""
"Användningen av den interaktiva paketvalshanterarskärmen beskrivs i "
"ytterligare detalj nedan."

#. type: SS
#: dselect.1:169
#, no-wrap
msgid "install"
msgstr "Install (Installera)"

#. type: Plain text
#: dselect.1:171
msgid "Installs selected packages."
msgstr "Installerar valda paket."

#. 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 ""
"Den valda åtkomstmetoden hämtar installerbara eller uppgraderbara paket från "
"relevanta paketsamlingar och installerar dem med B<dpkg>. Beroende på hur "
"åtkomstmetoden implementerats hämtas antingen alla paket innan "
"installationen, eller så hämtas de när så är nödvändigt. Några "
"åtkomstmetoder kommer även ta bort paket som markerades för borttagning."

#. 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 ""
"Om ett fel uppstod under installationen är rekommenderas det vanligen att "
"köra installationen på nytt. I de flesta fall kommer problemet försvinna "
"eller lösas. Om problemet kvarstår eller den installation som genomfördes "
"var felaktig, ber vi dig undersöka orsaken och omständigheterna och "
"rapportera ett fel i Debians felrapporteringssystem. Instruktioner om hur du "
"gör det finns på http://bugs.debian.org/ eller genom att läsa "
"dokumentationen för B<bug>(1) eller B<reportbug>(1), om dessa är "
"installerade."

#. 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 ""
"Detaljerna för hur installationen genomförs beror på hur åtkomstmetoden är "
"implementerad. Uppmärksamhet och indata från användaren kan behövas under "
"installation, konfiguration eller borttagning av paket, beroende på hur "
"utvecklarskripten i paketen ser ut. Vissa paket använder B<debconf>(1)-"
"biblioteket, vilket möjliggör mer flexibel, eller till och med "
"automatiserad, installation och inställning."

#. type: SS
#: dselect.1:193
#, no-wrap
msgid "config"
msgstr "Config (Konfigurera)"

#. type: Plain text
#: dselect.1:195
msgid "Configures any previously installed, but not fully configured packages."
msgstr ""
"Konfigurera paket som tidigare installerats, men ej till fullo konfigurerats."

#. type: SS
#: dselect.1:196
#, no-wrap
msgid "remove"
msgstr "Remove (Radera)"

#. type: Plain text
#: dselect.1:198
msgid "Removes or purges installed packages, that are marked for removal."
msgstr ""
"Tar bort eller raderar helt installerade paket som markerats för borttagning."

#. type: SS
#: dselect.1:199
#, no-wrap
msgid "quit"
msgstr "Quit (Avsluta)"

#. type: Plain text
#: dselect.1:201
msgid "Quit B<dselect>"
msgstr "Avslutar B<dselect>"

#. type: Plain text
#: dselect.1:203
msgid "Exits the program with zero (successful) errorcode."
msgstr "Avslutar dselect med felkod noll (lyckat)."

#. type: SH
#: dselect.1:205
#, no-wrap
msgid "Package selections management"
msgstr "Paketvalshantering"

#. type: SS
#: dselect.1:207
#, no-wrap
msgid "Introduction"
msgstr "Introduktion"

#. 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> utsätter direkt administratören för delar av den komplexitet det "
"innebär att hantera stora mängder paket med många inbördes beroenden. För en "
"användare som inte är nära förtrogen med koncepten och hur Debians "
"pakethanteringssystem fungerar kan det te sig rätt så överväldigande. Trots "
"att B<dselect>s målsättning är att förenkla administration och hantering av "
"paket är det bara en del av helheten, och kan inte antas vara ett "
"tillräckligt substitut för administratörsfärdighet och -förståelse. "
"Användaren är tvungen att ha kunskap om det underliggande paketsystemet i "
"Debian. Om tvivel föreligger, konsultera manualsidan B<dpkg>(1) och Debians "
"policymanual."

#. 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 ""
"Så länge inte B<dselect> körs i expert- eller direktläge visas en hjälpskärm "
"först när val görs i menyn.  Användaren rekommenderas I<å det bestämdaste> "
"att studera all information som finns i direkthjälpskärmarna när de dyker "
"upp. Direkthjälpskärmarna kan när som helst nås via tangenten B<\"?\">."

#. type: SS
#: dselect.1:230
#, no-wrap
msgid "Screen layout"
msgstr "Skärmutseende"

#. 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 ""
"Valskärmen är normalt delat i en övre och en nedre halva. Den övre halvan "
"visar en lista över paket; en markeringsrad kan välja paket individuellt "
"eller i grupp (när tillämpligt) genom att välja en grupprubrik. Den nedre "
"halvan av skärmen visar detaljer om det paket som just nu visas i den övre "
"halvan. Vilken sorts detaljer som visas kan varieras."

#. 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 ""
"Genom att trycka B<\"I\"> växlas vyn mellan en fullskärmsvisning av "
"paketlistan, en förstorad vy för paketdetaljer, eller en skärm med två lika "
"stora delar."

#. type: SS
#: dselect.1:242
#, no-wrap
msgid "Package details view"
msgstr "Paketdetaljvy"

#. 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 ""
"Paketdetaljvyn visar normalt den utökade paketbeskrivningen för det paket\n"
"som just nu är markerat i paketvallistan.\n"
"Vilken sorts detaljer som visas kan växlas genom att trycka på B<\"i\">,\n"
"vilken växlar mellan:\n"
" - den utökade beskrivningen\n"
" - kontrollinformationen för den installerade versionen\n"
" - kontrollinformationen för den tillgängliga versionen\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 ""
"I en beroendelösningsskärm är det även möjligt att visa specifika "
"otillfredsställda beroenden eller konflikter för paketet."

#. type: SS
#: dselect.1:256
#, no-wrap
msgid "Packages status list"
msgstr "Paketstatuslista"

#. 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 ""
"Huvudvalskärmen visar en lista över samtliga paket som är kända för Debians "
"pakethanteringssystem, vilket inbegriper paket installerade på systemet och "
"paket kända från databasen över tillgängliga paket."

#. 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 ""
"För varje paket visar listan paketets status, prioritet, avdelning, "
"installerade och tillgängliga versioner, paketets namn och dess korta "
"beskrivning, allt på en rad. Genom att trycka på tangenten B<\"V\"> slås "
"visningen av den installerade och den aktiva versionen på och av. Genom att "
"trycka på tangenten B<\"v\"> växlas paketstatusvisningen mellan ordrik och "
"förkortad, med den förkortade visningen som förval."

#. 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 ""
"Den förkortade statusindikeringen består av fyra delar: en felflagga, vilken "
"normalt skall vara blank, aktuell status, senast vald status och nu vald "
"status. De första två anger paketets faktiska status, det andra paret "
"beskriver valet som gjorts av användaren."

#. 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 ""
"Detta är vad de olika paketstatusindikatorerna i det förkortade läget\n"
"betyder:\n"
" Felflagga:\n"
"  I<tom>     inget fel\n"
"  B<R>       allvarligt fel, kräver ominstallation\n"
" Installerad status:\n"
"  I<tom>     ej installerat\n"
"  B<*>       helt installerat och konfigurerat\n"
"  B<->       ej installerat, men konfigurationsfiler kan kvarstå\n"
"  B<U>       uppackat men ännu ej konfigurerat\n"
"  B<C>       halvkonfigurerat (ett fel uppstod)\n"
"  B<I>       halvinstallerat (ett fel uppstod)\n"
" Aktuella och begärda val:\n"
"  B<*>       markerat för installation eller uppgradering\n"
"  B<->       markerat för borttagning, konfigurationsfiler lämnas kvar\n"
"  B<=>       håll: paketet kommer inte att röras alls\n"
"  B<_>       markerat för borttagning, tar även bort konfiguration\n"
"  B<n>       paketet är nytt och har ännu inte markerats\n"

#. type: SS
#: dselect.1:294
#, no-wrap
msgid "Cursor and screen movement"
msgstr "Markör- och skärmrörelser"

#. 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 ""
"Paketvallistan och beroendekonfliktslösningnskärmarna kan navigeras genom "
"att använda rörelsekommandon kopplade till följande tangenter:"

#. 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, Upp, k>           flytta markeringsrad upp\n"
"  B<n, Ned, j>           flytta markeringsrad ned\n"
"  B<P, Pgup, Baksteg>    rulla lista 1 sida upp\n"
"  B<N, Pgdn, Mellanslag> rulla lista 1 sida ned\n"
"  B<^p>                  rulla lista 1 rad upp\n"
"  B<^n>                  rulla lista 1 rad ned\n"
"  B<t, Home>             hoppa till listans början\n"
"  B<e, End>              hoppa till listans slut\n"
"  B<u>                   rulla info 1 sida upp\n"
"  B<d>                   rulla info 1 sida ned\n"
"  B<^u>                  rulla info 1 rad upp\n"
"  B<^d>                  rulla info 1 rad ned\n"
"  B<B, Vänsterpil>       panorera vy 1/3 skärm vänster\n"
"  B<F, Högerpil>         panorera vy 1/3 skärm höger\n"
"  B<^b>                  panorera vy 1 tecken vänster\n"
"  B<^f>                  panorera vy 1 tecken höger\n"

#. type: SS
#: dselect.1:317
#, no-wrap
msgid "Searching and sorting"
msgstr "Sökning och sortering"

#. 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 ""
"Det går att söka i paketlistan efter paketnamn. Detta görs genom att trycka "
"B<\"/\"> och ange en enkel söksträng. Strängen tolkas som ett reguljärt "
"uttryck enligt B<regex>(7). Om du lägger till B<\"/d\"> till sökuttrycket "
"kommer dselect även söka beskrivningar. Om du lägger till B<\"/i\"> kommer "
"sökningen att ignorera skillnader mellan gemener och versaler. Du kan "
"kombinera dessa båda suffix så här: B<\"/id\">. Sökningen kan upprepas genom "
"att trycka på B<\"n\"> eller B<\"\\e\"> tills det önskade paketet hittas. Om "
"sökningen når slutet på listan hoppar den till början och fortsätter "
"sökningen därifrån."

#. 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 ""
"Listans sorteringsordning kan ändras genom att trycka på tangenterna\n"
"B<\"o\"> och B<\"O\"> upprepade gånger.\n"
"Följande nio sorteringsordningar kan väljas:\n"
" alfabetisk         tillgänglig            status\n"
" prioritet+sektion  tillgänglig+prioritet  status+prioritet\n"
" sektion+prioritet  tillgänglig+sektion    status+sektion\n"

#. type: Plain text
#: dselect.1:341
msgid ""
"Where not listed above explicitly, alphabetic order is used as the final "
"subordering sort key."
msgstr ""
"När det inte anges explicit ovan används alfabetisk ordning som den slutliga "
"sorteringsnyckeln."

#. type: SS
#: dselect.1:342
#, no-wrap
msgid "Altering selections"
msgstr "Ändra val"

#. 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 ""
"Den begärda valstatusen för varje individuellt paket kan ändras med följande\n"
"kommandon:\n"
"  B<+, Insert>    installera eller uppgradera\n"
"  B<=, H>         håll i aktuellt tillstånd och version\n"
"  B<:, G>         avbryt håll: uppgradera eller lämna oinstallerad\n"
"  B<-, Delete>    ta bort, men lämna kvar konfiguration\n"
"  B<_>            ta bort och radera konfiguration\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 ""
"När ändringar som får en eller flera otillfredsställda beroenden eller "
"konflikter till följd görs, frågar B<dselect> användaren med en "
"beroendelösningsskärm, vilken beskrivs ytterligare nedan."

#. 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 ""
"Det är även möjligt att applicera dessa kommandon på grupper av paketval, "
"genom att peka markeringsraden på en grupprubrik. Exakt hur paketen "
"grupperas beror på vilken listordning som för tillfället används."

#. 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 ""
"Nödvändiga försiktighetsåtgärder bör tas när ändringar görs på stora "
"gruppmarkeringar, eftersom det med en gång kan ge stora mängder "
"otillfredsställda beroenden eller konflikter, vilka alla kommer att visas på "
"en beroendelösningsskärm, vilket gör dem mycket svåra att hantera. I "
"praktiken är bara håll-kommandot och dess motsats användbara på grupper."

#. type: SS
#: dselect.1:367
#, no-wrap
msgid "Resolving depends and conflicts"
msgstr "Lösa beroenden och konflikter"

#. 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 ""
"När ändringar som får en eller flera otillfredsställda beroenden eller "
"konflikter till följd görs, frågar B<dselect> användaren med en "
"beroendelösningsskärm. Först visas dock en informativ hjälpskärm."

#. 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 ""
"Övre halvan av skärmen listar alla paket som har otillfredsställda beroenden "
"eller konflikter som ett resultat av ändringen som efterfrågas, samt alla "
"paket vars installation kan lösa något av dessa beroenden, eller vars "
"borttagning kan lösa någon av konflikterna. Den nedre halvan visar som "
"förval de beroenden eller konflikter som leder till att det markerade "
"paketet listas."

#. 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 ""
"Redan då paketunderlistan från början visas kan B<dselect> ha satt "
"efterfrågad valstatus för några av de listade paketen, för att lösa de "
"beroenden eller konflikter som fick beroendelösningsskärmen att visas. Det "
"är oftast bäst att följa upp de förslag B<dselect> ger."

#. 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 ""
"De listade paketens valstatus kan återställas till ursprungsinställningarna, "
"såsom de var innan de otillfredsställda beroendena eller konflikterna "
"skapades, genom att trycka på tangenten B<\"R\">. Genom att trycka på B<\"D"
"\"> återställs de föreslagna lösningarna, men ändringen som fick skärmen att "
"visas behålls i den status de valdes. Slutligen, genom att trycka B<\"U\"> "
"återställs valen återigen till de automatiskt föreslagna värdena."

#. type: SS
#: dselect.1:394
#, no-wrap
msgid "Establishing the requested selections"
msgstr "Bekräfta de efterfrågade valen"

#. 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 ""
"Genom att trycka B<Enter> godtas den vid tillfället inställda uppsättningen "
"val. Om B<dselect> inte upptäcker några otillfredsställda beroenden som "
"följd av de efterfrågade valen kommer de nya valen att lagras. Om det "
"däremot finns några otillfredsställda beroenden kommer B<dselect> återigen "
"gå till beroendelösningsskärmen."

#. 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 ""
"För att ändra en uppsättning val som skapar otillfredsställda beroenden "
"eller konflikter, och tvinga B<dselect> att godta dem trycker du på B<\"Q\">-"
"tangenten. Detta ställer ovillkorligen in de val användaren gjort, vilket "
"vanligtvis inte bör göras om man inte har läst det finstilta."

#. 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 ""
"Motsatt effekt, att backa ut från valändringar och återgå till föregående "
"vallista, kan fås genom att trycka på tangenterna B<\"X\"> eller B<Escape>. "
"Genom att upprepade gånger trycka dessa tangenter, kan eventuella skadliga "
"paketval backas ut helt och hållet för att återgå till senast etablerade "
"inställningar."

#. 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 ""
"Om du av misstag väljer några inställningar och vill återställa alla val "
"till det som för närvarande är installerat på systemet trycker du på knappen "
"B<\"C\">. Det motsvarar på ett ungefär att använda kommandot \"avbryt håll\" "
"på alla paket, men det ger en tydligare panikknapp om användaren av misstag "
"tryckte på B<Enter>."

#. 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 ""
"Om satt kommer B<dselect> att använda det som katalogen från vilket den "
"användarspecifika konfigurationsfilen skall läsas."

#. 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 ""
"Paketvalsgränssnittet i B<dselect> är förvirrande för en del nya användare. "
"Det har rapporterats att det till och med kan få erfarna utvecklare av "
"kärnan att gråta."

#. type: Plain text
#: dselect.1:436
msgid "The documentation is lacking."
msgstr "Dokumentationen har brister."

#. type: Plain text
#: dselect.1:438
msgid "There is no help option in the main menu."
msgstr "Det finns inget hjälpalternativ i huvudmenyn."

#. type: Plain text
#: dselect.1:440
msgid "The visible list of available packages cannot be reduced."
msgstr "Den synliga listan med tillgängliga paket kan inte förminskas."

#. 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 ""
"De inbyggda åtkomstmetoderna kan inte längre nå nuvarande kvalitetsstandard. "
"Använd åtkomstmetoden som ges av apt, den är inte bara inte trasig, utan "
"även mycket flexiblare än de inbyggda åtkomstmetoderna."

#. 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
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> skrevs av Ian Jackson (ijackson@gnu.ai.mit.edu). En komplett "
"lista över bidragslämnare får du med \"dselect --version\"."

#. 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 ""
"Manualsidan skrevs av Juho Vuori E<lt>javuori@cc.helsinki.fiE<gt>, Josip "
"Rodin och Joost Kooij."

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

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

#. type: Plain text
#: dselect.cfg.5:4
msgid "dselect.cfg - dselect configuration file"
msgstr "dselect.cfg - inställningsfil för dselect"

#. type: Plain text
#: dselect.cfg.5:11
msgid ""
"This file contains default options for dselect. Each line contains a single "
"option which is exactly the same as a normal command line option for dselect "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""
"Filen innehåller förvalda inställningar för dselect. Varje rad består av en "
"ensam flagga som är exakt densamma som en normal kommandoradsflagga för "
"dselect, förutom de inledande bindestrecken vilka inte används här. "
"Citattecken runt flaggvärden tas bort. Kommentarer är tillåtna genom att "
"inleda en rad med nummertecken (\"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 ""
"Se B</usr/share/doc/dpkg/THANKS> för listan över personer som har bidragit "
"till 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 - startar och stoppar bakgrundsprocesser"

#. type: Plain text
#: start-stop-daemon.8:8
msgid "B<start-stop-daemon> [I<option>...] I<command>"
msgstr "B<start-stop-daemon> [I<flagga>...] I<åtgärd>"

#. 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> används för att kontrollera hur processer på systemnivå "
"skapas och avslutas. Med hjälp av en av sökflaggorna kan B<start-stop-"
"daemon> ställas in att hitta befintliga instanser av en körande process."

#. 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 ""
"Observera att om inte B<--pidfile> anges kommer B<start-stop-daemon> att "
"jobba på ett sätt som liknar B<killall(1).> B<start-stop-daemon> kommer att "
"söka i processtabellen efter processer med motsvarande namn på processen, "
"användar-id och/eller grupp-id (om sådant anges). Alla processer som stämmer "
"överens kommer tillsändas signalen TERM (eller den som anges med B<--signal> "
"eller B<--retry>) om B<--stop> anges. För processer som har långlivade barn "
"som måste överleva en B<--stop>, måste du ange en pidfil."

#. type: TP
#: start-stop-daemon.8:35
#, no-wrap
msgid "B<-S>, B<--start> [B<-->] I<arguments>"
msgstr "B<-S>, B<--start> [B<-->] I<argument>"

#. 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 ""
"Se om en angiven process existerar, och om så är fallet gör B<start-stop-"
"daemon> ingenting och avslutar med status 1 (0 om B<--oknodo> anges). Om en "
"sådan process inte existerar startas en instans, antingen med programfilen "
"som anges med B<--exec> eller, om den anges, med B<--startas>. Eventuella "
"argument som ges efter B<--> på kommandoraden skickas utan ändring till "
"programmet som startas."

#. 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 ""
"Testa om den angivna processen existerar. Om så är fallet sänder B<start-"
"stop-daemon> den signal som anges av B<--signal> till processen, och "
"avslutar med status 0. Om processen inte finns avslutar B<start-stop-daemon> "
"med status 1 (0 om B<--oknodo> anges). Om B<--retry> anges kommer B<start-"
"stop-daemon> kontrollera att processen har avslutats."

#. type: TP
#: start-stop-daemon.8:70
#, no-wrap
msgid "B<-T>, B<--status>"
msgstr "B<-T>, B<--status>"

#. 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 ""
"Se om den angivna processen existerar, och returnerar en statuskod i "
"enlighet med LBS Init Script Actions."

#. 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 "Visa hjälpskärm och avsluta."

#. 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 "Visa programversion och avsluta."

#. type: SH
#: start-stop-daemon.8:81
#, no-wrap
msgid "MATCHING OPTIONS"
msgstr "FLAGGOR FÖR SÖKNING"

#. type: TP
#: start-stop-daemon.8:82
#, no-wrap
msgid "B<-p>, B<--pidfile> I<pid-file>"
msgstr "B<-p>, B<--pidfile> I<pidfil>"

#. type: Plain text
#: start-stop-daemon.8:86
msgid "Check whether a process has created the file I<pid-file>."
msgstr "Sök efter processer vars process-id anges i I<pidfil>."

#. type: TP
#: start-stop-daemon.8:86
#, no-wrap
msgid "B<-x>, B<--exec> I<executable>"
msgstr "B<-x>, B<--exec> I<programfil>"

#. 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 ""
"Sök efter processer som är instanser av programfilen (enligt 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<processnamn>"

#. 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 ""
"Sök efter processer med namnet I<processnamn> (enligt 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<användarnamn>|I<användar-id>"

#. type: Plain text
#: start-stop-daemon.8:102
msgid ""
"Check for processes owned by the user specified by I<username> or I<uid>."
msgstr ""
"Sök efter processer som ägs av den användare som anges med I<användarnamn> "
"eller I<användar-id>."

#. type: TP
#: start-stop-daemon.8:104
#, no-wrap
msgid "B<-g>, B<--group> I<group>|I<gid>"
msgstr "B<-g>, B<--group> I<grupp>|I<grupp-id>"

#. type: Plain text
#: start-stop-daemon.8:107
msgid "Change to I<group> or I<gid> when starting the process."
msgstr "Byt till I<grupp> eller I<grupp-id> när processen startas."

#. type: TP
#: start-stop-daemon.8:107
#, no-wrap
msgid "B<-s>, B<--signal> I<signal>"
msgstr "B<-s>, B<--signal> I<signal>"

#. type: Plain text
#: start-stop-daemon.8:112
msgid ""
"With B<--stop>, specifies the signal to send to processes being stopped "
"(default TERM)."
msgstr ""
"Tillsammans med B<--stop> anger detta den signal som skall sändas till "
"processen som stoppas (förval är 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<tidsgräns>|I<schema>"

#. 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 ""
"Tillsammans med B<--stop> anger detta att B<start-stop-daemon> skall "
"kontrollera att processen avslutas. Den testar flera gånger efter matchande "
"processer som körs, tills ingen längre finns kvar. Om processerna inte "
"avslutar kommer programmet utföra ytterligare kommandon enligt schemat."

#. 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 ""
"Om I<tidsgräns> anges istället för I<schema> kommer schemat I<signal>B</"
">I<timeout>B</KILL/>I<timeout> att användas, där I<signal> är den signal som "
"anges med 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<schema> är den lista med åtminstone två poster avdelade med snedstreck (B</"
">); varje post är antingen B<->I<signalnummer> eller [B<->]I<signalnamn>, "
"vilket betyder att signalen skall sändas, eller I<timeout>, vilket anger det "
"antal sekunder programmet skall vänta på att processen avslutar, eller "
"B<forever>, vilket betyder att resten av schemat skall repetera för evigt om "
"så behövs."

#. 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 ""
"Om slutet på schemat nås och B<forever> inte anges kommer B<start-stop-"
"daemon> avslutas med felkod 2. Om ett schema anges kommer eventuell signal "
"angiven med B<--signal> att ignoreras."

#. type: TP
#: start-stop-daemon.8:159
#, no-wrap
msgid "B<-a>, B<--startas> I<pathname>"
msgstr "B<-a>, B<--startas> I<sökväg>"

#. 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 ""
"Tillsammans med B<--start> anger detta att processen som anges med I<sökväg> "
"skall startas. Om den inte anges används argumentet som gavs till 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 ""
"Skriver ut vad som skulle ha utförts och sätter returvärdet, men utför "
"ingenting."

#. 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 ""
"Returnerar felstatus 0 i stället för 1 om ingen åtgärd utförs/skulle utförts."

#. 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 "Skriv inte informationsmeddelanden; visa endast felmeddelanden."

#. 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<användarnamn>|I<användar-id>"

#. 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 ""
"Byt till användarnamnet/användar-id:t innan processen startas. Du kan även "
"ange en grupp genom att lägga till ett kolontecken, B<:>, följt av "
"gruppnamnet eller grupp-id på samma sätt som du skull gjort till \"chown\"-"
"kommandot (I<användare>B<:>I<grupp>). Om du anger en användare utan att ange "
"en grupp kommer användarens primära grupp-id att användas. När du använder "
"alternativet måste du ha i åtanke att även både primär- och tilläggsgrupp "
"sätts, även om B<--group>-flaggan inte anges. B<--group>-flaggan är bara "
"till för grupper som användaren normalt inte är en medlem i (t.ex för att "
"lägga till gruppmedlemskap för enskilda processer för standardanvändare "
"såsom B<nobody>)."

#. type: TP
#: start-stop-daemon.8:195
#, no-wrap
msgid "B<-r>, B<--chroot> I<root>"
msgstr "B<-r>, B<--chroot> I<rot>"

#. 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 ""
"Byt katalog och rot till B<rot> innan processen startas. Observera att även "
"pidfilen skrivs efter chroot har utförts."

#. type: TP
#: start-stop-daemon.8:201
#, no-wrap
msgid "B<-d>, B<--chdir> I<path>"
msgstr "B<-d>, B<--chdir> I<sökväg>"

#. 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 ""
"Byt katalog till I<sökväg> innan processen startas. Detta görs efter byte av "
"rot om B<-r>|B<--chroot>-flaggan anges. Om flaggan inte anges kommer start-"
"stop-daemon byta till rotkatalogen innan processen startas."

#. 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 ""
"Används typiskt med program som inte kopplar loss sig av sig själva. Flagga "
"tvingar B<start-stop-daemon> att förgrena sig (fork) innan processen "
"startar, och tvinga den grenen att köra i bakgrunden. B<VARNING: start-stop-"
"daemon> kan inte kontrollera felstatus för processer som av B<någon som "
"helst> anledning misslyckas med att exekvera. Detta är en sista utväg, och "
"är endast avsett för program som det antingen inte är någon mening att "
"förgrena på egen hand, eller där det inte är möjligt att lägga till kod för "
"det på egen hand."

#. type: TP
#: start-stop-daemon.8:221
#, no-wrap
msgid "B<-N>, B<--nicelevel> I<int>"
msgstr "B<-N>, B<--nicelevel> I<heltal>"

#. type: Plain text
#: start-stop-daemon.8:224
msgid "This alters the priority of the process before starting it."
msgstr "Ändrar prioriteten på processen innan den startas."

#. 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<policy>B<:>I<prioritet>"

#. 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 ""
"Ändrar processschemaläggarens policy och prioritet för processen innan den "
"startas. Prioriteten är valfri och anges genom att lägga till ett B<:> följt "
"av värdet. Standardvärdet för I<prioritet> är 0. För närvarande stöds "
"värdena B<other>, B<fifo> och B<rr> för I<policy>."

#. 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<klass>B<:>I<prioritet>"

#. 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 ""
"Ändrar I/O-schemaläggarens klass och -prioritet för processen innan den "
"startas. Prioriteten är valfri och anges genom att lägga till ett B<:> följt "
"av värdet. Standardvärdet för I<prioritet> är 4, såvida inte I<klass> är "
"B<idle>, då är I<prioritet> alltid 7. För närvarande stöds värdena B<idle>, "
"B<best-effort> och B<real-time> för I<klass>."

#. type: TP
#: start-stop-daemon.8:237
#, no-wrap
msgid "B<-k>, B<--umask> I<mask>"
msgstr "B<-k>, B<--umask> I<maskvärde>"

#. type: Plain text
#: start-stop-daemon.8:240
msgid "This sets the umask of the process before starting it."
msgstr "Ställer in umaskvärdet på processen innan den startas."

#. 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 ""
"Används när ett program som inte skapar sin egen pidfil startas. Flaggan "
"kommer att få B<start-stop-daemon> att skapa filen som anges med B<--"
"pidfile> och lägga process-id i den precis innan processen startas. "
"Observera att den inte kommer att tas bort när programmet stoppas. "
"B<OBSERVERA:> Funktionen kanske inte alltid fungerar. Framförallt inte när "
"programmet som startas förgrenar sig (fork) från sin huvudprocess. Därför är "
"flaggan oftast bara användbar i samband med flaggan B<--background>."

#. type: Plain text
#: start-stop-daemon.8:258
msgid "Print verbose informational messages."
msgstr "Skriv ut pratsamma informationsmeddelanden."

#. 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 ""
"Efterfrågad åtgärd utfördes. Om B<--oknodo> angavs är det även möjligt att "
"ingenting behövde utföras. Det kan hända när B<--start> angavs och en "
"motsvarande process redan körde, eller när B<--stop> angavs och det inte "
"fanns någon motsvarande process."

#. type: Plain text
#: start-stop-daemon.8:275
msgid "If B<--oknodo> was not specified and nothing was done."
msgstr "Om B<--oknodo> inte angavs och ingenting gjordes."

#. 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 ""
"Om B<--stop> och B<--retry> angavs, men slutet på tidtabellen nåddes och "
"processen fortfarande kördes."

#. type: TP
#: start-stop-daemon.8:283 start-stop-daemon.8:295
#, no-wrap
msgid "B<3>"
msgstr "B<3>"

#. type: Plain text
#: start-stop-daemon.8:286
msgid "Any other error."
msgstr "Alla andra fel."

#. type: Plain text
#: start-stop-daemon.8:289
msgid ""
"When using the B<--status> command, the following status codes are returned:"
msgstr "Med B<--status>-åtgärden returneras följande statuskoder:"

#. type: Plain text
#: start-stop-daemon.8:292
msgid "Program is running."
msgstr "Programmet kör."

#. type: Plain text
#: start-stop-daemon.8:295
msgid "Program is not running and the pid file exists."
msgstr "Programmet kör inte och pid-filen finns."

#. type: Plain text
#: start-stop-daemon.8:298
msgid "Program is not running."
msgstr "Programmet kör inte."

#. type: TP
#: start-stop-daemon.8:298
#, no-wrap
msgid "B<4>"
msgstr "B<4>"

#. type: Plain text
#: start-stop-daemon.8:301
msgid "Unable to determine program status."
msgstr "Kan inte ta reda på programmets status."

#. 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 ""
"Starta serverprocessen B<food>, såvida inte en redan kör (en process med "
"namnet food, som körs som användaren food, med process-id i 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 ""
"Sänd B<SIGTERM> till B<food> och vänta upp till fem sekunder på att den "
"skall avslutas:"

#. 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 "Demonstration av ett skräddarsytt schema för att avsluta 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 Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt>, baserat på "
"en tidigare version av Ian Jackson E<lt>ian@chiark.greenend.org.ukE<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 ""
"Manualsida av Klee Dienes E<lt>klee@mit.eduE<gt>, delvis omformaterad av Ian "
"Jackson, översatt av Peter Krefting E<lt>peterk@debian.orgE<gt>."

#. 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 - underhåller symboliska länkar för att bestämma "
"standardkommandon"

#. type: Plain text
#: update-alternatives.8:15
msgid "B<update-alternatives> [I<option>...] I<command>"
msgstr "B<update-alternatives> [I<flagga>...] I<åtgärd>"

#. 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> skapar, tar bort, underhåller och visar information "
"om de symboliska länkar som ingår i Debians alternativsystem."

#. 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 ""
"Det är möjligt för flera kommandon som tillhandahåller identisk eller "
"liknande funktionalitet att vara installerade på ett system samtidigt. Till "
"exempel har många system flera textredigeringsprogram installerade "
"samtidigt, vilket ger användarna på systemet valmöjligheter, var och en kan "
"använda olika textredigeringsprogram om de så önskar, men det gör det svårt "
"för ett program att göra ett bra val av textredigerare att anropa om en "
"användare inte har gjort ett specifikt val."

#. 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 ""
"Debians alternativsystem försöker lösa detta problem. Ett generiskt namn i "
"filsystemet delas av alla filer som tillhandahåller utbytbar funktionalitet. "
"Alternativsystemet och systemadministratören anger tillsammans vilken "
"specifik fil som skall refereras av sitt generiska namn. Till exempel kan "
"alternativsystemet låta det generiska namnet I</usr/bin/editor> att peka mot "
"I</usr/bin/nvi> som standard om både textredigeringsprogrammet B<ed>(1) och "
"B<nvi>(1) båda är installerade på systemet. Systemadministratören kan "
"överstyra detta och låta det peka på I</usr/bin/ed> istället, och "
"alternativsystemet kommer inte ändra denna inställning förrän det ombeds att "
"göra det."

#. 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 ""
"Det generiska namnet är inte en direkt symbolisk länk till det valda "
"alternativet. Istället är det en symbolisk länk till ett namn i katalogen "
"I<alternatives>, vilket i sin tur är en symbolisk länk till den faktiska fil "
"det pekar mot. Detta görs så att systemadministratörens ändringar kan "
"begränsas till katalogen I</etc>: FHS (se detta) ger orsaker till varför "
"detta är Bra."

#. 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 ""
"När ett paket som tillhandahåller en fil med en specifik funktionalitet "
"installeras, ändras eller tas bort, anropas B<update-alternatives> för att "
"uppdatera information om filen i alternativsystemet. B<update-alternatives> "
"anropas normalt från B<postinst>- (configure) eller B<prerm>-skripten "
"(install) i Debianpaket."

#. 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 ""
"Det är ofta lämpligt för ett antal alternativ att vara synkroniserade, så "
"att de ändras i grupp. Till exempel, om det är flera versioner av "
"textredigeraren B<vi>(1) installerade bör manualsidan som refereras till av "
"I</usr/share/man/man1/vi.1> motsvara den binär som refereras till av I</usr/"
"bin/vi>. B<update-alternatives> hanterar detta genom I<huvud>- och I<slav>-"
"länkar. När huvudlänken uppdateras ändras även anslutna slavlänkar. En "
"huvudlänk och dess anslutna slavar utgör en I<länkgrupp>."

#. 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 ""
"En länkgrupp kan vid varje given tidpunkt vara i ett av två lägen: "
"automatisk eller manuell. När en grupp är i automatiskt läge kommer "
"alternativsystemet automatiskt att bestämma när och hur länkar skall "
"uppdateras då paket installeras eller tas bort. I manuellt läge kommer "
"alternativsystemet att behålla administratörens val och undvika att ändra "
"länkarna (förutom om något är trasigt)."

#. 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 ""
"Länkgrupper är i automatiskt läge när de först introduceras på systemet. Om "
"systemadministratören gör ändringar till systemets automatiska inställningar "
"kommer detta att noteras nästa gång B<update-alternatives> körs på den "
"ändrade länkens grupp och gruppen kommer automatiskt att växlas till "
"manuellt läge."

#. 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 ""
"Varje alternativ har en I<prioritet> kopplad till sig. När en länkgrupp är i "
"automatiskt läge kommer det alternativ som medlemmar i gruppen pekar mot "
"vara den med den högsta prioriteten."

#. type: Plain text
#: update-alternatives.8:133
msgid ""
"When using the B<--config> option, B<update-alternatives> will list all of "
"the choices for the link group of which given I<name> is the master "
"alternative name. The current choice is marked with a '*'.  You will then be "
"prompted for your choice regarding this link group.  Depending on the choice "
"made, the link group might no longer be in I<auto> mode. You will need to "
"use the B<--auto> option in order to return to the automatic mode (or you "
"can rerun B<--config> and select the entry marked as automatic)."
msgstr ""
"När flaggan I<--config> används kommer B<update-alternatives> att visa alla "
"val för länkgruppen där I<namn> är huvudalternativnamnet. Det aktuella valet "
"är markerat med en \"*\". Du kommer därefter att få välja vad som skall "
"göras med länkgruppen. Beroende på vad du väljer kommer längruppen inte "
"längre att vara i I<auto>-läge. Du måste använda flaggan B<--auto> för att "
"återgå till automatiskt läge (eller köra B<--config> på nytt och välja "
"alternativet som märkts som automatiskt)."

#. type: Plain text
#: update-alternatives.8:137
msgid ""
"If you want to configure non-interactively you can use the B<--set> option "
"instead (see below)."
msgstr ""
"Om du vill konfigurera icke-interaktivt kan du använda flaggan B<--set> i "
"stället (se nedan)."

#. 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 ""
"Olika paket som tillhandahåller samma fil måste göra så i B<samförstånd>. "
"Det betyder att det är ett B<krav> att alla involverade paket använder sig "
"av B<update-alternatives>. Det är inte möjligt att överstyra en fil ett "
"paket som inte använder B<update-alternatives>-mekanismen."

#. type: SH
#: update-alternatives.8:149
#, no-wrap
msgid "TERMINOLOGY"
msgstr "TERMINOLOGI"

#. 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 ""
"Efter B<update-alternatives> aktiviteter är ganska komplexa blir det enklare "
"att förstå hur det fungerar genom att vi förklarar några specifika termer."

#. type: TP
#: update-alternatives.8:154
#, no-wrap
msgid "generic name (or alternative link)"
msgstr "generiskt namn (eller alternativlänk)."

#. 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 ""
"Ett namn, till exempel I</usr/bin/editor>, som via alternativsystemet pekar "
"på en av flera filer med liknande funktionalitet."

#. type: TP
#: update-alternatives.8:160
#, no-wrap
msgid "alternative name"
msgstr "alternativnamn"

#. type: Plain text
#: update-alternatives.8:163
msgid "The name of a symbolic link in the alternatives directory."
msgstr "Namnet på en symbolisk länk i alternativkatalogen."

#. type: TP
#: update-alternatives.8:163
#, no-wrap
msgid "alternative (or alternative path)"
msgstr "alternativ (eller alternativsökväg)"

#. 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 ""
"Namnet på en specifik fil i filsystemet, som kan vara tillgänglig via ett "
"generiskt namn med hjälp av alternativsystemet."

#. type: TP
#: update-alternatives.8:167
#, no-wrap
msgid "alternatives directory"
msgstr "alternativkatalog"

#. type: Plain text
#: update-alternatives.8:172
msgid "A directory, by default I</etc/alternatives>, containing the symlinks."
msgstr ""
"En katalog, som standard I</etc/alternatives>, som innehåller de symboliska "
"länkarna."

#. type: TP
#: update-alternatives.8:172
#, no-wrap
msgid "administrative directory"
msgstr "administrativ katalog"

#. type: Plain text
#: update-alternatives.8:179
msgid ""
"A directory, by default I</var/lib/dpkg/alternatives>, containing B<update-"
"alternatives>' state information."
msgstr ""
"En katalog, som standard I</var/lib/dpkg/alternatives>, som innehåller "
"tillståndsinformation för B<update-alternatives>."

#. type: TP
#: update-alternatives.8:179
#, no-wrap
msgid "link group"
msgstr "länkgrupp"

#. type: Plain text
#: update-alternatives.8:182
msgid "A set of related symlinks, intended to be updated as a group."
msgstr ""
"En uppsättning relaterade symboliska länkar, avsedda att uppdateras som en "
"grupp."

#. type: TP
#: update-alternatives.8:182
#, no-wrap
msgid "master link"
msgstr "huvudlänk"

#. 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 ""
"Alternativlänken i en länkgrupp som bestämmer hur de andra länkarna i "
"gruppen ställs in."

#. type: TP
#: update-alternatives.8:186
#, no-wrap
msgid "slave link"
msgstr "slavlänk"

#. 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 ""
"En alternativlänk i en länkgrupp som styrs av hur huvudlänken ställs in."

#. type: TP
#: update-alternatives.8:190
#, no-wrap
msgid "automatic mode"
msgstr "automatiskt läge"

#. 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 ""
"När en länkgrupp är i automatiskt läge försäkrar alternativsystemet att "
"länkarna i gruppen pekar på det högstprioriterade alternativet som är "
"lämpligt för gruppen."

#. type: TP
#: update-alternatives.8:196
#, no-wrap
msgid "manual mode"
msgstr "manuellt läge"

#. 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 ""
"När en grupp är i manuellt läge kommer inte alternativsystemet att utföra "
"några ändringar till systemadministratörens inställningar."

#. 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<länk namn sökväg prioritet> [B<--slave> I<länk namn sökväg>]..."

#. 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 ""
"Lägg till en grupp med alternativ till systemet. I<länk> är det generiska "
"namnet för huvudlänken, I<namn> är namnet på dess symboliska länk i "
"alternativkatalogen och I<sökväg> är alternativet som introduceras för "
"huvudlänken. Argumenten efter B<--slave> är det generiska namnet, namnet på "
"den symboliska länken i alternativkatalogen och alternativet för slavlänken. "
"Noll eller flera B<--slave>-flaggor kan anges, där alla följs av tre "
"argument. Observera att om ett slavalternativ inte finns kommer motsvarande "
"slavlänk helt enkelt inte att installeras (en varning kommer fortfarande att "
"visas). Om en verklig fil är installerad där en alternativlänk måste "
"installeras behålls den såvida inte B<--force> används."

#. 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 ""
"Om det angivna alternativnamnet redan finns i alternativsystemets databas "
"kommer informationen som anges att läggas in som en ny uppsättning av "
"alternativ för gruppen. Om inte kommer en ny grupp, inställd på automatiskt "
"läge, att läggas till med given information. Om gruppen är i automatiskt "
"läge och det alternativ som läggs in har högre prioritet än alla andra "
"installerade alternativ för gruppen kommer de symboliska länkarna att "
"uppdateras så att de pekar på de nyligen tillagda alternativen."

#. type: TP
#: update-alternatives.8:233
#, no-wrap
msgid "B<--set> I<name path>"
msgstr "B<--set> I<namn sökväg>"

#. type: Plain text
#: update-alternatives.8:242
msgid ""
"Set the program I<path> as alternative for I<name.> This is equivalent to "
"B<--config> but is non-interactive and thus scriptable."
msgstr ""
"Sätt programmet I<sökväg> som ett alternativ till I<namn>. Detta motsvarar "
"B<--config> men är icke-interaktivt och kan därmed användas i ett skript."

#. type: TP
#: update-alternatives.8:242
#, no-wrap
msgid "B<--remove> I<name path>"
msgstr "B<--remove> I<namn sökväg>"

#. 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 ""
"Ta bort ett alternativ och alla dess anknutna slavlänkar. I<namn> är ett "
"namn i alternativkatalogen och I<sökväg> är ett absolut filnamn till vilket "
"I<namn> kunde länkas. Om I<namn> faktiskt är länkat till I<sökväg> kommer "
"I<namn> att uppdateras till att peka på ett annat lämpligt alternativ (och "
"gruppen ställs tillbaka till automatiskt läge), eller att tas bort om det "
"inte finns något alternativ kvar. Anknutna slavlänkar kommer uppdateras "
"eller tas bort på motsvarande vis. Om länken inte för tillfället pekar på "
"I<sökväg> kommer inga länkar att uppdateras, endast informationen om "
"alternativet tas bort."

#. type: TP
#: update-alternatives.8:263
#, no-wrap
msgid "B<--remove-all> I<name>"
msgstr "B<--remove-all> I<namn>"

#. 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 ""
"Tar bort alla alternativ och alla deras anslutna slavlänkar. I<namn> är ett "
"namn i alternativkatalogen."

#. 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 ""
"Anropar B<--config> på alla alternativ. Kan med framgång kombineras med B<--"
"skip-auto> för att gå igenom och konfigurera alla alternativ som inte är "
"ställda i automatiskt läge. Trasiga alternativ visas också. Ett enkelt sätt "
"att fixa alla trasiga alternativ är därmed att anropa 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<namn>"

#. 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 ""
"Ställ in länkgruppen bakom alternativet för I<namn> till automatiskt läge. "
"Detta får till följd att den huvudsakliga symboliska länken och dess slavar "
"uppdateras till att peka på det högst prioriterade installerade alternativet."

#. type: TP
#: update-alternatives.8:282
#, no-wrap
msgid "B<--display> I<name>"
msgstr "B<--display> I<namn>"

#. 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 ""
"Visa information om länkgruppen. Information som visas är gruppens läge "
"(automatiskt eller manuellt), vilket alternativ den huvudsakliga länken just "
"nu pekar på, vilka andra alternativ som är tillgängliga (och deras "
"motsvarande slavalternativ), samt det högst prioriterade alternativ som för "
"närvarande är installerat."

#. 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 ""
"Visa alla huvudalternativnamn (de som styr en länkgrupp) och deras status. "
"Varje rad innehåller upp till tre fält (avdelade med ett eller flera "
"blanksteg). Det första fältet är alternativnamnet, det andra är status "
"(antingen \"auto\" eller \"manuell\"), och det sista innehåller det "
"nuvarande valet för alternativet (observera: detta är ett filnamn och kan "
"därmed innehålla blanksteg)."

#. 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 ""
"Läs en alternativkonfiguration från standard in på formatet som skapas av "
"B<update-alternatives --get-selections> och konfigurera om dem på "
"motsvarande sätt."

#. type: TP
#: update-alternatives.8:304
#, no-wrap
msgid "B<--query> I<name>"
msgstr "B<--query> I<namn>"

#. 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 ""
"Visa information om länkgruppen på samma sätt som --display, men i ett "
"maskintolkbart sätt (se stycket B<FRÅGEFORMAT> nedan)."

#. type: TP
#: update-alternatives.8:309
#, no-wrap
msgid "B<--list> I<name>"
msgstr "B<--list> I<namn>"

#. type: Plain text
#: update-alternatives.8:312
msgid "Display all targets of the link group."
msgstr "Visar alla mål för länkgruppen."

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

#. 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 ""
"Visa tillgängliga alternativ för en länkgrupp och låt användaren att "
"interaktivt välja vilken som skall användas. Länkgruppen uppdateras."

#. 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 "Anger alternativkatalogen om detta inte skall vara standardvärdet."

#. type: Plain text
#: update-alternatives.8:332
msgid ""
"Specifies the administrative directory, when this is to be different from "
"the default."
msgstr ""
"Anger den administrativa katalogen om detta inte skall vara standardvärdet."

#. type: TP
#: update-alternatives.8:332
#, no-wrap
msgid "B<--log>I< file>"
msgstr "B<--log> I<fil>"

#. type: Plain text
#: update-alternatives.8:336
msgid ""
"Specifies the log file, when this is to be different from the default (/var/"
"log/alternatives.log)."
msgstr ""
"Anger loggfilen, om det skall vara en annan än standard (/var/log/"
"alternatives.log)."

#. type: Plain text
#: update-alternatives.8:340
msgid ""
"Let B<update-alternatives> replace or drop any real file that is installed "
"where an alternative link has to be installed or removed."
msgstr ""
"Låt B<update-alternatives> ersätta eller ta bort en verklig fil som "
"installerats där en alternativlänk måste installeras eller tas bort."

#. 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 ""
"Hoppa över konfigureringsfrågor för alternativ som är korrekt konfigurerade "
"i automatiskt läge. Denna flagga är endast relevant för B<--config> och 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 "Visa fler kommentarer om vad B<update-alternatives> gör."

#. type: Plain text
#: update-alternatives.8:353
msgid "Don't generate any comments unless errors occur."
msgstr "Skriv inte några kommentarer såvida det inte uppstår ett fel."

#. 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 ""
"Om satt och flaggan B<--admindir> inte har angivits används det som bas-"
"administrativ katalog."

#. 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 ""
"Den förvalda alternativkatalogen. Kan överstyras med flaggan 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 ""
"Den förvalda administrativa katalogen. Kan överstyras med flaggan B<--"
"admindir>."

#. type: Plain text
#: update-alternatives.8:378
msgid "The requested action was successfully performed."
msgstr "Den önskade funktionen utfördes utan fel."

#. type: Plain text
#: update-alternatives.8:382
msgid ""
"Problems were encountered whilst parsing the command line or performing the "
"action."
msgstr ""
"Problem uppstod vid tolkning av kommandoraden eller när funktionen skulle "
"utföras."

#. type: SH
#: update-alternatives.8:383
#, no-wrap
msgid "QUERY FORMAT"
msgstr "FRÅGEFORMAT"

#. type: Plain text
#: update-alternatives.8:388
msgid ""
"The B<update-alternatives --query> format is using an RFC822-like flat "
"format. It's made of I<n> + 1 blocks where I<n> is the number of "
"alternatives available in the queried link group. The first block contains "
"the following fields:"
msgstr ""
"Formatet för B<update-alternatives --query> använder ett RFC822-liknande "
"platt format. Det består av I<n> + 1 block där I<n> är antalet tillgängliga "
"alternativ i den efterfrågade länkgruppen. Det första blocket innehåller "
"följande fält:"

#. type: TP
#: update-alternatives.8:388
#, no-wrap
msgid "B<Link:>I< link>"
msgstr "B<Link:>I< länk>"

#. type: Plain text
#: update-alternatives.8:391
msgid "The generic name of the alternative."
msgstr "Generiskt namn för alternativet."

#. type: TP
#: update-alternatives.8:391
#, no-wrap
msgid "B<Status:>I< status>"
msgstr "B<Status:>I< status>"

#. type: Plain text
#: update-alternatives.8:394
msgid "The status of the alternative (B<auto> or B<manual>)."
msgstr "Status för alternativet (B<auto> eller B<manual>)."

#. type: TP
#: update-alternatives.8:394
#, no-wrap
msgid "B<Best:>I< best-choice>"
msgstr "B<Best:>I< bästa-val>"

#. 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 ""
"Sökvägen till det bästa alternativet i länkgruppen. Tas inte med om inget "
"alternativ är tillgängligt."

#. type: TP
#: update-alternatives.8:398
#, no-wrap
msgid "B<Value:>I< currently-selected-alternative>"
msgstr "B<Value:>I< för-närvarande-valt-alternativ>"

#. 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 ""
"Sökvägen till det för närvarande valda alternativet. Kan även ta det magiska "
"värdet B<none> (inget). Det används om det inte finns någon länk."

#. type: TP
#: update-alternatives.8:403
#, no-wrap
msgid "The other blocks describe the available alternatives in the queried link group:"
msgstr "Övriga block beskriver tillgängliga alternativ i den efterfrågade länkgruppen:"

#. type: TP
#: update-alternatives.8:405
#, no-wrap
msgid "B<Alternative:>I< path-of-this-alternative>"
msgstr "B<Alternative:>I< sökväg-till-alternativet>"

#. type: Plain text
#: update-alternatives.8:408
msgid "Path to this block's alternative."
msgstr "Sökväg till alternativet som beskrivs i blocket."

#. type: TP
#: update-alternatives.8:408
#, no-wrap
msgid "B<Priority:>I< priority-value>"
msgstr "B<Priority:>I< prioritetsvärde>"

#. type: Plain text
#: update-alternatives.8:411
msgid "Value of the priority of this alternative."
msgstr "Värdet för prioriteten på alternativet."

#. type: TP
#: update-alternatives.8:411
#, no-wrap
msgid "B<Slaves:>I< list-of-slaves>"
msgstr "B<Slaves:>I< lista-över-slavar>"

#. 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 ""
"När denna rubrik är tillgänglig innehåller B<next>-raderna alla "
"slavalternativ som kopplas till huvudlänken för alternativet. Varje rad "
"beskriver en slag. Varje rad innehåller ett blanksteg, det generiska namnet "
"på slavalternativet, ytterligare ett blanksteg, och sökvägen till "
"slavalternativet."

#. type: TP
#: update-alternatives.8:418
#, no-wrap
msgid "B<Example>"
msgstr "B<Exempel>"

#. 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
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 ""
"Med B<--verbose> kommer B<update-alternatives> att beskriva i det oändliga "
"vad det gör på sin standard ut-kanal. Om ett fel uppstår skriver B<update-"
"alternatives> ut felmeddelanden på sin standard fel-kanal och avslutar med "
"felkoden 2. Diagnostikinformationen bör vara självförklarande, sänd in en "
"felrapport om du inte tycker att den är det."

#. 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 ""
"Det är flera paket som tillhandahåller en textredigerare kompatibel med "
"B<vi>, till exempel B<nvi> och B<vim>. Vilken bestäms via länkgruppen B<vi>, "
"vilken innehåller länkar både för själva programmet och dessa anknutna "
"manualsida."

#. type: Plain text
#: update-alternatives.8:467
msgid ""
"To display the available packages which provide B<vi> and the current "
"setting for it, use the B<--display> action:"
msgstr ""
"För att visa vilka tillgängliga paket som tillhandahåller B<vi>, samt dess "
"aktuella inställning, använd kommandot B<--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 ""
"För att välja en specifik implementation av B<vi>, utför detta kommando som "
"root och välj sedan ett tal från listan:"

#. 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 ""
"För att återgå till att B<vi>-implementationen väljs automatiskt, utför "
"detta som root:"

#. 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 ""
"Om du hittar ett fel ber vi dig rapportera det via Debians "
"felrapporteringssystem."

#. 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 ""
"Om du hittar några diskrepanser mellan vad B<update-alternatives> gör och "
"vad som står i manualsidan så är detta ett fel, antingen i implementationen "
"eller i dokumentationen; rapportera det."

#. type: Plain text
#: update-alternatives.8:504
msgid ""
"This manual page is copyright 1997,1998 Charles Briscoe-Smith and others."
msgstr ""
"Manualsidan är upphovsrättsskyddad © 1997,1998 Charles Briscoe-Smith med "
"flera."

#. 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 ""
"Detta är fri programvara; se GNU General Public License version 2 eller "
"senare för kopieringsvillkor. Det finns INGEN GARANTI."

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

#~ msgid "2009-02-27"
#~ msgstr "2009-02-27"

#~ msgid "2011-04-29"
#~ msgstr "2011-04-29"

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

#~ msgid "2007-03-07"
#~ msgstr "2007-03-07"

#~ msgid "2007-07-16"
#~ msgstr "2007-07-16"

#~ msgid "2009-03-15"
#~ msgstr "2009-03-15"

#~ msgid "2011-04-27"
#~ msgstr "2011-04-27"

#~ msgid "2011-07-07"
#~ msgstr "2011-07-07"

#~ msgid "2010-04-18"
#~ msgstr "2010-04-18"

#~ msgid "2011-07-12"
#~ msgstr "2011-07-12"

#, fuzzy
#~| msgid "User configuration file."
#~ msgid "Package maintainer configuration file."
#~ msgstr "Användarens konfigurationsfil."

#~ msgid "2010-07-29"
#~ msgstr "2010-07-29"

#~ msgid "B<Package:> E<lt>package nameE<gt>"
#~ msgstr "B<Package:> E<lt>paketnamnE<gt>"

#, fuzzy
#~| msgid "2007-11-22"
#~ msgid "2010-11-22"
#~ msgstr "2007-11-22"

#, fuzzy
#~| msgid "B<Source:> E<lt>source nameE<gt>"
#~ msgid "B<Multi-Arch:> E<lt>same|foreign|allowedE<gt> "
#~ msgstr "B<Source:> E<lt>källkodsnamnE<gt>"

#~ msgid "2010-01-28"
#~ msgstr "2010-01-28"

#~ 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 ""
#~ "Den första posten i arkivet heter B<debian-split> och innehåller ett "
#~ "antal rader, avdelade med nyradstecken. För närvarande finns det sju "
#~ "rader. Den första raden är formatets versionsnummer, B<2.1> då "
#~ "manualsidan skrevs. Den andra raden är paketnamnet. Den tredje är "
#~ "paketversionen. Den fjärde är md5summan för paketet. Den femte är "
#~ "paketets totala storlek. Den sjätte är maximal storlek på delarna. Den "
#~ "sjunde är numret på den aktuella delen, följd av ett snedstreck och det "
#~ "totala antalet delar (som i \\(oq1/10\\(cq)."

#~ 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> kan även användas som ett skal runt B<dpkg-deb>(1). Följande är "
#~ "åtgärder för B<dpkg-deb>, och om de upptäcks kör B<dpkg> helt enkelt "
#~ "B<dpkg-deb> med de parametrar som angivits:"

#~ 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>, och\n"
#~ "    B<--fsys-tarfile>.\n"

#~ msgid "Please refer to B<dpkg-deb>(1) for information about these actions."
#~ msgstr "Se B<dpkg-deb>(1) för information om dessa åtgärder."

#~ 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 ""
#~ "Välj det nya eller gamla binärpaketformatet. Detta är en flagga till "
#~ "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 ""
#~ "Varken läs eller kontrollera innehållet i control-filen när paket skapas. "
#~ "Detta är en flagga till B<dpkg-deb>(1)."

#~ msgid "2009-08-15"
#~ msgstr "2009-08-15"

#~ msgid "Compiler flags"
#~ msgstr "Kompileringsflaggor"

#~ msgid ""
#~ "The B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> and B<LDFLAGS> "
#~ "environment variables are set to the values that B<dpkg-buildflags> "
#~ "returned. See its manual page for more information."
#~ msgstr ""
#~ "Miljövariablerna B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> och "
#~ "B<LDFLAGS> sätts till de värden som B<dpkg-buildflags> returnerar. Se "
#~ "dess manualsida för ytterligare information."

#~ msgid "2009-11-21"
#~ msgstr "2009-11-21"

#~ msgid "2010-03-07"
#~ msgstr "2010-03-07"

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

#~ msgid "2009-08-07"
#~ msgstr "2009-08-07"

#~ msgid "2010-04-16"
#~ msgstr "2010-04-16"

#~ msgid "2009-05-19"
#~ msgstr "2009-05-19"

#~ msgid "0"
#~ msgstr "0"

#~ msgid "1"
#~ msgstr "1"

#~ msgid "2009-10-01"
#~ msgstr "2009-10-01"

#~ 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> använder några ganska gamla konventioner för filnamn på "
#~ "Debianpaket."

#~ 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 ""
#~ "Arkitekturen anges inte i delfilernas filhuvud, bara i "
#~ "kontrollinformationen i paketfilen som delarna innehåller, och den "
#~ "förekommer inte i de filnamn som genereras."

#~ msgid "2009-05-10"
#~ msgstr "2009-05-10"

#~ 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<--expert>] [B<--debug>|B<-D>I<E<lt>filE<gt>>] "
#~ "[I<E<lt>handlingE<gt>>] [B<--colour>|B<--color> I<skärmdel>:[I<förgrund>],"
#~ "[I<bakgrund>][I<:attr>[I<+attr+..>]]]"

#~ msgid "B<--admindir>I< E<lt>directoryE<gt>>"
#~ msgstr "B<--admindir>I< E<lt>katalogE<gt>>"

#~ msgid "USAGE"
#~ msgstr "ANVÄNDNING"

#~ 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-deamon> returnerar 0 om kommandot som önskades utfördes, "
#~ "eller om B<--oknodo> angavs och antingen om B<--start> angavs och "
#~ "motsvarande process redan kördes, eller om B<--stop> angavs och ingen "
#~ "motsvarande process hittades. Om B<--oknodo> inte angavs och ingenting "
#~ "utfördes kommer 1 att returneras. Om B<--stop> och B<--retry> angavs men "
#~ "slutet på schemat nåddes och processer fortfarande kördes är felkoden 2. "
#~ "För alla andra fel är statusen 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 ""
#~ "Ett fel uppstod. Tyvärr kan I<utökat-felmeddelande> för närvarande "
#~ "innehålla nyradstecken, även om i lokaler där översättarna inte har gjort "
#~ "några fel kommer varje nyradstecken att efterföljas av åtminstone ett "
#~ "nyradstecken."

#~ msgid "2009-03-08"
#~ msgstr "2009-03-08"

#~ msgid "I<admindir>/info/I<package>.symbols"
#~ msgstr "I<adminkat>/info/I<paket>.symbols"

#~ msgid "I<admindir>/info/I<package>.shlibs"
#~ msgstr "I<adminkat>/info/I<paket>.shlibs"

#~ msgid "2009-11-11"
#~ msgstr "2009-11-11"

#~ msgid "2009-02-26"
#~ msgstr "2009-02-26"

#~ msgid "2009-04-13"
#~ msgstr "2009-04-13"

#~ msgid ""
#~ "This format is experimental. It uses a bundle of a git repository to hold "
#~ "the source of a package."
#~ msgstr ""
#~ "Det här formatet är experimentellt. Det använder en \"bundle\" från ett "
#~ "git-arkiv för paketets källkod."

#~ msgid "The bundle is cloned to a new git repository."
#~ msgstr "\"Bundle\":n klonas till ett nytt git-arkiv."

#~ msgid "2007-10-08"
#~ msgstr "2007-10-08"

#~ msgid ""
#~ "Defined by B<dpkg> on the maintainer script environment to the private "
#~ "library directory of the currently running B<dpkg> instance."
#~ msgstr ""
#~ "Definieras av B<dpkg> i utvecklarskriptets miljö till den privata "
#~ "bibliotekskatalogen för den instans av B<dpkg> som körs för tillfället."

#~ msgid "2010-04-11"
#~ msgstr "2010-04-11"

#~ msgid "Format: 3.0 (git) and 3.0 (bzr)"
#~ msgstr "Format: 3.0 (git) och 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<prioritet> och I<sektion> placerar paketet i utgivningsträdet, dessa "
#~ "bör inte förekomma i kontrollfilen. Om paketet finns i en underkatalog av "
#~ "I<binärkatalog> kommer den att kontrolleras mot I<sektion>."

#~ msgid "for the current user with B<~/.config/dpkg-buildflags.conf>;"
#~ msgstr "för den aktuella användaren med B<~/.config/dpkg-buildflags.conf>;"

#~ msgid "B<~/.config/dpkg-buildflags.conf>"
#~ msgstr "B<~/.config/dpkg-buildflags.conf>"

#~ 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 ""
#~ "Om värdarkitekturen skiljer sig från byggarkitekturen (till exempel vid "
#~ "korskompilering), och om miljövariabeln B<PKG_CONFIG_LIBDIR> inte är "
#~ "satt, så kommer den att sättas till ett värde lämpligt för "
#~ "korskompilering (\"/usr/I<gnu-systemtyp>/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 ""
#~ "Ett par miljövariabler som anger kompilator- och länkarflaggor återställs "
#~ "till sina standardvärden såvida de inte redan har satts i miljön. "
#~ "Observera att denna mekanism introducerades först i dpkg-dev version "
#~ "1.14.17 och att inte alla I<rules>-filer och byggverktyg ännu godtar "
#~ "dessa variabler."

#~ 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 ""
#~ "Optimeringsflaggor som sänds till Debians byggsystem och kan/bör "
#~ "överstyras av paketet som byggs om så behövs (standardvärde: B<-g -O2>, "
#~ "eller B<-g -O0> om B<noopt> anges i DEB_BUILD_OPTIONS). Överstyrda "
#~ "flaggor kan användas för att explicit välja en högre optimeringsnivå, "
#~ "eller för att förbigå kompilatorfel som bara ses med vissa "
#~ "optimeringsnivåer (den sist satta optimeringsnivån \"vinner\")."

#~ 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 ""
#~ "Optimeringsflaggor som läggs till kompilatorflaggorna, vilka inte får "
#~ "skrivas över av paketet (används huvudsakligen för testbyggen). "
#~ "Standardvärde: tomt."

#~ msgid "Same as B<CFLAGS> for C++ sources."
#~ msgstr "Samma som B<CFLAGS> för C++-källkod."

#~ msgid "B<CXXFLAGS_APPEND>"
#~ msgstr "B<CXXFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for C++ sources."
#~ msgstr "Samma som B<CFLAGS_APPEND> för C++-källkod."

#~ msgid "Same as B<CFLAGS> for Fortran sources."
#~ msgstr "Samma som B<CFLAGS> för Fortrankällkod."

#~ msgid "B<FFLAGS_APPEND>"
#~ msgstr "B<FFLAGS_APPEND>"

#~ msgid "Same as B<CFLAGS_APPEND> for Fortran sources."
#~ msgstr "Samma som B<CFLAGS_APPEND> för Fortrankällkod."

#~ 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 ""
#~ "Förprocessorflaggor som sänds till Debians byggsystem och kan/bör "
#~ "överstyras av paketet som byggs om så behövs (standardvärde: tomt). Detta "
#~ "makro används sällan (de flesta byggsystem använder helt enkelt B<CFLAGS> "
#~ "istället för 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 ""
#~ "Förprocessorflaggor som läggs till förprocessorflaggorna, vilka inte får "
#~ "skrivas över av paketet (används huvudsakligen för testbyggen). "
#~ "Standardvärde: tomt."

#~ 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 ""
#~ "Flaggor som läggs till kompilatorflaggorna vid länkning av kod, vilka "
#~ "inte får skrivas över av paketet (används huvudsakligen för testbyggen). "
#~ "Standardvärde: tomt."

#~ msgid "include all changes."
#~ msgstr "ta med alla ändringar."

#~ msgid "2009-11-12"
#~ msgstr "2009-11-12"

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

#~ msgid "Display B<dpkg> licence."
#~ msgstr "Visar B<dpkg>s licensvillkor."

#~ msgid "ENVIRONMENT VARIABLES"
#~ msgstr "MILJÖVARIABLER"

#~ 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 ""
#~ "Definiera detta till någonting om du vill att B<dpkg> skall starta ett "
#~ "nytt skal istället för att lägga sig i bakgrunden när ett skal startas."

#~ msgid "2009-06-13"
#~ msgstr "2009-06-13"

#~ 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 "Visa upphovsrättslicensvillkor och avsluta."

#~ msgid ""
#~ "Read substitution variables in I<substvarsfile>; the default is B<debian/"
#~ "substvars>."
#~ msgstr ""
#~ "Läser substitueringsvariabler i I<substvarfil>; standardvärdet är "
#~ "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<filnamnsmönster>]"

#~ 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 ""
#~ "Visar upphovsrättslig och licensinformation om B<dselect>, och ger lyckat "
#~ "avslut."

#~ 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 ""
#~ "Använd inte quilt för att tillämpa patchar, utan dpkg-source:s egen kod. "
#~ "Det kommer inte vara möjligt att använda quilt direkt på den uppackade "
#~ "katalogen, men den kommer i tillägg att slippa quilts temporära filer."

#~ 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<komprimeringstyp>"

#~ msgid "B<-z>I<level>"
#~ msgstr "B<-z>I<komprimeringsnivå>"

#~ msgid "2009-01-04"
#~ msgstr "2009-01-04"

#~ msgid "2009-02-18"
#~ msgstr "2009-02-18"

#~ msgid "Forget about uninstalled unavailable packages."
#~ msgstr "Glöm bort ej installerade ej länge tillgängliga paket."

#~ msgid "install-info"
#~ msgstr "install-info"

#~ msgid "install-info - create or update entry in Info dir file"
#~ msgstr "install-info - skapa eller uppdatera post i en info-katalogfil"

#~ 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<reguljärt-uttryck>B< >I<titel>] [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<filnamn>"

#~ 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> skapar, uppdaterar eller tar bort poster Infos B<dir>-"
#~ "fil. När poster uppdateras eller skapas försöker den gissa en beskrivning "
#~ "från innehållet i filen om ingen beskrivning anges på kommandoraden eller "
#~ "i Info-filen."

#~ 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 ""
#~ "Se beskrivningen för flaggan B<--section> för detaljer om var posten "
#~ "skapas och en beskrivning av det format som förväntas på B<dir>-filen."

#~ msgid "B<[--] >I<filename>"
#~ msgstr "B<[--] >I<filnamn>"

#~ 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 ""
#~ "Anger filnamnet på den Infofil vars menypost skall skapas, uppdateras "
#~ "eller tas bort. Om B<--remove-exactly> anges måste I<filnamn> vara det "
#~ "exakta namnet på den post som skall tas bort (t.ex \"emacs-20/emacs\" "
#~ "eller \"gcc\"), annars används basnamnet för filnamnet till att referera "
#~ "till menyposten som skapas, såvida inte det finns ett överstyrande START-"
#~ "INFO-DIR-post i den givna filen. Filen måste därför finnas (eller vara på "
#~ "väg att installeras, eller ha existerat tidigare, om en post tas bort) i "
#~ "samma katalog som B<dir>-filen (se flaggan 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 ""
#~ "Om I<filnamn> slutar på B<.gz>, anses den referera till en fil som "
#~ "komprimerats med B<gzip>. Om den inte finns, men det finns en motsvarande "
#~ "I<filnamn>B<.gz> används den senare i stället."

#~ msgid ""
#~ "When adding or updating entries, the file must exist at the path "
#~ "specified (possibly with an additional B<.gz> extension)."
#~ msgstr ""
#~ "När poster läggs till eller uppdateras måste filen existera på den sökväg "
#~ "som angavs (eventuellt med en ytterligare B<.gz>-filändelse)."

#~ 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 ""
#~ "Anger att posten för filen I<filnamn> skall tas bort. Standard är att "
#~ "poster läggs till eller uppdateras."

#~ 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 ""
#~ "Om borttagningen leder till att en sektion blir tom kommer även rubriken "
#~ "för sektionen (och den extra blanka raden) att as bort, såvida inte detta "
#~ "är den sista sektionen i filen eller B<--keep-old> anges. Se flaggan B<--"
#~ "section> för detaljer om det förväntade formatet på B<dir>-filen."

#~ 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 ""
#~ "Om det är flera poster i B<dir>-filen som passar, kommer bara de i den "
#~ "första träffande intilliggande gruppen att tas bort och de andra tyst att "
#~ "ignoreras."

#~ 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 ""
#~ "Det är inte ett fel om det inte finns någon motsvarande post, även om "
#~ "B<install-info> kommer varna om inte flaggan B<--quiet> angavs."

#~ msgid ""
#~ "When B<--remove> is specified the B<--maxwidth>, B<--align> and B<--"
#~ "calign> formatting options are silently ignored."
#~ msgstr ""
#~ "När B<--remove> anges kommer formateringsflaggorna B<--maxwidth>, B<--"
#~ "align> och B<--calign> att tyst ignoreras."

#~ 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 ""
#~ "Den här flaggan är i stort sett samma som B<--remove>, förutom att "
#~ "I<filnamn> tas som den exakta posten som skall tas bort, snarare än "
#~ "namnet på en befintlig fil. Det kan vara viktigt när man försöker ta bort "
#~ "poster som motsvarar info-filer i underkataloger (t.ex \"emacs-20/emacs"
#~ "\") eftersom B<--remove> kommer använda basnamnet på det givna "
#~ "I<filnamnet> i stället för det exakta namn som ges (dvs. B<--remove> "
#~ "\"emacs-20/emacs\" gör att B<install-info> letar efter \"emacs\", inte "
#~ "\"emacs-20/emacs\")."

#~ msgid "B<--section >I<regexp title>"
#~ msgstr "B<--section >I<reguljärt-uttryck titel>"

#~ 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 ""
#~ "Anger att om en ny post skall skapas, så skall den placeras i en sektion "
#~ "i B<dir>-filen vars titel motsvarar I<reguljärt-uttryck>. Om det inte "
#~ "finns någon sådan sektion kommer en skapas som den nästa sista sektionen "
#~ "i filen (se nedan) med titeln I<titel>. En sektion är en del av B<dir>-"
#~ "filen avdelad av tomma rader. Den första raden antas vara titeln."

#~ 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 ""
#~ "Om en ny post skall skapas kommer B<install-info> att försöka att lägga "
#~ "in den i sektionen i bokstavsordning. Om posterna i sektionen inte redan "
#~ "är i bokstavsordning går det inte att förutse var den kommer att hamna. "
#~ "Ordningen på befintliga poster kommer inte att ändras."

#~ 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 ""
#~ "Om flaggan B<--section> inte anges kommer B<install-info> att leta efter "
#~ "en titel i själva Info-filen genom att leta efter en post på formen"

#~ msgid "B<INFO-DIR-SECTION>I< title>"
#~ msgstr "B<INFO-DIR-SECTION>I< titel>"

#~ 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 ""
#~ "Om ingen titel hittas är den förvalda funktionen att lägga till nya "
#~ "poster i slutet av filen. Den sista sektionen (även om den bara består av "
#~ "titelraden) skall alltid finnas för att se till att nya sektioner skapas "
#~ "på rätt plats. Den sista sektionen kommer att få en titel som beskriver "
#~ "det faktum att Info-filer som inte har någon bättre placering angiven "
#~ "läggs in där."

#~ msgid ""
#~ "If there is already an entry for the Info file being installed, it is "
#~ "replaced in situ with the new entry."
#~ msgstr ""
#~ "Om det redan finns en post för Info-filen som installeras kommer den nya "
#~ "posten att ersätta den på samma plats."

#~ msgid ""
#~ "If a section is specified when removing an entry, the section is ignored "
#~ "and a warning is issued."
#~ msgstr ""
#~ "Om en sektion anges när du tar bort en post kommer sektionen att "
#~ "ignoreras och en varning att ges."

#~ 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 ""
#~ "Om en sektion anges när du lägger till en post, men filen inte innehåller "
#~ "några sektionsrubriker över huvud taget, så kommer B<install-info> att "
#~ "skapa både den önskade sektionen och en blandat-sektion i slutet av filen."

#~ msgid "B<--infodir=>I<infodir>"
#~ msgstr "B<--infodir=>I<infokatalog>"

#~ 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 ""
#~ "Anger att B<dir>-filen är, och att den installerade kopian av den nya "
#~ "Info-filen var, är eller kommer att placeras i I<infodir>. Standard är B</"
#~ "usr/share/info/>."

#~ msgid "B<--align=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--align=>I<nnn>B< [gammalt]>"

#~ 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 ""
#~ "Anger att den första raden i beskrivningen skall få ett indrag på I<nnn> "
#~ "tecken. Nya blanksteg läggs till om så behövs. Om det behövs på grund av "
#~ "längden på detaljer i B<dir>-menyposten kan den få ett större indrag. "
#~ "Standardvärde är 27."

#~ msgid "B<--calign=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--calign=>I<nnn>B< [gammalt]>"

#~ msgid ""
#~ "Specifies that the second and subsequent lines of the description should "
#~ "be indented at least I<nnn> characters. The default is 29."
#~ msgstr ""
#~ "Anger att den andra och följande rader i beskrivningen skall få ett "
#~ "indrag på åtminstone I<nnn> tecken. Standardvärde är 29."

#~ msgid "B<--maxwidth=>I<nnn>B< [deprecated]>"
#~ msgstr "B<--maxwidth=>I<nnn>B< [gammalt]>"

#~ 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 ""
#~ "Anger att maxbredd för Info-filen är I<nnn>. Används för att ordbryta "
#~ "beskrivningen. Standardvärde är 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 ""
#~ "Förhindrar den vanliga visningen av den nya menyposten precis innan den "
#~ "sätts in och av meddelanden som beskriver ersättning eller borttagning av "
#~ "befintliga poster och skapande och borttagning av sektioner."

#~ msgid "Causes B<install-info> to display its usage information and exit."
#~ msgstr "Får B<install-info> att visa sin hjälpskärm och avsluta."

#~ msgid ""
#~ "Causes B<install-info> to display its version and copyright information "
#~ "and exit."
#~ msgstr ""
#~ "Gör så att B<install-info> visar information om version och upphovsrätt "
#~ "och avslutar sedan."

#~ 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 ""
#~ "Anger att den beskrivning som skall användas efter menyposten i de nya "
#~ "eller uppdaterade posterna skall vara I<xxx>. Som standard är den värdet "
#~ "som anges i själva Info-filen. Den hittas genom att leta efter en post på "
#~ "formen"

#~ 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 under GNU Emacs.>"

#~ 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 ""
#~ "Om posten som finns i själva Info-filen spänner över flera rader, där "
#~ "varje rad anger en menypost, kommer texten i filen att användas "
#~ "ordagrant. I detta fall stängs bokstavssorteringen av, och posterna läggs "
#~ "in överst i den önskade sektionen. I detta fall ignoreras flaggorna B<--"
#~ "menuentry>, B<--maxwidth>, B<--align>, B<--calign> och B<--menuentry> "

#~ 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 ""
#~ "Om det inte finns någon B<dir>-post i filen kommer programmet att försöka "
#~ "hitta ett stycke tidigt i filen som börjar med B<this file documents>. "
#~ "Den kommer att göra den första bokstaven i resten av texten stor och "
#~ "använda det."

#~ msgid "It is an error for none of these methods to yield a description."
#~ msgstr ""
#~ "Det innebär ett fel om ingen av dessa metoder hittar en beskrivning."

#~ msgid ""
#~ "If a description argument is given when B<--remove> is specified, it is "
#~ "ignored and a warning is issued."
#~ msgstr ""
#~ "Om ett beskrivningsargument ges när B<--remove> anges kommer det att "
#~ "ignoreras och en varning visas."

#~ 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 ""
#~ "Anger att posten i menyn skall vara I<xxx>. Standard är att använda "
#~ "värdet som finns i själva Info-filen. Om det inte finns någon används "
#~ "basnamnet på Info-filen (eventuellt B<.info> tas bort och posten görs om "
#~ "till blandat skiftläge). Se ovan för detaljer om vilket format som "
#~ "förväntas på menyposten i Info-filen."

#~ 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 ""
#~ "När poster tas bort måste värdet på flaggan B<--menuentry> stämma överens "
#~ "med den faktiska menyposten som skall tas bort (skiftläge är inte "
#~ "relevant). Om B<--menuentry> utesluts kontrolleras inte menyposten."

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

#~ msgid ""
#~ "Inhibits the replacement of existing entries and the removal of empty "
#~ "sections."
#~ msgstr ""
#~ "Förhindrar att befintliga poster ersätts och att tomma sektioner tas bort."

#~ 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 ""
#~ "Om filen som installeras redan har en post i Info-B<dir>-filen kommer den "
#~ "gamla posten att lämnas kvar istället för att ersättas. Standard är att "
#~ "skriva över en gammal post med den nya som skapas."

#~ 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 ""
#~ "Om B<--remove> anges kommer B<--keep-old> att förhindra att "
#~ "sektionsrubriken tas bort, vilket annars skulle ha hänt om sektionen blir "
#~ "tom på grund av borttagningen."

#~ msgid ""
#~ "Enables test mode, which inhibits the update of the Info B<dir> file."
#~ msgstr ""
#~ "Aktiverar testläge, vilket förhindrar att Info-B<dir>-filen uppdateras."

#~ msgid ""
#~ "Enables debugging mode, in which the results of some internal processing "
#~ "steps are shown."
#~ msgstr ""
#~ "Aktiverar felsökningsläge, vilket gör att resultatet av vissa interna "
#~ "behandlingssteg visas."

#~ msgid "B<emacs>(1), B<info>(1), B<gzip(1).>"
#~ msgstr "B<emacs>(1), B<info>(1), B<gzip(1).>"

#~ msgid "Copyright \\(co 1994 Ian Jackson"
#~ msgstr "Upphovsrättsskyddat © 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 - Skriv datum och tid i RFC2822-format"

#~ 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> visar aktuellt datum och tid i det format som beskrivs av "
#~ "RFC2822. Det gör den helt enkelt genom att anropa B<date>(1) med flaggan "
#~ "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<Det rekommenderas inte att använda 822-date eftersom> B<date>(1) "
#~ "tillhandahåller samma funktionalitet om det anropas med B<-R>."

#~ msgid "B<822-date> does not take any arguments or options."
#~ msgstr "B<822-date> tar inga argument eller flaggor."

#~ msgid "This facility really ought to be part of B<date>(1)."
#~ msgstr "Funktionen borde ingå i 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> är egentligen ett enkelt skal runt B<date>(1). På grund av "
#~ "dess enkelhet är koden antagligen inte möjlig att upphovsrättsskydda och "
#~ "bör anses som allmängods. Manualsidan skrevs av Frank Lichtenheld baserad "
#~ "på en tidigare version av Ian Jackson och har även den släppts som "
#~ "allmängods."

#~ msgid "Do not clean the source tree (implies B<-b>)."
#~ msgstr "Städa inte källkodsträdet (implicerar B<-b>)."

#~ msgid "Vendor identification"
#~ msgstr "Identifiering av källa"

#~ msgid ""
#~ "The variable B<DEB_VENDOR> will be set to the name of the current vendor "
#~ "if I</etc/dpkg/origins/default> exists and can be used to look up the "
#~ "vendor name. If the variable already exists, and contains the name of an "
#~ "existing vendor in I</etc/dpkg/origins>, it will be kept; otherwise the "
#~ "variable is unset."
#~ msgstr ""
#~ "Variabeln B<DEB_VENDOR> kommer att sättas till namnet på den aktuella "
#~ "källan om I</etc/dpkg/origins/default> finns och kan användas för att slå "
#~ "upp namnet på källan. Om variabeln redan finns, och innehåller namnet på "
#~ "en källa som finns i I</etc/dpkg/origins> behålls den; i alla andra fall "
#~ "kommer variabelns värde att nollställas."

#~ msgid ""
#~ "B<Deprecated>. Set an output substitution variable.  See B<deb-substvars>"
#~ "(5) for a discussion of output substitution."
#~ msgstr ""
#~ "B<Rekommenderas ej>. Ställer in en utdatasubstitueringsvariabel. Se B<deb-"
#~ "substvars>(5) för en beskrivning av utdatasubstituering."

#~ msgid "cleanup-info"
#~ msgstr "cleanup-info"

#~ msgid ""
#~ "cleanup-info - clean up the mess that bogus install-info may have done"
#~ msgstr ""
#~ "cleanup-info - städa upp oredan som en felaktig install-info kan ha skapat"

#~ msgid "B<cleanup-info> [I<options>] [B<-->] [I<dirname>]"
#~ msgstr "B<cleanup-info> [I<flaggor>] [B<-->] [I<katalog>]"

#~ 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> är ett Perlskript som försöker städa upp den oreda en "
#~ "felaktig B<install-info>(8) kan ha skapat. Den samlar alla sektioner med "
#~ "samma rubrik till en och samma. Den försöker vara smart vad gäller stora "
#~ "och små bokstäver och avslutande kolontecken/blanksteg."

#~ msgid ""
#~ "Other clean-ups include removing of empty sections, and squeezing the "
#~ "blank lines (in entries part only)."
#~ msgstr ""
#~ "Annat som städas upp är att tomma sektioner tas bort och att blanka rader "
#~ "(endast i posterna) trycks ihop."

#~ msgid ""
#~ "Order of sections is preserved (the first encountered section counts).  "
#~ "Order of entries within a section is preserved."
#~ msgstr ""
#~ "Ordningen mellan sektionerna bevaras (den först upptäckta sektionen "
#~ "gäller). Ordningen mellan posterna i en sektion bevaras."

#~ 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 ""
#~ "Var B<extremt försiktigt> när du använder det här verktyget - det kanske "
#~ "inte är 100 % säkert. cleanup-info försöker vara försiktigt med din info-"
#~ "katalogfil, men bara fram tills att det skriver till den. Du bör "
#~ "säkerhetskopiera filen innan du använder skriptet."

#~ msgid "B<--unsafe>"
#~ msgstr "B<--unsafe>"

#~ msgid "Set some additional possibly useful options."
#~ msgstr "Ställer in ytterligare några antagligen användbara flaggor."

#~ msgid ""
#~ "B<Warning: the `--unsafe' option may garble an otherwise correct file!>"
#~ msgstr ""
#~ "B<Varning: flaggar \"--unsafe\" kan skriva sönder en annars korrekt fil!>"

#~ msgid "I</usr/info/dir> or I<E<lt>dirnameE<gt>/dir>"
#~ msgstr "I</usr/info/dir> eller I<E<lt>katalogE<gt>/dir>"

#~ msgid ""
#~ "The info directory file. The lock file is named the same, with \".lock\" "
#~ "suffix."
#~ msgstr "Info-katalogfilen. Låsfilen heter detsamma, med ändelsen \".lock\"."

#~ msgid "Probably many."
#~ msgstr "Antagligen flera."

#~ 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 "Upphovsrättsskyddat © 1996 Kim-Minh Kaplan"

#~ msgid "2008-01-30"
#~ msgstr "2008-01-30"

#~ msgid "generic name"
#~ msgstr "generiskt namn"

#~ msgid "symlink"
#~ msgstr "symbolisk länk"

#~ msgid ""
#~ "Without any further qualification, this means a symbolic link in the "
#~ "alternatives directory: one which the system administrator is expected to "
#~ "adjust."
#~ msgstr ""
#~ "Utan ytterligare beskrivning menas en symbolisk länk i "
#~ "alternativkatalogen: en som systemadministratören förväntas justera."

#~ msgid "Call B<--config> on all alternatives."
#~ msgstr "Anropa B<--config> på alla alternativ."

#, fuzzy
#~ msgid "B<Error:> E<lt>error detailsE<gt>"
#~ msgstr "B<Priority:> E<lt>prioritetE<gt>"

#~ msgid "2007-10-06"
#~ msgstr "2007-10-06"

#~ msgid "2008-03-14"
#~ msgstr "2008-03-14"

#, fuzzy
#~ 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>, B<-"
#~ "B> or B<-A> haven't been used)."
#~ msgstr ""
#~ "Flaggorna B<-s>I<x> styr huruvida det ursprungliga källkodsarkivet skall "
#~ "inkluderas i insändningen om källkod genereras (dvs. B<-b> eller B<-B> "
#~ "inte har använts)."

#~ msgid ""
#~ "By default, or if specified, the original source will be included if the "
#~ "version number ends in B<-0> or B<-1>, i.e. if the Debian revision part "
#~ "of the version number is B<0> or B<1>."
#~ msgstr ""
#~ "Som standard, eller om den anges, kommer originalkällkoden att inkluderas "
#~ "om versionsnumret avslutas med B<-0> eller B<-1>, dvs. om "
#~ "Debianversionsdelen av versionsnumret är B<0> eller B<1>."

#~ msgid ""
#~ "Use changelog information from all versions strictly later than "
#~ "I<version>."
#~ msgstr ""
#~ "Använd ändringsloggsinformation för alla versioner som är strikt senare "
#~ "än I<version>."

#~ msgid "B<-E>"
#~ msgstr "B<-E>"

#~ msgid ""
#~ "Turn certain warnings into errors. Only B<dpkg-source> uses this, but "
#~ "B<dpkg-buildpackage> recognizes it, and passes it thru to B<dpkg-source>."
#~ msgstr ""
#~ "Gör vissa varningar till fel. Används endast av B<dpkg-source>, men "
#~ "B<dpkg-buildpackage> känner igen det och sänder det vidare till B<dpkg-"
#~ "source>."

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

#~ msgid ""
#~ "Negates a previously set B<-E>.  Only B<dpkg-source> uses this, but "
#~ "B<dpkg-buildpackage> recognizes it, and passes it thru to B<dpkg-source>."
#~ msgstr ""
#~ "Slår av tidigare satt B<-E>. Används endast av B<dpkg-source>, men B<dpkg-"
#~ "buildpackage> känner igen det och sänder det vidare till B<dpkg-source>."

#~ msgid "2007-09-08"
#~ msgstr "2007-09-08"

#~ msgid ""
#~ "There is no authentication on B<.deb> files; in fact, there isn't even a "
#~ "straightforward checksum."
#~ msgstr ""
#~ "Det finns ingen autentisering i B<.deb>-filer; det finns faktiskt inte "
#~ "ens en vanlig kontrollsumma."

#~ msgid "2008-03-02"
#~ msgstr "2008-03-02"

#~ msgid "2008-01-13"
#~ msgstr "2008-01-13"

#~ msgid "2008-03-25"
#~ msgstr "2008-03-25"

#~ msgid "2008-03-16"
#~ msgstr "2008-03-16"

#~ msgid "2008-04-08"
#~ msgstr "2008-04-08"

#~ msgid ""
#~ "A simpler one-shot command to retrieve and update the I<available> file "
#~ "is B<dselect update>."
#~ msgstr ""
#~ "Ett enklare kommando för att hämta och uppdatera I<available>-filen på en "
#~ "gång är B<dselect update>."

#~ msgid ""
#~ "Display details about I<package-name>, as found in I</var/lib/dpkg/"
#~ "available>."
#~ msgstr "Visar detaljer om I<paketnamn> från I</var/lib/dpkg/available>."

#~ msgid ""
#~ "All patches in B<debian/patches> matching the perl regular expression B<"
#~ "[\\ew-]+> are then applied in alphabetical order. The timestamp of "
#~ "patched files are reset to the extraction time. The patches can remove "
#~ "files."
#~ msgstr ""
#~ "Alla patchar i B<debian/patches> som motsvarar det reguljära uttrycket (i "
#~ "perl-format) B<[\\ew-]+> tillämpas i bokstavsordning. Tidsstämpeln på "
#~ "patchade filer återställs till uppackningstidpunkt. Patcharna kan ta bort "
#~ "filer."

#~ msgid ""
#~ "Note: it's very important to generate the source package with all patches "
#~ "applied, otherwise the generation of the automatic patch will lead to a "
#~ "patch that reverts the patches which were not applied."
#~ msgstr ""
#~ "Observera: det är viktigt att källkodspaketet genereras med alla patchar "
#~ "tillämpade, om inte kan genereringen av den automatiska patchen leda till "
#~ "en patch som återställer de patchar som inte tillämpats."

#~ msgid ""
#~ "This is a variant of the 2.0 format. The differences concern the "
#~ "management of the patches. This format uses an explicit list of patches "
#~ "contained in B<debian/patches/debian.series> or B<debian/patches/series>."
#~ msgstr ""
#~ "Detta är en variation av 2.0-formatet. Skillnaden är hanteringen av "
#~ "patchar. Detta format använder en explicit lista över patchar som finns i "
#~ "B<debian/patches/debian.series> eller B<debian/patches/series>."

#~ msgid "Unpacking of tarballs is done exactly like in the 2.0 format."
#~ msgstr "Tarbollarna packas upp på exakt samma sätt som i 2.0-formatet."

#~ msgid ""
#~ "It behaves like the 2.0 format except that the name of the automatically "
#~ "generated patch is B<debian-changes->I<version>B<.diff> and the B<series> "
#~ "file is obviously updated to add/remove the automatically generated patch "
#~ "as needed."
#~ msgstr ""
#~ "Den fungerar som 2.0-formatet, förutom att namnet på den automatiskt "
#~ "genererade patchen är B<debian-changes->I<version>B<.diff> och filen "
#~ "B<series> uppenbarligen uppdateras för att lägga till/ta bort den "
#~ "automatiskt genererade patchen, om så behövs."

#~ msgid ""
#~ "The B<.pc> directory used by quilt is ignored during generation of the "
#~ "automatic patch."
#~ msgstr ""
#~ "Katalogen B<.pc>, som används av quilt, ignoreras när den automatiska "
#~ "patchen genereras."

#~ msgid "It supports all the options of the 2.0 format."
#~ msgstr "Det stöder alla flaggor för 2.0-formatet."

#~ msgid "2007-07-18"
#~ msgstr "2007-07-18"
