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)