Taille: 7043
Commentaire:
|
Taille: 2729
Commentaire: remise en forme, plz review
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
Cette page présente le dépôt de paquets Debian/Ubuntu spécifiques à l'AUF. | Cette page présente le dépôt de paquets pour Debian et Ubuntu spécifiques à l'AUF. |
Ligne 3: | Ligne 3: |
||<#ffaa00> Il s'agit d'un système en cours de mise en place, ne pas utiliser pour l'instant merci !|| | /* Bientôt ici du blabla pour dire à quoi ça sert, qui peut s'en servir, etc... */ |
Ligne 5: | Ligne 5: |
= Accès aux paquets disponibles = | = Préliminaire : ajout de la clé utilisée pour signer le dépôt = |
Ligne 7: | Ligne 7: |
D'abord installer la clé publique GPG qui signe certains fichiers du dépôt : | Vous devez 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 : |
Ligne 9: | Ligne 9: |
$ wget -qO - http://apt.auf.org/B7520EF5BF4CCF4D.asc | sudo apt-key add - | # remplacer <distribution> par etch, lenny, hardy, intrepid, ... selon votre système. deb http://apt.auf.org/ <distribution> auf |
Ligne 12: | Ligne 13: |
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 : | Puis installer le paquet `auf-keyring` : |
Ligne 14: | Ligne 15: |
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 |
# aptitude update # aptitude install auf-keyring |
Ligne 24: | Ligne 19: |
= Pour ajouter ses petits paquets = | ''Note'' : lors de la première installation de `auf-keyring` ''aptitude'' va vous demander de confirmer l'installation car il ne juge pas encore la source "sûre". Confirmez l'installation, la clé sera ajoutée : ''aptitude'' fera désormais confiance au dépôt AUF. |
Ligne 26: | Ligne 21: |
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.org` (demander à Moussa) * avoir un répertoire (''incoming'' ou tout autre nom poétique) configuré pour recevoir les paquets (fichiers changes, deb, dsc et sources) |
= Sources disponibles = |
Ligne 33: | Ligne 23: |
Pour envoyer un paquet, on utilise '''dput''' (`aptitude install dput`) que l'on configure ainsi dans son ~/.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 = voip fqdn = apt.auf.org |
Trois types de sources sont disponibles pour une version de Debian ou Ubuntu donnée. |
Ligne 46: | Ligne 25: |
# par défaut on envoie ici : [voip] incoming = ~/incoming/voip |
Sources «officielles», paquets stables de l'AUF:: . Il s'agit de paquets à utiliser sur toute machine de l'AUF (Debian pour les serveurs, Ubuntu pour les postes clients). Ci-dessous la source pour une machine en Ubuntu Hardy, pour un autre type de machine il suffit de remplacer `hardy` par le nom de la version (`intrepid`, `jaunty` pour Ubuntu, `etch`, `lenny` pour Debian) : {{{ deb http://apt.auf.org/ hardy auf }}} . Une fois la source installée, vous pouvez en lister le contenu avec `$ aptitude search '~Oauf'` |
Ligne 50: | Ligne 32: |
# mais on peut aussi envoyer ici (en ajoutant voip-test après dput) : [voip-test] incoming = ~/incoming/voip-test |
Sources de paquets à tester, pour validation:: . Les paquets proposés ici en cours de tests. On les utilise en général pour valider un futur paquet stable. Comme pour la source stable, il faut remplacer `hardy` par le nom de la version utilisée. Une fois la source installée, le contenu est visible avec `$ aptitude search '~Oauf-test'` {{{ deb http://apt.auf.org/ hardy-test auf |
Ligne 54: | Ligne 37: |
. Note : pour utiliser ces paquets, il faut préciser la distribution à `aptitude` lors de l'installation. Par exemple : `$ aptitude -t hardy-test install psi`. Sinon, la version stable sera toujours prioritaire, même si c'est une version plus ancienne. | |
Ligne 55: | Ligne 39: |
Pour envoyer un paquet il suffit de faire : {{{$ dput nom-du-paquet.changes |
Sources de paquets expérimentaux:: . Il s'agit de paquets en cours d'expérimentation... à n'utiliser que si vous savez ce que vous faites ! Le contenu est visible avec `$ aptitude search '~Oauf-experimental'` {{{ deb http://apt.auf.org/ hardy-experimental auf |
Ligne 58: | Ligne 44: |
. Pour l'installation, même remarque qu'avec les paquets de test. Il faut préciser `-t experimental`. | |
Ligne 59: | Ligne 46: |
Si tout va bien le paquet sera ajouté dans le dépôt 5 minutes plus tard. Sinon un courriel sera envoyé à qui de droit, qui vous informera de la fin de votre contrat à l'AUF. | |
Ligne 61: | Ligne 47: |
= Comment ça marche à l'intérieur = | = Pour ajouter vos paquets dans le dépôt = |
Ligne 63: | Ligne 49: |
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, un serveur ''apache2'' le propose en HTTP. Notez que la version etch de reprepro ne gère pas la notion de répertoires "incoming", j'ai donc écrit cette partie. Une version plus récente semble savoir le faire, je l'étudierais plus tard. 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, régulièrement (via cron). * `/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 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 triplets est dans `~reprepro/incomings` : {{{ # (... extrait de ~reprepro/incomings ...) # voip : la config AUF d'asterisk 1.2 pour etch etch voip /home/thomas/voip # voip-test : backport de asterisk 1.4 en cours etch voip-test /home/thomas/voip-test }}} Le script (version du 15 janvier 22h TU) : {{{$ cat ~reprepro/reprepro-incoming #!/bin/bash # reprepro-incoming <dist> <component> [<repertoire>] # - se place dans le repertoire indiqué, y regarde les fichiers .changes # - pour chaque fichier .change, analyse si les fichiers correspondants sont présents # (pour le cas d'un upload en cours) # - si oui, envoie les paquets dans le dépot, sur la distrib et selon le composant indiqué # La configuration est dans /etc/reprepro/options et /etc/reprepro/distributions (cf man reprepro) # Exemple : # $ reprepro-incoming etch voip /home/thomas/voip/ # Note : reprepro-incoming est destiné à tourner en cron, il ne dit rien s'il # n'a rien à faire. Exemple de configuration en cron : # */5 * * * * reprepro cd /home/reprepro && ./reprepro-incoming # Attention, reprepro ne gère sans doute pas les accès concurrents à un même dépôt ! # Note : si on lance "reprepro-incoming" sans argument, il va lire le fichier ~/incomings # qui contient un triplet "<dist> <component> [<repertoire>]" par ligne. r-i se lance # alors autant de fois que de ligne, avec ces arguments à chaque fois... Ces lancements # séquentiels évitent d'avoir à ce soucier des accès concurrents... if [ $# -eq 0 -a -r ~/incomings ]; then sed '/^\s*#/d;/^\s*$/d' ~/incomings | while read ARGS; do ~/reprepro-incoming $ARGS # le script s'appelle lui-même ici if [ $? -ne 0 ]; then echo " ^^ erreur lors de $0 $ARGS ^^ " echo "" fi done exit 0 fi if [ $# -lt 2 ]; then echo "syntaxe: $0 distribution component [repertoire]" >&2 exit 1 fi DISTRIB=${1} COMPONENT=${2} # s'il existe un 3ème argument c'est un repertoire, on va dedans if [ -n "${3}" ]; then cd "${3}" || exit 2 fi # pas de fichier .changes : on s'arrete ici (silencieusement car ça peut être normal) ls *.changes > /dev/null 2>&1 || exit 0 export REPREPRO_CONFIG_DIR=${REPREPRO_CONFIG_DIR:-~/conf} # on analyse chaque fichier changes for fc in *.changes; do # les md5sum sont-ils ok ? sed '0,/^Files:\s*$/d' ${fc} | while read MD5 SIZE SECT PRIO FILE; do echo $MD5" "$FILE done | md5sum --check --status > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "warn: fichier ${fc}, echec de la verification des sommes md5" sed '0,/^Files:\s*$/d' ${fc} | while read MD5 SIZE SECT PRIO FILE; do echo $MD5" "$FILE done | md5sum --check # md5 pas bon : on passe au .change suivant continue fi echo "traitement de ${fc} :" echo "$ reprepro --component $COMPONENT include $DISTRIB $fc" # on envoie dans le dépôt (et si ça passe pas, on va pas plus loin !) reprepro -V --component $COMPONENT include $DISTRIB $fc || exit 3 # et on efface les fichiers, ils sont dans le pool maintenant sed '0,/^Files:\s*$/d' ${fc} | while read MD5 SIZE SECT PRIO FILE; do rm -f $FILE done rm -f ${fc} echo "" done }}} |
Voir la sous-page /EnvoyerSesPaquets. |
Cette page présente le dépôt de paquets pour Debian et Ubuntu spécifiques à l'AUF.
Préliminaire : ajout de la clé utilisée pour signer le dépôt
Vous devez 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 :
# remplacer <distribution> par etch, lenny, hardy, intrepid, ... selon votre système. deb http://apt.auf.org/ <distribution> 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 encore la source "sûre". Confirmez l'installation, la clé sera ajoutée : aptitude fera désormais confiance au dépôt AUF.
Sources disponibles
Trois types de sources sont disponibles pour une version de Debian ou Ubuntu donnée.
- Sources «officielles», paquets stables de l'AUF
Il s'agit de paquets à utiliser sur toute machine de l'AUF (Debian pour les serveurs, Ubuntu pour les postes clients). Ci-dessous la source pour une machine en Ubuntu Hardy, pour un autre type de machine il suffit de remplacer hardy par le nom de la version (intrepid, jaunty pour Ubuntu, etch, lenny pour Debian) :
deb http://apt.auf.org/ hardy auf
Une fois la source installée, vous pouvez en lister le contenu avec $ aptitude search '~Oauf'
- Sources de paquets à tester, pour validation
Les paquets proposés ici en cours de tests. On les utilise en général pour valider un futur paquet stable. Comme pour la source stable, il faut remplacer hardy par le nom de la version utilisée. Une fois la source installée, le contenu est visible avec $ aptitude search '~Oauf-test'
deb http://apt.auf.org/ hardy-test auf
Note : pour utiliser ces paquets, il faut préciser la distribution à aptitude lors de l'installation. Par exemple : $ aptitude -t hardy-test install psi. Sinon, la version stable sera toujours prioritaire, même si c'est une version plus ancienne.
- Sources de paquets expérimentaux
Il s'agit de paquets en cours d'expérimentation... à n'utiliser que si vous savez ce que vous faites ! Le contenu est visible avec $ aptitude search '~Oauf-experimental'
deb http://apt.auf.org/ hardy-experimental auf
Pour l'installation, même remarque qu'avec les paquets de test. Il faut préciser -t experimental.
Pour ajouter vos paquets dans le dépôt
Voir la sous-page /EnvoyerSesPaquets.