5918
Commentaire: depots tests et experiences (et qlq maj)
|
4735
maj
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
Cette page présente le dépôt de paquets pour Debian et Ubuntu spécifiques à l'AUF. | = Que peut-on proposer ? Qui peut ? = |
Ligne 3: | Ligne 3: |
/* Bientôt ici du blabla pour dire à quoi ça sert, qui peut s'en servir, etc... */ | Si vous savez fabriquer des paquets Debian ou Ubuntu, vous pouvez les mettre à disposition sur le dépôt AUF. Pour cela, il faut : * savoir faire des paquets Debian corrects : `dh-make`, `debuild`, retro-portages, ... * savoir à quelle distribution sont destinés les paquets : * Debian etch ou lenny * Ubuntu hardy, intrepid, jaunty, etc * avoir un accès au réseau privé de l'AUF (aucun autre accès spécifique n'est nécessaire, ni mot de passe, ni clé ssh, rien). |
Ligne 5: | Ligne 10: |
= Accès aux paquets disponibles = | Tout le monde peut envoyer des paquets selon deux niveaux : * '''niveau experimental''' : paquets destinés à expérimenter de nouvelles idées, de nouvelles façons de faire * '''niveau test''' : paquets qui demandent à être testés et qui sont des candidats pour devenir des paquets «officiels» de l'AUF. |
Ligne 7: | Ligne 14: |
== Ajout de la clé GPG utilisée pour signer le dépôt == | Une fois qu'un paquet est correctement testé, il est validé : il faut alors demander son inclusion dans le '''niveau stable'''. Il suffit d'envoyer votre demande sur la liste de discussion technique de l'AUF, un des «ftp-masters» se fera un plaisir d'y répondre. |
Ligne 9: | Ligne 16: |
Il faut d'abord installer la clé publique GPG qui signe ce dépôt. Pour cela, ajouter dans le `sources.list` le dépôt AUF concernant votre distribution : | = Concrétement = Pour envoyer un paquet, on utilise '''dput''' : `aptitude install dput`. Voici une configuration typique, à placer dans `$HOME/.dput.cf` : |
Ligne 11: | Ligne 22: |
# à ajouter dans /etc/apt/sources.list (ou créer un /etc/apt/sources.list.d/auf) # remplacer distrib par etch, lenny, hardy, intrepid, ... selon votre système. deb http://apt.auf.org/ distrib auf }}} Puis installer le paquet `auf-keyring` : {{{ # aptitude update # aptitude install auf-keyring }}} '''Note''' : lors de la première installation de `auf-keyring` ''aptitude'' va vous demander de confirmer l'installation car il ne juge pas la source "sûre". Confirmez l'installation, la clé sera ajoutée, ''aptitude'' fera désormais confiance au dépôt AUF. == Configuration des sources de paquets (sources.list) == Ensuite ajouter les sources qui vous conviennent en fonction de ce que vous avez à mettre en place. Les lignes à ajouter dans le `sources.list` sont de la forme : {{{ # format d'une source Debian : deb http://apt.auf.org/ distribution composant }}} Exemples de sources à ajouter : {{{ # Paquets AUF pour Ubuntu Hardy # A utiliser sur tout poste client AUF (mais ne contient rien à ce # jour -- 7 nov 2008) deb http://apt.auf.org/ hardy tests # Paquets en cours de tests (validation) pour Ubuntu Hardy # A utiliser quand vous désirez/devez participer à un test d'un # futur paquet AUF... deb http://apt.auf.org/ hardy tests # Paquets en cours d'expérimentation pour Ubuntu Hardy # Attention : forte potentialité de crash ;) deb http://apt.auf.org/ hardy experiences # Paquets pour la mise en place d'un serveur VoIP Asterisk AUF : deb http://apt.auf.org/ etch voip # Paquets de tests (Ndimby, à Dakar) pour les postes clients Ubuntu Hardy : deb http://apt.auf.org/ hardy ndimby }}} Après un `aptitude update`, vous pouvez installer les nouveaux paquets. = Pour ajouter ses petits paquets dans le dépôt = Si vous savez fabriquer des paquets Debian ou Ubuntu, vous pouvez les mettre à disposition de vos collègue sur ce dépôt. Pour cela, il faut : * savoir faire des beaux paquets Debian : `dpkg-buildpackage`, `dh-make`, retroportages, ... * savoir à quelle distribution sont destinés les paquets : etch, lenny, hardy, intrepid, ... Pour envoyer un paquet, on utilise '''dput''' (`aptitude install dput`) que l'on configure ainsi (dans `~/.dput.cf`) : {{{ # Exemple de configuration de dput. Ce dput est prévu pour envoyer des paquets # pour Ubuntu "Hardy" (8.04) dans les sections "experiences" et "tests". |
# Exemple de configuration de "dput" pour envoyer des paquets # pour Ubuntu "Hardy" (8.04) dans les sections "test" et "experimental". |
Ligne 73: | Ligne 29: |
default_host_main = section-a-preciser | default_host_main = precisez-la-section |
Ligne 78: | Ligne 34: |
# paquets hardy tests [tests] incoming = tests/hardy |
# paquets pour "hardy-tests auf" [hardy-test] incoming = test/hardy |
Ligne 82: | Ligne 38: |
# paquets hardy experiences [experiences] incoming = experiences/hardy |
# paquets pour "hardy-experimental auf" [hardy-experimental] incoming = experimental/hardy |
Ligne 87: | Ligne 43: |
Pour envoyer un paquet il suffit de faire : | Pour envoyer un paquet en mode experimental il suffit alors de faire : |
Ligne 89: | Ligne 45: |
$ dput section nom-du-paquet.changes | $ dput hardy-experimental le-nom-du-paquet.changes |
Ligne 92: | Ligne 48: |
Si tout va bien le paquet sera ajouté dans le dépôt 5 minutes plus tard (par cron). | Si tout va bien le paquet sera ajouté dans le dépôt 5 minutes plus tard (par cron). Vous pourrez voir le résultat de votre demande en suivant [[http://apt.auf.org/rss.xml|le flux RSS de apt.auf.org]]. Si la version expérimentale fonctionne chez vous, envoyez dans `hardy-test` et demandez à des collègues de tester. == Annexe : proposer un paquet binaire pour plusieurs architecture (i386 et amd64) == Pour proposer un paquet binaires dans plusieurs architectures (typiquement i386 et amd64) : * il faut compiler d'abord une architecture classiquement et inclure les sources dans l'upload (donc `dpkg-buildpackage` avec l'option `-sa`) * envoyer par `dput` le `...changes` * puis compiler la ou les autres architectures avec l'option `-b` qui ne construit ''que'' le paquet binaire... * envoyer par `dput` le ou les `...changes` obtenus |
Ligne 109: | Ligne 74: |
# | |
Ligne 112: | Ligne 77: |
# # voip : la config AUF d'asterisk 1.2 pour etch etch voip /home/thomas/incoming/voip thomas.noel@auf.org # voip-test : backport de asterisk 1.4 en cours etch test-thomas /home/thomas/incoming/test thomas.noel@auf.org |
etch-test auf /home/ftp/test/etch root@auf.org etch-experimental auf /home/ftp/experimental/etch thomas.noel@auf.org |
Ligne 127: | Ligne 90: |
= Multi-architecture = Pour proposer un paquet binaires dans plusieurs architectures (typiquement i386 et amd64) : * il faut compiler d'abord une architecture classiquement et inclure les sources dans l'upload (donc `dpkg-buildpackage` avec l'option `-sa`) * envoyer par `dput` le `...changes` * puis compiler la ou les autres architectures avec l'option `-b` qui ne construit ''que'' le paquet binaire... * envoyer par `dput` le ou les `...changes` obtenus ------ Notes de bas de page : |
Que peut-on proposer ? Qui peut ?
Si vous savez fabriquer des paquets Debian ou Ubuntu, vous pouvez les mettre à disposition sur le dépôt AUF. Pour cela, il faut :
savoir faire des paquets Debian corrects : dh-make, debuild, retro-portages, ...
- savoir à quelle distribution sont destinés les paquets :
- Debian etch ou lenny
- Ubuntu hardy, intrepid, jaunty, etc
- avoir un accès au réseau privé de l'AUF (aucun autre accès spécifique n'est nécessaire, ni mot de passe, ni clé ssh, rien).
Tout le monde peut envoyer des paquets selon deux niveaux :
niveau experimental : paquets destinés à expérimenter de nouvelles idées, de nouvelles façons de faire
niveau test : paquets qui demandent à être testés et qui sont des candidats pour devenir des paquets «officiels» de l'AUF.
Une fois qu'un paquet est correctement testé, il est validé : il faut alors demander son inclusion dans le niveau stable. Il suffit d'envoyer votre demande sur la liste de discussion technique de l'AUF, un des «ftp-masters» se fera un plaisir d'y répondre.
Concrétement
Pour envoyer un paquet, on utilise dput : aptitude install dput.
Voici une configuration typique, à placer dans $HOME/.dput.cf :
# Exemple de configuration de "dput" pour envoyer des paquets # pour Ubuntu "Hardy" (8.04) dans les sections "test" et "experimental". [DEFAULT] hash = md5 allow_unsigned_uploads = 1 run_dinstall = 0 scp_compress = 1 default_host_main = precisez-la-section fqdn = apt.auf method = ftp login = anonymous # paquets pour "hardy-tests auf" [hardy-test] incoming = test/hardy # paquets pour "hardy-experimental auf" [hardy-experimental] incoming = experimental/hardy
Pour envoyer un paquet en mode experimental il suffit alors de faire :
$ dput hardy-experimental le-nom-du-paquet.changes
Si tout va bien le paquet sera ajouté dans le dépôt 5 minutes plus tard (par cron). Vous pourrez voir le résultat de votre demande en suivant le flux RSS de apt.auf.org. Si la version expérimentale fonctionne chez vous, envoyez dans hardy-test et demandez à des collègues de tester.
Annexe : proposer un paquet binaire pour plusieurs architecture (i386 et amd64)
Pour proposer un paquet binaires dans plusieurs architectures (typiquement i386 et amd64) :
il faut compiler d'abord une architecture classiquement et inclure les sources dans l'upload (donc dpkg-buildpackage avec l'option -sa)
envoyer par dput le ...changes
puis compiler la ou les autres architectures avec l'option -b qui ne construit que le paquet binaire...
envoyer par dput le ou les ...changes obtenus
Pour les curieux : comment ça marche à l'intérieur
Le système est basé sur reprepro (version etch). C'est ce logiciel qui gère le dépot : on lui dit quel paquet ajouter à quel composant de quelle distribution, et il gère le pool, les fichiers Release, Packages, Sources, etc. A côté, un serveur apache2 propose le dépôt en HTTP.
Le principe : il y a un utilisateur virtuel "reprepro" sur le système, qui gère le dépôts. C'est cet utilisateur qui va lancer le logiciel "reprepro" avec les bons arguments. Il est le seul à avoir accès en écriture sur le dépôt.
/srv/www/apt.auf.org/pool et .../dists : le dépôt lui-même
~reprepro/conf/ : configuration de reprepro, voir man reprepro pour explication :
~reprepro/db/ : contient les bases de données internes de reprepro
Un script shell appelé reprepro-incoming lance le logiciel reprepro en lui disant d'aller chercher les paquets de tel composant pour telle distribution dans tel répertoire. La liste de ces paramètres est dans ~reprepro/incomings :
# Fichier ~reprepro/incomings # Format d'une ligne : # distrib composant repertoire email-pour-rapport etch-test auf /home/ftp/test/etch root@auf.org etch-experimental auf /home/ftp/experimental/etch thomas.noel@auf.org
Le script reprepro-incoming gère l'envoie de rapport par mail (dernier paramètre de chaque ligne d'appel). Il est lancé par cron toutes les 5 minutes.
Pour info, le script dans sa version du 11 février 15h TU : reprepro-incoming
Il reste à faire
regarder le backport de reprepro et notamment son "processincoming"
- mettre tout le code sur git.auf.org