144 lines
6.4 KiB
HTML
144 lines
6.4 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of deb-version</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>deb-version</H1>
|
|
Section: dpkg-suite (7)<BR>Updated: 2020-03-23<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAAM</H2>
|
|
|
|
deb-version - Indeling van het pakketversienummer in Debian
|
|
<A NAME="lbAC"> </A>
|
|
<H2>OVERZICHT</H2>
|
|
|
|
[<I>epoche</I><B>:</B>]<I>toeleveraarsversie</I>[<B>-</B><I>debian-revisie</I>]
|
|
<A NAME="lbAD"> </A>
|
|
<H2>BESCHRIJVING</H2>
|
|
|
|
De versienummers die gebruikt worden voor de binaire en broncodepakketten
|
|
van Debian bestaan uit drie componenten. Die zijn:
|
|
<DL COMPACT>
|
|
<DT id="1"><I>epoche</I><DD>
|
|
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 <I>toeleveraarsversie</I> geen dubbele punt bevatten.
|
|
<DT id="2"><DD>
|
|
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.
|
|
<DT id="3"><I>toeleveraarsversie</I><DD>
|
|
Dit is het belangrijkste deel van het versienummer. Het is gewoonlijk het
|
|
versienummer van het originele ("upstream") pakket waarvan het
|
|
<I>.deb</I>-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.
|
|
<DT id="4"><DD>
|
|
Het vergelijkingsgedrag van het pakketbeheerssysteem met betrekking tot de
|
|
<I>toeleveraarsversie</I> wordt hierna beschreven. Het onderdeel
|
|
<I>toeleveraarsversie</I> is een verplicht onderdeel van het versienummer.
|
|
<DT id="5"><DD>
|
|
De <I>toeleveraarsversie</I> mag enkel alfanumerieke ("A-Za-z0-9") tekens
|
|
bevatten en de tekens <B>.</B> <B>+</B> <B>-</B> <B>:</B> <B>~</B> (punt, plus,
|
|
verbindingsteken, dubbele punt, tilde) en moet met een cijfer beginnen. Als
|
|
er geen <I>debian-revisie</I> is, mogen geen verbindingstekens gebruikt worden
|
|
en als het onderdeel <I>epoche</I> ontbreekt, mogen geen dubbele punten gebruikt
|
|
worden.
|
|
<DT id="6"><I>debian-revisie</I><DD>
|
|
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 <B>+</B> <B>.</B> <B>~</B> (plus, punt, tilde) en wordt op
|
|
dezelfde manier vergeleken als de <I>toeleveraarsversie</I>.
|
|
<DT id="7"><DD>
|
|
Het is facultatief. Als het ontbreekt, mag de <I>toeleveraarsversie</I> 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.
|
|
<DT id="8"><DD>
|
|
Het is gebruikelijk om de <I>debian-revisie</I> terug op '1' te laten beginnen
|
|
telkens wanneer de <I>toeleveraarsversie</I> verhoogd wordt.
|
|
<DT id="9"><DD>
|
|
Dpkg splitst het versienummer op bij het laatste verbindingstekenteken uit
|
|
de tekenreeks (als er een in voorkomt) om te bepalen wat de
|
|
<I>toeleveraarsversie</I> is en wat de <I>debian-revisie</I>. In een vergelijking is
|
|
een versienummer zonder een <I>debian-revisie</I> een lagere versie dan één met
|
|
een dergelijke component (maar merk op dat de <I>debian-revisie</I> het minst
|
|
significante deel van een versienummer is).
|
|
</DL>
|
|
<A NAME="lbAE"> </A>
|
|
<H3>Sorteeralgoritme</H3>
|
|
|
|
De onderdelen <I>toeleveraarsversie</I> en <I>debian-revisie</I> worden door het
|
|
pakketbeheersysteem met behulp van hetzelfde algoritme vergeleken:
|
|
<P>
|
|
|
|
De tekenreeksen worden vergeleken van links naar rechts.
|
|
<P>
|
|
|
|
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'.
|
|
<P>
|
|
|
|
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.
|
|
<P>
|
|
|
|
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.
|
|
<P>
|
|
|
|
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 <B>niet</B> 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.
|
|
<A NAME="lbAF"> </A>
|
|
<H2>OPMERKINGEN</H2>
|
|
|
|
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.
|
|
<A NAME="lbAG"> </A>
|
|
<H2>ZIE OOK</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?5+deb-control">deb-control</A></B>(5), <B><A HREF="/cgi-bin/man/man2html?5+deb">deb</A></B>(5), <B><A HREF="/cgi-bin/man/man2html?1+dpkg">dpkg</A></B>(1)
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="10"><A HREF="#lbAB">NAAM</A><DD>
|
|
<DT id="11"><A HREF="#lbAC">OVERZICHT</A><DD>
|
|
<DT id="12"><A HREF="#lbAD">BESCHRIJVING</A><DD>
|
|
<DL>
|
|
<DT id="13"><A HREF="#lbAE">Sorteeralgoritme</A><DD>
|
|
</DL>
|
|
<DT id="14"><A HREF="#lbAF">OPMERKINGEN</A><DD>
|
|
<DT id="15"><A HREF="#lbAG">ZIE OOK</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:20 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|