Man page - dpkg-gensymbols(1)
Packages contains this manual
- deb822(5)
- dpkg-vendor(1)
- deb-symbols(5)
- deb-src-rules(5)
- dpkg-mergechangelogs(1)
- dsc(5)
- deb-src-control(5)
- dpkg-shlibdeps(1)
- dpkg-genbuildinfo(1)
- dpkg-scanpackages(1)
- deb-substvars(5)
- dpkg-parsechangelog(1)
- dpkg-architecture(1)
- deb-triggers(5)
- deb-changelog(5)
- deb-extra-override(5)
- deb-buildinfo(5)
- dpkg-buildpackage(1)
- dpkg-distaddfile(1)
- dpkg-gencontrol(1)
- dpkg-buildtree(1)
- deb-postrm(5)
- deb-version(7)
- deb-prerm(5)
- deb-preinst(5)
- deb-src-files(5)
- dpkg-buildapi(1)
- dpkg-checkbuilddeps(1)
- deb-src-symbols(5)
- deb-old(5)
- dpkg-source(1)
- deb-changes(5)
- deb-origin(5)
- dpkg-buildflags(1)
- deb-override(5)
- deb(5)
- dpkg-scansources(1)
- deb-control(5)
- deb-split(5)
- deb-shlibs(5)
- dpkg-build-api(7)
- deb-postinst(5)
- deb-conffiles(5)
- dpkg-genchanges(1)
- dpkg-gensymbols(1)
- dpkg-name(1)
- deb-md5sums(5)
apt-get install dpkg-dev
Available languages:
en fr pt nl sv deManual
dpkg-gensymbols
NOMSYNOPSIS
DESCRIPTION
TENUE Ă JOUR DES FICHIERS SYMBOLES
Bonnes pratiques de gestion des bibliothĂšques
OPTIONS
ENVIRONNEMENT
VOIR AUSSI
TRADUCTION
NOM
dpkg-gensymbols - Création des fichiers de symboles (information de dépendances de bibliothÚques partagées)
SYNOPSIS
dpkg-gensymbols [ option ...]
DESCRIPTION
dpkg-gensymbols analyse un rĂ©pertoire temporaire de construction (par dĂ©faut debian/tmp), y recherche les bibliothĂšques et crĂ©e un fichier symbols qui les dĂ©crit. Si ce fichier nâest pas vide, il est installĂ© dans le sous-rĂ©pertoire DEBIAN du rĂ©pertoire de construction afin de pouvoir ĂȘtre inclus dans les informations de contrĂŽle du paquet.
Lors de la création de ces fichiers, il utilise en entrée certains fichiers de symboles fournis par le responsable. Il recherche les fichiers suivants (en utilisant le premier trouvé) :
|
âą |
debian/ paquet .symbols. arch |
|||
|
âą |
debian/symbols. arch |
|||
|
âą |
debian/ paquet .symbols |
|||
|
âą |
debian/symbols |
LâintĂ©rĂȘt principal de ces fichiers est de fournir la version minimale associĂ©e Ă chaque symbole fourni par les bibliothĂšques. En gĂ©nĂ©ral, cela correspond Ă la premiĂšre version du paquet qui a fourni ce symbole, mais cette valeur peut ĂȘtre augmentĂ©e manuellement par le responsable si lâinterface binaire applicative (ABI) du symbole est Ă©tendue sans casser la compatibilitĂ© avec les versions prĂ©cĂ©dentes. La tenue Ă jour de ces fichiers est Ă la charge du responsable du paquet, avec lâaide de dpkg-gensymbols .
Quand les fichiers de symboles créés sont diffĂ©rents de ceux fournis par le responsable, dpkg-gensymbols affichera les diffĂ©rences entre les deux versions. Si ces diffĂ©rences sont trop importantes, le programme peut mĂȘme se terminer en Ă©chec (le nombre de diffĂ©rences tolĂ©rĂ©es peut ĂȘtre rĂ©glĂ© avec lâoption -c ).
This program was introduced in dpkg 1.14.8.
TENUE Ă JOUR DES FICHIERS SYMBOLES
The base interchange format of the symbols file is described in deb-symbols (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 deb-src-symbols (5) and included in source packages.
Les fichiers de symboles deviennent rĂ©ellement utiles lorsquâils permettent de suivre lâĂ©volution du paquet sur plusieurs versions. En consĂ©quence, le responsable doit les mettre Ă jour chaque fois quâun nouveau symbole est ajoutĂ© afin que la version minimale associĂ©e corresponde Ă la rĂ©alitĂ©.
Pour effectuer cette opĂ©ration correctement, le fichier de diffĂ©rences indiquĂ© dans le journal de construction peut ĂȘtre utilisĂ©, mais en plus, le mainteneur doit sâassurer que le comportement de ces symboles nâa pas changĂ© dâune maniĂšre qui pourrait faire que tout ce qui utilise ces symboles et qui est liĂ© Ă la nouvelle version cesse de fonctionner avec lâancienne version.
Dans la plupart des cas, ce fichier de diffĂ©rences peut ĂȘtre appliquĂ© tel quel au fichier debian/ paquet .symbols. Cela Ă©tant, quelques adaptations sont gĂ©nĂ©ralement nĂ©cessaires : il est par exemple recommandĂ© de retirer le numĂ©ro de rĂ©vision Debian de la version minimale afin que les paquets rĂ©tro-portĂ©s, de numĂ©ro de version infĂ©rieur mais avec la mĂȘme version amont continuent Ă rĂ©pondre aux prĂ©-requis. Si le numĂ©ro de rĂ©vision Debian ne peut vraiment pas ĂȘtre retirĂ©, car le nouveau symbole est la consĂ©quence dâune modification propre Ă Debian, il est suggĂ©rĂ© dâajouter un suffixe « Ë Â» au numĂ©ro de version.
Avant dâappliquer le correctif au fichier de symboles, le responsable doit contrĂŽler quâil est correct. Les symboles publics sont supposĂ©s ne jamais disparaĂźtre et le correctif ne devrait donc quâajouter des lignes.
Notez quâil est possible dâintroduire des commentaires dans les fichiers de symboles.
Nâoubliez pas de vĂ©rifier si les anciennes versions des symboles ne doivent pas ĂȘtre incrĂ©mentĂ©es. Il nây a pas de moyen pour que dpkg-gensymbols prĂ©vienne de cela. Appliquer aveuglement le fichier de diffĂ©rences ou supposer quâil nây a rien Ă changer, sâil nây a pas de fichier de diffĂ©rences, sans vĂ©rifier sâil y a ces modifications, peut faire que des paquets, avec des dĂ©pendances lĂąches, prĂ©tendent quâils peuvent fonctionner avec des paquets plus anciens avec lesquels ils ne peuvent fonctionner. Cela introduira des bogues difficiles Ă trouver avec des mises Ă niveau (partielles).
Bonnes pratiques de gestion des bibliothĂšques
Une bibliothÚque bien maintenue offre les possibilités suivantes :
|
âą |
son interface de programmation (API) est stable (les symboles publics ne sont jamais supprimĂ©s et les changements ne concernent que des ajouts de nouveaux symboles publics) et les modifications provoquant une incompatibilitĂ© doivent ĂȘtre combinĂ©es avec un changement de SONAME ; |
||
|
âą |
idĂ©alement, elle utilise le versionnage des symboles pour garantir la stabilitĂ© de lâinterface applicative binaire (ABI) malgrĂ© ses modifications internes et lâextension de son API ; |
||
|
âą |
elle nâexporte pas les symboles privĂ©s (afin de contourner cela, de tels symboles peuvent ĂȘtre Ă©tiquetĂ©s comme optionnels). |
En maintenant le fichier de symboles, il est facile dâen voir apparaĂźtre et disparaĂźtre. Cependant, il est plus difficile de contrĂŽler la prĂ©sence dâĂ©ventuelles modifications dâAPI ou ABI. En consĂ©quence, le responsable doit contrĂŽler soigneusement le journal des modifications amont, Ă la recherche de cas oĂč une saine gestion des bibliothĂšques peut avoir Ă©tĂ© omise. Si des problĂšmes potentiels sont dĂ©couverts, lâauteur amont doit ĂȘtre averti(e), car une correction en amont est meilleure quâun travail spĂ©cifique au paquet Debian.
OPTIONS
-P répertoire-construction-paquet
Analyse de répertoire-construction-paquet , plutÎt que debian/tmp.
-p paquet
DĂ©finit le nom du paquet. Requis si plus dâun paquet binaire est indiquĂ© dans debian/control (ou sâil nây a pas de fichier debian/control).
-v version
DĂ©finit la version du paquet. La valeur par dĂ©faut est la version extraite de debian/changelog. Ce paramĂštre est requis si le programme est lancĂ© en dehors de lâarborescence source dâun paquet.
-e fichier-bibliothĂšque
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 library-file to match multiple libraries with a single argument (otherwise you need multiple -e ).
-l répertoire
Ajoute rĂ©pertoire au dĂ©but de la liste des rĂ©pertoires oĂč chercher des bibliothĂšques partagĂ©es privĂ©es (depuis dpkg 1.19.1). Cette option peut ĂȘtre utilisĂ©e plusieurs fois.
Note : Use this option instead of setting LD_LIBRARY_PATH , 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.
-I nom-de-fichier
Utilise nom-de-fichier comme fichier de rĂ©fĂ©rence pour crĂ©er le fichier de symboles Ă intĂ©grer dans le paquet lui-mĂȘme.
-O [ nom-de-fichier ]
Affiche le fichier de symboles créé sur la sortie standard ou dans le nom-de-fichier , si spĂ©cifiĂ©, plutĂŽt que dans debian/tmp/DEBIAN/symbols (ou rĂ©pertoire-construction-paquet /DEBIAN/symbols si -P est prĂ©sent). Si nom-de-fichier existe dĂ©jĂ , son contenu sera utilisĂ© comme base pour le fichier créé. Cette fonctionnalitĂ© permet de mettre Ă jour le fichier de symboles pour quâil corresponde Ă une nouvelle version amont de la bibliothĂšque.
|
-t |
Write the symbol file in template mode rather than the format compatible with deb-symbols (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 deb-symbols (5) file (according to the tag processing rules) while all symbols are always written to the symbol file template. |
-c [0-4]
Définit les
contrĂŽles Ă effectuer lors de la comparaison du
fichier de symboles créé en utilisant le
fichier de modÚle comme point de départ. Le
niveau par défaut est 1. Plus le niveau est
augmenté, plus le nombre de contrÎles
effectués est important. Chaque niveau de
contrÎle comporte les contrÎles effectués
pour les niveaux inférieurs.
Niveau 0
Sans échec.
Niveau 1
Ăchoue si certains symboles ont disparu.
Niveau 2
Ăchoue si de nouveaux symboles ont Ă©tĂ© ajoutĂ©s.
Niveau 3
Ăchoue si certaines bibliothĂšques ont disparu.
Niveau 4
Ăchoue si des bibliothĂšques ont Ă©tĂ© ajoutĂ©es.
Cette valeur peut ĂȘtre remplacĂ©e par la valeur de la variable dâenvironnement DPKG_GENSYMBOLS_CHECK_LEVEL .
|
-q |
Fonctionne en mode silencieux et ne crĂ©e jamais de fichier de diffĂ©rences entre le fichier de symboles créé et le fichier modĂšle utilisĂ© comme point de dĂ©part. Nâaffiche Ă©galement aucun avertissement Ă propos de bibliothĂšques nouvelles ou disparues ou de symboles nouveaux ou disparus. Cette option ne dĂ©sactive que lâaffichage informatif, mais pas les contrĂŽles eux-mĂȘmes (voir lâoption -c ). |
-a arch
DĂ©finit arch comme architecture lors du traitement des fichiers de symboles. Cette option permet de crĂ©er un fichier de symboles ou un fichier de diffĂ©rences pour nâimporte quelle architecture, Ă condition que les fichiers binaires correspondants soient dĂ©jĂ disponibles.
|
-d |
Active le mode bavard. De nombreux messages sont affichés pour expliquer ce que dpkg-gensymbols fait. |
||
|
-V |
Active le mode bavard. Le fichier de symboles créé contiendra les symboles dépréciés sous forme de commentaires. De plus, en mode modÚle, les motifs de symboles seront suivis de commentaires affichant les symboles réels qui correspondent au motif. |
-? , --help
Afficher un message dâaide puis quitter.
--version
Afficher le numéro de version puis quitter.
ENVIRONNEMENT
DEB_HOST_ARCH
Sets the host architecture if the --arch option has not be specified.
DPKG_GENSYMBOLS_CHECK_LEVEL
Remplace le niveau de vĂ©rification de commande, mĂȘme si lâargument en ligne de commande -c a Ă©tĂ© donnĂ© (notez que cela va Ă lâencontre de la convention gĂ©nĂ©rale qui veut que les arguments en ligne de commande ont la prĂ©sĂ©ance sur les variables dâenvironnement).
DPKG_COLORS
Définit le mode de couleur (depuis dpkg 1.18.5). Les valeurs actuellement acceptées sont auto (par défaut), always et never .
DPKG_NLS
Si cette variable est dĂ©finie, elle sera utilisĂ©e pour dĂ©cider lâactivation de la prise en charge des langues (NLS â Native Language Support), connu aussi comme la gestion de lâinternationalisation (ou i18n) (depuis dpkg 1.19.0). Les valeurs permises sont : 0 et 1 (par dĂ©faut).
VOIR AUSSI
<https://people.redhat.com/drepper/symbol-versioning>, <https://people.redhat.com/drepper/goodpractice.pdf>, <https://people.redhat.com/drepper/dsohowto.pdf>, deb-src-symbol (5), deb-symbols (5), dpkg-shlibdeps (1).
TRADUCTION
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.