logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:mentors:environnement-de-construction-de-paquets [28/02/2014 23:43]
captnfab [Upload des paquets]
doc:mentors:environnement-de-construction-de-paquets [18/09/2015 18:16] (Version actuelle)
milou [Mise en place d'un environnement de développement de paquets Debian]
Ligne 2: Ligne 2:
  
   * Objet : Mise en place d'un environnement de développement de paquets Debian   * Objet : Mise en place d'un environnement de développement de paquets Debian
-  * Niveau requis : {{tag>​avisé}} 
   * Commentaires : //Vous voulez construire / créer / reprendre / aider à maintenir un paquet Debian.//   * Commentaires : //Vous voulez construire / créer / reprendre / aider à maintenir un paquet Debian.//
-  * Suivi {{tag>​en-chantier ​à-tester}} +  * À savoir : [[:doc:mentors:​mentors|Contribuer ​à Debian]] :-
-    * Création par **captnfab** 28/02/2014 +  * Suivi :  
-    * Testé par <...> le <...> FIXME+    * Création par [[user>captnfab]] 28/02/2014
   * Commentaires sur le forum : [[https://​debian-facile.org/​topic-8543-wiki-chantier-env-et-chaine-de-construction-de-paquets-debian-page-1.html|ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))   * Commentaires sur le forum : [[https://​debian-facile.org/​topic-8543-wiki-chantier-env-et-chaine-de-construction-de-paquets-debian-page-1.html|ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-**Nota :** 
  
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! 
  
 ===== Introduction ===== ===== Introduction =====
Ligne 24: Ligne 21:
  
 La solution que je préconise est donc la création d'un conteneur dédié, que l'on rangera par exemple dans ''/​srv/​devdeb''​. Pour ce faire, voyez les tutos  La solution que je préconise est donc la création d'un conteneur dédié, que l'on rangera par exemple dans ''/​srv/​devdeb''​. Pour ce faire, voyez les tutos 
-  * [[:atelier:chantier:​lxc-conteneur | lxc]] si vous préférez créer un conteneur plutôt qu'un simple chroot.+  * [[:doc:autres:vm:​lxc-conteneur | lxc]] si vous préférez créer un conteneur plutôt qu'un simple chroot.
  
 Une solution plus basique est de créer un chroot de développement : Une solution plus basique est de créer un chroot de développement :
Ligne 34: Ligne 31:
 Les outils de construction des paquets auront besoin de télécharger les mêmes paquets à plusieurs reprises. Aussi, pour accélérer le processus et gagner de la bande passante je vous conseille de mettre en place un serveur proxy dédié aux paquets Debian. Notez que ce serveur proxy peut être utile à tout votre parc informatique… Les outils de construction des paquets auront besoin de télécharger les mêmes paquets à plusieurs reprises. Aussi, pour accélérer le processus et gagner de la bande passante je vous conseille de mettre en place un serveur proxy dédié aux paquets Debian. Notez que ce serveur proxy peut être utile à tout votre parc informatique…
  
-Comme le serveur doit être lancé à chaque fois, il vaut mieux l'​installer dans le conteneur ou, dans le cas d'un chroot, directement sur le système hôte. Ou encore, sur une machine dédiée de votre réseau…+  * Voir [[:​doc:​reseau:​apt-cacher-ng]]
  
-<code root>​apt-get install apt-cacher-ng</​code>​ 
  
-Le proxy écoutera par défaut sur le port 3142 de la machine.+===== Outil de construction des paquets : cowbuilder =====
  
-Pour l'​utiliser,​ il suffit ​de rajouter dans chaque installation (chroot / conteneur compris) le fichier suivant dans le répertoire ''/​etc/​apt/​apt.conf.d/00proxy''. +Un paquet doit être constructible sans problème depuis un environnement frais. cowbuilder se charge ​de générer un environnement frais et d'y compiler le paquet.
-<file apt_preferences /​etc/​apt/​apt.conf.d/​00proxy>​Acquire::​http::​Proxy "​http://​127.0.0.1:​3142";</​file>​ +
-En remplaçant 127.0.0.1 par l'​adresse idoine.+
  
-===== Préparation du matériel cryptographique =====+  * Voir: [[:​doc:​mentors:​cowbuilder|Installation et configuration de cowbuilder]]
  
-Pour la soumission de vos paquets, il sera nécessaire que vous authentifiez vos paquets en les signant au moyen d'une clé GPG. Si vous décidez d'​héberger un dépôt pour le suivi de version de votre paquet sur les serveurs Debian, il vous faudra également une clé ssh.+===== Signature des paquets ​: gnupg et debsign =====
  
-<note warning>​Ces opérations sont à effectuer ​dans le chroot ou dans le conteneur.</​note>​+Avant d'​uploader un paquet ​dans les archives Debian, il est nécessaire de le signer avec sa clé GPG.
  
-==== Clés ssh ==== +  * Voir [[:​doc:​mentors:​signer-un-paquet|Signer ses paquets ​Debian]]
-À indiquer par exemple dans votre compte Alioth pour vous connecter aux serveurs ​Debian.+
  
-=== Installation === 
-<code root>​apt-get install openssh-client</​code>​ 
  
-=== Préparation ​==+===== Upload des paquets ​dput =====
-Génération de la paire de clés ssh : +
-<code user>​ssh-keygen -f ~/​.ssh/​debian_rsa</​code>​+
  
-=== En savoir plus === +Pour qu'un paquet Debian se retrouve dans les archives officielles,​ ou sur le site des mentors, il faut que quelqu'​un l'​upload sur les serveurs Debian. ​
-  * [[:​doc:​reseau:​ssh|ssh]] +
-  * [[:​doc:​reseau:​ssh:​client#​par-cles-asymetriques|Authentification ssh par clés asymétriques]]+
  
-==== Clés GPG ==== +  * Voir [[:​doc:​mentors:​dput|Installation ​et configuration de dput]]
-Utilisés pour signer (ou chiffrer) les courriels ​et les paquets Debian.+
  
-=== Installation === 
-<code root>​apt-get install gnupg </​code>​ 
- 
-=== Génération === 
-Génération de la clé privée GPG : 
-<code user>gpg --gen-key</​code>​ 
- 
-Génération du certificat de révocation (remplacer XXXXXXXX par l'ID de votre clé) : 
-<code user>gpg --output revoke.asc --gen-revoke XXXXXXXX</​code>​ 
- 
-Génération de la clé publique : 
-<code user>gpg --output ~/​votre-login.gpg --export votre@adresse-email.org</​code>​ 
- 
-Génération de la clé publique version ASCII : 
-<code user>gpg --armor --export votre@adresse-email.org</​code>​ 
- 
-=== GPG Agent === 
- 
-Pour ne pas avoir à retaper la passphrase à chaque signature, on peut utiliser ''​gpg-agent'',​ qui fonctionne de la même manière que ''​ssh-agent''​. 
-Pour ce faire, il faut rajouter au fichier ''​~/​.gnupg/​gpg.conf''​ le code suivant: 
-<code text ~/​.gnupg/​gpg.conf>​use-agent</​code>​ 
- 
-=== En savoir plus === 
-  * [[:​doc:​systeme:​gnupg|GnuPG]] 
- 
- 
-===== Outil de construction des paquets : cowbuilder ===== 
- 
-Un paquet doit être constructible sans problème depuis un environnement frais. cowbuilder se charge de générer un environnement frais et d'y compiler le paquet. 
- 
-  * Voir: [[:​atelier:​chantier:​mentors-cowbuilder|Installation et configuration de cowbuilder]] 
- 
-===== Upload des paquets ===== 
- 
-Pour qu'un paquet Debian se retrouve dans les archives officielles,​ ou sur le site des mentors, il faut que quelqu'​un l'​upload sur les serveurs Debian. ​ 
- 
-  * Voir [[:​atelier:​chantier:​mentors-dput|Installation et configuration de dput]] 
 ===== Gestion d'un paquet avec git et git-buildpbckage===== ===== Gestion d'un paquet avec git et git-buildpbckage=====
  
 Le suivi d'un paquet Debian est une tâche qui peut être facilitée par l'​utilisation d'un logiciel de suivi de version (VCS) tel que Git. Des outils dédiés à Git((Existent aussi pour les autres Vcs bien connus, comme mercurial ou subversion)). Le suivi d'un paquet Debian est une tâche qui peut être facilitée par l'​utilisation d'un logiciel de suivi de version (VCS) tel que Git. Des outils dédiés à Git((Existent aussi pour les autres Vcs bien connus, comme mercurial ou subversion)).
  
-==== Installation ====+  * Voir [[:​doc:​mentors:​git-buildpackage|Maintenir un paquet avec git-buildpackage]]
  
-<code root>​apt-get install git-buildpackage pristine-tar git gitk</​code>​ 
  
-==== Configuration ==== 
- 
-Pensez à indiquer vos coordonnées à Git, elles seront utilisées automatiquement lors des commits. 
-<code user>git config --global user.name "Votre Nom" 
-git config --global user.email votre@adresse-email.org</​code>​ 
- 
-===== Récupérer les sources d'un paquet Debian ===== 
- 
-===== Compiler un paquet source Debian ===== 
- 
-===== Créer un paquet source Debian minimal ===== 
- 
-==== Installation des outils de développement ==== 
- 
-<code root>​apt-get install autotools-dev automake autoconf dh-autoreconf devscripts dh-make</​code>​ 
- 
-===== Empaqueter un logiciel en utilisant Git ===== 
  
 ===== Références ===== ===== Références =====
  
   * [[http://​documentation.thebigrede.net/​maintainers/​index.html|How to build Debian packages correctly]]   * [[http://​documentation.thebigrede.net/​maintainers/​index.html|How to build Debian packages correctly]]
-  * [[https://​honk.sigxcpu.org/​piki/​development/​debian_packages_in_git/​|Debian packages in git]] 
-  * [[http://​honk.sigxcpu.org/​projects/​git-buildpackage/​manual-html/​gbp.html|Building Debian Packages with git-buildpackage]] 
   * [[https://​wiki.debian.org/​Alioth/​Git#​Using_personal_Git_repositories|Utiliser Git sur Alioth]]   * [[https://​wiki.debian.org/​Alioth/​Git#​Using_personal_Git_repositories|Utiliser Git sur Alioth]]
 +
doc/mentors/environnement-de-construction-de-paquets.1393627414.txt.gz · Dernière modification: 28/02/2014 23:43 par captnfab

Pied de page des forums

Propulsé par FluxBB