Modifications entre les versions 16 et 17
Version 16 à la date du 2008-02-12 09:42:23
Taille: 5511
Éditeur: ThomasNoël
Commentaire: mail envoyé. dessin mis à jour
Version 17 à la date du 2008-02-12 09:46:32
Taille: 5521
Éditeur: ThomasNoël
Commentaire: encore des précisions mineures
Texte supprimé. Texte ajouté.
Ligne 34: Ligne 34:
deb http://apt.auf.org/ feisty sn # deb http://apt.auf.org/ feisty sn
Ligne 44: Ligne 44:
 * avoir un répertoire (''incoming'' ou tout autre nom poétique) configuré pour recevoir les paquets (fichiers changes, deb, dsc et sources)  * avoir un répertoire (''incoming'' ou tout autre nom poétique) configuré pour recevoir les paquets (le groupe `reprepro` doit y avoir les droits dcriture)
Ligne 56: Ligne 56:
default_host_main = voip-test default_host_main = test
Ligne 60: Ligne 60:
[voip-test]
incoming = ~/incoming/voip-test
[test]
incoming = ~/incoming/test
Ligne 95: Ligne 95:
etch voip /home/thomas/incoming/voip thomas.noel@auf.org etch voip   /home/thomas/incoming/voip thomas.noel@auf.org
Ligne 97: Ligne 97:
etch voip-test /home/thomas/incoming/voip-test thomas.noel@auf.org etch test-thomas /home/thomas/incoming/test      thomas.noel@auf.org

Cette page présente le dépôt de paquets Debian/Ubuntu spécifiques à l'AUF.

  • Il s'agit d'un système en cours de mise en place, ne pas utiliser pour l'instant merci !

Accès aux paquets disponibles

Ajout de la clé GPG utilisée pour signer le dépôt

Il faut d'abord installer la clé publique GPG qui signe ce dépôtFootNote(et ça ajoute aussi la clé de celui de Dakar, en cadeau).

  • Ajouter dans le sources.list le dépôt AUF concernant votre distribution : {{{# à ajouter dans /etc/apt/sources.list (ou créer un /etc/apt/sources.list.d/auf)

# remplacer distrib par etch, lenny, feisty, gutsy, hardy, ... selon votre système. deb http://apt.auf.org/ distrib 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 :

  • deb http://apt.auf.org/ distribution composant

Exemples (non fonctionnels à l'heure de la rédaction) :

  • # paquets pour la mise en place d'un serveur VoIP Asterisk AUF :
    deb http://apt.auf.org/ etch voip
    # paquets spécifiques à Dakar pour les postes clients Ubuntu Feisty :
    # deb http://apt.auf.org/ feisty sn

Pour ajouter ses petits paquets dans le dépôt

Il faut :

  • savoir faire des beaux paquets Debian : dpkg-buildpackage, dh-make, retroportages, ...

  • savoir à quelle distribution sont destinés les paquets : etch, lenny, feisty, gutsy, hardy, ...
  • trouver un nom pour le composant : voip, rpv2, auf-desktop, votre-iso-pays, votre-nom, ...
  • avoir un compte ssh sur la machine apt.auf (accès à apt.auf.org via le RPV, demander à Moussa)

  • avoir un répertoire (incoming ou tout autre nom poétique) configuré pour recevoir les paquets (le groupe reprepro doit y avoir les droits d'écriture)

Pour envoyer un paquet, on utilise dput (aptitude install dput) que l'on configure ainsi (dans ~/.dput.cf) :

  • # extrait de ~/.dput.cf (inspiré de /etc/dput.cf) :
    [DEFAULT]
    method                  = rsync
    hash                    = md5
    allow_unsigned_uploads  = 0
    run_lintian             = 0
    run_dinstall            = 0
    check_version           = 0
    default_host_main       = test
    fqdn                    = apt.auf
    
    # par défaut on envoie ici :
    [test]
    incoming                = ~/incoming/test
    
    # mais on peut aussi envoyer ici en précisant "voip" comme paramètre [section] lors de l'appel à dput :
    [voip]
    incoming                = ~/incoming/voip

Pour envoyer un paquet il suffit de faire :

  • $ dput [section] nom-du-paquet.changes

Si tout va bien le paquet sera ajouté dans le dépôt 5 minutes plus tard (par cron) et un rapport vous sera envoyé par courriel.

Comment ça marche à l'intérieur

attachment:reprepro-apt-auf-org.png

Le système est basé sur [http://mirrorer.alioth.debian.org/ reprepro] ([http://packages.debian.org/etch/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
    #
    # 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

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 : attachment:reprepro-incoming

Il reste à faire


Notes de bas de page :

DépôtAPT (dernière édition le 2013-12-05 20:21:24 par JeanChristopheAndré)