Manpages

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.

Since debhelper 12.3, dh_makeshlibs will by default add an additional udeb line for udebs in the shlibs file, when the udeb has the same name as the deb followed by a "-udeb" suffix (e.g. if the deb is called "libfoo1", then debhelper will auto-detect the udeb if it is named "libfoo1-udeb"). Please use the --add-udeb and --no-add-udeb options below when this auto-detection is insufficient.

If you previously used --add-udeb and is considering to migrate to using the new auto-detection feature in 12.3, then please remember to test that the resulting DEBIAN/shlibs files are as expected. There are some known corner cases, where the auto-detection is insufficient. These include when the udeb contains library files from multiple regular deb packages or when the packages do not follow the expected naming convention.

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.

This option is only useful for special cases such as when debhelper cannot auto-detect package name of the udeb package, when the udeb will contain libraries from multiple deb packages, or when the udeb contains libraries not present in the deb package.

--no-add-udeb

Do not add any udeb lines to the shlibs file. This can be used to disable the default auto-detection of udebs.

This may be useful in case you do not want a shlibs file at all for the udeb because no package will depend on it. E.g. because adding a udeb package for the library was "overkill" and the library is embedded in a different udeb package.

-- 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 [AT] 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 [AT] lists.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> ».