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, eller kommentarer där
raderna inleds med
"#". 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).
NÖDVÄNDIGA FÄLT¶
- Package: paketnamn
- Värdet på fältet 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 Debianuppdateringsnummer (för
paket vars källa är utanför Debian). Exakt format och
sorteringsalgoritm beskrivs i deb-version(5).
- 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 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.
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" osv.
- Priority: prioritet
- 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.
I Debian har fälten
Section och
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
debian-policy.
- Essential: yes|no
- 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 arkitektur. Exempel
på detta är skal- eller Perlskript och dokumentation.
- Origin: namn
- Namnet på den distribution paketet härstammar
från.
- Bugs: url
- URL:en till felrapporteringssystemet för detta paket. Det
nuvarande formatet är systemtyp://adress, till
exempel debbugs://bugs.debian.org.
- Homepage: url
- URL till uppströmsprojektets hemside-url.
- Tag: lista-med-märken
- Lista över märken som beskriver paketets egenskaper. En
beskrivningen och förteckning över kända
märken finns i paketet debtags.
- Multi-Arch:
same|foreign|allowed|no
- Det här fältet används för att ange hur
paketet skall fungera på en flerarkitektursinstallation.
Värdet 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 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 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.
Värdet no är standard om fältet utesluts, i
vilket fall det vanligtvis inte är nödvändigt att
lägga till fältet med ett explicit
no-värde.
- Source: källkodsnamn
- Namnet på det källkodspaket som binärpaketet kommer
från, om det skiljer sig från namnet på själva
paketet.
- Subarchitecture: värde
- Kernel-Version: värde Installer-Menu-Item:
värde 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
debian-installer för mer information om dem.
- Depends: paketlista
- 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 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.
- Pre-Depends: paketlista
- Lista över paket som måste vara installerade 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.
- Recommends: paketlista
- 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
Recommends-fältet.
- Suggests: paketlista
- 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.
Syntaxen för fälten
Depends,
Pre-Depends,
Recommends och
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.
Ett versionsnummer kan börja med ">>", vilket betyder att
vilken som helst senare version matchar, där det är valfritt att
ange Debianuppdateringen (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.
- Breaks: paketlista
- 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
Breaks-fält.
- Conflicts: v
- 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 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 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.
- Provides: paketlista
- 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.
Syntaxen för
Breaks,
Conflicts,
Replaces och
Provides är en lista över paketnamn avdelade med komman
(och eventuella blanktecken). I fälten
Breaks och
Conflicts läses kommatecknet som "ELLER". Ett
eventuellt versionsnummer kan även anges, med samma syntax som ovan
för fälten
Breaks,
Conflicts och
Replaces.
- Built-Using: paketlista
- 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
Built-Using-relation som inte kan uppfyllas inom arkivet.
EXEMPEL¶
# Kommentar
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),
deb-version(5),
debtags(1),
dpkg(1),
dpkg-deb(1).
ÖVERSÄTTNING¶
Peter Krefting och Daniel Nylander.