Scroll to navigation

DH_MAKESHLIBS(1) Debhelper DH_MAKESHLIBS(1)

NOM

dh_makeshlibs - Créer automatiquement le fichier shlibs et exécuter dpkg-gensymbols

SYNOPSIS

dh_makeshlibs [options_de_debhelper] [-mnuméro-majeur] [-V[dépendances]] [-n] [-Xélément] [-- paramètres]

DESCRIPTION

dh_makeshlibs est le programme de la suite debhelper qui automatise la recherche des bibliothèques partagées et produit un fichier « shlibs » pour celles qu'il trouve.

Il s'assure aussi que ldconfig est invoqué durant l'installation et la suppression lorsqu'il trouve des bibliothèques partagées. Depuis debhelper 9.20151004, cela est effectué par un trigger de dpkg. Dans les anciennes versions de debhelper, dh_makeshlibs générait un script de maintenance pour cela.

Depuis debhelper 12.3, dh_makeshlibs ajoutera par défaut une ligne udeb supplémentaire pour les udebs dans le fichier shlibs, quand l'udeb a le même nom que le fichier deb suivi par le suffixe « -udeb » (par exemple, si le fichier deb s'appelle « libtoto1 », alors debhelper détectera automatiquement l'udeb s'il s'appelle « libtoto1-udeb »). Veuillez utiliser les options --add-udeb et --no-add-udeb ci-dessous quand la détection automatique est insuffisante.

Si auparavant vous utilisiez --add-udeb et envisagez de migrer vers l'utilisation de la nouvelle fonctionnalité de détection automatique de 12.3, n'oubliez pas de vérifier que les fichiers DEBIAN/shlibs résultants sont conformes aux prévisions. Il y a quelques cas particuliers connus où la détection automatique est insuffisante. Cela comprend les cas où l'udeb renferme des fichiers de bibliothèque issus de plusieurs paquets deb normaux ou quand les paquets ne suivent pas les conventions de nommage escomptées.

FICHIERS

debian/paquet.shlibs
Si présent, installe ce fichier dans le paquet en tant que DEBIAN/shlibs. S'il est omis, debhelper génèrera automatiquement un fichier shlibs s'il détecte une bibliothèque.

Veuillez noter que, dans les niveaux de compatibilité 9 et précédents, ce fichier était installé par dh_installdeb(1) plutôt que par dh_makeshlibs.

debian/paquet.symbols
debian/paquet.symbols.arch
Ces fichiers de symboles, s'ils existent, sont transmis à dpkg-gensymbols(1) pour être traités et installés. Préciser le nom de l'architecture avec arch s'il est nécessaire de fournir des fichiers de symboles différents pour diverses architectures.

OPTIONS

-mnuméro-majeur, --major=numéro-majeur
Utilise le numéro majeur indiqué après le paramètre -m afin de préciser le numéro majeur de version de la bibliothèque, au lieu d'essayer de le déterminer avec objdump. Ce paramètre est devenu beaucoup moins utile qu'autrefois où ce programme se basait sur les noms des fichiers de bibliothèque et non sur l'utilisation d'objdump.
-V, -Vdépendances
--version-info, --version-info=dépendances
Si un fichier shlibs est créé par ce programme, cette option contrôle quelle version sera utilisée dans la relation de dépendance.

Depuis la version 12, dh_makeshlibs utilise -VUpstream-Version par défaut. Jusqu'à la version 11, le comportement par défaut imitait -VNone.

dh_makeshlibs peut générer des dépendances de trois façons.

-VUpstream-Version
La dépendance sera de la forme « paquet (>= version) ». Upstream-Version est sensible à la casse est doit être écrit exactement comme cela.

C'est une disposition conservatoire qui garantit que les dépendances des autres paquets envers la bibliothèque partagée sont aussi strictes qu'elles le doivent (à moins que la bibliothèque soit sujette à des changements d'ABI sans mise à jour des numéros de version amont).

Le revers de cela est que les paquets pourraient avoir des dépendances qui sont trop restreintes (mais un fichier de symboles peut atténuer le problème). Ce n'est souvent qu'un inconvénient mineur et temporaire, préférable à un échec dû à l'oubli de la mise à jour d'une information de dépendance.

Ce format explicite a été ajouté à debhelper/11.3. Dans les versions précédentes, une option -V sans aucune information de dépendance était utilisée (ce qui fonctionne toujours).

-VNone
La dépendance sera de la forme « paquet ». None est sensible à la casse est doit être écrit exactement comme cela.

Ce format n'est pas sécurisé, sauf si l'amont ne modifie pas son ABI d'aucune façon. Cependant, la plupart des équipes amont améliorent leurs interfaces au cours du temps, et il est recommandé d'utiliser -VUpstream-Version (ou l'une des autres formes de -Vdépendances).

Par ailleurs, cela pourrait être suffisant si (et seulement si) le paquet utilise le versionnement des symboles (voir dpkg-gensymbols(1)) et ne produit aucun paquet udeb. Les symboles ne sont pas pris en charge pour les paquets udeb, qui ne s'appuient que sur shlibs pour la gestion des dépendances.

-Vrelation-paquet
Dans ce cas, la valeur donnée à -V sera utilisée comme une relation de dépendance. relation-paquet devrait être de la forme « paquet (>= version) ». N'oubliez pas d'inclure le nom de paquet.

Veuillez noter que debhelper utilisera la valeur telle quelle sans vérification de propreté ni de modification. Dans de rares cas, cela est nécessaire pour générer une dépendance sur un paquet différent que celui qui contient la bibliothèque.

Au moment de choisir une valeur pour cette option, gardez à l'esprit que si le paquet fournit un fichier de symboles, ce dernier est souvent préféré au fichier shlibs pour les paquets .deb habituels. Consultez dpkg-shlibdeps(1) pour plus d'informations sur ce sujet.

-n, --no-scripts
N'ajoutez pas l'action différée (« trigger ») même s'il semble que le paquet en a besoin. L'option est nommée --no-scripts pour des raisons historiques car dh_makeshlibs générait précédemment un script de maintenance qui appelait ldconfig.
-Xélément, --exclude=élément
Permet d'exclure du traitement des bibliothèques partagées les fichiers qui comportent élément n'importe où dans leur nom.
--add-udeb=udeb
Ajoute une ligne supplémentaire, pour les udebs, dans le fichier shlibs et rend les udebs dépendants du paquet indiqué par udeb plutôt que les rendre dépendants du paquet normal de la bibliothèque.

Cette option est seulement utile pour les cas spéciaux où debhelper ne peut pas détecter automatiquement le nom du paquet udeb, où le paquet udeb contient des bibliothèques issues de plusieurs paquets deb, ou encore quand le paquet udeb contient des bibliothèques absentes du paquet deb.

--no-add-udeb
Pas d'ajout de ligne udeb dans le fichier shlibs. Cela peut être utilisé pour désactiver la détection automatique des paquets udeb.

Cela peut être utile au cas où vous ne voulez pas du tout de fichier shlibs pour le paquet udeb parce qu'aucun paquet n'en dépendra. Ce peut être, par exemple, parce que l'ajout d'un paquet udeb pour la bibliothèque était « exagéré » et que la bibliothèque est incorporée dans un paquet udeb différent.

-- paramètres
Fournit paramètres à dpkg-gensymbols(1).

EXEMPLES

dh_makeshlibs -VNone
En admettant que le paquet s'appelle libtoto1, cette commande produit un fichier shlibs tel que : libtoto 1 libtoto1
dh_makeshlibs -VUpstream-Version
En admettant que la version actuelle du paquet soit 1.1-3, cette commande produit un fichier shlibs tel que : libtoto 1 libtoto1 (>= 1.1)
dh_makeshlibs -V `libtoto1 (>= 1.0)'
Produit un fichier shlibs tel que : libtoto 1 libtoto1 (>= 1.0)

VOIR AUSSI

debhelper(7)

Ce programme fait partie de debhelper.

AUTEUR

Joey Hess <joeyh@debian.org>

TRADUCTION

Cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe francophone de traduction de Debian.

Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet debhelper.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».

2021-03-06 13.3.4