DEB-CONTROL(5)

NAMN
deb-control - Debians filformat för paketstyrfiler

SYNOPS
control

BESKRIVNING
Varje Debianpaket innehåller huvudstyrfilen "control", vilken i sig innehåller ett antal fält. Varje fält börjar med en etikett, såsom Package eller 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 Description-fältet, se nedan).

KRÄVDA FÄLT

Package: <paketnamn>
    Värdet på detta fält bestämmer paketets namn, och används av de flesta installationsverktygen för att generera filnamnen.

Version: <versionssträng>
    Vanligtvis är detta det ursprungliga paketets versionsnummer på den form programmets författare använder. Den kan även innehålla ett Debianrevisionsnummer (för paket med källa utanför Debian). Om både versionsnummer och revisionsnummer finns delas de med ett bindestreck ("-"), varför det ursprungliga versionsnumret inte får innehålla bindestreck.

Maintainer: <fullt-namn e-post>
    Skall vara på formatet "Joe Bloggs <jbloggs@foo.com>" och är normalt sett den person som skapat paketet, till skillnad från författaren av den programvara som paketerades.

Description: <kort beskrivning>
    <lång beskrivning>
    Formatet för paketbeskrivningen är en kortfattad sammanfattning på den första raden (efter "Description"-fältet). Följande rader kan användas som 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.

VALFRIA FÄLT

Section: <sektion>
    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" etc.

Priority: <prioritet>
    Ställer in hur viktigt paketet är jämfört med systemet som enhet. Vanliga prioriteter är "required" (krävd), "standard" (normal), "optional" (valfritt), "extra" (extra) osv.

I Debian har fälten Section och Priority fördefinierade accepterade värden baserade på policymanualen, vilka används för att bestämma hur paketen placeras i arkivet. En lista över dessa finns i den senaste versionen av debian-policy-paketet.

Essential: <yes|no>
    Detta fältet krävs normalt sett endast om svaret är "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 Essential tas bort (åtminstone inte utan att använda en av de tvingande flaggorna).

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

Source: <källkodsnamn>
    Namnet på det källkodspaket som detta binärpaket kommer från, om det skiljer sig från namnet på själva paketet.

Depends: <paketlista>
    Lista över paket som krävs för att detta paket för att tillhandahålla en icke-trivial mängd funktionalitet. Pakethanteringsprogramvaran kommer inte tillåta att ett paket installeras om paketen som listas i Depends-fältet inte är installerade (åtminstone inte utan att använda en av de tvingande flaggorna), och kommer inte att utföra postinst-skript i paket som listas i Depends:-fältet före de paket som beror på det, och kör prerm-skript före.

Pre-Depends: <paketlista>
    Lista över paket som måste vara installerade och konfigurerade innan detta kan installeras. Detta används normalt i de fall paketet kräver att ett annat paket är installerat för sitt preinst-skript.

Recommends: <paketlista>
    Lista över paket som bör installeras tillsammans med detta i de allra flesta fall. Pakethanteringsprogramvaran kommer att varna användaren om hen installerar ett paket utan de som listas i Recommends-fältet.

Suggests: <paketlista>
    Lista över paket som är relaterade till detta och som kanske kan göra det mer användbart, men utan vilka det fortfarande är rimligt att installera detta paket.

Syntaxen för Depends, Pre-Depends, Recommends och Suggests-fälten är en lista över grupper av alternativa paket. Varje grupp innehåller en lista av paket avdelade med ett vertikalstreck (rör) ("|"). Grupperna avdelas med komman. Komman utläses som "OCH", och vertikalstrecken som "ELLER", där vertikalstrecken binder hårdare. Varje post är ett paket namn, eventuellt följt av en versionsnummerangivelse inom parenteser.

Ett versionsnummer kan börja med ">>", vilket betyder att vilken som helst senare version matchar, där det är valfritt att ange Debianrevisionen (avdelad med bindestreck). Tillåtna versionrelationer är ">>" för större än, "<<" för mindre än, ">=" för större än eller lika med", "<=" för mindre än eller lika med, och "=" för lika med.

Conflicts: <paketlista>
    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 Conflicts-rad med varandras namn.

Replaces: <paketlista>
    Lista över paket som filer från denna ersätter. 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 Conflicts-fältet för att tvinga fram borttagning av det andra paketet om även detta har de filer som finns i paketet det står i konflikt med.

Provides: <paketlista>
    Detta är en lista av virtuella paket som detta tillhandahåller. Normalt sett används detta i de fall flera paket tillhandahåller samma service. 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.

Syntaxen för Conflicts, Replaces och Provides är en lista över paketnamn avdelade med komman (och eventuella blanktecken). I Conflicts-fältet läses kommatecknet som "ELLER". En eventuellt versionsnumret kan även anges, med samma syntax som ovan för Conflicts och Replaces-fälten.

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

SE ÄVEN
deb(5), dpkg(8), dpkg-deb(1).