From: Charles Plessy Date: Sun, 7 Oct 2012 12:15:04 +0000 (+0900) Subject: Umegaya (brouillon). X-Git-Url: https://source.charles.plessy.org/?a=commitdiff_plain;h=7325ae27146d9287d680facc2270295fa5e263aa;p=source%2F.git Umegaya (brouillon). --- diff --git "a/Debian/debi\303\242neries/umegaya.mdwn" "b/Debian/debi\303\242neries/umegaya.mdwn" new file mode 100644 index 00000000..eb9f38e5 --- /dev/null +++ "b/Debian/debi\303\242neries/umegaya.mdwn" @@ -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_ (debian/control) et propagée par le +_ficher de contrôle source Debian_ (.dsc). 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="debian/upstream"]. 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 debian/upstream. 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 2000, 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 debian/upstream 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é debian/upstream +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 +debian/upstream, debian/control et +debian/copyright des paquets envoyés dans l'archive (depuis +quelques mois). On y voir par exemple que parmi les 3 646 fichiers +copyright, 1 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