.\" -*- 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 "dpkg-gensymbols 1" .TH dpkg-gensymbols 1 2024-01-19 1.22.3 "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" dpkg-gensymbols \- Cr\('eation des fichiers de symboles (information de d\('ependances de biblioth\(`eques partag\('ees) .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBdpkg-gensymbols\fR [\fIoption\fR...] .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBdpkg-gensymbols\fR analyse un r\('epertoire temporaire de construction (par d\('efaut debian/tmp), y recherche les biblioth\(`eques et cr\('ee un fichier \fIsymbols\fR qui les d\('ecrit. Si ce fichier n'est pas vide, il est install\('e dans le sous\-r\('epertoire DEBIAN du r\('epertoire de construction afin de pouvoir \(^etre inclus dans les informations de contr\(^ole du paquet. .PP Lors de la cr\('eation de ces fichiers, il utilise en entr\('ee certains fichiers de symboles fournis par le responsable. Il recherche les fichiers suivants (en utilisant le premier trouv\('e)\ : .IP \(bu 4 debian/\fIpaquet\fR.symbols.\fIarch\fR .IP \(bu 4 debian/symbols.\fIarch\fR .IP \(bu 4 debian/\fIpaquet\fR.symbols .IP \(bu 4 debian/symbols .PP L'int\('er\(^et principal de ces fichiers est de fournir la version minimale associ\('ee \(`a chaque symbole fourni par les biblioth\(`eques. En g\('en\('eral, cela correspond \(`a la premi\(`ere version du paquet qui a fourni ce symbole, mais cette valeur peut \(^etre augment\('ee manuellement par le responsable si l'interface binaire applicative (ABI) du symbole est \('etendue sans casser la compatibilit\('e avec les versions pr\('ec\('edentes. La tenue \(`a jour de ces fichiers est \(`a la charge du responsable du paquet, avec l'aide de \fBdpkg-gensymbols\fR. .PP Quand les fichiers de symboles cr\('e\('es sont diff\('erents de ceux fournis par le responsable, \fBdpkg-gensymbols\fR affichera les diff\('erences entre les deux versions. Si ces diff\('erences sont trop importantes, le programme peut m\(^eme se terminer en \('echec (le nombre de diff\('erences tol\('er\('ees peut \(^etre r\('egl\('e avec l'option \fB\-c\fR). .PP This program was introduced in dpkg 1.14.8. .SH "TENUE \(`A JOUR DES FICHIERS SYMBOLES" .IX Header "TENUE \(`A JOUR DES FICHIERS SYMBOLES" The base interchange format of the symbols file is described in \fBdeb\-symbols\fR\|(5), which is used by the symbols files included in binary packages. These are generated from template symbols files with a format based on the former, described in \fBdeb\-src\-symbols\fR\|(5) and included in source packages. .PP Les fichiers de symboles deviennent r\('eellement utiles lorsqu'ils permettent de suivre l'\('evolution du paquet sur plusieurs versions. En cons\('equence, le responsable doit les mettre \(`a jour chaque fois qu'un nouveau symbole est ajout\('e afin que la version minimale associ\('ee corresponde \(`a la r\('ealit\('e. .PP Pour effectuer cette op\('eration correctement, le fichier de diff\('erences indiqu\('e dans le journal de construction peut \(^etre utilis\('e, mais en plus, le mainteneur doit s'assurer que le comportement de ces symboles n'a pas chang\('e d'une mani\(`ere qui pourrait faire que tout ce qui utilise ces symboles et qui est li\('e \(`a la nouvelle version cesse de fonctionner avec l'ancienne version. .PP Dans la plupart des cas, ce fichier de diff\('erences peut \(^etre appliqu\('e tel quel au fichier debian/\fIpaquet\fR.symbols. Cela \('etant, quelques adaptations sont g\('en\('eralement n\('ecessaires\ : il est par exemple recommand\('e de retirer le num\('ero de r\('evision Debian de la version minimale afin que les paquets r\('etro\-port\('es, de num\('ero de version inf\('erieur mais avec la m\(^eme version amont continuent \(`a r\('epondre aux pr\('e\-requis. Si le num\('ero de r\('evision Debian ne peut vraiment pas \(^etre retir\('e, car le nouveau symbole est la cons\('equence d'une modification propre \(`a Debian, il est sugg\('er\('e d'ajouter un suffixe \(Fo\ \fB~\fR\ \(Fc au num\('ero de version. .PP Avant d'appliquer le correctif au fichier de symboles, le responsable doit contr\(^oler qu'il est correct. Les symboles publics sont suppos\('es ne jamais dispara\(^itre et le correctif ne devrait donc qu'ajouter des lignes. .PP Notez qu'il est possible d'introduire des commentaires dans les fichiers de symboles. .PP N'oubliez pas de v\('erifier si les anciennes versions des symboles ne doivent pas \(^etre incr\('ement\('ees. Il n'y a pas de moyen pour que \fBdpkg-gensymbols\fR pr\('evienne de cela. Appliquer aveuglement le fichier de diff\('erences ou supposer qu'il n'y a rien \(`a changer, s'il n'y a pas de fichier de diff\('erences, sans v\('erifier s'il y a ces modifications, peut faire que des paquets, avec des d\('ependances l\(^aches, pr\('etendent qu'ils peuvent fonctionner avec des paquets plus anciens avec lesquels ils ne peuvent fonctionner. Cela introduira des bogues difficiles \(`a trouver avec des mises \(`a niveau (partielles). .SS "Bonnes pratiques de gestion des biblioth\(`eques" .IX Subsection "Bonnes pratiques de gestion des biblioth\(`eques" Une biblioth\(`eque bien maintenue offre les possibilit\('es suivantes\ : .IP \(bu 4 son interface de programmation (API) est stable (les symboles publics ne sont jamais supprim\('es et les changements ne concernent que des ajouts de nouveaux symboles publics) et les modifications provoquant une incompatibilit\('e doivent \(^etre combin\('ees avec un changement de SONAME ; .IP \(bu 4 id\('ealement, elle utilise le versionnage des symboles pour garantir la stabilit\('e de l'interface applicative binaire (ABI) malgr\('e ses modifications internes et l'extension de son API ; .IP \(bu 4 elle n'exporte pas les symboles priv\('es (afin de contourner cela, de tels symboles peuvent \(^etre \('etiquet\('es comme optionnels). .PP En maintenant le fichier de symboles, il est facile d'en voir appara\(^itre et dispara\(^itre. Cependant, il est plus difficile de contr\(^oler la pr\('esence d'\('eventuelles modifications d'API ou ABI. En cons\('equence, le responsable doit contr\(^oler soigneusement le journal des modifications amont, \(`a la recherche de cas o\(`u une saine gestion des biblioth\(`eques peut avoir \('et\('e omise. Si des probl\(`emes potentiels sont d\('ecouverts, l'auteur amont doit \(^etre averti(e), car une correction en amont est meilleure qu'un travail sp\('ecifique au paquet Debian. .SH OPTIONS .IX Header "OPTIONS" .IP \fB\-P\fR\fIr\('epertoire\-construction\-paquet\fR 4 .IX Item "-Pr\('epertoire-construction-paquet" Analyse de \fIr\('epertoire\-construction\-paquet\fR, plut\(^ot que debian/tmp. .IP \fB\-p\fR\fIpaquet\fR 4 .IX Item "-ppaquet" D\('efinit le nom du paquet. Requis si plus d'un paquet binaire est indiqu\('e dans debian/control (ou s'il n'y a pas de fichier debian/control). .IP \fB\-v\fR\fIversion\fR 4 .IX Item "-vversion" D\('efinit la version du paquet. La valeur par d\('efaut est la version extraite de debian/changelog. Ce param\(`etre est requis si le programme est lanc\('e en dehors de l'arborescence source d'un paquet. .IP \fB\-e\fR\fIfichier\-biblioth\(`eque\fR 4 .IX Item "-efichier-biblioth\(`eque" Only analyze libraries explicitly listed instead of finding all public libraries. You can use shell patterns used for pathname expansions (see the File::Glob manual page for details) in \fIlibrary-file\fR to match multiple libraries with a single argument (otherwise you need multiple \fB\-e\fR). .IP \fB\-l\fR\fIr\('epertoire\fR 4 .IX Item "-lr\('epertoire" Ajoute \fIr\('epertoire\fR au d\('ebut de la liste des r\('epertoires o\(`u chercher des biblioth\(`eques partag\('ees priv\('ees (depuis dpkg\ 1.19.1). Cette option peut \(^etre utilis\('ee plusieurs fois. .Sp \&\fBNote\fR: Use this option instead of setting \fBLD_LIBRARY_PATH\fR, as that environment variable is used to control the run-time linker and abusing it to set the shared library paths at build-time can be problematic when cross-compiling for example. .IP \fB\-I\fR\fInom-de-fichier\fR 4 .IX Item "-Inom-de-fichier" Utilise \fInom-de-fichier\fR comme fichier de r\('ef\('erence pour cr\('eer le fichier de symboles \(`a int\('egrer dans le paquet lui\-m\(^eme. .IP \fB\-O\fR[\fInom-de-fichier\fR] 4 .IX Item "-O[nom-de-fichier]" Affiche le fichier de symboles cr\('e\('e sur la sortie standard ou dans le \fInom-de-fichier\fR, si sp\('ecifi\('e, plut\(^ot que dans \fBdebian/tmp/DEBIAN/symbols\fR (ou \fIr\('epertoire\-construction\-paquet\fR\fB/DEBIAN/symbols\fR si \fB\-P\fR est pr\('esent). Si \fInom-de-fichier\fR existe d\('ej\(`a, son contenu sera utilis\('e comme base pour le fichier cr\('e\('e. Cette fonctionnalit\('e permet de mettre \(`a jour le fichier de symboles pour qu'il corresponde \(`a une nouvelle version amont de la biblioth\(`eque. .IP \fB\-t\fR 4 .IX Item "-t" Write the symbol file in template mode rather than the format compatible with \fBdeb\-symbols\fR\|(5). The main difference is that in the template mode symbol names and tags are written in their original form contrary to the post-processed symbol names with tags stripped in the compatibility mode. Moreover, some symbols might be omitted when writing a standard \fBdeb\-symbols\fR\|(5) file (according to the tag processing rules) while all symbols are always written to the symbol file template. .IP \fB\-c\fR\fI[0\-4]\fR 4 .IX Item "-c[0-4]" D\('efinit les contr\(^oles \(`a effectuer lors de la comparaison du fichier de symboles cr\('e\('e en utilisant le fichier de mod\(`ele comme point de d\('epart. Le niveau par d\('efaut est 1. Plus le niveau est augment\('e, plus le nombre de contr\(^oles effectu\('es est important. Chaque niveau de contr\(^ole comporte les contr\(^oles effectu\('es pour les niveaux inf\('erieurs. .RS 4 .IP "Niveau\ 0" 4 .IX Item "Niveau 0" Sans \('echec. .IP "Niveau\ 1" 4 .IX Item "Niveau 1" \('Echoue si certains symboles ont disparu. .IP "Niveau\ 2" 4 .IX Item "Niveau 2" \('Echoue si de nouveaux symboles ont \('et\('e ajout\('es. .IP "Niveau\ 3" 4 .IX Item "Niveau 3" \('Echoue si certaines biblioth\(`eques ont disparu. .IP "Niveau\ 4" 4 .IX Item "Niveau 4" \('Echoue si des biblioth\(`eques ont \('et\('e ajout\('ees. .RE .RS 4 .Sp Cette valeur peut \(^etre remplac\('ee par la valeur de la variable d'environnement \fBDPKG_GENSYMBOLS_CHECK_LEVEL\fR. .RE .IP \fB\-q\fR 4 .IX Item "-q" Fonctionne en mode silencieux et ne cr\('ee jamais de fichier de diff\('erences entre le fichier de symboles cr\('e\('e et le fichier mod\(`ele utilis\('e comme point de d\('epart. N'affiche \('egalement aucun avertissement \(`a propos de biblioth\(`eques nouvelles ou disparues ou de symboles nouveaux ou disparus. Cette option ne d\('esactive que l'affichage informatif, mais pas les contr\(^oles eux\-m\(^emes (voir l'option \fB\-c\fR). .IP \fB\-a\fR\fIarch\fR 4 .IX Item "-aarch" D\('efinit \fIarch\fR comme architecture lors du traitement des fichiers de symboles. Cette option permet de cr\('eer un fichier de symboles ou un fichier de diff\('erences pour n'importe quelle architecture, \(`a condition que les fichiers binaires correspondants soient d\('ej\(`a disponibles. .IP \fB\-d\fR 4 .IX Item "-d" Active le mode bavard. De nombreux messages sont affich\('es pour expliquer ce que \fBdpkg-gensymbols\fR fait. .IP \fB\-V\fR 4 .IX Item "-V" Active le mode bavard. Le fichier de symboles cr\('e\('e contiendra les symboles d\('epr\('eci\('es sous forme de commentaires. De plus, en mode mod\(`ele, les motifs de symboles seront suivis de commentaires affichant les symboles r\('eels qui correspondent au motif. .IP "\fB\-?\fR, \fB\-\-help\fR" 4 .IX Item "-?, --help" Afficher un message d'aide puis quitter. .IP \fB\-\-version\fR 4 .IX Item "--version" Afficher le num\('ero de version puis quitter. .SH ENVIRONNEMENT .IX Header "ENVIRONNEMENT" .IP \fBDPKG_GENSYMBOLS_CHECK_LEVEL\fR 4 .IX Item "DPKG_GENSYMBOLS_CHECK_LEVEL" Remplace le niveau de v\('erification de commande, m\(^eme si l'argument en ligne de commande \fB\-c\fR a \('et\('e donn\('e (notez que cela va \(`a l'encontre de la convention g\('en\('erale qui veut que les arguments en ligne de commande ont la pr\('es\('eance sur les variables d'environnement). .IP \fBDPKG_COLORS\fR 4 .IX Item "DPKG_COLORS" D\('efinit le mode de couleur (depuis dpkg\ 1.18.5). Les valeurs actuellement accept\('ees sont \fBauto\fR (par d\('efaut), \fBalways\fR et \fBnever\fR. .IP \fBDPKG_NLS\fR 4 .IX Item "DPKG_NLS" Si cette variable est d\('efinie, elle sera utilis\('ee pour d\('ecider l'activation de la prise en charge des langues (NLS \(en Native Language Support), connu aussi comme la gestion de l'internationalisation (ou i18n) (depuis dpkg\ 1.19.0). Les valeurs permises sont\ : \fB0\fR et \fB1\fR (par d\('efaut). .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" , , , \fBdeb\-src\-symbol\fR\|(5), \fBdeb\-symbols\fR\|(5), \fBdpkg\-shlibdeps\fR\|(1). .SH TRADUCTION .IX Header "TRADUCTION" Ariel VARDI , 2002. Philippe Batailler, 2006. Nicolas Fran\(,cois, 2006. Veuillez signaler toute erreur \(`a .