.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" 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 .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . 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 2024-03-10 1.22.6 "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 ASCII afin que les lettres passent avant les autres caract\(`eres et que les tildes ("~") 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\ ALPHA\ \(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 VARDI , 2002. Philippe Batailler, 2006. Nicolas Fran\(,cois, 2006. Veuillez signaler toute erreur \(`a .