.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "deb-version 7" .TH deb-version 7 "2022-09-01" "1.20.12" "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" deb-version \- Format du num\('ero de version des paquets Debian .SH "SYNOPSIS" .IX Header "SYNOPSIS" [\fIepoch\fR\fB:\fR]\fIversion_amont\fR[\fB\-\fR\fIr\('evision_debian\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" Les num\('eros de version utilis\('es pour les paquets sources et binaires se composent de trois parties. Celles-ci sont : .IP "\fIepoch\fR" 4 .IX Item "epoch" Ce nombre est un entier positif (usuellement petit). Il peut \(^etre omis (dans ce cas, la valeur nulle est implicite). S'il est omis, la \fIversion_amont\fR peut ne pas contenir de caract\(`ere deux-points. .Sp Cette valeur est destin\('ee \(`a permettre de g\('erer des erreurs dans les anciens num\('eros de version d'un paquet ou un changement dans la m\('ethode de num\('erotation des versions amont. .IP "\fIversion_amont\fR" 4 .IX Item "version_amont" La partie principale du num\('ero de version. Cela correspond normalement au num\('ero de version du paquet d'origine (\(Fo upstream \(Fc) qui a servi \(`a cr\('eer le fichier \fI.deb\fR, si cela peut s'appliquer. Le format d'origine sp\('ecifi\('e par l'auteur est g\('en\('eralement conserv\('e ; cependant, il arrive qu'il soit n\('ecessaire d'adapter ce num\('ero pour qu'il se conforme au format du syst\(`eme de gestion de paquet et du proc\('ed\('e de comparaison des num\('eros de version. .Sp Le principe de comparaison du syst\(`eme de gestion de paquets en ce qui concerne la \fIversion_amont\fR est d\('ecrit ci-dessous. La partie \&\fIversion_amont\fR du num\('ero de version est obligatoire. .Sp La \fIversion_amont\fR ne doit contenir que des caract\(`eres alphanum\('eriques (\(Fo A\-Za\-z0\-9 \(Fc) et les caract\(`eres \fB.\fR \fB+\fR \fB\-\fR \fB:\fR \fB~\fR (point, plus, tiret, deux-points, tilde) et devrait commencer par un chiffre. S'il n'y a pas de partie \fIr\('evision_Debian\fR alors le tiret n'est pas autoris\('e ; s'il n'y a pas d'\fIepoch\fR, alors c'est le caract\(`ere deux-points qui n'est pas autoris\('e. .IP "\fIr\('evision_Debian\fR" 4 .IX Item "r\('evision_Debian" Cette partie du num\('ero de version indique la version du paquet Debian \(`a partir du num\('ero de la version amont. Elle ne doit contenir que des symboles alphanum\('eriques et les caract\(`eres \fB+\fR \fB.\fR \fB~\fR (plus, point, tilde). Elle est analys\('ee de la m\(^eme fa\(,con que la \fIversion_amont\fR. .Sp Cette partie est facultative ; si elle n'est pas pr\('esente, la \&\fIversion_amont\fR ne doit pas contenir de tiret. Ce format est pr\('evu pour le cas o\(`u un logiciel a \('et\('e directement con\(,cu comme paquet Debian, il n'y a donc qu'une seule \(Fo debianisation \(Fc et donc par la suite pas besoin d'indication de r\('evision. .Sp Il est convenu de repartir \(`a \(Fo 1 \(Fc pour la \fIr\('evision_Debian\fR \(`a chaque fois que la \fIversion_amont\fR est incr\('ement\('ee. .Sp Dpkg s'arr\(^etera au dernier tiret du num\('ero de version (s'il y en a un) pour d\('eterminer la partie \fIversion_amont\fR et la \fIr\('evision_Debian\fR. L'absence de \&\fIr\('evision_Debian\fR est compar\('ee avant sa pr\('esence, mais il faut noter que la \&\fIr\('evision_Debian\fR est la partie la moins significative du num\('ero de version. .SS "Algorithme de tri" .IX Subsection "Algorithme de tri" Les parties \fIversion_amont\fR et \fIr\('evision_Debian\fR sont compar\('ees par le syst\(`eme de gestion de paquet en utilisant le m\(^eme algorithme : .PP Les cha\(^ines sont compar\('ees de la gauche vers la droite. .PP Pour commencer, la premi\(`ere partie de chaque cha\(^ine compos\('ee uniquement de caract\(`eres non num\('eriques est d\('etermin\('ee. Puis ces deux parties (l'une peut \(^etre vide) sont compar\('ees lexicalement. Si une diff\('erence est trouv\('ee, elle est renvoy\('ee. La comparaison lexicale est effectu\('ee sur une version modifi\('ee des valeurs \s-1ASCII\s0 afin que les lettres passent avant les autres caract\(`eres et que les tildes (\*(L"~\*(R") passent avant tous les caract\(`eres, m\(^eme la fin d'une partie. Par exemple, les \('el\('ements suivants sont ordonn\('es ainsi : \(Fo ~~ \(Fc, \(Fo ~~a \(Fc, \(Fo ~ \(Fc, partie vide, \(Fo a \(Fc. .PP Puis, le d\('ebut de ce qui reste des cha\(^ines de caract\(`eres qui ne doivent plus contenir que des chiffres est d\('etermin\('e. Ces valeurs num\('eriques sont compar\('ees et les diff\('erences sont remont\('ees. Dans le cas d'une cha\(^ine vide (ce qui peut arriver si une cha\(^ine est plus longue que l'autre lors de la comparaison) elle compte pour un z\('ero. .PP Ces deux \('etapes (comparaison et suppression des caract\(`eres non num\('eriques puis de suppression des caract\(`eres num\('eriques dans le d\('ebut de la cha\(^ine) sont r\('ep\('et\('ees jusqu'\(`a ce qu'une diff\('erence soit trouv\('ee ou la fin des cha\(^ines atteinte. .PP Notez que le r\(^ole de epoch est de permettre de se sortir des probl\(`emes de num\('erotation de version, et de faire face \(`a des situations de changement de logique de num\('erotation. Cela n'est \fBpas\fR destin\('e \(`a faire face \(`a des num\('eros de version qui contiennent des cha\(^ines de lettres que le syst\(`eme de gestion de paquet ne sait pas interpr\('eter (comme \(Fo \s-1ALPHA\s0 \(Fc, \(Fo pre\- \(Fc) ou d'autres choses stupides. .SH "NOTES" .IX Header "NOTES" Le caract\(`ere tilde (\(Fo ~ \(Fc) et sa propri\('et\('e sp\('eciale pour les comparaisons ont \('et\('e introduites dans la version 1.10 de dpkg. Ce n'est qu'\(`a partir des versions sup\('erieures (1.10.x) que certaines parties des scripts de construction de dpkg ont commenc\('e \(`a g\('erer ce syst\(`eme. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBdeb-control\fR(5), \fBdeb\fR(5), \fBdpkg\fR(1). .SH "TRADUCTION" .IX Header "TRADUCTION" Ariel \s-1VARDI\s0 , 2002. Philippe Batailler, 2006. Nicolas Fran\(,cois, 2006. Veuillez signaler toute erreur \(`a .