blob: d906ca7028ffe124806e2ad58d8f11186a7b3eb1 [file] [log] [blame]
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH dpkg\-shlibdeps 1 2011\-08\-14 "Projet Debian" "Utilitaires de dpkg"
.SH NOM
dpkg\-shlibdeps \- générateur de variables de substitution de dépendances pour
bibliothèques partagées
.
.SH SYNOPSIS
\fBdpkg\-shlibdeps\fP [\fIoption\fP...] [\fB\-e\fP]\fIexecutable\fP [\fIoption\fP...]
.
.SH DESCRIPTION
\fBdpkg\-shlibdeps\fP calculates shared library dependencies for executables
named in its arguments. The dependencies are added to the substitution
variables file \fBdebian/substvars\fP as variable names
\fBshlibs:\fP\fIdependencyfield\fP where \fIdependencyfield\fP is a dependency field
name. Any other variables starting with \fBshlibs:\fP are removed from the
file.
.P
\fBdpkg\-shlibdeps\fP a deux sources possibles pour crééer les informations
concernant les dépendances. Soit les fichiers \fIsymbols\fP, soit les fichiers
\fIshlibs\fP. Pour chaque fichier binaire qu'il analyse, \fBdpkg\-shlibdeps\fP
recherche la liste des bibliothèques partagées qui lui sont liées. Puis,
pour chacune d'elles il analyse soit le fichier \fIsymbols\fP, soit le fichier
\fIshlibs\fP (si le premier n'existe pas ou si debian/shlibs.local contient les
dépendances appropriées). Ces deux fichiers sont sensés être fournis par le
paquet de la bibliothèque et disponibles dans
/var/lib/dpkg/info/\fIpaquet\fP.\fIsymbols\fP ou
/var/lib/dpkg/info/\fIpaquet\fP.\fIshlibs\fP. Le nom du paquet est trouvé en deux
étapes\ : en cherchant les fichiers de la bibliothèque sur le système, dans
le répertoire que \fBld.so\fP utiliserait, puis un utilisant \fBdpkg \-S
\fP\fIfichier\-bibliothèque\fP pour trouver le paquet qui fournit cette
bibliothèque.
.SS "Fichiers symboles"
Les fichiers symboles contiennent des informations de dépendances plus fines
en fournissant les dépendances minimales pour chaque symbole de la
bibliothèque exportée. Le script essaie de trouver un fichier de symboles
associé à un paquet de bibliothèque dans les emplacements suivants (le
premier trouvé est utilisé)\ :
.IP debian/*/DEBIAN/symbols
L'information des bibliothèques partagées générée par l'actuel processus de
construction qui invoque aussi \fBdpkg\-shlibdeps\fP. Elles sont générées par
\fBdpkg\-gensymbols\fP(1) et ne sont utilisées que si la bibliothèque se trouve
dans l'arbre de construction d'un paquet. Le fichier des symboles qui
construit l'arbre s'appuie sur les fichiers de symboles d'autres paquets
binaires.
.IP /etc/dpkg/symbols/\fIpaquet\fP.symbols.\fIarchitecture\fP
.IP /etc/dpkg/symbols/\fIpaquet\fP.symbols
L'information de dépendance des bibliothèques partagées associée aux
systèmes. \fIarch\fP est l'architecture du système actuel (obtenu par
\fBdpkg\-architecture \-qDEB_HOST_ARCH\fP).
.IP "Output from \(lq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP symbols\(rq"
Package\-provided shared library dependency information. Unless overridden
by \-\-admindir, those files are located in /var/lib/dpkg.
.P
Lors de l'analyse des symboles utilisés par tous les binaires,
\fBdpkg\-shlibdeps\fP retient la (plus grande) version minimale nécessaire pour
chaque bibliothèque. À la fin du processus, il est capable d'écrire la
dépendance minimale pour toutes les bibliothèques utilisées condition que
l'information des fichiers \fIsymbols\fP soit exacte).
.P
Comme garde\-fou, un fichier de symboles peut fournir un champ
\fIBuild\-Depends\-Package\fP de méta\-information et \fBdpkg\-shlibdeps\fP en
extraira la version minimale requise par le paquet correspondant depuis ce
champ Build\-Depends et utiliser cette version si elle est supérieure à la
version minimale calculée par l'examen des symboles.
.SS "Fichiers Shlibs"
Les fichiers Shlibs associent directement une bibliothèque à une dépendance
(sans regarder les symboles). Il agit donc souvent plus fortement que ce
dont on aurait besoin mais il reste très sûr et facile à manipuler.
.P
Les dépendances d'une bibliothèque sont recherchées à plusieurs endroits. Le
premier fichier d'informations trouvé qui concerne la bibliothèque est
utilisé\ :
.IP debian/shlibs.local
Fichier particulier à un paquet remplaçant les informations qui concernent
les dépendances envers des bibliothèques partagées.
.IP /etc/dpkg/shlibs.override
Fichier système remplaçant les informations qui concernent les dépendances
envers des bibliothèques partagées.
.IP debian/*/DEBIAN/shlibs
Information sur la bibliothèque partagée généré par le processus actuel de
construction qui invoque aussi \fBdpkg\-shlibdeps\fP. Il n'est utilisé que si la
bibliothèque se trouve dans l'arbre de construction du paquet. Le fichier
shlibs qui construit l'arbre a priorité sur les fichiers shlibs des autres
paquets binaires.
.IP "Output from \(lq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP shlibs\(rq"
Package\-provided shared library dependency information. Unless overridden
by \-\-admindir, those files are located in /var/lib/dpkg.
.IP /etc/dpkg/shlibs.default
Fichier système par défaut concernant les informations de dépendance envers
des bibliothèques partagées.
.P
Les dépendances trouvées sont ensuite directement utilisées (sauf si elles
sont filtrées parce qu'elles ont été identifiées comme étant en double, ou
d'un niveau plus faible qu'une autre dépendance).
.SH OPTIONS
\fBdpkg\-shlibdeps\fP interprète des arguments sans option comme des commandes
exécutables, comme si on avait simplement donné \fB\-e\fP\fIexécutable\fP.
.TP
\fB\-e\fP\fIexécutable\fP
Cette option inclut les bonnes dépendances envers les bibliothèques
partagées que demande \fIexécutable\fP.
.TP
\fB\-d\fP\fIchamp\-dépendance\fP
Cette option ajoute les dépendances destinées au champ «\ dépendance\ » du
fichier de contrôle \fIchamp\-dépendance.\fP (Les dépendances pour ce champ sont
dans la variable \fBshlibs:\fP\fIchamp\-dépendance\fP.)
L'option \fB\-d\fP\fIchamp\-dépendance\fP concerne tous les exécutables qui suivent
l'option, jusqu'à la prochaine option \fB\-d\fP\fIchamp\-dépendance\fP. Par défaut,
\fIchamp\-dépendance\fP vaut \fBDepends\fP.
Quand, dans plusieurs champs reconnus ayant trait aux dépendances comme les
champs \fBPre\-Depends\fP, \fBDepends\fP, \fBRecommends\fP, \fBEnhances\fP ou \fBSuggests\fP
apparaît la même entrée (ou bien un ensemble d'alternatives),
\fBdpkg\-shlibdeps\fP supprime automatiquement les dépendances dans tous les
champs sauf celui qui représente les dépendances les plus importantes.
.TP
\fB\-p\fP\fIpréfixe\-pour\-le\-nom\-des\-variables\fP
Fait commencer les variables de substitution par
\fIpréfixe\-pour\-le\-nom\-des\-variables\fP\fB:\fP au lieu de \fBshlibs:\fP. De même,
toute variable de substitution commençant par
\fIpréfixe\-pour\-le\-nom\-des\-variables\fP\fB:\fP (au lieu de \fBshlibs:\fP) est enlevée
du fichier de substitution des variables.
.TP
\fB\-O\fP
Affiche les définitions des variables de substitution sur la sortie
standard, plutôt que de les ajouter dans le fichier de substitution des
variables qui est par défaut debian/substvars.
.TP
\fB\-t\fP\fItype\fP
Préférer les informations sur les dépendances des bibliothèques partagées
qui sont étiquetées pour un type de paquet donné. Si aucune information de
type n'est donnée, il n'utilisera pas d'information. Par défaut, le type de
paquet est «\ deb\ ». On peut créer une étiquette pour ces informations en les
préfixant par le nom du type, un deux\-points et une espace.
.TP
\fB\-L\fP\fIfichier\-local\-shlibs\fP
Lire les informations de remplacement concernant les dépendances envers les
bibliothèques partagées dans \fIfichier\-local\-shlibs\fP au lieu de
\fBdebian/shlibs.local\fP.
.TP
\fB\-T\fP\fIfichier/substvars\fP
Écrire les variables de substitution dans \fIfichier/substvars\fP\ ; le fichier
par défaut est \fBdebian/substvars\fP.
.TP
\fB\-v\fP
Active le mode verbeux. De nombreux messages sont affichés pour expliquer ce
que \fBdpkg\-shlibdeps\fP fait.
.TP
\fB\-x\fP\fIpackage\fP
Exclut le paquet des dépendances générées. Cela évite les auto\-dépendances
pour les paquets fournissant des exécutables ELF (exécutables ou modules
complémentaires de bibliothèque) qui utilisent une bibliothèque incluse dans
ce même paquet. Cette option peut être utilisée plusieurs fois pour exclure
plusieurs paquets.
.TP
\fB\-S\fP\fIpkgbuilddir\fP
Recherche dans \fIpkgbuilddir\fP en premier et essaie de trouver une
bibliothèque. C'est utile lorsque le paquet source construit plusieurs
saveurs de la même bibliothèque et que vous voulez vous assurer que vous
obtiendrez la dépendance d'un paquet binaire donné. Cette option peut être
utilisée plusieurs fois\ : les répertoires seront examinés dans le même ordre
avant les répertoires d'autres paquets binaires.
.TP
\fB\-\-ignore\-missing\-info\fP
Pas d'échec si l'information de dépendance ne peut pas être trouvée pour une
bibliothèque partagée. L'utilisation de cette option est déconseillée,
toutes les bibliothèques devraient fournir leurs informations de dépendance
(que ce soit avec les fichiers shlibs, ou avec les fichiers symboles), même
si elles ne sont pas encore utilisées par d'autres paquets.
.TP
\fB\-\-warnings=\fP\fIvaleur\fP
\fIvaleur\fP est un champ de «\ bit\ » définissant l'ensemble des avertissements
qui peuvent être émis par \fBdpkg\-shlibdeps\fP. Le bit 0 (valeur = 1) active
l'avertissement «\ symbole \fIsym\fP utilisé par le \fIbinaire\fP trouvé dans
aucune des bibliothèques\ ». Le bit 1 (valeur = 2) active l'avertissement
«\ la dépendance à la \fIbibliothèque\fP pourrait être évitée\ ». Le bit 2
(valeur = 4) active l'avertissement «\ Le \fIbinaire\fP ne devrait pas être lié
à la \fIbibliothèque\fP\ ». La \fIvaleur\fP par défaut est 3\ : les deux premières
mises en garde sont actives par défaut, la dernière ne l'est
pas. Positionnez la \fIvaleur\fP à 7 si vous souhaitez que tous les
avertissements soient actifs.
.TP
\fB\-\-admindir\fP=\fIdir\fP
Change l'endroit où se trouve la base de données de \fBdpkg\fP. Par défaut,
c'est \fI/var/lib/dpkg\fP.
.TP
\fB\-h\fP, \fB\-\-help\fP
Affiche un message d'aide puis quitte.
.TP
\fB\-\-version\fP
Affiche le numéro de version puis quitte.
.
.SH AVERTISSEMENTS
Depuis que \fBdpkg\-shlibdeps\fP analyse l'ensemble des symboles utilisés par
chaque binaire généré par le paquet, il est en mesure d'émettre des
avertissements dans plusieurs cas. Ils vous informent des choses qui peuvent
être améliorées dans le paquet. Dans la plupart des cas, ces améliorations
concernent directement les sources amont. Dans l'ordre d'importance
décroissant, voici les différents avertissements que vous pouvez
rencontrer\ :
.TP
\fBsymbole\fP\fI sym\fP\fB utilisé par \fP\fIbinaire\fP\fB trouvé dans aucune des bibliothèques.\fP
Le symbole indiqué n'a pas été trouvé dans les bibliothèques liées au
binaire. Le \fIbinaire\fP est probablement plutôt une bibliothèque et elle doit
être liée avec une bibliothèque supplémentaire durant le processus de
construction (l'option \fB\-l\fP\fIbibliothèque\fP de l'éditeur de liens).
.TP
\fIbinary\fP\fB contient une référence non résolue au symbole \fP\fIsym\fP\fB: il s'agit probablement d'un greffon (plugin)\fP
Le symbole indiqué n'a pas été trouvé dans les bilbiohtèques liées avec le
fichier binaire. Le \fIbinaire\fP es très probablement un greffon (plugin) et
le symbole est probablement fourni par le programme qui charge ce
greffon. En théori, un greffon n'a pas de «\ SONAME\ » mais ce binaire en
possède un et n'a pas pu être identifié en tant que tel. Cependant, le fait
que le binaire soit stocké dans un répertoire non public est une indication
forte qu'il ne s'agit pas d'une bibliothèque partagée normale. Si le binaire
est vraiment un greffon, vous pouvez ignorer cet avertissement. Il existe
cependant une possibilité qu'il s'agisse d'un vrai binaire et que les
programmes avec lequel il est lié utilisent un RPATH afin que le chargeur
dynamique le trouve. Dans ce cas, la bibliothèque est incorrecte et doit
être corrigée.
.TP
\fBla dépendance sur la\fP \fIbibliothèque\fP \fBpourrait être évitée si\fP \fIles binaires\fP\fB inutiles n'étaient pas liés à celle\-ci (ils n'utilisent aucun de ses symboles).\fP
Aucun des \fIbinaires\fP liés à la \fIbibliothèque\fP utilise les symboles qu'elle
fournit. En corrigeant tous les binaires, vous éviteriez la dépendance
associée à cette bibliothèque (à moins que la même dépendance soit également
liée à une autre bibliothèque qui est elle réellement utilisée).
.TP
\fIle binaire\fP\fB ne devrait pas être lié avec la \fP\fIbibliothèque\fP\fB (il ne fait usage d'aucun de ses symboles).\fP
Le \fIbinaire\fP est lié à une bibliothèque dont il n'a pas besoin. Ce n'est
pas un problème mais de petites améliorations de performance dans le temps
de chargement de celui\-ci peuvent être obtenues en ne le liant pas à cette
bibliothèque. Cet avertissement vérifie la même information que la
précédente mais elle le fait pour tous les binaires au lieu de ne faire le
contrôle qu'au niveau global sur tous les binaires analysés.
.SH ERREURS
\fBdpkg\-shlibdeps\fP échouera s'il ne peut pas trouver de bibliothèque publique
utilisée par un binaire ou si cette bibliothèque n'a pas d'informations sur
les dépendances associées (soit les fichier shlibs, soit le fichier des
symboles). Une bibliothèque publique a un SONAME et un numéro de version
(libsomething.so.\fIX\fP). Une bibliothèque privée (comme un module
additionnel) ne devrait pas avoir de SONAME et n'a pas besoin d'avoir de
version.
.TP
\fBimpossible de trouver la bibliothèque \fP\fIlibrary\-soname\fP \fBdemandée par le\fP \fIbinaire\fP \fB(son RPATH est '\fP\fIrpath\fP\fB')\fP
The \fIbinary\fP uses a library called \fIlibrary\-soname\fP but \fBdpkg\-shlibdeps\fP
has been unable to find the library. \fBdpkg\-shlibdeps\fP creates a list of
directories to check as following: directories listed in the RPATH of the
binary, directories listed in /etc/ld.so.conf, directories listed in the
LD_LIBRARY_PATH environment variable, and standard public directories (/lib,
/usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those
directories in the package's build tree of the binary being analyzed, in the
packages' build trees indicated with the \-S command\-line option, in other
packages' build trees that contains a DEBIAN/shlibs or DEBIAN/symbols file
and finally in the root directory. If the library is not found in any of
those directories, then you get this error.
Si la bibliothèque non trouvée est cependant disponible dans le répertoire
privé de ce même paquet, alors il vous faut ajouter ce répertoire dans
LD_LIBRARY_PATH. S'il est dans un autre paquet binaire en cours de
construction, alors assurez\-vous que le fichier shlibs/symbols de ce paquet
est déjà créé et que LD_LIBRARY_PATH contient le répertoire approprié si
c'est aussi un répertoire privé.
.TP
\fBaucune information de dépendance trouvé pour\fP \fIla bibliothèque\fP \fB(utilisée par le\fP \fIbinaire\fP\fB).\fP
La bibliothèque nécessaire au \fIbinaire\fP a été trouvée par \fBdpkg\-shlibdeps\fP
dans \fIfichier\-bibliothèque\fP mais \fBdpkg\-shlibdeps\fP n'a pas été en mesure de
trouver d'informations de dépendance pour cette bibliothèque. Pour trouver
la dépendance, il a essayé de lier la bibliothèque à un paquet Debian avec
l'aide de \fBdpkg \-S \fP\fIfichier\-bibliothèque\fP. Puis, il a vérifié les shlibs
correspondants et les fichiers symboles de /var/lib/dpkg/info/ et enfin les
différents arbres des paquets construits (debian/*/DEBIAN/).
Cet échec peut être causé par un shlibs ou un fichier de symboles qui serait
mauvais ou manquant dans le paquet. Une autre cause serait que la
bibliothèque soit construite au sein du même paquet source et que les
fichiers shlibs n'aient pas encore été créés (dans ce cas debian/rules doit
être modifié pour créer le shlibs avant l'appel de \fBdpkg\-shlibdeps\fP). Un
mauvais RPATH peut aussi conduire à ce que la bibliothèque soit trouvée sous
un nom non\-canonique (comme: /usr/lib/openoffice.org/../lib/libssl.so.0.9.8
au lieu de /usr/lib/libssl.so.0.9.8) qui n'est associé à aucun paquet,
\fBdpkg\-shlibdeps\fP essaie de travailler sur ce nom non\-canonique (en
utilisant \fBrealpath\fP(3)), mais cela ne fonctionne pas toujours. Il est
toujours préférable de bien nettoyer le RPATH du binaire afin d'éviter ces
problèmes.
L'appel de \fBdpkg\-shlibdeps\fP en mode verbeux (\-v) fournira beaucoup plus
informations sur l'endroit où il a essayé de trouver l'information sur les
dépendances. Ceci peut être utile si vous ne comprenez pas pourquoi vous
obtenez cette erreur.
.SH "VOIR AUSSI"
\fBdeb\-shlibs\fP(5), \fBdeb\-symbols\fP(5), \fBdpkg\-gensymbols\fP(1).
.
.SH AUTEURS
Copyright \(co 1995\-1996 Ian Jackson
.br
Copyright \(co 2000 Wichert Akkerman
.br
Copyright \(co 2006 Frank Lichtenheld
.br
Copyright \(co 2007\-2008 Rapha\[:e]l Hertzog
.sp
Ce programme est un logiciel libre\ ; voyez la «\ GNU General Public Licence\ »
version 2 ou supérieure pour le copyright. Il n'y a PAS de garantie.
.SH 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>.