Provided by: dpkg-dev_1.19.0.5ubuntu2.4_all bug

NAAM

       deb-version - Indeling van het pakketversienummer in Debian

OVERZICHT

       [epoche:]toeleveraarsversie[-debian-revisie]

BESCHRIJVING

       De  versienummers  die  gebruikt  worden voor de binaire en broncodepakketten van Debian bestaan uit drie
       componenten. Die zijn:

       epoche Dit is een enkel (meestal klein) positief geheel getal. Het mag weggelaten worden en in dat  geval
              wordt  aangenomen  dat  het  nul  is.  Indien het weggelaten wordt, mag de toeleveraarsversie geen
              dubbele punt bevatten.

              Het wordt gebruikt om te kunnen breken met een vergissing  die  bij  de  versienummering  van  een
              eerdere versie van het pakket gemaakt werd of met een vroeger versienummeringsschema.

       toeleveraarsversie
              Dit  is  het  belangrijkste  deel van het versienummer. Het is gewoonlijk het versienummer van het
              originele (“upstream”) pakket waarvan het .deb-bestand gemaakt werd, voor zover dit van toepassing
              is. Gewoonlijk wordt dezelfde indeling gebruikt als die welke door  de  auteurs  van  de  software
              opgegeven  wordt. Een herindeling kan nochtans nodig zijn om ze te laten passen binnen de indeling
              van het systeem voor pakketbeheer en -vergelijking.

              Het vergelijkingsgedrag van het pakketbeheerssysteem  met  betrekking  tot  de  toeleveraarsversie
              wordt  hierna  beschreven.  Het  onderdeel  toeleveraarsversie  is een verplicht onderdeel van het
              versienummer.

              De toeleveraarsversie mag enkel alfanumerieke (“A-Za-z0-9”) tekens bevatten en de tekens . + - : ~
              (punt, plus, verbindingsteken, dubbele punt, tilde) en moet met een cijfer beginnen. Als  er  geen
              debian-revisie  is,  mogen  geen  verbindingstekens  gebruikt  worden  en als het onderdeel epoche
              ontbreekt, mogen geen dubbele punten gebruikt worden.

       debian-revisie
              Dit deel van het versienummer specificeert de versie van het Debian pakket, gebaseerd op de versie
              van de toeleveraar. Het mag enkel alfanumerieke tekens bevatten en de tekens + .  ~  (plus,  punt,
              tilde) en wordt op dezelfde manier vergeleken als de toeleveraarsversie.

              It  is  optional;  if  it  isn't present then the upstream-version may not contain a hyphen.  This
              format represents the case where a piece of software was written specifically to be turned into  a
              Debian  package,  and  so  there  is  only  one  “debianization”  of  it and therefore no revision
              indication is required.

              Het is gebruikelijk om de debian-revisie terug  op  ‘1’  te  laten  beginnen  telkens  wanneer  de
              toeleveraarsversie verhoogd wordt.

              Dpkg  splitst  het versienummer op bij het laatste verbindingstekenteken uit de tekenreeks (als er
              een in voorkomt) om te bepalen wat de toeleveraarsversie is  en  wat  de  debian-revisie.  In  een
              vergelijking  is  een  versienummer  zonder  een  debian-revisie een lagere versie dan één met een
              dergelijke component (maar merk op dat de debian-revisie  het  minst  significante  deel  van  een
              versienummer is).

   Sorteeralgoritme
       De  onderdelen  toeleveraarsversie  en  debian-revisie worden door het pakketbeheersysteem met behulp van
       hetzelfde algoritme vergeleken:

       De tekenreeksen worden vergeleken van links naar rechts.

       Eerst wordt van elke tekenreeks het eerste deel, dat volledig uit niet-numerieke tekens bestaat, bepaald.
       Deze twee delen (waarvan er een leeg mag zijn) worden lexicaal met elkaar vergeleken.  Als  een  verschil
       aangetroffen   wordt,   wordt  ze  teruggegeven.  Een  lexicale  vergelijking  is  een  vergelijking  van
       ASCII-waarden die aangepast wordt, zodat alle lettertekens in de  ordening  voor  alle  niet-lettertekens
       komen  en zodat een tilde voor alles komt, zelfs het einde van een onderdeel. De volgende onderdelen zijn
       bijvoorbeeld in volgorde weergegeven: ‘~~’, ‘~~a’, ‘~’, het lege deel, ‘a’.

       Vervolgens wordt het eerste deel van de rest van elke tekenreeks dat volledig uit  cijfertekens  bestaat,
       bepaald.  De  numerieke  waarden van deze twee delen worden vergeleken en een eventueel gevonden verschil
       wordt als resultaat van de vergelijking teruggegeven. In deze context  geldt  een  lege  tekenreeks  (die
       enkel kan voorkomen op het einde van een of beide vergeleken versietekenreeksen) als een nul.

       Deze  beide  stappen  (vergelijken  en  verwijderen  van  initiële  niet-numerieke  en initiële numerieke
       tekenreeksen) worden herhaald tot er een verschil gevonden  wordt  of  tot  beide  tekenreeksen  volledig
       afgelopen werden.

       Merk op dat een epoche bedoeld is om ons toe te laten fouten in versienummering achter ons te laten en te
       kunnen  omgaan met situaties waarbij het versienummeringssysteem gewijzigd werd. Het is niet de bedoeling
       ervan te kunnen omgaan met versienummers die lettertekenreeksen bevatten die niet geïnterpreteerd  kunnen
       worden door het pakketbeheersysteem (zoals ‘ALPHA’ of ‘pre-’), of met ondoordachte ordeningen.

OPMERKINGEN

       De  bijzondere betekenis van het tilde-teken bij het sorteren werd geïntroduceerd in dpkg 1.10 en sommige
       onderdelen van de bouwscripts van dpkg werden pas later in de  1.10.x-cyclus  in  staat  gesteld  het  te
       ondersteunen.

ZIE OOK

       deb-control(5), deb(5), dpkg(1)

1.19.0.5                                           2022-05-25                                     deb-version(7)