Provided by: dh-ada-library_5.9_amd64 bug

NAME

       dh_ada_library - aide à empaqueter des bibliothèques Ada pour Debian

SYNOPSIS

       dh_ada_library [options debhelper] [[variable=valeur ...] projet.gpr] ...

DESCRIPTION

       dh_ada_library  est  un  programme de la suite debhelper prenant en charge quelques tâches
       courantes dans l’empaquetage de bibliothèques écrites dans le langage Ada.

       Chaque argument projet.gpr indique un fichier de projet GNAT servant à  compiler  une  des
       bibliothèques   partagées   fournies   par   le   paquet   source.  L’usage  de  variables
       d’environnement dans de tels projets étant monnaie courante, il est  possible  de  fournir
       une liste d’affectations avant chaque projet.

       dh_ada_library  lit chaque fichier de projet et en extrait les informations suivantes : le
       nom de la bibliothèque, les projets importés, les répertoires contenant les sources, celui
       qui  contient  les fichiers ALI et les options de l’éditeur de liens. Ensuite, il parcourt
       debian/control afin de vérifier que trois  paquets  existent,  nommés  conformément  à  la
       Charte  Debian  pour Ada sous l’intitulé Coexistence Not Allowed et il en déduit le numéro
       de version des fichiers ALI (aliversion) et de la bibliothèque partagée (soversion). Puis,
       dh_ada_library traite chacun des trois paquets de la façon suivante.

   Paquet fournissant la bibliothèque dynamique
       dh_ada_library  installe  la  bibliothèque  partagée dans le paquet, puis exécute dh_strip
       avec des options plaçant les informations de déboguage dans le paquet -dbg.

       Si  la  bibliothèque  partagée  déclare  sa  pile  exécutable,  dh_ada_library  génère  un
       « override »  lintian  expliquant  que  GNAT  utilise  des  trampolines  pour  traiter les
       exceptions. Avant cela, dh_lintian est exécuté, car s’il l’était plus tard  il  risquerait
       de recouvrir le fichier « override ».

   Paquet contenant les symboles de déboguage (-dbg)
       Les  variables  de  substitution  ada:Depends,  ada:Recommends, ada:Suggests reçoivent des
       valeurs indiquant que le paquet -dbg dépend  du  paquet  de  bibliothèque,  recommande  le
       paquet -dev et suggère le paquet gnat.

       Les version <= 5.3 remplaçaient le répertoire de documentation par un lien symbolique vers
       celui du paquet de bibliothèque, mais cela s’est avéré à l’usage cause de  problèmes  lors
       des  mises à jours. Si un paquet binaire construit avec une telle version a été distribué,
       le paquet source devrait ajouter des scripts  de  maintenance  comme  décrit  à  l’adresse
       https://wiki.debian.org/MissingCopyrightFile.

   Paquet de développement (-dev)
       Pour commencer, dh_ada_library installe le lien symbolique de développement habituel (*.so
       -> *.so.soversion), les fichiers ALI et les sources dans  le  paquet  -dev.  Les  langages
       autres  qu’Ada  mentionnés  dans  le  projet sont pris en compte, qu’ils aient été pris en
       compte auparavant par gprbuild, ou ignorés par gnatmake et compilés  séparément.  Ensuite,
       il  recherche  un  fichier  nommé  libLIBRARY_NAME.a  (la  bibliothèque  statique) dans le
       répertoire courant ou un de ses sous-répertoires, et l’installe dans le paquet -dev.

       Un second fichier de projet, conçu pour faciliter la compilation de  programmes  utilisant
       la  bibliothèque,  est généré et installé dans le paquet -dev. Le paquet Linker du nouveau
       projet hérite des options destinées à l’éditeur de liens -l ou  -L  mentionnées  dans  les
       attributs Leading_Library_Options ou Library_Options du projet de compilation.

       Chaque renommage est transmis au projet généré.

       dh_ada_library  exécute  dh_strip  avant  d’installer  la  bibliothèque  statique afin que
       celle-ci conserve ses informations de déboguage.

       La variable de substitution ada:Depends reçoit une valeur indiquant que le  paquet  dépend
       de  gnat,  de  gnat-X.Y  et  du paquet de bibliothèque. Pour chaque projet de bibliothèque
       importé et reconnu, soit comme déjà parcouru, soit  comme  installé  dans  le  système  de
       construction  par  dpkg-query,  une  dépendance  est ajoutée dans ada:Depends et le projet
       généré se voit ajouter une ligne with. Dans le cas d’un projet déjà parcouru dans le cadre
       du  même  paquet  source,  la  dépendance exige exactement la même binary:Version, afin de
       garantir que toutes les archives statiques sont compilées avec des options compatibles.

REMARQUES

       Ce programme ne fait pas partie de la suite debhelper. Pour l’activer, veuillez lancer  le
       séquenceur dh avec l’option --with ada-library.

       L’attribut  Library_Version  du  projet est délibérément ignoré, et le nom d’objet partagé
       (soname) est plutôt déduit à  partir  du  nom  du  paquet  de  bibliothèque.  Les  projets
       réclamant  une  définition de variable externe pour définir cet attribut pourront recevoir
       une valeur arbitraire. Ceci permettra souvent au mainteneur l’usage  d’un  simple  fichier
       debian/ada_libraries  au  lieu  de  surcharger  une  commande  debhelper ou d’exporter une
       variable d’environnement.

       Les    deux    bibliothèques    et    les    fichiers    ALI    sont    installés     dans
       /usr/lib/DEB_HOST_MULTIARCH, le projet et les sources dans /usr/share/ada/adainclude. Ceci
       signifie que le paquet -dev ne peut pas être déclaré Multi-Arch: same puisque  le  contenu
       du projet (et le cas échéant de sources générées) sera différent selon l’architecture.

FICHIERS

       debian/ada_libraries
              Projets  et  variables à traiter en plus de ceux mentionnés en ligne de commande en
              cas d’appel directement depuis debian/rules. Les  fins  de  ligne  sont  considérés
              comme  de  simples  espaces.  Ceci  peut  être  amené à changer, et il est vivement
              recommandé de mettre exactement une affectation ou un projet par ligne. Toute ligne
              débutant par un dièse est ignorée.

OPTIONS

       Les  options  en  ligne  de  commande  et  variables  d’environnement  communes aux outils
       debhelper sont reconnues.

EXEMPLES

       dh_ada_library 'DIRS=src gen' SOVERSION=sans_effet toto.gpr --verbose --no-act

VOIR AUSSI

       debhelper(7), dh_installdocs(1), dh_lintian(1), dh_strip(1), deb-substvars(5),  la  Charte
       Debian       pour       Ada       disponible       (en      anglais)      à      l’adresse
       http://people.debian.org/~lbrenta/debian-ada-policy.html.

AUTEUR

       Nicolas Boulenguez <nicolas@debian.org> a écrit dh_ada_library et  sa  page  de  manuel  à
       destination du projet Debian et de quiconque les trouvera utiles.

                                            2013-08-21                          DH_ADA_LIBRARY(1)