deb-control
Section: dpkg suite (5)
Updated: 1970-01-01
Page Index
NAAM
deb-control - Indeling van het hoofdcontrolebestand van de Debian binaire
pakketten
OVERZICHT
DEBIAN/control
BESCHRIJVING
Each Debian binary package contains a
control file in its
control
member, and its
deb822(5) format is a subset of the master
debian/control file in Debian source packages, see
deb-src-control(5).
This file contains a number of fields. Each field begins with a tag, such
as Package or Version (case insensitive), followed by a colon, and the
body of the field (case sensitive unless stated otherwise). 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 Description
field, see below).
VELDEN
- Package: pakketnaam (verplicht)
-
De waarde van dit veld bepaalt de pakketnaam en wordt door de meeste
installatiegereedschappen gebruikt om bestandsnamen te genereren.
- Package-Type: deb|udeb|type
-
Dit veld definieert het pakkettype. udeb is voor pakketten waarvan de
omvang aan beperkingen onderworpen is en die door het installatieprogramma
van Debian gebruikt worden. deb is de standaardwaarde, die verondersteld
wordt als het veld ontbreekt. In de toekomst kunnen nog andere types
toegevoegd worden.
- Version: versie-tekenreeks (verplicht)
-
Gewoonlijk is dit het originele versienummer van het pakket, welke vorm de
auteur van het programma er ook aan geeft. Het kan ook een
Debian-revisienummer bevatten (voor niet uit Debian stammende pakketten). De
exacte indeling en het sorteringsalgoritme worden beschreven in
deb-version(7).
- Maintainer: volledige-naam-en-e-mail (aanbevolen)
-
Moet opgemaakt worden volgens de indeling "Joe Bloggs
<jbloggs@foo.com>", en is gewoonlijk de persoon die het pakket
maakte, in tegenstelling tot de auteur van de verpakte software.
- Description: korte-beschrijving (aanbevolen)
-
- uitgebreide-beschrijving
-
De indeling van een pakketbeschrijving bestaat uit een beknopte korte
samenvatting op de eerste regel (na de veldmarkering Description) en een
langere meer gedetailleerde beschrijving op de volgende regels. Elke regel
van de uitgebreide beschrijving moet voorafgegaan worden door een spatie, en
lege regels in de uitgebreide beschrijving moeten één enkele '.' bevatten
die volgt op de eraan voorafgaande spatie.
- Section: sectie
-
Dit is een veld van algemene aard dat het pakket in een categorie
onderbrengt op basis van de software die het installeert. Enkele
gebruikelijke secties zijn utils, net, mail, text, x11, enz.
- Priority: prioriteit
-
Duidt het belang van dit pakket aan in verhouding tot het gehele
systeem. Gebruikelijke prioriteiten zijn required, standard,
optional, extra, enz.
De velden Section en Priority hebben gewoonlijk een welbepaalde set
mogelijke waarden, afhankelijk van de richtlijnen van de distributie.
- Installed-Size: grootte
-
Bij benadering de totale grootte van de door het pakket geïnstalleerde
bestanden, uitgedrukt in KiB.
- Protected: yes|no
-
Meestal is dit veld enkel nodig als het antwoord yes is. Het duidt een
pakket aan dat vereist is voor het correct opstarten van het
systeem. dpkg(1) of om het even welk ander installatiegereedschap zal
niet toestaan dat een pakket van het type Protected verwijderd wordt
(tenminste niet zonder dat één van de forceeropties gebruikt wordt).
- Essential: yes|no
-
Meestal is dit veld enkel nodig als het antwoord yes is. Het duidt een
pakket aan dat vereist is opdat het systeem behoorlijk zou
functioneren. dpkg(1) of om het even welk ander installatiegereedschap
zal niet toestaan dat een pakket van het type Essential verwijderd wordt
(tenminste niet zonder dat één van de forceeropties gebruikt wordt).
- Build-Essential: yes|no
-
Meestal is dit veld enkel nodig als het antwoord yes is en het wordt
gewoonlijk ingevoegd door de archiefsoftware. Het duidt een pakket aan dat
vereist is voor het bouwen van andere pakketten.
- Architecture: arch|all (aanbevolen)
-
De architectuur geeft aan voor welk type hardware dit pakket gecompileerd
werd. Gebruikelijke architecturen zijn amd64, armel, i386,
powerpc, enz. Merk op dat de waarde all bedoeld is voor pakketten die
architectuuronafhankelijk zijn. Enkele voorbeelden hiervan zijn shell- en
Perl-scripts en documentatie.
- Origin: naam
-
De naam van de distributie waaruit dit pakket afkomstig is.
- Bugs: URL
-
De URL van het opvolgingssysteem voor bugs van dit pakket. De indeling
die momenteel gebruikt wordt is bts-type://bts-adres, zoals
debbugs://bugs.debian.org.
- Homepage: URL
-
De URL van de homepage van het toeleverend project (upstream).
- Tag: lijst-van-markeringen
-
Lijst van markeringen (tags) die de eigenschappen van het pakket
beschrijven. De beschrijving en de lijst van ondersteunde markeringen/tags
is te vinden in het pakket debtags.
- Multi-Arch: no|same|foreign|allowed
-
Dit veld wordt gebruikt om aan te geven hoe dit pakket zich moet gedragen op
een multi-arch installatie.
-
- no
-
Dit is de standaardwaarde als dit veld weggelaten werd. Dit veld toevoegen
met een expliciete waarde no is over het algemeen niet nodig.
- same
-
Dit pakket is co-installeerbaar met zichzelf, maar het kan niet gebruikt
worden om te voldoen aan een vereiste van een pakket dat tot een andere
architectuur behoort.
- foreign
-
Dit pakket is niet co-installeerbaar met zichzelf, maar het mag wel de
toestemming krijgen om te voldoen aan een architectuurkwalificatieloze
vereiste van een pakket dat tot een andere architectuur behoort (indien een
vereiste wel een expliciete architectuurkwalificatie heeft, wordt de waarde
foreign genegeerd).
- allowed
-
Dit laat pakketten die dit pakket als vereiste hebben (reverse-dependencies)
toe om in hun Depends-veld aan te geven dat ze dit pakket ook van een
andere architectuur aanvaarden door bij de pakketnaam de kwalificatie
:any te vermelden. Anders blijft dit zonder effect.
-
- Source: broncode-naam [(broncode-versie)]
-
De naam van het broncodepakket waaruit dit binaire pakket afkomstig is,
indien die verschillend is van de naam van het pakket zelf. Indien de versie
van het broncodepakket verschilt van de versie van het binaire pakket, dan
zal de broncode-naam gevolgd worden door een broncode-versie tussen
haakjes. Dit kan het geval zijn als de upload een uitsluitend binaire upload
is die niet door de onderhouder uitgevoerd wordt, of wanneer via
«dpkg-gencontrol -v» voor het binaire pakket een verschillend
versienummer ingesteld wordt.
- Subarchitecture: waarde
-
- Kernel-Version: waarde
-
- Installer-Menu-Item: waarde
-
Deze velden worden door het installatieprogramma van Debian gebruikt en zijn
meestal niet nodig. Zie voor meer details over deze velden
/usr/share/doc/debian-installer/devel/modules.txt uit het pakket
debian-installer.
- Depends: pakketlijst
-
Lijst van de pakketten die dit pakket nodig heeft om meer dan een
onbeduidende functionaliteit te kunnen bieden. Software voor pakketbeheer
zal niet toelaten dat een pakket geïnstalleerd wordt zonder dat de pakketten
die in zijn veld Depends vermeld worden, geïnstalleerd worden (tenminste
niet zonder het gebruik van forceeropties). Tijdens een installatie wordt
het postinst-script van pakketten die in het veld Depends vermeld worden,
uitgevoerd voor dat van het pakket dat van hen afhankelijk is. Bij het
verwijderen van een dergelijk pakket daarentegen wordt het prerm-script van
dat pakket uitgevoerd voor die van pakketten die in zijn veld Depends
vermeld staan.
- Pre-Depends: pakketlijst
-
Lijst van de pakketten die geïnstalleerd en geconfigureerd moeten zijn
vooraleer dit pakket geïnstalleerd kan worden. Dit wordt meestal gebruikt in
een geval waarin dit pakket een ander pakket nodig heeft om zijn
preinst-script te kunnen uitvoeren.
- Recommends: pakketlijst
-
Bevat een lijst van pakketten die samen met dit pakket aangetroffen worden
op alle behalve ongewone installaties. Software voor pakketbeheer zal de
gebruiker waarschuwen als die een pakket installeert zonder die welke
vermeld worden in zijn veld Recommends.
- Suggests: pakketlijst
-
Bevat een lijst van pakketten die gerelateerd zijn aan dit pakket en
mogelijks de bruikbaarheid ervan kunnen vergroten, hoewel het perfect
acceptabel is om het zonder die pakketten te installeren.
De syntaxis van de velden Depends, Pre-Depends, Recommends en
Suggests is een lijst van groepen van alternatieve pakketten. Elke groep
is een lijst van pakketten die onderling gescheiden zijn door het symbool
verticale streep (of "pijp"), '|'. De groepen worden onderling gescheiden
door komma's. Een komma moet geïnterpreteerd worden als een "AND" en een
pijp als een "OR", waarbij pijpen de sterkste binding hebben. Elke
pakketnaam kan facultatief gevolgd worden door een architectuurkwalificatie,
die toegevoegd wordt na een dubbele punt ':', facultatief gevolgd door de
aanduiding van een versienummer tussen haakjes.
De naam van een architectuurkwalificatie kan echte Debian-architectuurnaam
zijn (sinds dpkg 1.16.5) of any (sinds dpkg 1.16.2). Indien ze weggelaten
is, is ze standaard de architectuur van het huidige binaire pakket. Een
echte Debian-architectuurnaam komt exact overeen met die architectuur voor
die pakketnaam; any komt overeen met om het even welke architectuur voor
die pakketnaam als het pakket gemarkeerd werd als Multi-Arch: allowed.
Een versienummer kan beginnen met een '>>'. In dat geval levert
dit met alle latere versies een overeenkomst op. Een versienummer kan al dan
niet ook een Debian-pakketrevisie bevatten (met een koppelteken tussen
versienummer en Debian-pakketrevisie). Toegestane versierelaties zijn
'>>' voor hoger dan, '<<' voor lager dan, '>='
voor hoger of gelijk aan, '<=' voor lager of gelijk aan en '='
voor gelijk aan.
- Breaks: pakketlijst
-
Bevat een lijst van pakketten die door dit pakket defect gemaakt worden,
bijvoorbeeld door ze bloot te stellen aan bugs indien de vermelde pakketten
op dit pakket zouden rekenen. Software voor pakketonderhoud zal het
configureren van defecte pakketten niet toestaan. Meestal bestaat de
oplossing erin de pakketten die in het veld Breaks vermeld worden, op te
waarderen.
- Conflicts: pakketlijst
-
Bevat een lijst van pakketten die in tegenstrijd/conflict zijn met dit
pakket, bijvoorbeeld omdat ze bestanden met eenzelfde naam
bevatten. Software voor pakketonderhoud zal niet toestaan dat tegenstrijdige
pakketten tegelijkertijd geïnstalleerd zijn. Twee tegenstrijdige pakketten
moeten elk een Conflicts-regel bevatten met daarin de vermelding van het
andere pakket.
- Replaces: pakketlijst
-
Lijst van pakketbestanden die door dit pakket vervangen worden. Dit wordt
gebruikt om dit pakket de toelating te geven om bestanden uit een ander
pakket te overschrijven. Het wordt gewoonlijk gebruikt samen met het veld
Conflicts om het verwijderen van het andere pakket af te dwingen als dit
pakket dezelfde bestanden bevat als het pakket waarmee dit pakket in
tegenstrijd is.
De syntaxis van Breaks, Conflicts en Replaces is een lijst van met
komma's (en facultatieve witruimte) gescheiden pakketnamen. In de velden
Breaks en Conflicts moet de komma geïnterpreteerd worden als een
"OR". Facultatief kan ook een architectuurkwalificatie toegevoegd worden aan
de pakketnaam volgens dezelfde syntaxis als hierboven beschreven werd, maar
de standaardwaarde is any in plaats van de architectuur van het binaire
pakket. Ook kan bij de velden Breaks, Conflicts en Replaces
facultatief een versienummer toegevoegd worden volgens dezelfde syntaxis als
hierboven werd beschreven.
- Enhances: pakketlijst
-
Dit is een lijst met pakketten waarvoor dit pakket uitbreidingen biedt. Het
is vergelijkbaar met Suggests, maar in de omgekeerde richting.
- Provides: pakketlijst
-
Dit is een lijst van virtuele pakketten waarin door dit pakket voorzien
wordt. Gewoonlijk wordt dit gebruikt in het geval meerdere pakketten
dezelfde dienst leveren. Bijvoorbeeld kunnen sendmail en exim beide als
mailserver fungeren en daarom voorzien zij in een gemeenschappelijk pakket
("mail-transport-agent") waarvan andere pakketten afhankelijk kunnen
zijn. Dit laat sendmail of exim toe om te fungeren als een geldige optie om
aan die vereiste te voldoen. Hierdoor is het voor pakketten die een
mailserver nodig hebben niet nodig om van alle mailservers de pakketnaam te
kennen en ze, gescheiden door een '|', allemaal te vermelden in een
lijst.
De syntaxis van Provides is een lijst van pakketnamen door komma's (en
facultatieve witruimte) van elkaar gescheiden. Facultatief kan ook een
architectuurkwalificatie toegevoegd worden aan de pakketnaam volgens
dezelfde syntaxis als hierboven beschreven werd. Indien dit weggelaten werd,
wordt standaard de architectuur genomen van het huidige binaire
pakket. Facultatief kan ook een exact (is gelijk aan) versienummer opgegeven
worden volgens dezelfde syntaxis als hierboven beschreven werd (gehonoreerd
sinds dpkg 1.17.11).
- Built-Using: pakketlijst
-
Dit veld vermeldt extra broncodepakketten die gebruikt werden bij het bouwen
van dit binaire pakket. Dit is een indicatie voor de software voor
archiefonderhoud dat deze extra broncodepakketten behouden moeten blijven
zolang dit binaire pakket gehandhaafd wordt. Dit veld moet bestaan uit een
lijst van namen van broncodepakketten met een strikte '='
versierelatie. Merk op dat de software voor archiefonderhoud niet geneigd
zal zijn om een upload te aanvaarden van een pakket dat verklaart een
Built-Using-relatie te hebben waaraan in het archief niet voldaan kan
worden.
- Built-For-Profiles: profiel-lijst (verouderd)
-
Dit veld werd vroeger gebruikt om een lijst van door spaties van elkaar
gescheiden bouwprofielen op te sommen waarmee deze binaire pakketten gebouwd
werden (sinds dpkg 1.17.2 tot 1.18.18). De informatie die vroeger in dit
veld te vinden was, kan nu gevonden worden in het bestand .buildinfo dat
het vervangt.
- Auto-Built-Package: lijst-met-redenen
-
Dit veld somt een lijst van onderling door spaties gescheiden redenen op
waarom dit pakket automatisch gegenereerd werd. Binaire pakketten die met
dit veld gemarkeerd werden, zullen niet te vinden zijn in het
hoofdcontrolebestand debian/control van de broncode. De enige reden die
momenteel gebruikt wordt, is debug-symbols.
- Build-Ids: lijst met elf-bouw-id's
-
Dit veld geeft een lijst op van door witruimte van elkaar gescheiden
ELF-bouw-id's. Dit zijn unieke identificatiesymbolen voor semantisch
identieke ELF-objecten, voor elk ervan in het pakket.
De indeling of de berekeningswijze voor elke bouw-id ligt niet vast bij
ontwerp.
VOORBEELD
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).
BUGS
Voor het veld
Build-Ids wordt een eerder generieke naam gebruikt vanuit
zijn originele context binnen een ELF-object, welke een zeer specifieke
functie en uitvoerbaar formaat heeft.
ZIE OOK
deb822(5),
deb-src-control(5),
deb(5),
deb-version(7),
debtags(1),
dpkg(1),
dpkg-deb(1).