Chapitre 9. Envoi de paquet

Table des matières

9.1. Envoi vers l'archive Debian
9.2. Inclusion de orig.tar.gz pour l'envoi
9.3. Versions non envoyées

La réécriture de ce tutoriel avec des contenus à jour et des exemples pratiques supplémentaires est disponible sur Guide du responsable Debian. Veuillez utiliser ce nouveau tutoriel comme document principal.

Debian now requires source-only uploads for normal upload. So this page is outdated.

Maintenant que votre nouveau paquet a été testé en détail, vous voulez le publier sur une archive publique afin de le partager.

Une fois devenu un développeur Debian officiel, [82] vous pouvez envoyer le paquet sur les archives Debian. [83] Vous pouvez le faire vous-même, mais il est plus facile d'utiliser les outils automatiques existants, comme dupload(1) ou dput(1). Nous décrirons la façon de faire avec dupload. [84]

D'abord vous devez écrire le fichier de configuration de dupload. Vous pouvez soit éditer le fichier global /etc/dupload.conf, soit avoir votre propre fichier ~/.dupload pour remplacer les quelques détails que vous voulez changer.

Vous pouvez lire la page de manuel dupload.conf(5) pour comprendre ce que chacune de ces options signifie.

L'option $default_host détermine la file de téléchargement qui sera utilisée par défaut. anonymous-ftp-master est la principale, mais il est possible que vous souhaitiez en utiliser une autre. [85]

Une fois connecté à Internet, vous pouvez envoyer le paquet :

$ dupload gentoo_0.9.12-1_i386.changes

dupload vérifie que les sommes SHA1 et SHA256 des fichiers correspondent à celles du fichier .changes. Dans le cas contraire, un avertissement proposera de le reconstruire comme décrit en Section 6.1, « Reconstruction complète » pour pouvoir téléverser le fichier correctement.

Si vous rencontrez un problème d'envoi à ftp://ftp.upload.debian.org/pub/UploadQueue/, vous pouvez le résoudre manuellement en envoyant un fichier *.commands signé avec GPG à ftp://ftp.upload.debian.org/pub/UploadQueue/ avec ftp. [86] Par exemple en utilisant hello.commands :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Uploader: Machin Bidule <Machin.Bidule@example.org>
Commands: 
 rm hello_1.0-1_i386.deb
 mv hello_1.0-1.dsx hello_1.0-1.dsc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

[...]
-----END PGP SIGNATURE-----

Lors du premier envoi d'un paquet vers l'archive, il faut aussi inclure les sources orig.tar.gz d'origine. Si le numéro de révision Debian de ce paquet n'est ni 1 ni 0, vous devez passer l'option -sa à la commande dpkg-buildpackage.

Pour la commande dpkg-buildpackage :

$ dpkg-buildpackage -sa

Pour la commande debuild :

$ debuild -sa

Pour la commande pdebuild :

$ pdebuild --debbuildopts -sa

D'un autre côté, l'option -sd forcera l'exclusion des sources orig.tar.gz originales.

Si vous créez plusieurs enregistrements dans debian/changelog en omettant des téléversements, vous devez créer un fichier *_.changes approprié incluant toutes les modifications depuis le dernier envoi. Cela peut être fait avec l'option -v de dpkg-buildpackage suivie de la version, par exemple 1.2.

Pour la commande dpkg-buildpackage :

$ dpkg-buildpackage -v1.2

Pour la commande debuild :

$ debuild -v1.2

Pour la commande pdebuild :

$ pdebuild --debbuildopts "-v1.2"


[83] Des archives publiquement accessibles comme http://mentors.debian.net/ qui fonctionnent à peu près de la même façon que l'archive Debian fournissent un espace d'envoi accessible publiquement aux non-DD (développeurs Debian). Vous pouvez configurer vous-même une archive équivalente en utilisant les outils de http://wiki.debian.org/HowToSetupADebianRepository. Cette section est donc utile aussi aux non-DD.

[84] Le paquet dput semble fournir plus de fonctionnalités, et devient plus populaire que le paquet dupload. Il utilise le fichier /etc/dput pour la configuration globale et le fichier ~/.dput.cf pour la configuration par utilisateur. Il gère aussi d’origine les services relatifs à Ubuntu.

[86] Consultez ftp://ftp.upload.debian.org/pub/UploadQueue/README. Vous pouvez aussi utiliser la commande dcut du paquet dput.