Man page - debhelper(7)
Packages contains this manual
- dh_installsysusers(1)
- dh_installdeb(1)
- dh_compress(1)
- dh_md5sums(1)
- debhelper(7)
- dh_installsystemduser(1)
- dh_builddeb(1)
- debhelper-compat-upgrade-checklist(7)
- dh_testroot(1)
- dh_installcron(1)
- dh_clean(1)
- dh_bugfiles(1)
- dh_dwz(1)
- dh_installcatalogs(1)
- dh_auto_clean(1)
- dh_installchangelogs(1)
- dh_lintian(1)
- dh_installman(1)
- dh(1)
- dh_movetousr(1)
- dh_assistant(1)
- dh_installdirs(1)
- dh_installudev(1)
- dh_installwm(1)
- dh_installmodules(1)
- dh_link(1)
- dh_fixperms(1)
- dh_installlogrotate(1)
- dh_installdocs(1)
- dh_ucf(1)
- dh_installinitramfs(1)
- dh_systemd_start(1)
- dh_prep(1)
- dh_listpackages(1)
- dh_strip(1)
- dh_movefiles(1)
- dh_installxfonts(1)
- dh_installdebconf(1)
- dh_systemd_enable(1)
- dh_installalternatives(1)
- dh_usrlocal(1)
- dh_auto_configure(1)
- dh_missing(1)
- dh_installinfo(1)
- dh_installmenu(1)
- dh_gencontrol(1)
- dh_install(1)
- dh_update_autotools_config(1)
- dh_auto_build(1)
- dh_installmanpages(1)
- dh_shlibdeps(1)
- dh_testdir(1)
- dh_installifupdown(1)
- dh_perl(1)
- dh_installinit(1)
- dh_installexamples(1)
- dh_icons(1)
- dh_auto_install(1)
- dh_installppp(1)
- dh_installtmpfiles(1)
- dh_installemacsen(1)
- dh_makeshlibs(1)
- dh_installsystemd(1)
- debhelper-obsolete-compat(7)
- dh_installgsettings(1)
- dh_auto_test(1)
- dh_installpam(1)
- dh_installmime(1)
- dh_installlogcheck(1)
apt-get install debhelper
Available languages:
en fr pt deManual
debhelper
NOMSYNOPSIS
DESCRIPTION
COMMANDES DE DEBHELPER
Commandes obsolĂštes
Autres commandes
FICHIERS DE CONFIGURATION DE DEBHELPER
Substitutions dans les fichiers de configuration de debhelper
Fichiers de configuration de lâexĂ©cutable debhelper.
OPTIONS PARTAGĂES DE DEBHELPER
OPTIONS COURANTES DE DEBHELPER
OPTIONS DU PROCESSUS DE CONSTRUCTION
NIVEAUX DE COMPATIBILITĂ
Niveaux de compatibilité pris en charge
REMARQUES
Prise en charge de plusieurs paquets binaires
GĂ©nĂ©ration automatique des scripts Debian dâinstallation
Génération automatique des diverses dépendances.
Répertoires de construction du paquet
udebs
VARIABLES DâENVIRONNEMENT
ParamĂštres pris en charge dans DEB_BUILD_OPTIONS
VOIR AUSSI
AUTEUR
TRADUCTION
NOM
debhelper â Ensemble dâoutils regroupĂ©s sous le nom de debhelper
SYNOPSIS
dh_ * [ -v ] [ -a ] [ -i ] [ --no-act ] [ -p paquet ] [ -N paquet ] [ -P tmpdir ]
DESCRIPTION
Debhelper facilite la construction des paquets Debian. La philosophie qui sous-tend debhelper est de fournir une collection de petits outils simples et facilement comprĂ©hensibles qui seront exploitĂ©s dans debian/rules pour automatiser les tĂąches courantes liĂ©es Ă la construction des paquets, dâoĂč un travail allĂ©gĂ© pour le responsable. Dans une certaine mesure, cela signifie Ă©galement que ces outils peuvent ĂȘtre adaptĂ©s aux modifications Ă©ventuelles de la Charte Debian. Les paquets qui utiliseront debhelper ne nĂ©cessiteront quâune simple reconstruction pour ĂȘtre conformes aux nouvelles rĂšgles.
Un fichier debian/rules typique, exploitant debhelper, appellera séquentiellement plusieurs des commandes de debhelper ou bien utilisera dh (1) pour automatiser ce processus. Des exemples de fichiers debian/rules qui exploitent debhelper se trouvent dans /usr/share/doc/debhelper/examples/
Pour crĂ©er un nouveau paquet Debian en utilisant debhelper, il suffit de copier un des fichiers dâexemple et de le modifier manuellement. Il est possible Ă©galement dâessayer le paquet dh-make qui contient une commande dh_make automatisant partiellement le processus. Pour se familiariser avec ces concepts, le paquet Debian maint-guide contient un cours sur la construction dâun premier paquet avec debhelper.
Sauf lorsque lâoutil explicite le contraire, tous les outils debhelper sont prĂ©vus pour ĂȘtre exĂ©cutĂ©s dans le rĂ©pertoire racine dâun paquet source dĂ©sarchivĂ©. Cela leur permet de trouver les fichiers debian/control .
COMMANDES DE DEBHELPER
Voici la liste des commandes de debhelper disponibles. Consulter leurs pages de manuel respectives pour obtenir des informations complémentaires.
Commandes obsolĂštes
Quelques commandes de debhelper sont obsolĂštes et ne devraient plus ĂȘtre utilisĂ©es.
Autres commandes
Si le nom dâun programme commence par dh_ et quâil nâest pas dans les listes ci-dessus, cela signifie quâil ne fait pas partie de la suite debhelper. Cependant, il devrait tout de mĂȘme fonctionner comme les autres programmes dĂ©crits dans cette page.
FICHIERS DE CONFIGURATION DE DEBHELPER
Beaucoup de commandes de debhelper utilisent des fichiers du rĂ©pertoire debian/ pour piloter leur fonctionnement. Outre les fichiers debian/changelog et debian/control , qui se trouvent dans tous les paquets, et pas seulement dans ceux qui emploient debhelper, dâautres fichiers peuvent servir Ă configurer le comportement des commandes spĂ©cifiques de debhelper. Ces fichiers sont, en principe, nommĂ©s debian/ paquet .toto (oĂč paquet est, bien sĂ»r, Ă remplacer par le nom du paquet concernĂ©).
Par exemple, dh_installdocs utilise un fichier appelĂ© debian/package.docs pour Ă©numĂ©rer les fichiers de documentation quâil installera. Consulter les pages de manuel des diffĂ©rentes commandes pour connaĂźtre le dĂ©tail des noms et des formats des fichiers employĂ©s. Dâune façon gĂ©nĂ©rale, ces fichiers de configuration Ă©numĂšrent les fichiers sur lesquels devra porter lâaction, Ă raison dâun fichier par ligne. Quelques programmes de debhelper emploient des paires fichier/destination voire des formats lĂ©gĂšrement plus compliquĂ©s.
Noter que sâil nây a quâun paquet binaire listĂ© dans debian/control , debhelper utilisera debian/toto lorsquâil nây a aucun fichier debian/paquet.toto . Dans les niveaux de compatibilitĂ© antĂ©rieurs Ă compat\ 15, cette solution de repli se produit aussi pour le premier paquet binaire listĂ© dans debian/control quand il y plusieurs paquets binaires. Cependant, câest une bonne idĂ©e de garder le prĂ©fixe paquet. , car câest plus explicite et requis Ă©galement lors de la mise Ă niveau vers compat\ 15.
En plus, il existe des cas particuliers oĂč debhelper se repliera toujours sur une version sans prĂ©fixe. Il y a des cas comme debian/copyright ou debian/changelog oĂč les fichiers sont gĂ©nĂ©ralement utilisĂ©s et nĂ©cessaires Ă tous les paquets binaires.
Dans quelques rares cas, il peut ĂȘtre utile dâexploiter diffĂ©rentes versions de ces fichiers pour des architectures ou des systĂšmes dâexploitation diffĂ©rents. Sâil existe des fichiers appelĂ©s debian/ paquet .toto. ARCH ou debian/ paquet .toto. OS , dans lesquels ARCH et OS correspondent respectivement au rĂ©sultat de « dpkg-architecture -qDEB_HOST_ARCH » ou de « dpkg-architecture -qDEB_HOST_ARCH_OS », alors ils seront utilisĂ©s de prĂ©fĂ©rence aux autres fichiers plus gĂ©nĂ©raux.
En gĂ©nĂ©ral, ces fichiers de configuration sont employĂ©s pour indiquer des listes de divers types de fichiers : documentation, fichiers dâexemple Ă installer, fichiers Ă dĂ©placer et ainsi de suite. Lorsque cela se justifie, dans des cas comme ceux-ci, il est possible dâemployer, dans ces fichiers, les jokers (wildcard) standards de lâinterprĂ©teur de commandes (shell) ( ? et * et [ .. ] ). Des commentaires peuvent ĂȘtre ajoutĂ©s dans ces fichiers : les lignes commençant par # sont ignorĂ©es.
La syntaxe de ces fichiers est volontairement simple, pour les rendre faciles Ă lire, Ă comprendre et Ă modifier.
Substitutions dans les fichiers de configuration de debhelper
Ă partir du niveau de compatibilité 13, il est possible dâutiliser des substitutions simples dans les fichiers de configuration de debhelper pour les outils suivants :
|
âą |
dh_clean |
|||
|
âą |
dh_install |
|||
|
âą |
dh_installcatalogs |
|||
|
âą |
dh_installdeb |
|||
|
âą |
dh_installdirs |
|||
|
âą |
dh_installdocs |
|||
|
âą |
dh_installexamples |
|||
|
âą |
dh_installinfo |
|||
|
âą |
dh_installman |
|||
|
âą |
dh_installwm |
|||
|
âą |
dh_link |
|||
|
âą |
dh_missing |
|||
|
âą |
dh_ucf |
Toutes les variables de substitution sont de la forme ${toto} et les accolades sont obligatoires. Les noms de variable sont sensibles Ă la casse et sont constituĂ©s de caractĂšres alphanumĂ©riques (a-zA-Z0-9), tirets (-), tirets bas (_) et deux points (:). Le premier caractĂšre doit ĂȘtre alphanumĂ©rique.
Si vous avez besoin dâun dollar littĂ©ral qui ne dĂ©clenche pas une substitution, il est possible dâutiliser soit la substitution ${Dollar} soit la sĂ©quence ${} .
Les
développements suivants sont disponibles :
DEB_HOST_*
,
DEB_BUILD_*
,
DEB_TARGET_*
Se développent à la valeur dpkg-architecture (1) adéquate (comme dpkg-architecture -qVARIABLE_HERE ).
En cas de doute, la variante DEB_HOST_* est celle qui fonctionnera à la fois pour les constructions natives et croisées
Pour des raisons de performance, debhelper tentera de rĂ©soudre dâabord ces noms Ă partir de lâenvironnement avant de consulter dpkg-architecture (1). Cela est mentionnĂ© principalement dans un esprit de complĂ©tude, car cela nâa pas dâimportance dans la plupart des cas.
Dollar
Se dĂ©veloppe en un symbole $ littĂ©ral unique. Ce symbole ne sera jamais considĂ©rĂ© comme faisant partie dâune variable de substitution. Câest-Ă -dire :
#
Déclenche une erreur
${NO_SUCH_TOKEN}
# Se développe à la valeur littérale
« ${NO_SUCH_TOKEN} »
${Dollar}{NO_SUCH_TOKEN}
Cette variante est lâĂ©quivalent de la sĂ©quence ${} et les deux sont interchangeables.
Newline , Space , Tab
Se développent respectivement en un seul caractÚre ASCII saut de ligne, une espace et une tabulation.
Cela peut ĂȘtre utile sâil est nĂ©cessaire dâinclure un caractĂšre dâespacement littĂ©ral (par exemple une espace) lĂ oĂč il serait autrement dĂ©pouillĂ© ou utilisĂ© comme un sĂ©parateur.
env: NOM
Se dĂ©veloppe en la variable dâenvironnement NOM . La variable dâenvironnement doit ĂȘtre rĂ©glĂ©e (mais elle peut ĂȘtre rĂ©glĂ©e Ă une chaĂźne vide).
Notez que toutes les variables doivent se dĂ©velopper Ă une valeur dĂ©finie. Par exemple, si debhelper voit ${env:TOTO} , alors, il affirme que la variable dâenvironnement TOTO est rĂ©glĂ©e (elle peut ĂȘtre rĂ©glĂ©e Ă une chaĂźne vide).
Contraintes des substitutions
Pour Ă©viter des boucles infinies et un Ă©puisement de ressources, debhelper sâarrĂȘtera avec une erreur si le texte renferme de nombreuses variables de substitution (50) ou si elles se dĂ©veloppent au-delĂ dâune certaine taille (4096 caractĂšres ou trois fois la longueur de lâentrĂ©e originale â peu importe laquelle est la plus grande).
Contraintes des substitutions : filtrage
La fonction de substitution intĂ©grĂ©e ne peut pas ĂȘtre utilisĂ©e pour « filtrer » le contenu. Une tentative pour crĂ©er des «\ commentaires\ » ou des « lignes vides » avec la substitution aura pour consĂ©quence que ces variables seront considĂ©rĂ©es comme un item Ă part entiĂšre avec le contenu donnĂ©.
Si vous souhaitez utiliser un filtrage, vous devriez envisager dâutiliser un fichier de configuration de debhelper exĂ©cutable avec dh-exec comme interprĂ©teur. Lâoutil dh-exec prend en charge plusieurs fonctions prĂȘtes Ă lâemploi. Cependant, gardez Ă lâesprit que dh-exec a sa propre logique de substitution qui peut interagir avec celle de debhelper.
Fichiers de configuration de lâexĂ©cutable debhelper.
Si vous avez besoin de plus de flexibilitĂ©, de nombreux outils de debhelper (par exemple dh_install (1)) prennent en charge lâexĂ©cution dâun fichier de configuration comme un script.
Pour utiliser cette fonctionnalitĂ©, il suffit de marquer le fichier comme exĂ©cutable ( <chmod +x debian/ paquet .install >). Lâoutil essaiera de lâexĂ©cuter et utilisera la sortie du script. Le plus souvent, vous pouvez utiliser dh-exec (1) comme interprĂ©teur du fichier de configuration pour conserver la majoritĂ© de la syntaxe originale tout en gagnant en flexibilitĂ©.
Lorsque vous utilisez des fichiers de configuration exécutables de debhelper, veuillez vous souvenir des choses suivantes :
|
âą |
Le fichier de configuration exĂ©cutable doit se terminer avec succĂšs (le code de retour doit lâindiquer). |
||
|
âą |
Ă partir du niveau de compatibilité 13, la sortie sera sujette Ă des substitutions (voir "Substitutions dans les fichiers de configuration de debhelper") lorsque lâoutil les prend en charge. Nâoubliez dâĂȘtre prudent si votre gĂ©nĂ©rateur fournit aussi des substitutions parce que cela peut provoquer des confusions inutiles. En particulier, lâoutil dh-exec , frĂ©quemment utilisĂ©, possĂšde sa propre prise en charge des substitutions. |
Autrement, la sortie sera utilisĂ©e exactement telle quelle. En particulier, debhelper ne dĂ©veloppera pas les jokers, ni ne supprimera les commentaires ou les espaces de la sortie quâil lit. Lâoutil dh-exec a un filtre de sortie activĂ© par dĂ©faut qui retire ce genre de choses.
Si vous avez besoin de construire le paquet sur un systĂšme de fichiers oĂč lâon ne peut pas dĂ©sactiver le bit dâexĂ©cution, vous pouvez utiliser dh-exec (1) et son script strip-output .
OPTIONS PARTAGĂES DE DEBHELPER
Tous les
programmes de debhelper acceptent les options suivantes.
-v
,
--verbose
Mode bavard : afficher les commandes qui modifient le répertoire de construction du paquet.
Notez que le mode bavard peut aussi lister dâautres commandes « internes » qui nâaffectent pas directement le rĂ©pertoire de construction du paquet.
--no-act
EmpĂȘche la construction de sâeffectuer rĂ©ellement. Si cette option est utilisĂ©e avec -v , le rĂ©sultat sera lâaffichage de ce que la commande aurait fait.
-a , --arch
Construit tous les paquets dĂ©pendants de lâarchitecture DEB_HOST_ARCH .
-i , --indep
Construit tous les paquets indĂ©pendants de lâarchitecture.
-p paquet , --package= paquet
Construit le paquet nommĂ© paquet . Cette option peut ĂȘtre rĂ©pĂ©tĂ©e afin de faire agir debhelper sur plusieurs paquets.
-s , --same-arch
Alias obsolĂšte pour -a .
Cette option est supprimée dans le niveau de compatibilité 12.
-N paquet , --no-package= paquet
Exclut le paquet indiquĂ© du processus de construction, mĂȘme si lâoption -a , -i ou -p lâimpliquait.
--remaining-packages
Exclut du processus de construction les paquets qui ont dĂ©jĂ Ă©tĂ© construits prĂ©alablement par cette commande debhelper (câest-Ă -dire, si la commande est prĂ©sente dans le journal de debhelper du paquet). Par exemple, si vous avez besoin dâinvoquer la commande avec des options spĂ©ciales seulement pour certains paquets binaires, utilisez cette option lors de la derniĂšre invocation de la commande pour construire le reste des paquets avec les options par dĂ©faut.
-P tmpdir , --tmpdir= tmpdir
Utilise le répertoire tmpdir pour construire les paquets. Sinon, par défaut, le répertoire utilisé est debian/ paquet
--mainpackage= paquet
ObsolĂšte : cette option nâa pas dâutilitĂ© pratique dans compat\ 15 ou ultĂ©rieur dans la mesure oĂč le comportement quâelle affecte a Ă©tĂ© supprimĂ© dans compat 15.
Cette option, peu utilisĂ©e, indique Ă debhelper le nom du « paquet principal » pour lequel les fichiers debian/toto peuvent ĂȘtre utilisĂ©s Ă la place des fichiers habituels debian/paquet.toto . Par dĂ©faut, debhelper considĂšre que le « paquet principal » est le premier paquet Ă©numĂ©rĂ© dans le fichier debian/control .
-O= option | ensemble
Cette option est utilisĂ©e par dh (1) pour passer une ou plusieurs options, indiquĂ©es par lâutilisateur, Ă toutes les commandes exĂ©cutĂ©es. Si la commande prend en charge lâoption ou lâensemble dâoptions, elle prendra effet. Si la commande nâaccepte pas lâoption (ou une partie de lâensemble dâoptions), elle sera ignorĂ©e.
OPTIONS COURANTES DE DEBHELPER
Certains programmes de debhelper acceptent les options ci-dessous. Consulter la page de manuel de chaque programme pour une explication complĂšte du rĂŽle de ces options.
|
-n |
Ne pas modifier les scripts de maintenance du paquet ( postinst , postrm , etc.) |
-X élément , --exclude= élément
Permet dâexclure un Ă©lĂ©ment du traitement. Cette option peut ĂȘtre employĂ©e plusieurs fois afin dâexclure plusieurs Ă©lĂ©ments. Lâ Ă©lĂ©ment est en gĂ©nĂ©ral une partie du nom de fichier, et tous les fichiers contenant le texte indiquĂ© seront exclus.
-A , --all
Précise que les fichiers (ou autres éléments) indiqués dans la ligne de commande concernent tous les paquets construits et pas seulement le premier.
OPTIONS DU PROCESSUS DE CONSTRUCTION
Les programmes
debhelper
dh_auto_
*
comportent plusieurs
processus de construction et déterminent, de
maniĂšre heuristique, lequel utiliser et comment. Il
peut ĂȘtre utile de modifier ce comportement par
défaut. Tous ces programmes
dh_auto_
*
acceptent les options suivantes, typiquement passées
Ă
dh
(1), qui les passe ensuite Ă tous
les programmes
dh_auto_
*
.
-S
processus de construction
,
--buildsystem=
processus_de_construction
Oblige Ă utiliser le processus de construction indiquĂ© au lieu de tenter de dĂ©terminer automatiquement celui qui pourrait ĂȘtre utilisable pour le paquet.
Indique none comme buildsystem pour désactiver la sélection automatique.
-D répertoire , --sourcedir= répertoire , --sourcedirectory= répertoire
ConsidĂšre que les sources du paquet sont situĂ©es dans le rĂ©pertoire indiquĂ© plutĂŽt quâau plus haut niveau de lâarborescence du paquet source.
Attention : La variante --sourcedir correspond Ă une option du mĂȘme nom dans dh_install et dh_missing , etc., pour des raisons historiques. Alors quâelles ont le mĂȘme nom, elles ont des objectifs trĂšs diffĂ©rents et, dans certains cas, cela peut provoquer des erreurs quand cette variante est passĂ©e Ă dh (quand ensuite il le passe Ă tous les outils).
-B [ répertoire ], --builddir= [ répertoire ], --builddirectory= [ répertoire ]
Permet de construire le paquet en dehors de la structure source en utilisant le rĂ©pertoire indiquĂ© comme rĂ©pertoire de construction. Si le paramĂštre rĂ©pertoire nâest pas indiquĂ©, un rĂ©pertoire de construction par dĂ©faut sera choisi.
Si cette option nâest pas indiquĂ©e, la construction se fera dans lâarborescence source Ă moins que le processus exige ou prĂ©fĂšre le faire en dehors de cette structure. Dans ce cas, le rĂ©pertoire par dĂ©faut sera utilisĂ© mĂȘme si --builddirectory nâest pas indiquĂ©.
MĂȘme si le systĂšme prĂ©fĂšre utiliser, pour la construction, un rĂ©pertoire situĂ© en dehors de lâarborescence source, il autorise quand mĂȘme la construction dans lâarborescence source. Pour cela, il suffit dâutiliser un chemin dâaccĂšs au rĂ©pertoire de construction identique au chemin dâaccĂšs au rĂ©pertoire source.
--parallel , --no-parallel
DĂ©termine si la construction parallĂšle doit ĂȘtre utilisĂ©e, si le systĂšme sous-jacent le permet. Le nombre de tĂąches parallĂšles est contrĂŽlĂ©, lors de la construction, par la variable dâenvironnement DEB_BUILD_OPTIONS ("Charte Debian, section 4.9.1"). Ce nombre peut Ă©galement ĂȘtre soumis aux limites spĂ©cifiques du systĂšme de construction.
Si aucune de ces options nâest prĂ©cisĂ©e, debhelper active la parallĂ©lisation par dĂ©faut ( --parallel ) dans le niveau de compatibilité 10 (ou supĂ©rieur), et la dĂ©sactive ( --no-parallel ) dans les autres niveaux.
Pour des raisons dâoptimisation, dh essaiera de ne pas passer ces options aux processus fils si elles ne sont pas nĂ©cessaires et quâelles sont les seules options. Cela arrive en particulier lorsque DEB_BUILD_OPTIONS nâa pas de paramĂštre parallel (ou si sa valeur est 1 ).
--max-parallel= maximum
Cette option implique --parallel et permet de limiter le nombre de tĂąches qui pourront ĂȘtre lancĂ©es lors dâune compilation parallĂšle. Si la construction du paquet est connue pour ne fonctionner quâavec un certain niveau de parallĂ©lisme, il est possible de le rĂ©gler Ă la valeur maximale censĂ©e fonctionner, ou que vous souhaitez mettre en Ćuvre.
En particulier, rĂ©gler le maximum Ă 1 Ă©quivaut Ă lâutilisation de --no-parallel .
--reload-all-buildenv-variables
Par dĂ©faut, dh (1) calcule plusieurs variables dâenvironnement (par exemple en utilisant dpkg-buildflags (1)) et les met en cache pour Ă©viter que tous les outils dh_auto_* les recalculent.
Lorsque cette option est passĂ©e, lâoutil rĂ©el dh_auto_* ignorera le cache de dh (1) et dĂ©clenchera une reconstruction de ces variables. Cela est utile dans le cas trĂšs rare oĂč le paquet requiert de multiples constructions mais avec des options ...FLAGS diffĂ©rentes. Un exemple concret pourrait ĂȘtre la nĂ©cessitĂ© de modifier le paramĂštre -0 dans CFLAGS dans la seconde construction.
export
DEB_CFLAGS_MAINT_APPEND=-O3
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -Bbuild-deb ...
DEB_CFLAGS_MAINT_APPEND=-Os dh_auto_configure \
--reload-all-buildenv-variables -Bbuild-udeb ...
Sans --reload-all-buildenv-variables dans le second appel Ă dh_auto_configure (1), la modification dans DEB_CFLAGS_MAINT_APPEND pourrait ĂȘtre ignorĂ©e parce que dh_auto_configure (1) pourrait utiliser la valeur mise en cache de CFLAGS fixĂ©e par dh (1).
Cette option est seulement disponible avec debhelper (>= 12.7Ë) quand le paquet utilise le niveau de compatibilité 9 ou supĂ©rieur.
--list , -l
Liste tous les processus de construction pris en charge par le systĂšme. Cette liste inclut Ă la fois les processus par dĂ©faut et les processus tiers (marquĂ©s comme tels). Cette option montre Ă©galement le processus de construction automatiquement sĂ©lectionnĂ© ou celui indiquĂ© manuellement avec lâoption --buildsystem .
NIVEAUX DE COMPATIBILITĂ
Parfois, des modifications majeures de debhelper doivent ĂȘtre faites et vont briser la compatibilitĂ© ascendante. Ces modifications sont nĂ©cessaires pour conserver Ă debhelper ses qualitĂ©s de conception et dâĂ©criture, car les besoins changent et le savoir-faire de lâauteur sâamĂ©liore. Pour Ă©viter que de tels changements ne cassent les paquets existants, un concept de niveau de compatibilitĂ© debhelper a Ă©tĂ© introduit. On devra prĂ©ciser Ă debhelper le niveau de compatibilitĂ© quâil doit employer, ce qui modifiera son comportement de diverses maniĂšres.
Dans la version actuelle de debhelper, vous pouvez spĂ©cifier le niveau de compatibilitĂ© Ă utiliser dans debian/control en ajoutant une dĂ©pendance de construction (Build-Depends) sur le paquet debhelper-compat. Par exemple, pour exploiter la version 13, assurez-vous dâindiquer dans debian/control :
Build-Depends: debhelper-compat (= 13)
Cela sert aussi Ă avoir une dĂ©pendance de construction sur une version suffisante de debhelper. Ainsi il nâest pas nĂ©cessaire dâindiquer une dĂ©pendance de construction particuliĂšre sur debhelper, sauf si vous avez besoin dâune mise Ă jour spĂ©cifique (comme pour lâintroduction dâune nouvelle fonctionnalitĂ© ou une correction de bogue Ă lâintĂ©rieur dâun niveau de compatibilitĂ©).
Veuillez noter que debhelper ne fournit pas debhelper-compat pour les niveaux experimental ou bĂȘta. Les paquets qui souhaitent expĂ©rimenter ces niveaux de compatibilitĂ© doivent mettre le niveau de compatibilitĂ© dans le champ X-DH-Compat de la section Source du fichier debian/control (ou si câest seulement pour des commandes choisies, la variable dâenvironnement DH_COMPAT ).
Historiquement, debhelper nĂ©cessitait dâindiquer le niveau de compatibilitĂ© dans le fichier debian/compat , et debhelper jusquâĂ la version 14 continue Ă le comprendre pour des raisons de rĂ©trocompatibilitĂ©. Pour utiliser cette mĂ©thode, le fichier debian/compat doit contenir le niveau de compatibilitĂ© comme une valeur entiĂšre, et rien dâautre. Si vous indiquez le niveau de compatibilitĂ© ainsi, votre paquet aura besoin dâune dĂ©pendance de construction versionnĂ©e sur une version de debhelper, Ă©gale (ou supĂ©rieure) au niveau de compatibilitĂ© utilisĂ©. Ainsi, si vous indiquez le niveau 13 dans debian/compat , assurez-vous que le fichier debian/control contient :
Build-Depends: debhelper (>= 13Ë)
Notez que vous devez utiliser exactement une mĂ©thode pour spĂ©cifier le niveau de compatibilitĂ© de debhelper par dĂ©faut du paquet. Chaque fois que câest possible, la dĂ©pendance de construction debhelper-compat est recommandĂ©e.
Au besoin, la variable dâenvironnement DH_COMPAT peut ĂȘtre utilisĂ©e pour outrepasser le niveau de compatibilitĂ© pour une commande donnĂ©e. Cette fonction est surtout utile pour mettre Ă niveau temporairement quelques commandes vers un nouveau niveau de compatibilitĂ© ou pour garder certaines commandes Ă un niveau de compatibilitĂ© infĂ©rieur. Il vaut mieux utiliser cette fonction avec modĂ©ration parce quâelle introduit effectivement des cas particuliers dans le fichier debian/rules qui peuvent ĂȘtre dĂ©concertants pour les responsables ou les rĂ©viseurs (ou, Ă long terme, pour vous-mĂȘme).
Sauf indication contraire, toute la documentation de debhelper suppose lâutilisation du niveau de compatibilitĂ© le plus rĂ©cent, et, dans la plupart des cas ne prĂ©cise pas si le comportement est diffĂ©rent avec les niveaux de compatibilitĂ© antĂ©rieurs. De ce fait, si le niveau de compatibilitĂ© le plus rĂ©cent nâest pas celui utilisĂ©, il est fortement conseillĂ© de lire les indications ci-dessous qui exposent les diffĂ©rences dans les niveaux de compatibilitĂ© antĂ©rieurs.
Niveaux de compatibilité pris en charge
La liste des niveaux de compatibilité pris en charge et la liste de contrÎle de mise à niveau ont été déplacées dans debhelper-compat-upgrade-checklist (7).
REMARQUES
Prise en charge de plusieurs paquets binaires
Si le paquet source produit plus dâun paquet binaire, les programmes de debhelper construiront tous les paquets binaires. Si le paquet source doit construire un paquet dĂ©pendant de lâarchitecture et un paquet indĂ©pendant de lâarchitecture, ce comportement ne conviendra pas. En effet, il convient de construire les paquets dĂ©pendants de lâarchitecture dans la cible « binary-arch » de debian/rules , et les paquets indĂ©pendants de lâarchitecture dans la cible « binary-indep » de debian/rules .
Pour rĂ©soudre ce problĂšme, et pour un meilleur contrĂŽle sur la construction des paquets par debhelper, tous les programmes de debhelper acceptent les options -a , -i , -p et -s . Ces options sont cumulatives. Si aucune nâest prĂ©cisĂ©e, les programmes de debhelper construisent tous les paquets Ă©numĂ©rĂ©s dans le fichier de contrĂŽle, avec les exceptions ci-dessous.
Tout dâabord, chaque paquet dont le champ Architecture de debian/control ne contient pas lâarchitecture DEB_HOST_ARCH sera exclu ("Charte Debian, section 5.6.8").
De plus, quelques autres paquets peuvent ĂȘtre exclus suivant le contenu de la variable dâenvironnement DEB_BUILD_PROFILES et les champs Build-Profiles des paragraphes debian/control dans les paquets binaires, conformĂ©ment au brouillon de la charte (voir <https://wiki.debian.org/BuildProfileSpec>).
Interaction entre les sélections de paquets et les Build-Profiles
Les profils de
construction (« Build-Profiles ») ont
un effet sur le choix des paquets inclus dans les
mécanismes de sélection de paquets de
debhelper. Généralement, les sélections
partent du principe que tous les paquets sont
activés. Cette section décrit comment les
sĂ©lections fonctionnent lorsquâun paquet est
désactivé par un profil de construction (ou
par son absence).
-a
/
--arch
,
-i
/
--indep
ou aucune
option de sélection (un simple appel
« dh_X »)
Le paquet désactivé par le profil est silencieusement exclu de la sélection.
Veuillez noter que vous recevrez un avertissement si tous les paquets relatifs Ă cette sĂ©lection sont dĂ©sactivĂ©s. Dans ce cas, il est gĂ©nĂ©ralement dâaucune utilitĂ© de construire.
-N paquet / --no-package paquet
Cette option est acceptée et ne fait rien.
-p paquet / --package paquet
Cette option est acceptĂ©e, mais debhelper nâagira pas sur le paquet.
Veuillez noter que cela nâa pas dâimportance que le paquet soit activĂ© ou dĂ©sactivĂ© par dĂ©faut.
GĂ©nĂ©ration automatique des scripts Debian dâinstallation
Certaines commandes de debhelper produisent automatiquement des lignes de code de maintenance du paquet. Pour les inclure dans vos propres scripts de maintenance du paquet, il convient dâajouter #DEBHELPER# Ă lâendroit oĂč les lignes de code gĂ©nĂ©rĂ©es devront ĂȘtre insĂ©rĂ©es. #DEBHELPER# sera remplacĂ©, par les lignes de code gĂ©nĂ©rĂ©es automatiquement, lors de lâexĂ©cution de dh_installdeb .
Si un script de maintenance nâexiste pas et que debhelper doit y inclure quelque chose, alors debhelper crĂ©era le script de maintenance complĂštement.
Toutes les commandes de debhelper qui produisent automatiquement des lignes de code de cette façon peuvent inhiber cette production grĂące Ă lâoption -n (voir ci-dessus).
Nota : Les lignes de code insĂ©rĂ©es seront Ă©crites dans le langage de lâinterprĂ©teur de commandes (shell). De ce fait, il est impossible de les placer directement dans un script Perl. Pour les insĂ©rer dans un script Perl, voici une solution (sâassurer que $1, $2, etc., sont bien dĂ©finis par la commande set) :
my
$temp="set -e\nset -- @ARGV\n" . << 'EOF';
#DEBHELPER#
EOF
if (system($temp)) {
my $exit_code = ($? >> 8) & 0xff;
my $signal = $? & 0x7f;
if ($exit_code) {
die("Le script debhelper a échoué avec le
code d'erreur : ${exit_code}");
} else {
die("Le script debhelper a été tué
par le signal : ${signal}");
}
}
Génération automatique des diverses dépendances.
Certaines commandes de debhelper peuvent nĂ©cessiter des dĂ©pendances entre le paquet construit et dâautres paquets. Par exemple, si dh_installdebconf (1) est employĂ©, le paquet devra dĂ©pendre de debconf. Si dh_installxfonts (1) est employĂ©, le paquet deviendra dĂ©pendant dâune version particuliĂšre de xutils. Maintenir ces dĂ©pendances induites peut ĂȘtre pĂ©nible puisquâelles dĂ©coulent de la façon dont debhelper travaille. Câest pourquoi debhelper offre une solution dâautomatisation.
Toutes les commandes de ce type, outre quâelles documentent, dans leur page de manuel, les dĂ©pendances quâelle induisent, gĂ©nĂ©reront automatiquement une variable de substitution nommĂ©e ${misc:depends} . Si cette variable est exploitĂ©e dans le dossier debian/control , il sera automatiquement enrichi des dĂ©pendances induites par debhelper.
Ce processus est entiÚrement indépendant de ${shlibs:Depends} standard, produite par dh_makeshlibs (1), et de ${perl:Depends} produite par dh_perl (1). Il est également possible de choisir de ne pas les utiliser si les conjectures de debhelper ne correspondent pas à la réalité.
Répertoires de construction du paquet
Par dĂ©faut, tous les programmes de debhelper supposent que le rĂ©pertoire temporaire utilisĂ© pour construire lâarborescence des fichiers dâun paquet est debian/ paquet .
Parfois, il peut ĂȘtre souhaitable dâutiliser un autre rĂ©pertoire temporaire. Câest obtenu grĂące Ă lâattribut -P . Par exemple, dh_installdocs -Pdebian/tmp utilisera debian/tmp comme rĂ©pertoire temporaire. Nota : Lâusage de -P implique que les programmes de debhelper ne construisent quâun seul paquet Ă la fois. De ce fait, si le paquet source gĂ©nĂšre plusieurs paquets binaires, il faudra employer Ă©galement le paramĂštre -p pour prĂ©ciser lâunique paquet binaire Ă construire.
udebs
Debhelper prend en charge la construction des udebs. Pour crĂ©er un udeb avec debhelper, il faut ajouter « Package-Type: udeb » aux lignes de paquet dans debian/control . Debhelper essayera de construire des udebs, conformĂ©ment aux rĂšgles de lâinstallateur Debian, en suffixant les fichiers de paquets gĂ©nĂ©rĂ©s avec .udeb , en nâinstallant aucune documentation dans un udeb, en omettant les scripts preinst , postrm , prerm et config , etc.
VARIABLES DâENVIRONNEMENT
Cette section dĂ©crit certaines des variables dâenvironnement qui influencent le comportement de debhelper ou avec lesquelles debhelper est en interaction.
Il est important
de noter que celles-ci doivent ĂȘtre des variables
existantes pour affecter le comportement de debhelper (pas
simplement des variables de
Makefile
). Pour les
définir proprement dans le fichier
debian/rules
, assurez-vous de les exporter
(«
export
»). Par exemple
«
export DH_VERBOSE
».
DH_VERBOSE
DĂ©finir Ă une valeur non vide pour activer le mode bavard. Consultez lâoption -v / --verbose pour des dĂ©tails.
DH_QUIET
DĂ©finir Ă une valeur non vide pour activer le mode silencieux. Debhelper nâaffichera aucune commande appelant le systĂšme de construction amont, et dh nâaffichera aucune des sous-commandes appelĂ©es. En fonction du systĂšme de construction amont, cela pourra le rendre encore plus silencieux. Cela facilite la dĂ©tection des messages importants, mais rend la sortie inutile en tant que journal de construction.
Cette valeur est ignorée si DH_VERBOSE est aussi positionnée ou si -v / --verbose est passée.
DH_COMPAT
Indiquer temporairement le niveau de compatibilité avec lequel debhelper doit fonctionner. Cette valeur supplante le niveau de compatibilité par défaut du paquet source.
DH_NO_ACT
Mettre cette variable Ă 1 pour activer le mode simulation (no-act).
DH_OPTIONS
Tous les outils de debhelper analyseront les arguments de la ligne de commande listĂ©s dans cette variable avant toute option de commande (comme sâils avaient Ă©tĂ© ajoutĂ©s au dĂ©but des arguments de la ligne de commande). Malheureusement, certains outils tiers peuvent ne pas prendre en compte cette variable et ignoreront ces arguments.
En utilisant dh (1), des options peuvent ĂȘtre passĂ©es Ă chaque commande debhelper, ce qui est gĂ©nĂ©ralement mieux que dâutiliser DH_OPTIONS .
DH_ALWAYS_EXCLUDE
Si cette variable possĂšde une valeur, elle sera ajoutĂ©e Ă lâoption -X de toutes les commandes qui admettent cette option. De plus, dh_builddeb fera un rm -rf pour chaque chose correspondant Ă la valeur dans lâarbre de construction de paquet.
Cela peut ĂȘtre utile pour construire un paquet Ă partir dâune arborescence CVS. Dans ce cas, le rĂ©glage de DH_ALWAYS_EXCLUDE=CVS empĂȘchera les rĂ©pertoires CVS dâinterfĂ©rer subrepticement dans le paquet en construction. Ou, si un paquet possĂšde une source compressĂ©e, (maladroitement) prĂ©sente dans un rĂ©pertoire CVS, il peut ĂȘtre utile dâexporter DH_ALWAYS_EXCLUDE=CVS dans debian/rules , pour que cette variable soit prise en compte quel que soit lâendroit oĂč le paquet est construit.
Des exclusions multiples peuvent ĂȘtre sĂ©parĂ©es avec des caractĂšres deux points, comme dans DH_ALWAYS_EXCLUDE=CVS:.svn .
DH_EXTRA_ADDONS
Les rajouts Ă dh indiquĂ©s seront exĂ©cutĂ©s lors de la sĂ©quence de commandes. Cela Ă©quivaut Ă les indiquer avec le drapeau --with dans le fichier debian/rules . Les rajouts prĂ©cĂ©dĂ©s de --without ne seront pas exĂ©cutĂ©s, mĂȘme sâils sont indiquĂ©s dans cette variable dâenvironnement.
Cela est prĂ©vu pour ĂȘtre utilisĂ© par les dĂ©rivĂ©es ou les configurations locales spĂ©cifiques qui ont besoin dâun rajout lors de plusieurs construction, sans avoir Ă modifier un grand nombre de fichier rules . Il est prĂ©fĂ©rable dâĂ©viter cette mĂ©thode et dâutiliser plutĂŽt les drapeaux --with dans le fichier rules .
DH_COLORS , DPKG_COLORS
Ces variables peuvent ĂȘtre utilisĂ©es pour contrĂŽler comment les commandes de debhelper peuvent utiliser la couleur dans leurs sorties textuelles. Les rĂ©glages peuvent ĂȘtre « always », « auto » (par dĂ©faut) ou « never ».
Notez que DPKG_COLOR affecte aussi un certain nombre dâoutils liĂ©s Ă dpkg et debhelper lâutilise en supposant que vous voulez les mĂȘme rĂ©glages de couleur pour dpkg et debhelper. Au cas oĂč vous voudriez un autre jeu de couleurs pour debhelper, vous pouvez utiliser DH_COLORS Ă la place ou en plus de DPKG_COLORS .
NO_COLOR
Si aucune demande explicite de couleur nâa Ă©tĂ© passĂ©e (par exemple, ni DH_COLORS , ni DPKG_COLORS nâont Ă©tĂ© configurĂ©es), la prĂ©sence de cette variable dâenvironnement fera que le rĂ©glage des couleurs par dĂ©faut sera « never ».
Cette variable est dĂ©finie conformĂ©ment Ă <https://no-color.org/>. Dans ce projet, les variables dâenvironnement (comme DH_COLORS ) sont considĂ©rĂ©es comme une demande explicite de couleur.
CFLAGS
,
CPPFLAGS
,
CXXFLAGS
,
OBJCFLAGS
,
OBJCXXFLAGS
,
GCJFLAGS
,
FFLAGS
,
FCFLAGS
,
LDFLAGS
Par dĂ©faut (dans tout niveau de compatibilitĂ© non obsolĂšte), debhelper rĂ©glera automatiquement ces paramĂštres en utilisant dpkg-buildflags (1) quand ils ne sont pas dĂ©finis. Sâil est nĂ©cessaire de changer les paramĂštres par dĂ©faut, veuillez utiliser les fonctions de dpkg-buildflags (1) pour le faire (par exemple, DEB_BUILD_MAINT_OPTIONS=hardening=all ou DEB_CPPFLAGS_MAINT_APPEND=-DCUSTOM_MACRO=true ) au lieu de configurer directement les variables concrĂštes.
HOME , XDG_*
Ă partir du niveau de compatibilité 13, ces variables dâenvironnement sont rĂ©initialisĂ©es avant dâinvoquer le systĂšme de construction amont Ă lâaide des outils dh_auto_* . Les variables HOME (pour tout outil dh_auto_* ) et XDG_RUNTIME_DIR (pour dh_auto_test seulement) seront rĂ©glĂ©es dans un rĂ©pertoire accessible en Ă©criture. Toutes les autres variables et XDG_RUNTIME_DIR (sauf durant dh_auto_test ) seront vidĂ©es.
Le rĂ©pertoire HOME sera créé comme un rĂ©pertoire vide mais il sera rĂ©utilisĂ© entre les appels Ă dh_auto_* . Tout son contenu restera jusquâĂ ce quâil soit explicitement supprimĂ© ou jusquâĂ lâexĂ©cution de dh_clean .
DEB_BUILD_OPTIONS
Veuillez consulter "ParamĂštres pris en charge dans DEB_BUILD_OPTIONS" pour cet environnement.
Veuillez noter que cette variable ne devrait pas ĂȘtre modifiĂ©e par les responsables de paquet dans debian/rules pour changer le comportement de debhelper. Ils devraient plutĂŽt rechercher Ă dĂ©sactiver la fonction correspondante directement (par exemple en surchargeant les outils spĂ©cifiques).
DEB_BUILD_MAINT_OPTIONS
Câest une variable dâenvironnement spĂ©cifique Ă dpkg (voir par exemple dpkg-buildflags (1)). La suite dâoutils de debhelper lâignore silencieusement.
Cela est documentĂ© ici parce quâelle porte un nom identique Ă DEB_BUILD_OPTIONS , ce qui fait que certaines personnes pensent par erreur que debhelper rĂ©agit aussi Ă cette variable.
ParamĂštres pris en charge dans DEB_BUILD_OPTIONS
La suite
dâoutils de debhelper rĂ©agit aux
paramĂštres suivants dans
DEB_BUILD_OPTIONS
.
dherroron=obsolete-compat-levels
Câest une valeur spĂ©cifique Ă debhelper.
Quand dherroron est prĂ©sent et rĂ©glĂ© Ă obsolete-compat-levels , alors les outils de debhelper prĂ©senteront dans les erreurs des alertes sur lâutilisation des niveaux de compatibilitĂ© anciens sur le point dâĂȘtre obsolĂštes
Câest utile pour la vĂ©rification automatique de code se basant sur des niveaux de compatibilitĂ© dont la suppression est programmĂ©e.
Cette option est destinée aux tests et non aux constructions pour la production.
nostrip
Cette valeur changera le contenu des paquets .deb en construction. Les paquets .deb construits avec ce réglage ne seront donc pas reproductibles bit à bit par rapport à une construction normale en cas général.
Cette valeur fera que les outils officiels de debhelper ignoreront les actions et les outils qui suppriment, détachent ou dédoublent les symboles de débogage dans les binaires ELF.
Cette valeur affecte dh_dwz (1) et dh_strip (1).
nocheck
Cette valeur fera que les systĂšmes de construction officiels de debhelper ignoreront lâexĂ©cution des suites de tests de lâamont.
Les responsables de paquet cherchant Ă Ă©viter lâexĂ©cution des tests de lâamont ne devraient pas recourir Ă cela. Ils peuvent plutĂŽt ajouter une cible de réécriture vide pour ignorer dh_auto_test .
Cette valeur affecte dh_auto_test (1).
nodoc
Cette valeur changera le contenu des paquets .deb en construction. Les paquets .deb construits avec ce réglage ne seront donc pas reproductibles bit à bit par rapport à une construction normale en cas général.
Cette valeur fera que plusieurs outils de debhelper ignoreront lâinstallation de documentation comme les pages de manuel ou la documentation fournie par lâamont. En plus, les outils ne sauront pas si la documentation dĂ©clarĂ©e est « missing » en partant du principe que la documentation nâa pas Ă©tĂ© construite.
Cette valeur affecte des outils comme dh_installdocs (1) qui sait quâil travaille sur la documentation.
notrimdch
Cette valeur changera le contenu des paquets .deb en construction. Les paquets .deb construits avec ce réglage ne seront donc pas reproductibles bit à bit par rapport à une construction normale en cas général.
Cette valeur fera que dh_installchangelogs (1) agira comme sâil avait Ă©tĂ© passĂ© avec lâoption --no-trim , lâobligeant Ă renoncer Ă supprimer les entrĂ©es anciennes des journaux de modification.
noautodbgsym , noddebs
Le nom officiel est noautodbgsym. La variante noddebs est acceptée pour des raisons historiques.
Cette valeur fait que debhelper ignore la création des paquets de symboles de débogage générés automatiquement.
Cette valeur affecte dh_strip (1).
parallel=N
Cette valeur Ă permet debhelper dâutiliser jusquâĂ N threads ou processus (soumis Ă des paramĂštres comme --no-parallel et --max-parallel=M ). Tous les outils de debhelper ne fonctionnent pas avec des tĂąches parallĂšles et peuvent ignorer silencieusement la requĂȘte.
Cette valeur affecte de nombreux outils de debhelper et en particulier dh_auto_* qui tentera dâexĂ©cuter le systĂšme de construction amont sous-jacent avec ce nombre de threads.
terse
Cette valeur fera que les systĂšmes de construction officiels de debhelper configurent les constructions de lâamont pour quâelles soient laconiques (câest-Ă -dire rĂ©duisent la prolixitĂ© de leurs sorties). Cela est subordonnĂ© Ă la prise en charge par les systĂšmes de construction de lâamont et de debhelper de ces fonctionnalitĂ©s.
Cette valeur affecte directement surtout les outils dh_auto_* . Pour les commandes fournies par le paquet debhelper, il fait aussi que les outils agissent comme si la variable dâenvironnement DH_QUIET nâĂ©tait pas vide.
Les paramÚtres inconnus sont ignorés silencieusement.
Veuillez noter que les outils tiers dans le style de debhelper ou les systĂšmes de construction fournis par des tiers peuvent rĂ©agir ou non aux paramĂštres ci-dessus. Cela dĂ©pend gĂ©nĂ©ralement des dĂ©tails dâimplĂ©mentation des outils
VOIR AUSSI
debhelper-compat-upgrade-checklist (7)
Liste des niveaux de compatibilitĂ© pris en charge et une liste de contrĂŽle de mise Ă niveau pour chacun dâentre eux.
/usr/share/doc/debhelper/examples/
Un ensemble dâexemples de fichiers debian/rules qui utilisent debhelper.
<http://joeyh.name/code/debhelper/>
Le site internet 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> ».