Provided by: dpkg-dev_1.19.7ubuntu3.2_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.

              Het  is  facultatief. Als het ontbreekt, mag de toeleveraarsversie geen verbindingsteken bevatten.
              Deze indeling komt voor in het geval een stuk software geschreven werd met de specifieke bedoeling
              er een Debian pakket van te maken, zodat er slechts één enkele “debianisering” van bestaat  en  er
              daarom geen revisieaanduiding nodig is.

              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.7                                             2022-05-25                                     deb-version(7)