+ <sect1 id="bpp-origtargz">
+ <heading>Les meilleures pratiques pour les fichiers <file>orig.tar.gz</file></heading>
+ <p>
+Il existe deux types d'archives tar (« tarball ») source
+d'origine : les sources vierges et les sources amont réempaquetées.
+ </p>
+ <sect2 id="pristine source">
+ <heading>Sources vierges</heading>
+ <p>
+La caractéristique définissant une archive source vierge est que le
+fichier .orig.tar.gz est identique octet-pour-octet à l'archive tar
+officielle distribuée par l'auteur amont.
+<footnote>
+Nous ne pouvons pas empêcher les auteurs amont de changer l'archive tar
+qu'ils distribuent sans également incrémenter le numéro de version, il
+ne peut donc pas y avoir de garantie qu'une archive vierge est identique
+à ce que l'auteur amont distribue <em>actuellement</em> à tout moment.
+La seule chose à laquelle on peut s'attendre est que c'est identique à
+quelque chose que l'amont <em>a</em> un jour distribué.
+
+Si une différence se produit plus tard (par exemple, si l'amont remarque
+qu'il n'a pas utilisé la compression maximale pour sa distribution
+d'origine et qu'il la recompresse), c'est vraiment trop dommage.
+Comme il n'y a pas de bonne façon d'envoyer un nouveau .orig.tar.gz
+pour la même version, il n'y a même pas de raison de traiter cette
+situation comme un bogue.
+</footnote>
+Cela rend possible d'utiliser des vérifications de somme pour vérifier
+facilement que tous les changements entre la version Debian et celle de
+l'amont sont contenus dans le fichier diff Debian. Également, si le source
+amont est énorme, les auteurs amont et d'autres qui ont déjà l'archive
+tar amont peuvent économiser du temps de téléchargement s'ils veulent
+inspecter votre empaquetage en détail.
+ </p>
+ <p>
+Il n'y a pas de règles universellement acceptées suivies par les auteurs
+amont concernant la structure des répertoires dans leur archive tar, mais
+<prgn>dpkg-source</prgn> est cependant capable de traiter la plupart des
+archives tar comme source vierge. Sa stratégie est équivalente à la
+suivante :
+ </p>
+ <p>
+ <enumlist>
+ <item>
+Il décompacte l'archive tar dans un répertoire temporaire vide par
+
+<example>
+zcat path/to/<nom-du-paquet>_<version-amont>.orig.tar.gz | tar xf -
+</example>
+ </item>
+ <item>
+Si, après cela, le répertoire temporaire ne contient qu'un
+répertoire et pas d'autres fichiers, <prgn>dpkg-source</prgn> renomme ce
+répertoire en
+<tt><packagename>-<version-amont>(.orig)</tt>. Le nom du
+répertoire de premier niveau dans l'archive tar n'a pas d'importance et
+est oublié.
+ </item>
+ <item>
+Sinon, l'archive tar a du être empaqueté sans répertoire de premier
+niveau commun (honte à l'auteur amont !). Dans ce cas,
+<prgn>dpkg-source</prgn> renomme le répertoire temporaire
+<em>lui-même</em> en
+<tt><packagename>-<version-amont>(.orig)</tt>.
+ </item>
+ </enumlist>
+ </p>
+ </sect2>
+ <sect2 id="repackaged origtargz">
+ <heading>Réempaquetage des sources amonts</heading>
+ <p>
+Vous <strong>devriez</strong> envoyer des paquets sources avec une
+archive tar vierge si possible, mais il peut y avoir diverses raisons
+pour lesquelles cela n'est pas possible. C'est le cas si l'amont ne
+distribue pas le source comme un tar gzipé du tout ou si l'archive tar
+amont contient du matériel non libre au sens des DFSG que vous devez
+supprimer avant l'envoi.
+ </p>
+ <p>
+Dans tous ces cas, le développeur doit construire un fichier
+.orig.tar.gz convenable lui-même. Nous nous référérons à une telle
+archive tar comme un « source amont réempaqueté ». Notez qu'un
+« source amont réempaqueté » est différent d'un paquet natif
+Debian. Un source réempaqueté est toujours fourni avec des changements
+spécifiques Debian dans un fichier <tt>.diff.gz</tt> séparé et il a
+toujours un numéro de version composé de <tt><source-amont></tt>
+et de <tt><debian-revision></tt>.
+ </p>
+Il peut y avoir des cas où il est désirable de réempaqueter le source
+même si l'amont distribue un fichier <tt>.tar.gz</tt> qui pourrait en
+principe être utilisé dans sa forme vierge. Le plus évident est si des
+économies d'espaces <em>significatives</em> peuvent être réalisées en
+recompressant l'archive tar ou en supprimant des parties
+fondamentalement inutiles de l'archive source. Agissez à votre guise à
+cet endroit, mais soyez prêt à défendre votre décision si vous
+réempaquetez un source qui aurait pu être vierge.
+ </p>
+ <p>
+Un .orig.tar.gz réempaqueté :
+ </p>
+ <p>
+ <enumlist>
+ <item>
+<p>
+<strong>doit</strong> contenir des informations détaillées sur la façon
+dont a été obtenu le source réempaqueté et comment cela peut être
+reproduit dans le fichier <file>README.Debian-source</file> ou un
+fichier similaire. Ce fichier devrait être dans la partie
+<file>diff.gz</file> du paquet source Debian, habituellement dans le
+répertoire <file>debian</file>, <em>pas</em> dans le
+<file>orig.tar.gz</file> réempaqueté. C'est également une bonne idée de
+fournir une cible <tt>get-orig-source</tt> dans votre fichier
+<file>debian/rules</file> qui répète le processus, comme décrit dans la
+Charte, <url id="&url-debian-policy;ch-source.html#s-debianrules"
+name="debian/rules, le principal script de construction">.
+</p>
+ </item>
+ <item>
+<strong>ne devrait pas</strong> contenir de fichiers qui ne viennent pas de
+l'auteur amont ou dont vous avez changé le contenu.
+<footnote>
+Comme exception spéciale, si l'omission d'un fichier non libre
+entraînerait l'échec de la compilation du source sans assistance du diff
+Debian, il peut être approprié au lieu de cela d'éditer les fichiers, en
+omettant seulement les parties non libres de ceux-ci et/ou d'expliquer
+la situation dans un fichier README.Debian-source <!-- ou nommé de -->
+<!-- manière similaire --> à la racine de l'arborescence du source. Mais
+dans ce cas, veuillez également demander instamment à l'auteur amont de
+faciliter la séparation des composants non libres du reste du source.
+</footnote>
+ </item>
+ <item>
+<p>
+<strong>devrait</strong>, sauf cas impossible pour des raisons légales,
+préserver l'infrastructure de construction entière et de portabilité
+fournie par l'auteur amont. Par exemple, ce n'est pas une raison
+suffisante pour omettre un fichier qui n'est utilisé que pour la
+construction sur MS-DOS. De manière similaire, un Makefile fourni par
+l'amont ne devrait pas être réécrit en exécutant un script configure.
+</p>
+<p>
+(<em>Explication :</em> il est courant que les utilisateurs Debian qui
+ont besoin de reconstruire un logiciel pour des plates-formes non-Debian
+récupèrent le source d'un miroir Debian plutôt que de chercher à
+localiser un point de distribution amont).
+</p> </item>
+ <item>
+<strong>devrait</strong> utiliser
+<tt><nom-du-paquet>-<version-amont>.orig</tt> comme nom du
+répertoire de premier niveau dans son archive tar. Cela rend
+possible la distinction entre des archives tar vierges d'archives
+réempaquetées.
+ </item>
+ <item>
+<strong>devrait</strong> être gzipé avec une compression maximale.
+ </item>
+ </enumlist>
+ </p>
+ <p>
+La façon canonique de réaliser les deux derniers points est de laisser
+<tt>dpkg-source -b</tt> construire l'archive tar réempaquetée à partir
+du répertoire décompacté.
+ </p>
+ </sect2>
+ <sect2 id="changed-binfiles">
+ <heading>Changer des fichiers binaires dans le <tt>diff.gz</tt></heading>
+ <p>
+Il est parfois nécessaire de changer des fichiers binaires
+contenus dans l'archive tar d'origine ou d'ajouter des fichiers binaires
+qui ne sont pas dans celle-ci. Si cela est fait en copiant simplement les
+fichiers dans l'arborescence de l'archive debianisée,
+<prgn>dpkg-source</prgn> ne pourra pas gérer cela. D'un autre côté,
+selon les règles détaillées ci-dessus, vous ne pouvez pas inclure un tel
+fichier binaire modifié dans un fichier <file>orig.tar.gz</file>
+réempaqueté. Au lieu de cela, incluez le fichier dans le répertoire
+<file>debian</file> dans un format <prgn>uuencode</prgn> (ou semblable)
+<footnote>
+Le fichier devrait avoir un nom qui indique clairement quel fichier
+binaire il encode. Habituellement, un postfixe indiquant le codage
+devrait être ajouté au nom du fichier d'origine.
+</footnote>.
+Le fichier sera ensuite décodé et copié à son emplacement pendant
+l'étape de construction. Le changement sera donc visible assez facilement.
+</p>
+<p>
+Certains paquets utilisent <prgn>dbs</prgn> pour gérer les correctifs à
+leur source amont et créent toujours un nouveau fichier
+<tt>orig.tar.gz</tt> contenant le vrai <tt>orig.tar.gz</tt> dans son
+répertoire de premier niveau. Cela est discutable concernant la
+préférence pour un source vierge. D'un autre côté, il est facile de
+modifier ou d'ajouter des fichiers binaires dans ce cas : placez
+les simplement dans le fichier <tt>orig.tar.gz</tt> nouvellement créé à
+côté du vrai et copiez les au bon endroit pendant l'étape de
+construction.
+ </p>
+ </sect2>
+ </sect1>
+
+