/usr/share/doc/ubuntu-packaging-guide-html-fr/debian-dir-overview.html is in ubuntu-packaging-guide-html-fr 0.3.5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>2. Aperçu élémentaire du dossier debian/ — Ubuntu Packaging Guide</title>
<link rel="shortcut icon" href="./_static/images/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="./_static/reset.css" type="text/css" />
<link rel="stylesheet" href="./_static/960.css" type="text/css" />
<link rel="stylesheet" href="./_static/base.css" type="text/css" />
<link rel="stylesheet" href="./_static/home.css" type="text/css" />
<link rel="stylesheet" href="./_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="./_static/guide.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.3.5',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="./_static/jquery.js"></script>
<script type="text/javascript" src="./_static/underscore.js"></script>
<script type="text/javascript" src="./_static/doctools.js"></script>
<script type="text/javascript" src="./_static/translations.js"></script>
<script type="text/javascript" src="./_static/main.js"></script>
<link rel="top" title="Ubuntu Packaging Guide" href="./index.html" />
<link rel="next" title="3. autopkgtest : tests automatiques pour les paquets" href="auto-pkg-test.html" />
<link rel="prev" title="1. Communication dans Ubuntu développement" href="communication.html" />
</head>
<body class="home">
<a name="top"></a>
<div class="header-navigation">
<div>
<nav role="navigation">
<ul>
<li class="page_item current_page_item"><a title="Contenu" href="index.html">Contenu</a>
<li>
<form id="form-search" method="get" action="search.html">
<fieldset>
<input id="input-search" type="text" name="q" value="Search" />
</fieldset>
</form>
</li>
</ul>
</nav>
<a class="logo-ubuntu" href="http://packaging.ubuntu.com/">
<img src="./_static/images/logo-ubuntu.png" width="119" height="27" alt="Ubuntu logo" />
</a>
<a href="http://packaging.ubuntu.com/"><h2>Packaging Guide</h2></a>
</div>
</div>
<div class="header-content">
<div class="clearfix">
<div class="header-navigation-secondary">
<div>
<nav role="navigation">
<ul class="clearfix">
<li class="page_item"><a style="margin-right: 10px"
href="auto-pkg-test.html" title="3. autopkgtest : tests automatiques pour les paquets"
accesskey="N">suivant</a></li>
<li class="page_item"><a
href="communication.html" title="1. Communication dans Ubuntu développement"
accesskey="P">précédent</a></li>
<li class="page_item"><a class="sub-nav-item" href="index.html">Ubuntu Packaging Guide »</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="content" class="body container_12">
<div class="grid_12">
<!--<section id="main-section">-->
<div class="grid_9 alpha">
<div class="section" id="basic-overview-of-the-debian-directory">
<h1>2. Aperçu élémentaire du dossier <tt class="docutils literal"><span class="pre">debian/</span></tt><a class="headerlink" href="#basic-overview-of-the-debian-directory" title="Lien permanent vers ce titre">¶</a></h1>
<p>Cet article va vous expliquer brièvement les différents fichiers importants pour l’empaquetage des paquets Ubuntu, contenus dans le répertoire <tt class="docutils literal"><span class="pre">debian/</span></tt>. Les plus importants d’entre eux sont <tt class="docutils literal"><span class="pre">changelog</span></tt>, <tt class="docutils literal"><span class="pre">control</span></tt>, <tt class="docutils literal"><span class="pre">copyright</span></tt> et <tt class="docutils literal"><span class="pre">rules</span></tt>. Ceux-ci sont nécessaires pour tous les paquets. Certains fichiers supplémentaires dans <tt class="docutils literal"><span class="pre">debian/</span></tt> peuvent être utilisés afin de personnaliser et de configurer le comportement du paquet. Certains de ces fichiers sont décrits dans cet article, mais il n’est pas censé constituer une liste exhaustive.</p>
<div class="section" id="the-changelog">
<h2>2.1. Le changelog<a class="headerlink" href="#the-changelog" title="Lien permanent vers ce titre">¶</a></h2>
<p>Ce fichier est, comme son nom l’indique, une liste des modifications apportées à chaque version. Il possède un format spécifique donnant le nom du paquet, la version, la distribution, les modifications, et qui les a apportées à un moment donné. Si vous avez une clé GPG (voir : <a class="reference internal" href="getting-set-up.html"><em>Obtenir configuration</em></a>), assurez-vous d’utiliser les mêmes nom et adresse email dans le <tt class="docutils literal"><span class="pre">changelog</span></tt> que dans votre clé. Ce qui suit est un modèle de <tt class="docutils literal"><span class="pre">changelog</span></tt> :</p>
<div class="highlight-python"><div class="highlight"><pre>package (version) distribution; urgency=urgency
* change details
- more change details
* even more change details
-- maintainer name <email address>[two spaces] date
</pre></div>
</div>
<p>Le format (particulièrement celui de la date) est important. La date doit être au format <span class="target" id="index-2"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc5322.html"><strong>RFC 5322</strong></a>, obtenu en utilisant la commande <tt class="docutils literal"><span class="pre">date</span> <span class="pre">-R</span></tt>. Pour plus de commodité, la commande <tt class="docutils literal"><span class="pre">dch</span></tt> est utilisée pour éditer le changelog. Elle mettra automatiquement la date à jour.</p>
<p>Les points mineurs sont indiquées par un tiret “-”, tandis que les points majeurs utilisent un astérisque “*”.</p>
<p>Si vous êtes parti de zéro pour l’empaquetage, <tt class="docutils literal"><span class="pre">dch</span> <span class="pre">--create</span></tt> (<tt class="docutils literal"><span class="pre">dch</span></tt> est dans le paquet <tt class="docutils literal"><span class="pre">devscripts</span></tt>) vous créera un <tt class="docutils literal"><span class="pre">debian</span> <span class="pre">/changelog</span></tt> standard.</p>
<p>Voici un exemple de fichier <tt class="docutils literal"><span class="pre">changelog</span></tt> pour bonjour:</p>
<div class="highlight-python"><div class="highlight"><pre>hello (2.8-0ubuntu1) trusty; urgency=low
* New upstream release with lots of bug fixes and feature improvements.
-- Jane Doe <packager@example.com> Thu, 21 Oct 2013 11:12:00 -0400
</pre></div>
</div>
<p>Notez que la version comporte un <tt class="docutils literal"><span class="pre">-0ubuntu1</span></tt> annexé, c’est la révision de la distribution, utilisée de telle sorte que l’empaquetage peut être mis à jour (pour par exemple corriger des bogues) avec de nouveaux ajouts dans la même version de la source.</p>
<p>Ubuntu et Debian ont des systèmes légèrement différents d’incrémentation de version de paquets pour éviter que des paquets issus d’une source de même version entrent en conflit. Lorsqu’un paquet Debian a été modifié dans Ubuntu, il présente un <tt class="docutils literal"><span class="pre">ubuntuX</span></tt> (où <tt class="docutils literal"><span class="pre">X</span></tt> est le numéro de révision Ubuntu) annexé à la fin de la version Debian. Donc, si le paquet Debian hello <tt class="docutils literal"><span class="pre">2.6-1</span></tt> a été modifié par Ubuntu, la chaîne de version indiquera <tt class="docutils literal"><span class="pre">2.6-1ubuntu1</span></tt>. Si ce paquet pour l’application n’existe pas dans Debian, la révision Debian est <tt class="docutils literal"><span class="pre">0</span></tt> (par exemple, hello <tt class="docutils literal"><span class="pre">2.6-0ubuntu1</span></tt>).</p>
<p>Pour plus d’informations, consultez la <a class="reference external" href="http://www.debian.org/doc/debian-policy/ch-source.html#s-dpkgchangelog">section changelog (Section 4.4)</a> de la Charte Debian.</p>
</div>
<div class="section" id="the-control-file">
<h2>2.2. Le fichier de contrôle.<a class="headerlink" href="#the-control-file" title="Lien permanent vers ce titre">¶</a></h2>
<p>Le fichier <tt class="docutils literal"><span class="pre">control</span></tt> contient les informations que les gestionnaires de paquets (comme <tt class="docutils literal"><span class="pre">apt-get</span></tt>, <tt class="docutils literal"><span class="pre">synaptic</span></tt> ou <tt class="docutils literal"><span class="pre">adept</span></tt>) utilisent, les moments de construction des dépendances, les informations concernant les mainteneurs et plus encore.</p>
<p>Pour le paquet <tt class="docutils literal"><span class="pre">hello</span></tt> de Ubuntu, le fichier <tt class="docutils literal"><span class="pre">control</span></tt> ressemble à ceci :</p>
<div class="highlight-control"><div class="highlight"><pre><span class="k">Source</span><span class="w">: </span><span class="s">hello</span>
<span class="k">Section</span><span class="w">: </span><span class="s">devel</span>
<span class="k">Priority</span><span class="w">: </span><span class="s">optional</span>
<span class="k">Maintainer</span>: Ubuntu Developers <span class="gs"><ubuntu-devel-discuss@lists.ubuntu.com></span>
<span class="k">XSBC-Original-Maintainer</span><span class="w">: </span><span class="s">Jane Doe <packager@example.com></span>
<span class="k">Standards-Version</span><span class="w">: </span><span class="s">3.9.5</span>
<span class="k">Build-Depends</span>: <span class="nf">debhelper</span> (<span class="o">>=</span> <span class="m">7</span>)
<span class="k">Vcs-Bzr</span><span class="w">: </span><span class="s">lp:ubuntu/hello</span>
<span class="k">Homepage</span><span class="w">: </span><span class="s">http://www.gnu.org/software/hello/</span>
<span class="k">Package</span><span class="w">: </span><span class="s">hello</span>
<span class="k">Architecture</span><span class="w">: </span><span class="s">any</span>
<span class="k">Depends</span>: <span class="o">$</span>{<span class="ni">shlibs:Depends</span>}
<span class="k">Description</span><span class="gs">: The classic greeting, and a good example</span>
The GNU hello program produces a familiar, friendly greeting. It
allows non-programmers to use a classic computer science tool which
would otherwise be unavailable to them. Seriously, though: this is
an example of how to do a Debian package. It is the Debian version of
the GNU Project's `hello world' program (which is itself an example
for the GNU Project).
</pre></div>
</div>
<p>Le premier paragraphe décrit le paquet source, y compris la liste des paquets nécessaires pour construire le paquet depuis son source dans le champ <tt class="docutils literal"><span class="pre">Build-Depends</span></tt>. Il contient également des méta-informations comme le nom du mainteneur, la version de la Charte Debian à laquelle le paquet se conforme, l’emplacement du dépôt du contrôle de version de l’empaquetage et la page d’accueil en amont.</p>
<p>Notez que dans Ubuntu, nous avons laissé le champ <tt class="docutils literal"><span class="pre">Maintainer</span></tt> pointer vers une adresse générale, car n’importe qui peut changer n’importe quel paquet (ceci diffère de Debian où le changement des paquets est généralement limité à une personne ou une équipe). Les paquets dans Ubuntu devraient avoir le champ <tt class="docutils literal"><span class="pre">Maintainer</span></tt> indiquant <tt class="docutils literal"><span class="pre">Développeurs</span> <span class="pre">Ubuntu</span> <span class="pre"><ubuntu-devel-discuss@lists.ubuntu.com></span></tt>. Si ce champ Maintainer est modifié, l’ancienne valeur doit être enregistrée dans le champ <tt class="docutils literal"><span class="pre">XSBC-Original-Maintainer</span></tt>. Cela peut être fait automatiquement avec le script <tt class="docutils literal"><span class="pre">update-maintainer</span></tt> disponible dans le paquet <tt class="docutils literal"><span class="pre">ubuntu-dev-tools</span></tt>. Pour plus d’informations, reportez-vous aux <a class="reference external" href="https://wiki.ubuntu.com/DebianMaintainerField">Spécifications Debian du Champ Mainteneur</a> sur le wiki d’Ubuntu.</p>
<p>Chaque paragraphe supplémentaire décrit un paquet binaire à compiler.</p>
<p>Pour plus d’informations, consultez la <a class="reference external" href="http://www.debian.org/doc/debian-policy/ch-controlfields.html">section fichier control (Chapitre 5)</a> de la Charte Debian.</p>
</div>
<div class="section" id="the-copyright-file">
<h2>2.3. Le fichier de copyright<a class="headerlink" href="#the-copyright-file" title="Lien permanent vers ce titre">¶</a></h2>
<p>Ce fichier donne les informations de copyright à la fois pour la source en amont et pour l’empaquetage. Les chartes Ubuntu et <a class="reference external" href="http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile">Debian (Section 12.5)</a> exigent que chaque paquet installe une copie intégrale de son copyright et de ses informations de licence dans <tt class="docutils literal"><span class="pre">/usr/share/doc/$(package_name)/copyright</span></tt>.</p>
<p>En règle générale, les informations de copyright se trouvent dans le fichier <tt class="docutils literal"><span class="pre">COPYING</span></tt> du répertoire source du programme. Ce fichier doit contenir des informations telles que les noms des auteurs et de l’empaqueteur, l’URL de provenance de la source, une ligne Copyright indiquant l’année et le titulaire du copyright, et le texte du copyright lui-même. Un exemple pouvant servir de modèle serait :</p>
<div class="highlight-python"><div class="highlight"><pre>Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Hello
Source: ftp://ftp.example.com/pub/games
Files: *
Copyright: Copyright 1998 John Doe <jdoe@example.com>
License: GPL-2+
Files: debian/*
Copyright: Copyright 1998 Jane Doe <packager@example.com>
License: GPL-2+
License: GPL-2+
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later
version.
.
This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more
details.
.
You should have received a copy of the GNU General Public
License along with this package; if not, write to the Free
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
Boston, MA 02110-1301 USA
.
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
`/usr/share/common-licenses/GPL-2'.
</pre></div>
</div>
<p>Cet exemple suit le format du <a class="reference external" href="http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/">Droit d’auteur Debian lisible par la machine</a>. Vous êtes également encouragés à utiliser ce format.</p>
</div>
<div class="section" id="the-rules-file">
<h2>2.4. Le fichier des règles<a class="headerlink" href="#the-rules-file" title="Lien permanent vers ce titre">¶</a></h2>
<p>Le dernier fichier que nous devons examiner est <tt class="docutils literal"><span class="pre">rules</span></tt>. Il complète tout le travail de création de notre paquet. Il s’agit d’un Makefile ayant pour objectifs de compiler et d’installer l’application, puis de créer le fichier <tt class="docutils literal"><span class="pre">.deb</span></tt> à partir des fichiers installés. Il a également pour objectif de nettoyer tous les fichiers de construction de telle sorte que vous vous retrouvez au final uniquement avec un paquet source.</p>
<p>Voici une version simplifiée du fichier de règles créé par <tt class="docutils literal"><span class="pre">dh_make</span></tt> (qui peut être trouvé dans le paquet <tt class="docutils literal"><span class="pre">dh-make</span></tt>):</p>
<div class="highlight-makefile"><div class="highlight"><pre><span class="c">#!/usr/bin/make -f</span>
<span class="c"># -*- makefile -*-</span>
<span class="c"># Uncomment this to turn on verbose mode.</span>
<span class="c">#export DH_VERBOSE=1</span>
<span class="nf">%</span><span class="o">:</span>
dh <span class="nv">$@</span>
</pre></div>
</div>
<p>Passons ce fichier en revue de détails. Tout ce qu’il fait est de passer chaque cible construite qu’appelle ce <tt class="docutils literal"><span class="pre">debian/rules</span></tt> comme argument à <tt class="docutils literal"><span class="pre">/usr/bin/dh</span></tt>, qui appelle lui-même toutes les commandes <tt class="docutils literal"><span class="pre">dh_*</span></tt> nécessaires.</p>
<p><tt class="docutils literal"><span class="pre">dh</span></tt> exécute une séquence de commandes de debhelper. Les séquences prises en charge correspondent aux objectifs du fichier « debian/rules » : « build », « clean », « install », « binary-arch », « binary-indep » et « binary ». Afin de voir quelles commandes sont lancées dans chaque cible, exécutez :</p>
<div class="highlight-python"><div class="highlight"><pre>$ dh binary-arch --no-act
</pre></div>
</div>
<p>Les commandes de la séquence binary-indep sont passées avec l’option « -i » pour s’assurer qu’elles ne fonctionnent que sur des paquets binaires indépendants, et les commandes de la séquence binary-arch sont passées avec l’option « -a » pour s’assurer qu’elles ne fonctionnent que sur les paquets dépendants de l’architecture.</p>
<p>Chaque commande debhelper s’enregistrera après une exécution réussie dans <tt class="docutils literal"><span class="pre">debian/package.debhelper.log</span></tt>. (Que dh_clean efface.) Ainsi, dh peut révéler quelles commandes ont déjà été exécutées, pour quels paquets, et ignorera une nouvelle instance d’exécution de ces commandes.</p>
<p>A chaque exécution de <tt class="docutils literal"><span class="pre">dh</span></tt>, il examine le journal, et retrouve les dernières commandes historisées dans une séquence spécifiée. Il continue ensuite avec la commande suivante de la séquence. Les options <tt class="docutils literal"><span class="pre">--until</span></tt>, <tt class="docutils literal"><span class="pre">--before</span></tt>, <tt class="docutils literal"><span class="pre">--after</span></tt>, et <tt class="docutils literal"><span class="pre">--remaining</span></tt> modifient ce comportement.</p>
<p>Si <tt class="docutils literal"><span class="pre">debian/rules</span></tt> contient une cible nommée <tt class="docutils literal"><span class="pre">override_dh_command</span></tt>, alors quand il arrive à cette commande de la séquence, <tt class="docutils literal"><span class="pre">dh</span></tt> traitera cette cible à partir du fichier de règles, plutôt que de lancer la commande réelle. La cible modifiée peut ensuite exécuter la commande avec des options supplémentaires, ou exécuter des commandes complètement différentes à la place. (Notez que pour utiliser cette fonctionnalité, vous devez construire les dépendances à partir de debhelper 7.0.50 ou supérieur.)</p>
<p>Jetez un œil à <tt class="docutils literal"><span class="pre">usr/share/doc/debhelper/examples/</span></tt> et <tt class="docutils literal"><span class="pre">man</span> <span class="pre">dh</span></tt> pour plus d’exemples. Voir également <a class="reference external" href="http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules">la section rules (Section 4.9)</a> de la Charte Debian.</p>
</div>
<div class="section" id="additional-files">
<h2>2.5. Les fichiers additionnels<a class="headerlink" href="#additional-files" title="Lien permanent vers ce titre">¶</a></h2>
<div class="section" id="the-install-file">
<h3>2.5.1. Le fichier d’installation<a class="headerlink" href="#the-install-file" title="Lien permanent vers ce titre">¶</a></h3>
<p>Le fichier <tt class="docutils literal"><span class="pre">install</span></tt> est utilisé par <tt class="docutils literal"><span class="pre">dh_install</span></tt> pour installer les fichiers dans le paquet binaire. Il s’utilise classiquement dans deux cas :</p>
<ul class="simple">
<li><p class="first">Pour installer des fichiers dans votre paquet lorsqu’ils ne sont pas gérés par le système de construction en amont.</p>
</li>
<li><p class="first">Fractionner un important et unique paquet source en plusieurs paquets binaires.</p>
</li>
</ul>
<p>Dans le premier cas, le fichier <tt class="docutils literal"><span class="pre">install</span></tt> doit comporter une ligne par fichier installé, en précisant à la fois le fichier et le répertoire d’installation. Par exemple, le fichier <tt class="docutils literal"><span class="pre">install</span></tt> suivant installera le script <tt class="docutils literal"><span class="pre">foo</span></tt> dans le répertoire racine du paquet source de <tt class="docutils literal"><span class="pre">usr/bin</span></tt> et un fichier desktop dans le répertoire <tt class="docutils literal"><span class="pre">debian</span></tt> de <tt class="docutils literal"><span class="pre">usr/share/applications</span></tt> :</p>
<div class="highlight-python"><div class="highlight"><pre>foo usr/bin
debian/bar.desktop usr/share/applications
</pre></div>
</div>
<p>Lorsqu’un paquet source produit plusieurs paquets binaires <tt class="docutils literal"><span class="pre">dh</span></tt> va installer les fichiers dans <tt class="docutils literal"><span class="pre">debian/tmp</span></tt> plutôt que directement dans <tt class="docutils literal"><span class="pre">debian/<paquet></span></tt>. Les fichiers installés dans <tt class="docutils literal"><span class="pre">debian/tmp</span></tt> peuvent alors être déplacés en paquets binaires séparés en utilisant plusieurs fichiers <tt class="docutils literal"><span class="pre">$package_name.install</span></tt>. Cela est couramment utilisé pour sortir de grandes quantités de données indépendantes de l’architecture hors de paquets dépendants de l’architecture ainsi qu’à l’intérieur de paquets <tt class="docutils literal"><span class="pre">Architecture : all</span></tt>. Dans ce cas, seul le nom des fichiers (ou des répertoires) à installer sont nécessaires, en omettant le répertoire d’installation. Par exemple, <tt class="docutils literal"><span class="pre">foo.install</span></tt> contenant uniquement des fichiers dépendants de l’architecture pourrait ressembler à :</p>
<div class="highlight-python"><div class="highlight"><pre>usr/bin/
usr/lib/foo/*.so
</pre></div>
</div>
<p>Alors que le <tt class="docutils literal"><span class="pre">foo-common.install</span></tt> contenant uniquement des fichiers indépendants de l’architecture pourrait ressembler à :</p>
<div class="highlight-python"><div class="highlight"><pre>/usr/share/doc/
/usr/share/icons/
/usr/share/foo/
/usr/share/locale/
</pre></div>
</div>
<p>Cela créera deux paquets binaires, `` foo`` et <tt class="docutils literal"><span class="pre">foo-common</span></tt>. Les deux exigeraient leur propre paragraphe dans <tt class="docutils literal"><span class="pre">debian/control</span></tt>.</p>
<p>Voir <tt class="docutils literal"><span class="pre">man</span> <span class="pre">dh_install</span></tt> et <a class="reference external" href="http://www.debian.org/doc/manuals/maint-guide/dother.en.html#install">la section du fichier install (Section 5.11)</a> du Nouveau Guide des Mainteneurs Debian pour plus de détails.</p>
</div>
<div class="section" id="the-watch-file">
<h3>2.5.2. Le fichier watch<a class="headerlink" href="#the-watch-file" title="Lien permanent vers ce titre">¶</a></h3>
<p>Le fichier <tt class="docutils literal"><span class="pre">debian/watch</span></tt> nous permet de vérifier automatiquement les nouvelles versions amont en utilisant l’outil <tt class="docutils literal"><span class="pre">uscan</span></tt> se trouvant dans le paquet <tt class="docutils literal"><span class="pre">devscripts</span></tt>. La première ligne du fichier doit être la version du format (3, au moment d’écrire ces lignes), tandis que les lignes suivantes contiennent des URL à analyser. Par exemple:</p>
<div class="highlight-python"><div class="highlight"><pre>version=3
http://ftp.gnu.org/gnu/hello/hello-(.*).tar.gz
</pre></div>
</div>
<p>L’exécution de <tt class="docutils literal"><span class="pre">uscan</span></tt> dans le répertoire racine source ira comparer le numéro de version amont dans <tt class="docutils literal"><span class="pre">debian/changelog</span></tt> avec celui de la dernière version amont disponible. Si une nouvelle version amont est trouvée, elle sera automatiquement téléchargée. Par exemple :</p>
<div class="highlight-python"><div class="highlight"><pre>$ uscan
hello: Newer version (2.7) available on remote site:
http://ftp.gnu.org/gnu/hello/hello-2.7.tar.gz
(local version is 2.6)
hello: Successfully downloaded updated package hello-2.7.tar.gz
and symlinked hello_2.7.orig.tar.gz to it
</pre></div>
</div>
<p>Si vos archives tar sont en direct sur Launchpad, le fichier <tt class="docutils literal"><span class="pre">debian/watch</span></tt> sera un peu plus compliqué (la <a class="reference external" href="https://answers.launchpad.net/launchpad/+question/21146">Question 21146</a> et le <a class="reference external" href="https://launchpad.net/bugs/231797">Bogue 231797</a> montrent de quoi il s’agit). Dans ce cas, utilisez quelque chose comme :</p>
<div class="highlight-python"><div class="highlight"><pre>version=3
https://launchpad.net/flufl.enum/+download http://launchpad.net/flufl.enum/.*/flufl.enum-(.+).tar.gz
</pre></div>
</div>
<p>Pour plus d’informations, consultez <tt class="docutils literal"><span class="pre">man</span> <span class="pre">uscan</span></tt> et la <a class="reference external" href="http://www.debian.org/doc/debian-policy/ch-source.html#s-debianwatch">section fichier watch (Section 4.11)</a> de la Charte Debian.</p>
<p>Pour une liste de paquets où les fichiers de rapport <tt class="docutils literal"><span class="pre">watch</span></tt> ne sont pas synchronisés avec l’amont, voir <a class="reference external" href="http://qa.ubuntuwire.org/uehs/no_updated.html">Etat de santé externe Ubuntu</a>.</p>
</div>
<div class="section" id="the-source-format-file">
<h3>2.5.3. Le fichier source/format<a class="headerlink" href="#the-source-format-file" title="Lien permanent vers ce titre">¶</a></h3>
<p>Ce fichier indique le format du paquet source. Il doit contenir une seule ligne indiquant le format désiré :</p>
<ul class="simple">
<li><p class="first"><tt class="docutils literal"><span class="pre">3.0</span> <span class="pre">(native)</span></tt> pour les paquets Debian natifs (pas de version amont)</p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">3.0</span> <span class="pre">(quilt)</span></tt> pour les paquets avec une archive séparée en amont</p>
</li>
<li><p class="first"><tt class="docutils literal"><span class="pre">1.0</span></tt> pour les paquets souhaitant déclarer explicitement le format par défaut</p>
</li>
</ul>
<p>Actuellement, le format de paquet source sera 1.0 par défaut si ce fichier n’existe pas. Vous pouvez rendre cela explicite dans le fichier source/format. Si vous choisissez de ne pas utiliser ce fichier pour définir le format de la source, Lintian vous avertira de ce fichier manquant. Cet avertissement est purement informatif et peut être ignoré en toute sécurité.</p>
<p>Nous vous encourageons à utiliser le nouveau format de source 3.0. Il fournit un certain nombre de nouvelles fonctionnalités :</p>
<ul class="simple">
<li><p class="first">Prise en charge de formats de compression supplémentaires : bzip2, lzma et xz</p>
</li>
<li><p class="first">Prise en charge de plusieurs archives amont</p>
</li>
<li><p class="first">Il n’est pas nécessaire de rempaqueter l’archive amont pour dépouiller le répertoire debian</p>
</li>
<li><p class="first">Les changements spécifiques à Debian ne sont plus stockés dans un seul fichier .diff.gz, mais dans plusieurs correctifs compatibles avec quilt dans <tt class="docutils literal"><span class="pre">debian/patches/</span></tt></p>
</li>
</ul>
<p><a class="reference external" href="http://wiki.debian.org/Projects/DebSrc3.0">http://wiki.debian.org/Projects/DebSrc3.0</a> résume l’information supplémentaire concernant le passage à la version 3.0 des formats de paquets source.</p>
<p>Voir <tt class="docutils literal"><span class="pre">man</span> <span class="pre">dpkg-source</span></tt> et la <a class="reference external" href="http://www.debian.org/doc/manuals/maint-guide/dother.en.html#sourcef">section source/format (Section 5.21)</a> du Nouveau Guide des Mainteneurs Debian afin d’obtenir des détails supplémentaires.</p>
</div>
</div>
<div class="section" id="additional-resources">
<h2>2.6. Ressources supplémentaires<a class="headerlink" href="#additional-resources" title="Lien permanent vers ce titre">¶</a></h2>
<p>En complément des liens vers la Charte Debian de chaque section ci-dessus, le Nouveau Guide des Mainteneurs Debian décrit plus en détail chaque fichier. Notamment, <a class="reference external" href="http://www.debian.org/doc/maint-guide/dreq.fr.html">Chapitre 4, « Fichiers nécessaires dans le répertoire debian »</a> examine en profondeur les fichiers control, changelog, copyright et rules. Le <a class="reference external" href="http://www.debian.org/doc/maint-guide/dother.fr.html">Chapitre 5, « Autres fichiers dans le répertoire debian »</a> examine les fichiers supplémentaires pouvant être utilisés.</p>
</div>
</div>
<div class="divide"></div>
</div>
<div id="sidebar" class="grid_3 omega">
<div class="container-tweet">
<h3>Table des Matières</h3>
<div class="toc">
<ul>
<li><a class="reference internal" href="#">2. Aperçu élémentaire du dossier <tt class="docutils literal"><span class="pre">debian/</span></tt></a><ul>
<li><a class="reference internal" href="#the-changelog">2.1. Le changelog</a></li>
<li><a class="reference internal" href="#the-control-file">2.2. Le fichier de contrôle.</a></li>
<li><a class="reference internal" href="#the-copyright-file">2.3. Le fichier de copyright</a></li>
<li><a class="reference internal" href="#the-rules-file">2.4. Le fichier des règles</a></li>
<li><a class="reference internal" href="#additional-files">2.5. Les fichiers additionnels</a><ul>
<li><a class="reference internal" href="#the-install-file">2.5.1. Le fichier d’installation</a></li>
<li><a class="reference internal" href="#the-watch-file">2.5.2. Le fichier watch</a></li>
<li><a class="reference internal" href="#the-source-format-file">2.5.3. Le fichier source/format</a></li>
</ul>
</li>
<li><a class="reference internal" href="#additional-resources">2.6. Ressources supplémentaires</a></li>
</ul>
</li>
</ul>
</div>
<div class="browse-guide">
<h3>Browse The Guide:</h3>
<ul>
<li class="prev">
<a href="communication.html"
title="Sujet précédent: 1. Communication dans Ubuntu développement">Go Previous</a>
</li>
<li class="center">
<a title="Back to Index" href="index.html">Index Guide</a>
</li>
<li class="next">
<a href="auto-pkg-test.html"
title="Sujet suivant: 3. autopkgtest : tests automatiques pour les paquets">Go Next</a>
</li>
</ul>
<span>Cette page:</span> <a href="./_sources/debian-dir-overview.txt"
rel="nofollow">Montrer la source</a>
</div>
</div>
<div id="back_top"><a href="#top">Back to Top</a></div>
</div>
<!--</section>-->
</div>
</div>
<div class="shadow"></div>
<footer>
<div>
Version: 0.3.5.
<a href="https://bugs.launchpad.net/ubuntu-packaging-guide">Report bugs</a> or
<a href="https://code.launchpad.net/~ubuntu-packaging-guide-team/ubuntu-packaging-guide/trunk">grab the source code</a> from Launchpad.
Créé avec <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
<br />
© Copyright 2010-2014 , Ubuntu Developers, Creative Commons Attribution-ShareAlike 3.0.
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
<img alt="Creative Commons License" style="border-width:0"
src="./_static/images/cc-by-sa.png" /></a>
<br />
<a href="http://people.ubuntu.com/~mitya57/ubuntu-packaging-guide-readme.html#translating">Help translate</a> or
<a href="./_static/translators.html">view the list of translators</a>.
</div>
</footer>
</body>
</html>
|