deb-control(5)

NAAM
deb-control - Debian binary packages' master control file format

OVERZICHT
control

BESCHRIJVING
Each Debian binary package contains the master control file, which 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. 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.

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(5).

Maintainer: fullname-email (recommended)
    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: short-description (recommended)
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.

The Section and Priority fields usually have a defined set of accepted values based on the specific distribution policy.

Installed-Size: size
    The approximate total size of the package's installed files, in KiB units.

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 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 (recommended)
    The architecture specifies which type of hardware this package was compiled for. Common architectures are amd64, armel, i386, powerpc, etc. Note that the all value is meant for packages that are architecture independent. Some examples of this are shell and Perl scripts, and documentation.

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: same|foreign|allowed|no
    Dit veld wordt gebruikt om aan te geven hoe dit pakket zich moet gedragen op een multi-architectuurinstallatie. De waarde same betekent dat dit pakket co-installeerbaar is met zichzelf, maar dat het niet kan gebruikt worden om te voldoen aan de vereiste van een pakket dat tot een andere architectuur behoort dan het pakket zelf. De waarde foreign betekent dat dit pakket niet co-installeerbaar is met zichzelf, maar dat het wel de toelating heeft om te voldoen aan een vereiste zonder architectuurbepaling van een pakket dat tot een andere architectuur behoort dan dit pakket (indien een vereiste een expliciete architectuurkwalificatie heeft, wordt de waarde foreign genegeerd). De waarde allowed laat toe dat geïnverteerde afhankelijkheden in hun veld Depends aangeven dat zij een pakket van een vreemde architectuur aanvaarden, door aan de pakketnaam de kwalificatie :any te geven, maar anders heeft deze waarde geen effect. De waarde no is de standaardwaarde als het veld weggelaten is, waardoor het over het algemeen niet nodig is om het veld toe te voegen met als expliciete waarde no.

Source: source-name [(source-version)]
    The name of the source package that this binary package came from, if it is different than the name of the package itself. If the source version differs from the binary version, then the source-name will be followed by a source-version in parenthesis. This can happen for example on a binary-only non-maintainer upload, or when setting a different binary version via «dpkg-gencontrol -v».

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.

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: profile-list
    This field specifies a whitespace separated list of build profiles that this binary packages was built with.

VOORBEELD
# Commentaar
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 en fgrep.
 De GNU familie van grep-hulpprogramma's is misschien wel de "fastest grep in
 the west". GNU grep is gebaseerd op een snel `lazy-state deterministic
 matcher' (ongeveer twee keer zo snel als een gewone Unix grep), gekruist met
 een Boyer-Moore-Gosper zoekalgoritme voor een vaste tekenreeks, hetgeen
 voorkomt dat niet-voorkomende tekst wordt meegenomen in de volledige regexp
 zoekopdracht, zonder naar ieder teken te hoeven kijken. Het resultaat is
 gewoonlijk vele malen sneller dan Unix grep of egrep. (Maar reguliere
 expressies met terugverwijzingen zullen trager zijn.

ZIE OOK
deb(5), deb-version(5), debtags(1), dpkg(1), dpkg-deb(1).