]> source.charles.plessy.org Git - source/.git/commitdiff
Umegaya (brouillon).
authorCharles Plessy <https://launchpad.net/~plessy>
Sun, 7 Oct 2012 12:15:04 +0000 (21:15 +0900)
committerCharles Plessy <https://launchpad.net/~plessy>
Sun, 7 Oct 2012 12:15:04 +0000 (21:15 +0900)
Debian/debiâneries/umegaya.mdwn [new file with mode: 0644]

diff --git a/Debian/debiâneries/umegaya.mdwn b/Debian/debiâneries/umegaya.mdwn
new file mode 100644 (file)
index 0000000..eb9f38e
--- /dev/null
@@ -0,0 +1,69 @@
+[[!meta date="Sat, 06 Oct 2012 21:49:11 +0900"]]
+[[!meta updated="Sat, 06 Oct 2012 21:49:11 +0900"]]
+[[!tag Debian]]
+
+[[!meta title="Rassembler des méta-données avec Umegaya."]]
+
+Un paquet Debian contient quelques méta-informations sur le programme emballé.
+Par exemple, [l'adresse de sa page d'accueil][] est enregistrée dans le_ficher
+de contrôle du paquet source_ (<code>debian/control</code>) et propagée par le
+_ficher de contrôle source Debian_ (<code>.dsc</code>).  Le problème avec cette
+approche, c'est qu'il faut mettre à jour le paquet source pour mettre à jour
+les méta-données.
+
+À ce jour, plusieurs milliers de paquets source Debian sont développés dans un
+système de gestion de version, [le plus souvent Subversion ou Git][].
+[L'adresse du dépôt]: est aussi propagée via les fichiers de contrôle montrés
+plus haut.  Il est donc possible de surveiller la branche principale pour
+détecter et propager des mises à jour sans qu'il ne soit nécessaire d'envoyer
+un nouveau paquet dans l'archive Debian.
+
+En 2009, j'ai proposé de centraliser les méta données concernant le projet amont
+dans un fichier au format [YAML][], [!debwiki UpstreamMetadata
+desc="<code>debian/upstream</code>"].  Nous l'utilisons maintenant dans le
+projet [Debian Med][] pour véhiculer la référence bibliographique des articles
+scientifiques décrivant le fonctionnement des programmes empaquetés.  On peut
+les voir sur les [sentinelles][] correspondant à nos méta-paquets.  Les données
+transitent via la _base de données Ultime de Debian_ [UDD][].
+
+Imaginons que le concept s'étende et que des milliers de paquets fournissent un
+fichier <code>debian/upstream</code>.  Comment faire pour maintenir la base de
+données à jour sans générer des milliers de requêtes quotidiennes sur notre forge
+[Alioth][], dans laquelle des milliers de paquets source
+sont développés ?
+
+Je développe un système, que j'ai appelé Umegaya, pour _Upstream MEtadata
+GAthering with YAML_.  Umegaya fournit une interface
+web avec une structure simple, que l'on peut utiliser pour consulter des
+données.  Par exemple, http://upstream-metadata.debian.net/emboss/reference-year
+renvoie <code>2000</code>, l'année où le premier article sur EMBOSS a été publié.
+Si au moment de la consultation, la dernière mise à jour date d'il y a moins d'une
+heure le système va relire le fichier <code>debian/upstream</code> du paquet.
+C'est donc en consultant les données que l'on les met à jour.  Réciproquement,
+il suffit de consulter les données après avoir changé <code>debian/upstream</code>
+pour synchroniser la base.
+
+Umegaya est encore une ébauche, et beaucoup de choses pourraient changer.  Mais
+le service tourne depuis plus d'un an à l'adresse
+[upstream-metadata.debian.net].  Il sert entre autres à remplir le dépôt
+Subversion appelé [packages-metadata], rassemblant les fichiers
+<code>debian/upstream</code>, <code>debian/control</code> et
+<code>debian/copyright</code> des paquets envoyés dans l'archive (depuis
+quelques mois).  On y voir par exemple que parmi les 3&nbsp;646 fichiers
+copyright, 1&nbsp;218 déclarent se conformer au [format 1.0].
+
+Comme j'aime beaucoup le principe _emballe ce que tu utilise, utilise ce que tu
+emballes_, [!debpkg umegaya] est entré dans l'archive Debian il y a quelques
+jours.
+
+[l'adresse de sa page d'accueil]:      http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Homepage
+[le plus souvent Subversion ou Git]:   http://upsilon.cc/~zack/stuff/vcs-usage/
+[L'adresse du dépôt]:        http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-VCS-fields
+[YAML]:        http://www.yaml.org/
+[Debian Med]:  http://www.debian.org/devel/debian-med
+[sentinelles]: http://debian-med.alioth.debian.org/tasks/bio
+[UDD]: http://udd.debian.org/
+[Alioth]:      http://alioth.debian.org
+[upstream-metadata.debian.net]:        http://upstream-metadata.debian.net
+[packages-metadata]:   http://anonscm.debian.org/viewvc/collab-qa/packages-metadata/
+[format 1.0]:  http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#fields