This file is indexed.

/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/ &mdash; 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  &raquo;</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&#8217;empaquetage des paquets Ubuntu, contenus dans le répertoire <tt class="docutils literal"><span class="pre">debian/</span></tt>. Les plus importants d&#8217;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&#8217;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&#8217;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&nbsp;: <a class="reference internal" href="getting-set-up.html"><em>Obtenir configuration</em></a>), assurez-vous d&#8217;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>&nbsp;:</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 &lt;email address&gt;[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  &#8220;-&#8221;, tandis que les points majeurs utilisent un astérisque &#8220;*&#8221;.</p>
<p>Si vous êtes parti de zéro pour l&#8217;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 &lt;packager@example.com&gt;  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&#8217;est la révision de la distribution, utilisée de telle sorte que l&#8217;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&#8217;incrémentation de version de paquets pour éviter que des paquets issus d&#8217;une source de même version entrent en conflit. Lorsqu&#8217;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&#8217;application n&#8217;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&#8217;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&nbsp;:</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">&lt;ubuntu-devel-discuss@lists.ubuntu.com&gt;</span>
<span class="k">XSBC-Original-Maintainer</span><span class="w">: </span><span class="s">Jane Doe &lt;packager@example.com&gt;</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">&gt;=</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&#39;s `hello world&#39; 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&#8217;emplacement du dépôt du contrôle de version de l&#8217;empaquetage et la page d&#8217;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&#8217;importe qui peut changer n&#8217;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">&lt;ubuntu-devel-discuss&#64;lists.ubuntu.com&gt;</span></tt>. Si ce champ Maintainer est modifié, l&#8217;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&#8217;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&#8217;Ubuntu.</p>
<p>Chaque paragraphe supplémentaire décrit un paquet binaire à compiler.</p>
<p>Pour plus d&#8217;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&#8217;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&#8217;empaqueteur, l&#8217;URL de provenance de la source, une ligne Copyright indiquant l&#8217;année et le titulaire du copyright, et le texte du copyright lui-même. Un exemple pouvant servir de modèle serait&nbsp;:</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 &lt;jdoe@example.com&gt;
License: GPL-2+

Files: debian/*
Copyright: Copyright 1998 Jane Doe &lt;packager@example.com&gt;
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&#39;.
</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&#8217;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&#8217;agit d&#8217;un Makefile ayant pour objectifs de compiler et d&#8217;installer l&#8217;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&#8217;il fait est de passer chaque cible construite qu&#8217;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 «&nbsp;debian/rules&nbsp;»&nbsp;: «&nbsp;build&nbsp;», «&nbsp;clean&nbsp;», «&nbsp;install&nbsp;», «&nbsp;binary-arch&nbsp;», «&nbsp;binary-indep&nbsp;» et «&nbsp;binary&nbsp;». Afin de voir quelles commandes sont lancées dans chaque cible, exécutez&nbsp;:</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&#8217;option «&nbsp;-i&nbsp;» pour s&#8217;assurer qu&#8217;elles ne fonctionnent que sur des paquets binaires indépendants, et les commandes de la séquence binary-arch sont passées avec l&#8217;option «&nbsp;-a&nbsp;» pour s&#8217;assurer qu&#8217;elles ne fonctionnent que sur les paquets dépendants de l&#8217;architecture.</p>
<p>Chaque commande debhelper s&#8217;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&#8217;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&#8217;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&#8217;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&#8217;utilise classiquement dans deux cas&nbsp;:</p>
<ul class="simple">
<li><p class="first">Pour installer des fichiers dans votre paquet lorsqu&#8217;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&#8217;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>&nbsp;:</p>
<div class="highlight-python"><div class="highlight"><pre>foo usr/bin
debian/bar.desktop usr/share/applications
</pre></div>
</div>
<p>Lorsqu&#8217;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/&lt;paquet&gt;</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&#8217;architecture hors de paquets dépendants de l&#8217;architecture ainsi qu&#8217;à l&#8217;intérieur de paquets <tt class="docutils literal"><span class="pre">Architecture&nbsp;:&nbsp;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&#8217;installation. Par exemple, <tt class="docutils literal"><span class="pre">foo.install</span></tt> contenant uniquement des fichiers dépendants de l&#8217;architecture pourrait ressembler à&nbsp;:</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&#8217;architecture pourrait ressembler à&nbsp;:</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&#8217;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&#8217;é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&#8217;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&nbsp;:</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&#8217;agit). Dans ce cas, utilisez quelque chose comme&nbsp;:</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&#8217;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&#8217;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é&nbsp;:</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&#8217;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&nbsp;:</p>
<ul class="simple">
<li><p class="first">Prise en charge de formats de compression supplémentaires&nbsp;: 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&#8217;est pas nécessaire de rempaqueter l&#8217;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&#8217;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&#8217;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, «&nbsp;Fichiers nécessaires dans le répertoire debian&nbsp;»</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, «&nbsp;Autres fichiers dans le répertoire debian&nbsp;»</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&#8217;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&nbsp;: 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 />
        &copy; 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>