dsc - Indeling van het controlebestand van
Debian-broncodepakketten
Elk Debian-broncodepakket bestaat uit een .dsc-controlebestand,
dat een aantal velden bevat volgens de indeling deb822(5).
Ieder veld begint met een markering, zoals Source of
Binary (niet hoofdlettergevoelig), gevolgd door een dubbele punt en
de tekstinhoud van het veld (hoofdlettergevoelig tenzij anders vermeld).
Velden worden enkel door veldmarkeringen begrensd. De tekstinhoud van het
veld kan met andere woorden verschillende regels lang zijn, maar de
installatiegereedschappen zullen bij het verwerken van de tekstinhoud de
regels gewoonlijk samenvoegen (behalve in het geval van de multiregel-velden
Package-List, Files, Checksums-Sha1 en
Checksums-Sha256; zie hierna)
De controle-data mogen ingesloten liggen in een
OpenPGP-handtekening met ASCII-harnas volgens de specificatie RFC4880.
- Format:
indelingsversie (verplicht)
- De waarde van dit veld declareert de indelingsversie van het
broncodepakket. De veldwaarde wordt door programma's die met een
broncodepakket werken, gebruikt om de bestandenlijst in het broncodepakket
te interpreteren en te bepalen hoe het uitgepakt moet worden. De syntaxis
van de veldwaarde is: een numerieke hoofdversie (“0-9”), een
punt (“.”), een numerieke onderversie (“0-9”),
en dan eventueel na witruimte (“ \t”) een subtype dat, als
het opgegeven wordt, bestaat uit een alfanumeriek (“a-z0-9”)
woord tussen haakjes (“()”). Vanuit het oogpunt van syntaxis
is het subtype optioneel, maar voor specifieke revisies van de indeling
van broncodepakketten kan het een verplicht onderdeel zijn.
De indelingen van de broncode die momenteel ondersteund worden
door dpkg zijn 1.0, 2.0, 3.0 (native),
3.0 (quilt), 3.0 (git), 3.0 (bzr) en 3.0
(custom). Raadpleeg dpkg-source(1) voor de beschrijving
ervan.
- Source:
broncode-naam (verplicht)
- De waarde van dit veld bepaalt de pakketnaam en wordt door de meeste
installatiegereedschappen gebruikt om bestandsnamen te genereren.
- Binary:
lijst-van-binaire-pakketten
- Dit gevouwen veld somt, door komma's van elkaar gescheiden, de binaire
pakketten op die door dit broncodepakket gebouwd kunnen worden.
Dit veld is nu vervangen door het veld Package-List dat
voldoende informatie geeft over welke binaire pakketten op welke
architecturen geproduceerd worden, over bouwprofielen en over andere
restricties die van belang zijn.
- Architecture:
arch-lijst (aanbevolen)
- Een lijst van door spaties van elkaar gescheiden architecturen en
architectuurjokertekens die aangeven voor welk type hardware dit pakket
gecompileerd kan worden. Gebruikelijke architectuurnamen en
architectuurjokertekens zijn amd64, armel, i386,
linux-any, any-amd64, enz.
Merk op dat de waarde all bedoeld is voor pakketten die
architectuuronafhankelijk zijn en any voor pakketten die
architectuurafhankelijk zijn. De lijst mag de speciale waarde all
bevatten (of er uitsluitend uit bestaan). Wanneer de lijst het
architectuurjokerteken any bevat, is all de enige andere
toegelaten waarde in de lijst.
De waarde van dit veld wordt gewoonlijk gegenereerd op basis
van de Architecture-velden in het bestand debian/control
van het broncodepakket.
- Version:
versie-tekenreeks (verplicht)
- Gewoonlijk is dit het originele versienummer van het pakket, welke vorm de
auteur van het programma er ook voor gebruikt. 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).
- Origin:
naam
- De naam van de distributie waaruit dit pakket afkomstig is.
- 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.
- Uploaders:
lijst van volledige-namen-en-e-mailadressen
- Somt al de namen en de e-mailadressen op van de personen die het pakket
mee onderhouden volgens dezelfde indeling als van het veld
Maintainer. Meerdere mede-onderhouders moeten onderling door een
komma gescheiden worden.
- Description:
korte-beschrijving
- uitgebreide-beschrijving
- De indeling van een pakketbeschrijving bestaat uit een beknopte korte
samenvatting op de eerste regel (na de veldmarkering Description).
De daaropvolgende regels moeten gebruikt worden voor een langere, meer
gedetailleerde beschrijving. 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.
- Homepage:
URL
- De URL van de homepage van het toeleverend project (upstream).
- Standards-Version:
versietekenreeks (aanbevolen)
- Dit documenteert de meest recente versie van de normen die vastgelegd
werden in de richtlijnen van de distributie en waaraan dit pakket
voldoet.
- Vcs-Browser:
URL
- De url van een webinterface waarmee door de opslagruimte van het
versiecontrolesysteem kan gebladerd worden.
- Vcs-Arch:
URL
- Vcs-Bzr:
URL
- Vcs-Cvs:
URL
- Vcs-Darcs:
URL
- Vcs-Git:
URL
- Vcs-Hg:
URL
- Vcs-Mtn:
URL
- Vcs-Svn:
URL
- Deze velden declareren de url van de opslagruimte van het
versiecontrolesysteem dat gebruikt wordt om dit pakket te onderhouden. Zie
deb-src-control(5) voor verdere informatie.
- Testsuite:
namenlijst
- Dit veld declareert dat het broncodepakket de opgegeven testsuites bevat.
De waarde is een lijst van onderling door komma's gescheiden testsuites.
Indien de waarde autopkgtest bestaat, wordt verondersteld dat het
bestand debian/tests/control bestaat. Indien het bestand bestaat,
maar de waarde niet, dan zal dpkg-source die automatisch toevoegen
met behoud van de vroegere waarden.
- Testsuite-Triggers:
pakketlijst
- Dit veld declareert de door komma's gescheiden unie van alle testvereisten
(de velden Depends uit het bestand debian/tests/control),
waaruit alle restricties verwijderd en alle OR-vereisten uitgevlakt werden
(dit betekent omgezet naar aparte AND-relaties), uitgezonderd voor de
binaire pakketten, gegenereerd door dit broncodepakket en het equivalent
van zijn meta-vereiste @.
Motivering: dit veld is noodzakelijk omdat anders elk
broncodepakket uitgepakt zou moeten worden om de testvereisten te kunnen
achterhalen.
- Build-Depends:
pakketlijst
- Build-Depends-Arch:
pakketlijst
- Build-Depends-Indep:
pakketlijst
- Build-Conflicts:
pakketlijst
- Build-Conflicts-Arch:
pakketlijst
- Build-Conflicts-Indep:
pakketlijst
- Deze velden declareren de relaties tussen het broncodepakket en de
pakketten die gebruikt worden om het te bouwen. Zij worden besproken in de
man-pagina deb-src-control(5).
- Package-List:
- pakket pakkettype sectie prioriteit
trefwoord-waarde-lijst
- Dit multiregel-veld bevat een lijst van binaire pakketten die door dit
broncodepakket gegenereerd worden.
Het element pakket is de naam van het binaire
pakket.
Het element pakket-type is het type van het binaire
pakket, meestal deb; een andere gebruikelijke waarde is
udeb.
De elementen sectie (section) en prioriteit
(priority) komen overeen met de velden met dezelfde naam van het binaire
pakket.
Het element trefwoord-waarde-lijst is een lijst van
door spaties gescheiden trefwoord=waarde en de
momenteel herkende optionele trefwoorden zijn:
- arch
- De architectuurrestrictie uit het veld Architecture van het binaire
pakket, waarbij spaties naar ‘,’ geconverteerd worden.
- profile
- De genormaliseerde bouwprofiel-restrictieformule uit het veld
Build-Profile van het binaire pakket, waarbij OR's omgezet worden
naar ‘+’ en AND's naar ‘,’.
- protected
- Indien het binaire pakket beschermd (protected) is, zal dit trefwoord de
waarde hebben van het veld Protected, wat een waarde yes is.
Ondersteund sinds dpkg 1.20.1.
- essential
- Indien het binaire pakket essentieel (essential) is, zal dit trefwoord de
waarde hebben van het veld Essential en dat is de waarde
yes.
- Files:
(verplicht)
- Checksums-Sha1:
(verplicht)
- Checksums-Sha256:
(verplicht)
- controlesom grootte bestandsnaam
- Deze multiregel-velden bevatten een lijst van bestanden met voor elk van
hen een controlesom en een grootte. Deze velden hebben een identieke
syntaxis en verschillen onderling enkel inzake het gebruikte algoritme
voor de controlesom: MD5 voor Files, SHA-1 voor
Checksums-Sha1 en SHA-256 voor Checksums-Sha256.
De eerste regel van de veldwaarde (het deel dat op dezelfde
regel staat als de door een dubbele punt gevolgde veldnaam) is steeds
leeg. De inhoud van het veld wordt in de vervolgregels verwoord,
één regel per bestand. Elke regel bestaat uit de
controlesom, een spatie, de bestandsgrootte, een spatie en de
bestandsnaam.
Deze velden sommen alle bestanden op die deel uitmaken van het
broncodepakket. De lijst bestanden in deze velden moet overeenkomen met
de lijst bestanden in de andere verwante velden.
Het veld Format combineert de indeling van het
.dsc-bestand zelf en de indeling van het uitgepakte
broncodepakket.