Outils pour utilisateurs

Outils du site


doc:dak:dak

Ceci est une ancienne révision du document !


Debian Archive Kit

Quelques notes sur mon exploration de dak.

Des anomalies à corriger.

Mon installation

Ressources

Les sources

Le vrai

Contributeurs

Contributeurs relevés dans le code source de dak:

  1. Christian Reis (journal des modifications de melanie).
  2. Otavio Salvador (journal des modifications du paquet dak 1.0-5, a suggéré de n'utiliser que la « white list »).
  3. Martin Michlmayr tbm@cyrius.com (journal des modifications de melanie)

Expérimentateurs

Ceux qui ont déjà essayé / réussi une installation de dak :

Ou qui projettent d'y passer :

  • Alioth (Mark Howard) mais cela semble essoufflé.

Autres docs

Des idées

Méthode

Voir aussi Brian May.

Nouveau paquet

  • Selon Brian May, on utilise lisa pour accepter à la main un paquet dans queue/new ou queue/byhand : aller dans le répertoire correspondant et

lisa *.changes

  • kelly installe un paquet qui a déjà été accepté.

Usages marginaux

  • alyson initialise certaines tables de la base de données (selon –help).
  • amber pour les avertissements de sécurité.
  • andrea pour les différences entre stable et unstable.
  • ashley crée un fichier .katie.
  • catherine transforme les vieilles archives en pool (réservoir).
  • emilie synchronise les signatures avec la base LDAP de Debian
  • halle supprime les .changes obsolètes de proposed-updates.
  • jeri vérifie les dépendances pour proposed-updates.
  • julia sychronise la base postgresql avec le /etc/passwd du système.
  • rene recherche les paquets obsolètes ou en double.
  • rosamund recherche les utilisateurs sans paquets.
  • rose crée les répertoires selon katie.conf.
  • rhona fait le ménage des vieux paquets.
  • shania nettoie incoming (ou autre).
  • uma nouvel utilisateur « à la main ».

Maintenance

  • madison donne de l'information sur les paquets.
  • melanie (ajoute (?) ou) supprime des paquets.
  • heidi modifie le contenu d'une suite.
  • jenna prépare les fichiers nécessaires pour apt-ftparchive.
  • jennifer fait passer le paquet dans new (ou dans l'archive ?).
  • lauren rejette « à la main » le .change.
  • ziyi produit les fichiers Release.

Bilans, audit, statistiques, etc.

  • charisma fabrique l'index des mainteneurs de paquets.
  • helena fait le bilan des paquets dans un répertoire (typiquement new et byhand).
  • saffron affiche des stats pour arch-space, pkg-nums, daily-install.
  • tea vérifie archive et base de données pour md5sums, files et dsc-syntax, missing-overrides, source-in-one-dir, timestamps, tar-gz-in-dsc, validate-indices, files-not-symlinks et validate-builddeps.

Gestion des surclassements

C'est comme cela que je traduis pour l'instant les overrides.

  • C'est le boulot de natalie (général) et de alicia (finement, détails).
  • denise sort les tables de surclassements en fichiers texte.

Le chemin d'un paquet

Comme je le comprends pour l'instant, après lecture de : http://kmuto.jp/open.cgi?dak&l=en et http://ukai.org/wiliki/wiliki.cgi?Debian:dak&l=en.

  • Le paquet est d'abord déposé (avec son .changes) dans un ftp public incoming.
    • Chez moi : /home/ftp/incoming/ pour vsftpd.
  • Il est ensuite transféré de ce répertoire vers /opt/dak/queue/unchecked par debianqueued0.9.
    • Chez moi : encore à faire.
  • Une fois dans unchecked il est automatiquement traité par jennifer qui l'envoie soit directement dans unstable (déjà présent) soit dans /opt/dak/queue/new.
  • Selon le modèle de message jennifer.new de jennifer, il faut aussi mettre à jour (parfois au moins) les surclassements.

Traduction

Il y a plusieurs choses à traduire pour adapter dak à d'autres langues et / ou d'autres configurations.

Modèles

Les courriels types sont dans le répertoire /opt/dak/katie/templates du paquet installé (répertoire dak-1.0/templates du paquet source) qui est géré par le paramètre

Dir
{
  Templates "/opt/dak/katie/templates/";
};

J'ajoute un spécificité si le ficher contient des termes spécifiques à Debian.

  • alicia.bug-close spécificité (ftpmaster)
  • amber.advisory spécificité (Debian et DSA cités plusieurs fois). Sert aux avis de sécurité.
  • jennifer.accepted
  • jennifer.announce
  • jennifer.bug-close
  • jennifer.bug-experimental-fixed
  • jennifer.bug-nmu-fixed
  • jennifer.override-disparity
  • katie.rejected
  • kelly.installed
  • kelly.unaccept
  • lauren.stable-rejected
  • lisa.bxa_notification spécificité (Ben Collins, Debian…)
  • lisa.prod
  • melanie.bug-close
  • README
  • uma.added spécificité (Ganneff)

Modifications à apporter

  1. Faire passer ces fichiers en UTF-8 (fr_FR.UTF-8) avec les champs :
    • Content-Type: text/plain; charset=utf-8
    • Content-Transfer-Encoding: 8bit
    • Mime-Version: 1.0 (faut-il aussi ce champ-là?)
    • Content-Disposition: inline (faut-il aussi ce champ-là?)
  2. Rendre non-spécifique à Debian (www.debian.org ou ftpmaster dans le corps des messages par exemple).
  3. Faut-il ajouter de nouvelles substitutions ?

Liste des substitutions existantes

__ADMIN_ADDRESS__
__ADVISORY__
__ADVISORY_TEXT__
__ALICIA_ADDRESS__
__ANNOUNCE_LIST_ADDRESS__
__ARCHITECTURE__
__BCC__
__BINARY_DESCRIPTIONS__
__BUG_NUMBER__
__BUG_SERVER__
__CC__
__CHANGES_FILENAME__
__CONTROL_MESSAGE__
__DATE__
__DISTRO__
__FILE_CONTENTS__
__FROM_ADDRESS__
__HOSTNAME__
__KATIE_ADDRESS__
__KEYID__
__MAINTAINER__
__MAINTAINER_ADDRESS__
__MAINTAINER_FROM__
__MAINTAINER_TO__
__MANUAL_REJECT_MESSAGE__
__MELANIE_ADDRESS__
__MORE_INFO_URL__
__NEW_MAINTAINER__
__PACKAGE__
__PRIMARY_KEY__
__PRIMARY_MIRROR__
__PROD_MESSAGE__
__REJECTOR_ADDRESS__
__REJECT_MESSAGE__
__SHORT_SUMMARY__
__SOURCE__
__STABLE_REJECTOR__
__STABLE_WARNING__
__SUITE__
__SUITE_LIST__
__SUMMARY__
__UID__
__VERSION__
__WHOAMI__

La fonction qui fait ces substitutions est TemplateSubst dans utils.py. Le résultat d'un grep * TemplateSubst est :

alicia:            mail_message = utils.TemplateSubst(
amber:    adv = utils.TemplateSubst(Subst, Cnf["Dir::Templates"]+"/amber.advisory");
jennifer:        new_ack_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.new");
katie.py:                   mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.bug-experimental-fixed");
katie.py:                           mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.bug-close");
katie.py:                mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.bug-nmu-fixed");
katie.py:                mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.announce");
katie.py:            mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.accepted");
katie.py:        mail_message = utils.TemplateSubst(Subst,self.Cnf["Dir::Templates"]+"/jennifer.override-disparity");
katie.py:            reject_mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/katie.rejected");
katie.py:            reject_mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/katie.rejected");
kelly:    reject_mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/kelly.unaccept");
kelly:        mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/kelly.installed");
lauren:    reject_mail_message = utils.TemplateSubst(Katie.Subst,Cnf["Dir::Templates"]+"/lauren.stable-rejected");
lisa:    bxa_mail = utils.TemplateSubst(Katie.Subst,Cnf["Dir::Templates"]+"/lisa.bxa_notification");
lisa:    prod_mail_message = utils.TemplateSubst(
melanie:            mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/melanie.bug-close");
uma:              new_add_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/uma.added");
utils.py:def TemplateSubst(map, filename):

Le cas d'uma

Il y a aussi la chaîne (ensuite chiffrée) au coeur d'uma qui est spécifique à Ganneff (à traiter en même temps que le modèle uma.added).

    message= """

Additionally there is now an account on dak.ganneff.de created for you. You can login with ssh and
play with the tools that constitute the archive software, like madison for example. Note that this
service is provided for you to learn to work with the archive system tools, so please don't try to
kill it with some stupid script kiddie action.

""";
    message+= "\nYour password for the login %s is: %s\n" % (login, passwd);

Spécificités de mes traductions

Spécificités de vocabulaire. Divergences par rapport aux traductions standard :

  • # : n
  • archive : dépôt
  • bug : anomalie
  • ftpmaster : administrateur
  • override : surclassement
doc/dak/dak.1125502998.txt.gz · Dernière modification: 2005/08/31 17:58 (modification externe)