Modifications entre les versions 26 et 27
Version 26 à la date du 2008-11-14 11:04:39
Taille: 5984
Éditeur: ThomasNoël
Commentaire: aptitude search
Version 27 à la date du 2008-11-14 12:03:34
Taille: 2729
Éditeur: ThomasNoël
Commentaire: remise en forme, plz review
Texte supprimé. Texte ajouté.
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:
== 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ôt. Pour cela, ajouter dans le `sources.list` le dépôt AUF concernant votre distribution :
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 11: Ligne 9:
# à ajouter dans /etc/apt/sources.list (ou créer un /etc/apt/sources.list.d/auf)
# remplacer "distribution" par etch, lenny, hardy, intrepid, ... selon votre système.
deb http://apt.auf.org/ distribution-debian-ou-ubuntu auf
# remplacer <distribution> par etch, lenny, hardy, intrepid, ... selon votre système.
deb http://apt.auf.org/ <distribution> auf
Ligne 22: Ligne 19:
'''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. ''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 24: Ligne 21:
== Configuration des sources de paquets (sources.list) == = Sources disponibles =
Ligne 26: Ligne 23:
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
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
Ligne 31: Ligne 30:
  . Une fois la source installée, vous pouvez en lister le contenu avec `$ aptitude search '~Oauf'`
Ligne 32: Ligne 32:
Exemples de sources à ajouter :
 {{{
# Paquets AUF pour Ubuntu Hardy
# A utiliser sur tout poste client AUF
# Voir le contenu : aptitude search '~Oauf'
deb http://apt.auf.org/ hardy auf
 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.
Ligne 39: Ligne 39:
# Paquets en cours de tests (validation) pour Ubuntu Hardy
# A utiliser quand vous désirez/devez participer à un test d'un
# futur paquet AUF...
# Voir le contenu : aptitude search '~Oauf-test'
# deb http://apt.auf.org/ hardy-test auf
 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`.
Ligne 45: Ligne 46:
# Paquets en cours d'expérimentation pour Ubuntu Hardy
# Attention : forte potentialité de crash ;)
# Voir le contenu : aptitude search '~Oauf-experimental'
# deb http://apt.auf.org/ hardy-experimental auf
}}}
Ligne 51: Ligne 47:
Après un `aptitude update`, vous pouvez installer les nouveaux paquets. = Pour ajouter vos paquets dans le dépôt =
Ligne 53: Ligne 49:
= 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".
[DEFAULT]
hash = md5
allow_unsigned_uploads = 1
run_dinstall = 0
scp_compress = 1
default_host_main = section-a-preciser
fqdn = apt.auf
method = ftp
login = anonymous

# paquets pour "hardy-tests auf"
[test]
incoming = test/hardy

# paquets pour "hardy-experimental auf"
[experimental]
incoming = experimental/hardy
}}}

Pour envoyer un paquet il suffit de faire :
 {{{
$ dput 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). Si la version expérimentale fonctionne, envoyez dans `test` et demandez à des collègues de tester. Une fois que tout est ok, il sera ajouté (manuellement) dans le dépôt officiel "auf".

= Pour les curieux : 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

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

= Il reste à faire =

 * regarder le [[http://packages.debian.org/etch-backports/reprepro|backport de reprepro]] et notamment son "processincoming"
 * mettre tout le code sur git.auf.org

= 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 :
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.

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