Mes activités libres en août 2014

Voici le récapitulatif mensuel de toutes mes activités gravitant autour du logiciel libre. Si vous faites partie des personnes ayant fait un don pour soutenir mon travail (65,55 €, merci à tous !), c’est l’occasion de constater ce que je fais de votre argent. Sinon, c’est toujours quelques nouvelles intéressantes sur l’avancement de mes différents projets.

Distro Tracker

Bien qu’officiellement en vacances trois des quatre semaines d’août, j’ai passé de nombreuses nuits à travailler sur Distro Tracker. Je suis heureux d’avoir réussi à rendre l’ensemble de la base de code (testée) de nouveau compatible Python 3. La suite de tests complète passe maintenant avec succès pour Python 3.4 et Django 1.6 (ou 1.7).

Je lancerai « tox » sur tous les bouts de codes soumis à partir de maintenant, ce afin d’être sûr que nous ne régresserons pas sur ce point. tox lance également flake8 à ma place, de sorte que je puisse facilement détecter tout pan de code contribué ne respectant pas la norme de codage PEP8. De même qu’il intercepte d’autres erreurs intéressantes (comme les variables inutilisées ou les fonctions trop complexes).

Réussir à faire passer au code le test flake8 avec succès demanda également un effort conséquent, qui a entraîné un énorme commit (89 fichiers modifiés, 1763 insertions, 1176 suppressions).

Toute cette refactorisation n’a mené, grâce à la suite de tests intensifs, qu’à deux régressions que j’ai corrigées assez rapidement.

Quelques statistiques : 51 commits réalisés le mois dernier, dont 41 par mes soins,3 par Andrew Starr-Bochicchio, 3 par Christophe Siraut, 3 par Joseph Herlant et 1 par Simon Kainz. Merci à eux ! Leurs contributions ont porté plusieurs fonctionnalités qui étaient déjà disponibles sur l’ancien PTS. Le nouveau PTS avertit maintenant des prochaines suppressions automatiques, affiche les problèmes avec les URL amont, inclut une courte description du paquet dans la page de titre, et fournit un lien vers des captures d’écran (si ces dernières existent sur screenshots.debian.net).

Il nous reste toujours de nombreux bogues à traiter, vous pouvez donc aider également : aller voir https://tracker.debian.org/docs/contributing.html. Je laisse toujours des bogues faciles à traiter pour les autres, donc choisissez-en un et mettez-vous au travail ! Je passerai en revue votre patch avec plaisir. 🙂

Tryton

Après mon dernier lot de contributions au plan comptable français de Tryton (n°4108, n°4109, n°4110 et n°4111), Cédric Krier m’a accordé les droits de commit sur le module mercurial account_fr.

Debconf 14

Je n’ai pas pu y assister cette année, mais grâce à l’exceptionnel travail de l’équipe vidéo, j’ai pu visionner certaines vidéos (et j’en ai encore un petit paquet que je souhaite regarder). Certaines ont été mises en ligne dès le lendemain de l’enregistrement, ce qui est vraiment un sacré boulot !

Django 1.7

Après les rapports de bogue initiaux, j’ai reçu un retour des mainteneurs craignant d’avoir des difficultés à rendre leurs paquets compatibles avec Django 1.7. Je les ai aidés du mieux que j’ai pu en leur apportant quelques patchs (pour horizon, pour django-restricted-resource, ainsi que pour django-testscenarios).

Dans la mesure où je m’attendais à ce que beaucoup de mainteneurs ne soient pas vraiment très pro-actifs, j’ai recompilé tous les paquets avec Django 1.7, afin de détecter a minima ceux qui échouaient à compiler. J’ai marqué tous les rapports de bogue correspondants comme confirmés.

On peut constater au détour de https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=python-django@packages.debian.org;tag=django17 les progrès réalisés, avec 25 paquets corrigés. Il en reste au moins 25 autres qui sont problématiques dans sid et 35 pour lesquels aucune investigation n’a encore été réalisée (exceptée la compilation automatique qui a réussi). Votre aide est encore une fois plus que bienvenue !

Il est facile d’installer python-django 1.7 à partir d’experimental, et d’essayer d’utiliser/recompiler les paquets de la liste mentionnée ci-dessus.

Traduction Dpkg

Avec l’approche du gel, je souhaitais m’assurer que dpkg était intégralement traduit en français. J’ai ainsi contacté debian-l10n-french@lists.debian.org et fusionné certaines traductions faites par des volontaires. Il apparait malheureusement que personne ne s’est porté volontaire pour maintenir cette traduction sur le long terme… j’ai donc moi-même réalisé la mise à jour requise lorsque dpkg en version 1.17.12 a été envoyé.

Y a-t-il qui quelqu’un désireux de maintenir la traduction de dpkg en français ? Avec les derniers changements de la 1.17.13, nous avons de nouveau quelques chaînes non traduites :

$ for i in $(find . -name fr.po); do echo $i; msgfmt -c -o /dev/null --statistics $i; done
./po/fr.po
1083 translated messages, 4 fuzzy translations, 1 untranslated message.
./dselect/po/fr.po
268 translated messages, 3 fuzzy translations.
./scripts/po/fr.po
545 translated messages.
./man/po/fr.po
2277 translated messages, 8 fuzzy translations, 3 untranslated messages.

Travaux divers

J’ai réalisé un envoi QA de xsane (qui est actuellement orphelin) afin de supprimer la dépendance (à la compilation) à liblcms1, et éviter son retrait de Debian testing (cf. le n°745524). Pour information : how-can-i-help m’a informé de ce problème après un dist-upgrade.

Avec le travail dédié à Django 1.7 et le besoin d’ouvrir une branche expérimentale, j’ai décidé de basculer l’empaquetage de python-django vers git, même si la politique actuelle de l’équipe est d’utiliser subversion. Cela a déclenché (une fois de plus) la discussion d’un possible passage à git, et j’ai été heureux de constater cette fois un peu plus d’enthousiasme à cette idée. Barry Warsaw a testé quelques workflows, partagé son sentiment et invité à en discuter lors d’une discussion pendant Debconf. Il se pourrait que cela advienne pour de bon cette fois. J’ai apporté ma pierre aux discussions sur la liste de diffusion.

Merci

Rendez-vous au mois prochain pour un nouveau résumé de mes activités !

Ceci est une traduction de mon article My Free Software Activities in July 2014 contribuée par Weierstrass01.

Mes activités libres en octobre 2012

Voici le récapitulatif mensuel de toutes mes activités gravitant autour du logiciel libre. Si vous faites partie des personnes ayant fait un don pour soutenir mon travail (120,46 €, merci à tous !), c’est l’occasion de constater ce que je fais de votre argent. Sinon, c’est toujours quelques nouvelles intéressantes sur l’avancement de mes différents projets.

dpkg

J’ai reconfiguré le dépôt Git de dpkg le mois dernier afin qu’il utilise KGB au lieu de CIA, ce dernier étant abandonné. Ces outils permettent d’envoyer sur IRC les notifications de commit (vers #debian-dpkg sur OFTC, aussi connu sous le nom d’irc.debian.org).

Je n’ai rien fait d’autre concernant dpkg, et je dois dire que Guillem n’aide en rien ceux qui veulent s’impliquer. Il continue à garder pour lui son travail, dans sa branche privée « for 1.17.x », et refuse d’ouvrir une branche officielle « jessie ». Une preuve de ce fait étant l’absence de réponse à ce mail.

Du côté positif, il traite tous les bogues soumis et ce même avant que j’ai eu la moindre chance de m’en occuper. Il est cependant triste que je ne puisse jamais examiner ses correctifs, étant donné qu’ils sont poussés au dernier moment juste avant chaque upload.

Empaquetages divers

J’ai aidé à la résolution du bogue n°689336, de sorte qu’initrd définit maintenant correctement la disposition du clavier (keymap) avant de demander le mot de passe d’une partition chiffrée. En relation avec ce bogue, j’ai alimenté le n°689722, de sorte que cryptsetup gagne une dépendance assurant que les outils requis pour la disposition du clavier soient bien disponibles.

J’ai empaqueté une nouvelle version amont de zim (0.57), ainsi qu’une mise à jour de sécurité pour python-django concernant à la fois Squeeze et Wheezy. J’ai uploadé une NMU (Non-Maintener Upload) de revelation (0.4.13-1.2) de sorte qu’il ne soit pas éjecté de Wheezy (il était sur la liste des paquets « retirés si non corrigés » de l’équipe chargée de la publication), étant donné que ma femme l’utilise pour stocker ses mots de passes.

Enfin, j’ai parrainé une nouvelle version amont de ledgersmb.

Debian France

Nous avons réussi à élire un nouveau bureau pour l’association Debian France. Sylveste Ledru en tant que trésorier, Julien Danjou en tant que secrétaire et moi-même en tant que président. Je tiens à remercier chaleureusement le bureau précédent, à savoir Carl Chenet, Aurélien Jarno et Julien Cristau.

La transition est en cours de réalisation, et sera finalisée lors de la prochaine mini-Debconf parisienne, au cours de laquelle nous procéderons aux diverses formalités.

Parmi les toutes premières tâches que je me suis assignées figure le recrutement de deux nouveaux membres pour le conseil d’administration, dans la mesure où deux sièges restent aujourd’hui à pourvoir. J’ai lancé un appel à volontaires, et deux volontaires se sont faits connaître. Si vous souhaitez participer et aider Debian France, merci de candidater en répondant à ce message le plus rapidement possible.

Cahiers de l’Admin

J’ai intégré les traductions contribuées sur debian.weblate.org (qui m’ont conduit à proposer cette fonctionnalité concernant Weblate lui-même), et corrigé un certain nombre de petites coquilles signalées. J’ai ensuite poussé l’upload vers Debian, afin d’incorporer toutes ces petites corrections…

Ceci étant, ce livre couvre pour l’instant Squeeze : j’ai donc commencé à planifier le travail de mise à jour pour Wheezy, et, conjointement avec Roland, nous avons décidé de qui allait s’occuper de mettre à jour chaque chapitre.

Librement

L’avancement de ce projet est si lent que cela me frustre. Gérer de l’argent pour autrui est une activité très régulée, au moins dans l’Union européenne. Je voulais seulement un compte séquestre, afin de sécuriser l’argent des utilisateurs du service… mais ouvrir un tel compte requiert soit d’être certifié en tant « qu’institution de paiement » par l’Autorité de contrôle prudentiel, soit d’obtenir une exemption de la même autorité (ne couvrant que certains cas spéciaux), soit enfin de signer un partenariat avec une institution de paiement reconnue.

Être certifié en tant qu’institution de paiement est hors de question actuellement, étant donné que cela requiert un capital d’au moins 125000€ (que je n’ai pas). Ma banque ne peut pas signer le partenariat dont j’aurais besoin. Reste à chercher si un des cas d’exemption peut me correspondre, ou si je peux trouver une autre « institution de paiement » qui veuille bien travailler avec moi.

Gittip utilise Balanced comme service de paiement spécialisé pour les places de marchés électroniques, malheureusement seuls les américains peuvent retirer de l’argent du système ce qui en limite l’intérêt. J’adorerais trouver pareil service en Europe…

Si je ne peux pas positionner Librement comme place de marché du monde du logiciel libre (et épargner à chaque contributeur le fait de devoir se créer un compte marchand), je dois alors me replier vers une solution où Librement ne fait que fournir l’infrastructure, et aucun compte, de sorte que les développeurs souhaitant collecter les donations devront utiliser soit Paypal, soit tout autre compte marchand supporté.

Voilà pourquoi mes dernières mises à jour de spécification concernant le service de donations et le service de paiement mentionnent Paypal, et la possibilité de choisir le moyen de paiement pour chaque campagne de donation.

Merci

Au mois prochain pour un nouveau résumé de mes activités !

Ceci est une traduction de mon article My Free Software Activities in October 2012 contribuée par Weierstrass01.

Mes activités Debian en juillet 2012

Voici le récapitulatif mensuel de toutes mes activités gravitant autour de Debian. Si vous faites partie des personnes ayant fait un don pour soutenir mon travail (72,65 €, merci à tous !), c’est l’occasion de constater ce que je fais de votre argent. Sinon, c’est toujours quelques nouvelles intéressantes sur l’avancement de mes différents projets.

Dpkg

Mon travail concernant dpkg ce mois-ci se résume à un ensemble de petites tâches :

  • Upload de dpkg 1.16.7 comportant la correction d’une régression importante ;
  • J’ai relancé la discussion sur la manière de résoudre le problème des paquets source avec des binaires « Multi-Arch: same » qui ne peuvent pas faire l’objet de bin-nmus individuels ;
  • Pour faire suite à cette discussion, j’ai ouvert de nombreux rapports de bogues, afin de discuter/planifier la transition des fichiers de changelog/copyright au sein des métadonnées des paquets (n°681289 pour debian-policy, n°681293 pour apt-listchanges, n°681295 concernant www.debian.org pour packages.debian.org).
  • J’ai également soumis le n°681292 concernant sbuild, pour le faire utiliser la nouvelle syntaxe de dpkg pour bin-nmu. Cela nous permettra de faire des re-compilations binary-only avec des versions arbitraires (au lieu des suffixes « +b1 » uniquement). Ubuntu pourrait l’utiliser pour leur +rebuild1, nous pourrions l’utiliser pour compiler des backports qui ne nécessitent pas de modifications des sources (et donc partager les paquets sources communs plutôt que de les dupliquer). Cela peut également être utile si nous en arrivons à une situation où les transitions sont préparées dans des dépôts externes et où nous voulons que les bin-nmus de ces dépôts aient des versions uniques (même si le même paquet peut être « bin-nmué » dans de multiples dépôts, dans le cas de transitions concurrentes) ;
  • J’ai créé une demande de déblocage pour dpkg une fois la version arrivée à presque 10 jours d’existence ;
  • J’ai reconsidéré le bogue n°316521 où il est question d’une perte par dpkg des répertoires partagés où des fichiers ont été créés manuellement, puis proposé un patch. Encore aucun commentaire de Guillem concernant ce patch. Corriger ce problème aiderait à en corriger un certain nombre d’autres relatif à piuparts ;
  • Juste avant le début de mes vacances, j’ai créé plusieurs rapports de bogues concernant dpkg, déplaçant certains points s’accumulant sur ma « To-Do list » vers un espace public où d’autres personnes pourraient en prendre connaissance et apporter leur aide (je serais ravi de parrainer quiconque souhaiterait s’attaquer à l’un d’entre eux) :
    • n°681443 : dpkg-source –commit devrait être capable de fusionner les modifications dans un patch existant ;
    • n°681470 : dpkg-shlibdeps : devrait également scanner Build-Depends-Arch pour les versions minimales ;
    • n°681474 : Dpkg::Vendor : devrait supporter /etc/os-release et /etc/os-release.d/* ;
    • n°681477 : dpkg-vendor : implémenter la commande –select-closest ;
    • n°681480 : base-files : fournir HOME_URL, SUPPORT_URL et BUG_REPORT_URL dans /etc/os-release ;
    • n°681489 : base-files : ajouter /etc/os-release.d/debian et rendre simple l’ajout de fichiers /etc/os-release.d/* supplémentaires ;
  • Dans le n°595112, nous avons discuté des spécificités d’une nouvelle fonctionnalité de dpkg-mainstscript-helper, permettant de déplacer un fichier conffile d’un paquet à un autre.

Empaquetage

J’ai mis à jour nautilus-dropbox à la version 1.4.0, ainsi que python-django-registration à la version 0.8. Les deux ont été uploadés vers unstable, et je souhaitais initialement demander un déblocage (de freeze) pour le dernier. Il s’est ensuite avéré que ce paquet avait gagné des dépendances inverses. La version 0.8 introduisant des changements d’API, et compte tenu du gel de squeeze, il n’était donc plus question d’un tel déblocage.

Assurance Qualité

J’ai creusé et résolu le bogue n°678356, où il était question d’un disfonctionnement des nouvelles statiques du Système de Suivi des Paquets (PTS – Packages Tracking System).

J’ai également débloqué au début du mois le méconnu mais important service mole… il était dépassé de plusieurs semaines et de nombreuses personnes étaient gênées par des informations de nouvelles versions amonts obsolètes.

Vacances

Quasiment aucun travail lié à Debian pendant mes vacances, mais l’absence de wifi dans les environs m’a forcé à rechercher des moyens de connecter mon ordinateur au Net via la connexion 3G/GPRS de mon Nokia N900. J’ai découvert l’application « Mobile Hotspot » (page d’accueil), qui a fonctionné sans aucun problème (bien qu’elle requiert le dépôt Maemo devel non standard, afin de pouvoir installer le noyau alternatif pour les « utilisateurs avancés »).

Cahier de l’Admin Debian anglais aka Debian Handbook

Michal Čihař nous a proposé d’héberger une instance Weblate, ce afin d’aider à traduire le livre au travers d’une interface Web. Il a gentiment accepté d’apporter quelques améliorations pour mieux répondre à mes besoins. L’instance améliorée est maintenant disponible à l’adresse debian.weblate.org.

L’utilisation de Weblate par les équipes de traduction ne nécessite aucun prérequis. Cela rend le recrutement de volontaires sans aucune connaissance préalable de Git ou des fichiers PO bien plus facile. Si vous souhaitez apporter votre aide, jetez quand même un œil en premier à cette page ; vous ne devriez pas démarrer avec Weblate sans avoir au préalable pris contact avec l’équipe de traduction concernée.

Mis à part les traductions, j’ai également eu le plaisir d’intégrer quelques patchs de Philipp Kern améliorant la section couvrant IPv6, ainsi que quelques autres parties. Nous pouvons encore améliorer la qualité du livre si d’autres contributeurs partagent leurs expertises des domaines qu’ils maîtrisent mieux que Roland ou moi dans les chapitres correspondants. 🙂

Merci

Au mois prochain pour un nouveau résumé de mes activités !

Ceci est une traduction de mon article My Debian Activities in July 2012 contribuée par Weierstrass01.

Mes activités Debian en juin 2012

Voici le récapitulatif mensuel de toutes mes activités gravitant autour de Debian. Si vous faites partie des personnes ayant fait un don pour soutenir mon travail (168,12 €, merci à tous !), c’est l’occasion de constater ce que je fais de votre argent. Sinon, c’est toujours quelques nouvelles intéressantes sur l’avancement de mes différents projets.

Dpkg

Ce mois-ci, j’ai repris mon travail sur dpkg, et concentré mes efforts sur la « finition » du format « 3.0 (quilt) ». Dans la dernière version (1.16.6 – uploadée juste avant le freeze) dpkg-source rétablit l’arborescence source dans un état cohérent après l’échec de l’application d’un patch (cf. n°652970), n’écrase pas l’en-tête du patch automatique pré-existant, met à jour automatiquement debian/source/include-binaries pendant dpkg-source –commit, et supporte une nouvelle option –no-unapply-patches, destinée à ceux qui n’aiment pas le retrait automatique à la fin du processus, lorsque les patchs n’ont pas été appliqués au début.

Je souhaitais aller plus loin et offrir une nouvelle fonctionnalité permettant l’insertion du patch automatique au début des séries quilt, mais le temps m’a manqué pour aller au bout. J’ai juste réussi à factoriser les appels quilt dans un module Perl dédié (Dpkg::Source::Quilt), afin d’avoir un code plus propre dans le module gérant le format source (Dpkg::Source::Package::V3::quilt).

À ceux qui se posent la question : cette fonctionnalité est destinée principalement à l’équipe X Strike Force qui maintient des paquets dans Git et fait énormément de cherry-picks ciblés (pour corriger des régressions, …). Mais ils utilisent également quilt au sommet de cette arborescence afin de conserver certains changements Debian spécifiques. Le « diff automatique » est un peu brouillon avec le format 1.0 mais au moins devient-il plus petit automatiquement lorsqu’une nouvelle version amont sort : il n’y a alors rien à nettoyer. Je souhaiterais qu’ils puissent utiliser le format « 3.0 (quilt) » tout en gardant leur workflow. Je penche pour une solution permettant « --auto-commit=first:cherry-picks« , qui nommerait « cherry-picks » le patch automatique et le mettrait en première position dans les séries quilt. (Les retours sur ce point sont les bienvenus, en passant).

Empaquetage

Pas mal d’activités question empaquetage ce mois-ci, le dernier avant le gel de Wheezy :

  • J’ai empaqueté CppUTest (un framework de test pour C/C++), et rédigé un billet le concernant ;
  • J’ai préparé une mise à jour de Publican pour stable, afin de corriger un problème de dépendance manquante. J’ai également mis à jour la version présente dans unstable afin d’inclure le backport d’un correctif, conformément à ce que certains utilisateurs m’ont demandé ;
  • J’ai mis à jour dh-linktree, afin d’améliorer sa documentation (suivant une discussion survenue sur debian-devel) d’une part, et de gérer proprement les slashs finaux en entrée (cf. n°673408) ;
  • J’ai parrainé dblatex 0.3.4-1, ainsi que ledgersmb 1.3.18-1 ;
  • J’ai mis à jour gnome-shell-timer avec une nouvelle version amont marquée comme compatible avec GNOME 3.4 (cf. n°6776516) ;
  • J’ai empaqueté WordPress 3.4, et passé une journée entière à classer les vieux bogues, qui s’accumulaient. Quelques jours plus tard, j’ai développer une nouvelle infrastructure permettant de gérer proprement les fichiers de thèmes/langues/plugins. Le répertoire canonique dans lequel l’utilisateur doit copier ses thèmes/plugins est maintenant /var/lib/wordpress/wp-content/. Les plugins/thèmes officiels y sont « installés » via des liens symboliques pointant vers /usr/share/wordpress/wp-content/, où les fichiers réels résident ;
  • J’ai voulu envoyer deux patchs pour developers-reference, mais j’ai noté que certaines traductions étaient complètes et en attente d’un upload. J’ai nettoyé (passage à dh) l’empaquetage et uploadé la version 3.4.8 avant l’envoi des patchs correspondant aux n°678710 et n°678712.

Tandis que j’effectuais ce travail d’empaquetage, j’ai trouvé deux améliorations possibles, que j’ai consignées dans des rapports de bogue :

  • n°676606: debcommit devrait être capable d’identifier tout seul qu’une nouvelle version est préparée (lorsque le champs distribution du changelog passe du statut UNRELEASED à quelque chose d’autre) ;
  • n°679132: lintian remonte des faux positifs pour le tag package-uses-local-diversion lorsque ni –local ni –package n’est passé à dpkg-divert.

Stand Debian France à Solutions Linux

J’ai tenu, du 19 au 21 juin et conjointement avec Carl Chenet, Tanguy Ortolo, ainsi que d’autres membres de l’association, le stand Debian France à l’édition 2012 du salon Solutions Linux. Nous avons répondu à quantité de questions, vendu tous nos t-shirts et parapluies, que Carl avait importés depuis l’Allemagne et la Suisse (il est vraiment temps que tous nos goodies soient produits en France !), et accueilli de nouvelles personnes dans l’association. Nous avons également présenté une version imprimée du Debian Administrator’s Handbook et de sa version française initiale.

Vous pouvez voir Carl, Tanguy et moi sur la photo suivante (cliquez dessus pour obtenir une version agrandie : merci à Sébastien Dubois d’Evolix pour celle-ci !) :

Je sais qu’un nombre important de personnes se préparent pour DebConf, mais, en ce qui me concerne, j’ai décidé de ne pas y assister cette année : le prix du billet d’avion — un peu élevé — et le conflit de dates avec les vacances familiales y ont concouru. Je pensais pouvoir participer aux RMLL à la place… mais je n’irai pas non plus (Roland Mas y sera bien présent lui !), la faute à la charge de travail restante avant mes propres vacances, dans deux semaines.

Merci

Au mois prochain pour un nouveau résumé de mes activités !

Ceci est une traduction de mon article My Debian Activities in June 2012 contribuée par Weierstrass01.