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.

Mes activités Debian en mars 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 (227,83 €, 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

dpkg accompagné du support multiarch est maintenant disponible dans Sid, grâce à Guillem. La route fut sinueuse, et de nombreux retards survinrent même après l’annonce faite par Guillem sur debian-devel-announce. L’upload est intervenu, enfin, le 19 mars.

Je n’ai pas vraiment apprécié son annonce dans la mesure où elle n’était absolument pas coordonnée et, ayant été impliqué depuis le début, nous aurions pu la rendre beaucoup moins effrayante pour le public. J’ai finalement mis à disposition un script permettant à quiconque de vérifier s’il est affecté par l’un des problèmes potentiels soulevés par Guillem. Bien que réels, ces problèmes ont une faible probabilité d’apparition dans le cas d’un usage normal de multiarch.

Bernhard R. Link a soumis un patch ajoutant une nouvelle commande –status à dpkg-buildflags. Cette commande afficherait toutes les informations nécessaires pour comprendre quels drapeaux sont activés et pourquoi ils le sont. Elle serait naturellement appelée pendant le processus de compilation par debian/rules afin de garder une trace de la configuration des drapeaux de compilation. Le but étant d’aider le déboguage, ainsi que de rendre possible l’extraction automatique de cette information depuis les logs. J’ai passé en revue le patch et, après plusieurs itérations, ce dernier est pratiquement prêt à être intégré. Il reste néanmoins un point sur lequel Bernhard et moi sommes en désaccord, à la suite de quoi j’ai sollicité l’avis de Guillem afin de prendre une décision. Malheureusement ni lui ni personne d’autre ne s’est manifesté.

J’ai également uploadé, à la demande de Alexander Wirt, un nouveau rétroportage (backport) de dpkg dans lequel j’ai supprimé la variable DEB_HOST_MULTIARCH dans dpkg-architecture, ce afin d’être certain que le multiarch ne soit jamais activé dans d’autres backports.

Une dernière chose que je n’ai pas mentionnée publiquement jusqu’à présent : j’ai contacté Lennart Pottering pour lui suggérer une amélioration du fichier /etc/os-release qu’il essaye actuellement d’harmoniser entre les différentes distributions. Il m’est apparu que ce fichier pourrait également remplacer notre fichier /etc/dpkg/origins/default (et pas seulement /etc/debian_version), à la condition qu’il puisse aussi contenir des informations d’ascendance. Après quelques échanges, Lennart documenta de nouveaux champs officiels pour ce fichier (ID_LIKE, HOME_URL, SUPPORT_URL, BUG_REPORT_URL). La prochaine étape pour moi consiste maintenant à améliorer dpkg-vendor afin qu’il supporte ce fichier (en tant que solution de secours ou en tant que comportement par défaut, je ne sais pas encore).

Empaquetage

J’ai empaqueté quilt 0.60 (nous sommes maintenant tombés à 9 patchs spécifiques Debian, alors que nous en étions à un ébouriffant 26 pour la version 0.48 !) ainsi que zim 0.55.

En prévision de la prochaine publication upstream de Publican, j’ai demandé à l’équipe Perl d’empaqueter quelques modules Perl dont a maintenant besoin Publican. Moins de deux semaines plus tard, ils étaient tous dans unstable ! Félicitations et merci beaucoup à l’équipe Perl (et en particulier à Salvatore Bonaccorso, dont j’ai fait la connaissance alors que nous partagions le même vol lors de la dernière DebConf).

Sur un tout autre registre, être le mainteneur de nautilus-dropbox est devenu de moins en moins drôle ces derniers mois, en particulier parce que les auteurs amont ont essayé de passer outre certaines des décisions (correctes, à mon sens) d’empaquetage que j’avais prises et se sont mis en relation avec les community managers d’Ubuntu pour avoir gain de cause. Enfin, je continue à recevoir des doublons d’un bogue qui ne concerne pas mon paquet, mais le paquet officiel, pour lequel Dropbox n’a pas répondu à ma requête.

Version anglaise du Cahier de l’Admin Debian

La traduction est maintenant finie et c’est l’intégralité du livre qui est actuellement en relecture. Cela prend un peu plus de temps qu’escompté, d’une part car nous essayons d’harmoniser le style et d’autre part car il n’est pas facile de coordonner le travail de plusieurs relecteurs volontaires.

La couverture du livre est pour sa part quasi-finalisée (cliquez sur l’image pour la voir en plus haute définition) :

Nous avons également fait des progrès en ce qui concerne le design intérieur de la version papier. Je n’ai malheureusement rien à vous montrer pour l’instant, mais ça sera vraiment chouette… et fait uniquement à partir d’une feuille de style LaTeX adaptée pour dblatex.

La campagne de libération a ralenti ce mois-ci, avec seulement 41 nouveaux donateurs. Elle a néanmoins fait un joli bond en avant grâce à une généreuse donation de 1000€ de la part de Offensive security, l’entreprise derrière Backtrack Linux. Ils vont prochainement communiquer sur ce don, espérons que ça donnera un coup de boost à l’opération. Ce serait une belle réussite que de réussir à réunir les 3000€ restants dans les quelques semaines qui précèdent la publication officielle du livre !

Le livre a monopolisé mon temps de travail ce mois-ci et explique ma relative inactivité sur d’autres fronts. J’ai travaillé plus qu’à l’accoutumée, et ma femme n’arrête pas de me répéter que j’ai l’air fatigué et que je devrais aller au lit plus tôt… mais j’aperçois maintenant le bout du tunnel : si tout va bien, la publication du livre devrait intervenir dans les prochaines semaines et je pourrais alors revenir à un style de vie plus sain.

Merci

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

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

Mes activités Debian en février 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 (384,14 €, 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 et multiarch

Le mois a débuté par une décision du Comité Technique m’autorisant à procéder à l’upload d’un dpkg multi-architectures, et ce même si Guillem n’avait pas encore fini sa revue de code (ainsi que les changements associés). Compte tenu de cette décision, Guillem effectua lui-même l’envoi dans experimental.

Envoi à la suite duquel j’ai annoncé la disponibilité d’une version test, et invité les bonnes volontés à l’essayer. Tout cela a conduit à de nouvelles discussions sur la liste debian-devel.

Au cours de ces discussions, nous avons appris que Guillem avait changé son fusil d’épaule concernant la possibilité de partager deux fichiers (identiques) entre plusieurs paquets Multi-Arch: same, et qu’il avait abandonné cette fonctionnalité. Si cette dernière avait été retirée des spécifications multi-arch, cela aurait signifié encore une nouvelle mise à jour de toutes les bibliothèques déjà mises à jour pour multi-arch. À ce stade, la discussion s’est arrêtée, avec une dernière note de Guillem expliquant qu’il existait des tensions, à chaque fois que nous discutions de changements invasifs, entre choisir la facilité et ce qu’il convient de faire.

Après quelques semaines (ainsi qu’un précieux résumé de Russ Allbery), Guillem annonça que, bien que toujours pas convaincu, il réactivait ladite fonctionnalité. De plus, il ajouta avoir bientôt fini le travail, et qu’il pousserait les derniers morceaux de la branche multiarch vers la branche master du dépôt Git cette semaine (l’upload de la 1.16.2 étant planifié la semaine prochaine).

Voilà qui clôt le résumé. J’ai bien évidemment participé aux discussions, mais je n’ai pas fait grand chose de plus… Je dispose d’un « mandat » me permettant d’effectuer l’upload de la version multi-arch de dpkg vers sid, mais je n’ai pas souhaité m’en servir vu que ces discussions n’avaient pas abouties sur une conclusion claire. De plus, Guillem a été très clair sur le fait qu’il considérait l’implémentation de multiarch comme « boguée », « bancale » et « inachevée », et qu’il avait retravaillé le code afin de corriger quelques erreurs… Étant donné qu’il n’a jamais partagé l’avancement de ses travaux, je n’avais aucun moyen de l’aider, même simplement en examinant ce qu’il faisait.

Nous avons également recueilli quelques rapports de bogue en lien avec multi-arch, mais je n’ai pas pu m’en occuper dans la mesure où Guillem avait clairement la main sur la base de code, dans laquelle il a effectué de nombreux changements dans son coin… Ce n’est pas exactement comme cela que j’espérais participer à un projet de logiciel libre, mais la vie est pleine de surprises !

Je serai soulagé une fois cette histoire terminée. Pendant ce temps, j’ai ajouté une nouvelle entrée sur ma TODO list depuis ma proposition de gestion des changelogs bin-nmu, qui pourrait également corriger le bogue n°440094.

Travaux divers concernant dpkg

Après en avoir discuté avec Guillem, nous sommes tombés d’accord sur le fait que les informations de copyright devaient uniquement apparaître dans les sources, et non dans les pages de manuel, ou dans la sortie de --version. Les deux derniers cas sont soumis à traduction et demandent un effort inutile aux traducteurs lors des mises à jour. Guillem disposait déjà de codes pour gérer les chaînes --version, et de mon côté je me suis occupé des modifications concernant les pages de manuel.

J’ai intégré quelques mises à jour mineures concernant la documentation, et corrigé un bogue relatif à une page de man manquante. J’ai découvert un peu plus tard que certaines modifications récentes avaient entraîné la perte de toutes les pages de manuel traduites. Pour remédier à cela, j’ai suggéré une amélioration de dh_installman (et même préparé un patch). Guillem choisit finalement une autre manière d’installer les pages de manuel traduites.

Aiguillonné par une discussion sur la liste debian-devel, j’ai ajouté une nouvelle entrée à ma TODO list : implémenter dpkg-maintscript-helper rm_conffile_if_owner, afin de gérer le cas où un conffile est déplacé dans un autre paquet qui peut être installé (ou pas) .

Travaux divers d’empaquetage

J’ai empaqueté quilt 0.51 au début du mois. Le nombre de patchs spécifiques à Debian diminue doucement. Cinq patchs ont été supprimés dans la version 0.51, et un nouveau a été ajouté. J’ai soumis upstream, plus tard dans le mois, quatre patchs supplémentaires, qui ont été acceptés pour la version 0.60.

Cette nouvelle version (qui vient juste d’être publiée, je vais rapidement l’empaqueter) constitue un jalon important dans la mesure où elle est la première dépourvue de tout code en C (c’était le cas pour la version Debian depuis longtemps, mais au prix d’un patch intrusif). Le développeur upstream Jean Delvare a travaillé là-dessus en se basant sur notre patch, puis est allé encore plus loin pour le rendre plus efficace.

Mis à part quilt, j’ai également uploadé dh-linktree 0.2 (mise à jour mineure de la documentation), sql-ledger 2.8.36 (nouvelle version upstream), logidee-tools 1.2.12 (corrections mineures) et publican 2.8-2 (correction du bogue critique pour la publication n°660795).

Consultants Debian

Le Chef de Projet Debian travaille à fédérer les entreprises Debian. En tant que propriétaire de Freexian SARL, je ne pouvais qu’être extrêmement intéressé puisque Freexian « contribue, offre un support et trouve un intérêt stratégique à Debian ». Il n’y a qu’un seul problème : il faut deux employés au minimum, et je n’en ai aucun (je suis tout seul ) ! J’ai essayé d’argumenter en avançant que j’avais déjà travaillé, en de multiples occasions, avec d’autres développeurs Debian (en tant que sous-traitants/partenaires) lorsque les projets étaient trop conséquents pour moi tout seul (ou que je n’avais pas assez de temps). Mais cet argument a été rejeté.

À la place, et dans la mesure où notre intrépide leader n’est jamais effrayé à l’idée de proposer des compromis, il m’a suggéré (ainsi qu’à MJ Ray, qui avait avancé des idées similaires aux miennes) d’animer la liste de diffusion Debian Consultants qui, selon lui, serait plus appropriée aux entreprises d’indépendants telles que la mienne. J’ai accepté d’aider à « animer » cette liste et, de son côté, il s’est engagé à promouvoir à la fois les listes « Debian Companies » et « Debian Consultants ».

Quoi qu’il en soit, la liste « Debian Consultants » a connu un peu de trafic dernièrement et vous êtes encouragés à vous y abonner si vous êtes un indépendant proposant des services gravitant autour de Debian. Le point le plus prometteur reste la proposition de James Bromberger d’implémenter une vraie base de données des consultants, en lieu et place de l’actuelle page statique.

Nouvelles de la traduction du Cahier de l’Admin

Nous avons bien avancé ce mois-ci, et il ne reste plus qu’un seul chapitre à traduire. En conséquence, j’ai décidé de commencer la relecture, et j’ai lancé un appel aux volontaires en soumettant un chapitre différent à cinq relecteurs.

La campagne de libération a effectué un joli bond en avant, et ce grâce à sa couverture sur barrapunto.com. Nous avons ainsi atteint 80% du montant total, alors que nous n’en étions qu’à 72% au début du mois (grâce à 113 nouveaux donateurs !). Il reste moins de 5000€ à réunir pour permettre la publication du livre sous une licence libre.

Vu la progression sur ces derniers mois, il est cependant assez improbable que la somme soit réunie à temps pour la publication du livre en avril. Ce qui serait pourtant bien… aussi soyez sympas et passez le mot autour de vous !

En parlant de la publication du livre : je suis en train de la préparer petit à petit. Traduire les fichiers docbooks ne suffit pas, je dois être capable de générer des versions HTML, ePub et PDF du livre. J’utilise Publican pour la plupart des formats, mais pour ce qui est des PDF, Publican s’éloigne de fop et son remplaçant (basé sur webkit) est loin d’être satisfaisant en ce qui concerne la génération d’une version prête à imprimer. J’envisage donc d’utiliser dblatex, et de faire supporter dblatex comme backend par Publican.

J’ai embauché Benoît Guillon, l’auteur de dblatex, afin qu’il corrige certains bogues ennuyeux et qu’il améliore le logiciel afin de couvrir mes besoins pour le livre (le résultat est déjà, pour partie, dans le dépôt CVS de dblatex). Je travaille également avec un maquettiste professionnel afin d’obtenir une mise en page irréprochable.

Je me suis également lancé à la recherche d’un développeur Python Django pour la réalisation du site par lequel le livre sera commercialisé (et diffusé). L’objectif de ce site sera plus large que la simple mise en avant du livre (« aider à financer les développeurs de logiciel libre »), mais dans le monde du logiciel libre, il est toujours bon de commencer par s’occuper de son propre cas. :-)

Il reste à espérer que tout sera prêt en avril. Je travaille dur pour respecter cette échéance ! Vous devez avoir remarqué que mon blog était relativement calme le mois dernier….

Merci

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

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

Mes activités Debian en janvier 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 (213,68 €, 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

La plus « importante » modification réalisée a consisté en un petit patch mettant un terme à des années de discussions récurrentes à propos des cibles build-arch et build-indep de debian/rules (cf. bogue n°229357).

Le Comité Technique s’était auparavant saisi du dossier (cf. bogue n°629385) mais avait échoué à prendre une quelconque décision. Cela nous a néanmoins permis d’obtenir des chiffres concrets sur les dommages collatéraux infligés aux archives pour chacune des méthodes envisagées. Guillem et moi-même sommes finalement parvenus à un accord sur la voie à emprunter.

Le reste de ce que j’ai accompli en tant que mainteneur du paquet dpkg n’a pas grand chose à voir avec de la programmation : j’ai passé en revue le travail qu’a effectué Gianluca Ciccarelli sur dpkg-maintscript-helper. Celui-ci essaye de mettre au point des outils facilitant la migration entre dossiers et liens symboliques. J’ai également revu le patch long de 2000 lignes de Patrick Schoenfeld : la finalité étant de mettre à disposition une API Perl permettant de parcourir les logs de dpkg, et d’en extraire des informations utiles.

J’ai mis à jour la page de manuel de dpkg-architecture en documentant l’extrait de code Makefile /usr/share/dpkg/architecture.mk, et en retirant les informations qui ne sont plus pertinentes aujourd’hui.

J’ai passé en revue un énorme patch mis au point par Russ Allbery, et destiné à mettre à jour le guide de référence Debian, ainsi que documenter l’usage des fichiers symboles pour les bibliothèques. En tant que mainteneur de dpkg-gensymbols, je ne pouvais qu’être heureux de le voir proprement documenter au niveau de la référence développeur.

J’ai abordé sur la liste de diffusion dpkg un détail qui m’a ennuyé pendant un bon moment : certaines mentions de copyright étaient embarquées dans des chaînes traduisibles et, par conséquent, les mettre à jour demandait des efforts inutiles aux traducteurs. Nous avons finalement décidé de supprimer ces mentions, et de les garder uniquement dans les sources.

J’ai mis à jour ma branche multiarch sur celle de Guillem plusieurs fois, et toutes les corrections qu’elle contenait ont été intégrées (souvent sous une forme modifiée).

Malheureusement, et même si le code fonctionne plutôt bien, Guillem ne veut rien pousser dans Debian tant qu’il n’a pas fini de tout passer en revue… et le délai que cela entraîne affecte un certain nombre de personnes. Cyril Brulebois a essayé de publier un instantané de l’état actuel de la branche multiarch dans experimental, mais Guillem est revenu rapidement sur cet upload.

Je suis quelque peu perdu face à cette situation. Il continue de travailler dans son coin malgré mes offres répétées de l’aider, il ne partage pas beaucoup de détails, excepté certains commentaires dans les logs d’envoi ou lorsque cela touche l’interface publique. Je me suis une nouvelle fois plaint de cette triste situation.

Debian Package Maintenance Hub

Il s’agit du nom de code que j’utilise pour la nouvelle infrastructure que je souhaiterais développer, afin de remplacer le Système de Suivi des Paquets actuel (PTS – Packages Tracking System) ainsi que le tableau de bord des mainteneurs et d’autres services. J’ai commencé une ébauche de proposition d’amélioration (DEP – Debian Enhancement Proposal), cf. DEP-2, et demandé l’avis des personnes impliquées dans l’équipe Assurance Qualité.

Il semble que personne n’ait pour l’instant d’objections majeures quant à l’idée directrice de ce projet, et les commentaires exprimés sont plutôt enthousiastes. Je vais continuer à peaufiner cette proposition d’amélioration au sein de l’équipe Assurance Qualité jusqu’à ce qu’elle soit mûre pour une audience plus large, comme debian-devel@lists.debian.org.

Système de Suivi des Paquets

Même si j’ai commencé à concevoir son remplaçant, le Système de Suivi des Paquets actuel continuera à être utilisé pour quelques temps encore. En conséquence, j’ai implémenté deux nouvelles fonctionnalités qui me semblaient importantes : notifier le mainteneur (via la section « TODO ») lorsqu’au moins un bogue relatif à un objectif de publication est ouvert, et afficher une notification lorsque le paquet correspondant est concerné par une transition prévue ou en cours.

Tâches diverses d’empaquetage

J’ai créé et uploadé le paquet dh-linktree, un addon debhelper permettant de créer des arborescences de liens symboliques (utiles pour remplacer les copies embarquées de bibliothèques PHP/JavaScript par des liens symboliques vers leurs équivalents empaquetés).

J’ai également empaqueté quilt en version 0.50, et aidé les auteurs upstream à intégrer un patch Debian transmis par Martin Quinson (co-mainteneur de quilt). Autres empaquetages réalisés : celui de la mise à jour de sécurité de WordPress (3.3.1), et ceux des nouvelles versions amont de feed2omb et de gnome-shell-timer.

Enfin, j’ai préparé une nouvelle version Debian de python-django, corrigeant le bogue RC n°655666, et ce grâce à un patch récupéré depuis le dépôt SVN amont.

Traduction du Cahier de l’Admin : point d’étape

Nous continuons à progresser de manière satisfaisante dans la traduction du Cahier de l’Admin Debian : 12 chapitres sont maintenant traduits.

La campagne de libération poursuit (doucement) son bonhomme de chemin : 72% de la somme totale a été atteinte (grâce à 63 nouveaux donateurs !), contre 67% début janvier.

Merci

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

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

Mes activités Debian en décembre 2011

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 (364,18 €, 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 et multiarch

J’avais quelques espoirs d’obtenir pour Noël, dans Sid, une version de dpkg supportant multi-arch. L’objectif était jugé réaliste par Guillem, mais celui-ci tomba malade… ce qui nous renvoie à ce mois de janvier, où rien n’a vraiment avancé.

La taille de sa branche pu/multiarch/master n’a pas vraiment diminué, et ce alors que certains de ses commits de décembre concernaient le support multi-architecture. Il nous en reste encore 36 à intégrer, et la majorité du travail qu’il a réalisé s’apparente à de la re-factorisation de bouts de code déjà intégrés. Il a également lancé plusieurs discussions concernant des changements d’interface. J’y ai participé, avec l’espoir de pouvoir de les amener à une conclusion rapide.

De mon côté, je maintiens toujours ma propre branche pu/multiarch/full, dérivée de celle de Guillem, mais augmentée de correctifs supplémentaires que j’ai réalisés, mais qui n’ont pas encore été intégrés. De plus, ma branche n’inclut pas une des modifications de Guillem : sa branche autorise en effet la mise à jour croisée de paquets entre architectures, tandis que dpkg ne gère pas encore correctement cette fonctionnalité.

J’ai commencé à travailler sur ce projet il y a un an déjà, et je ne peux qu’espérer que ce mois de janvier verra la conclusion de cette histoire sans fin. :-|

Travaux divers concernant dpkg

J’ai revu (et plus tard intégré) un patch de Kees Cook améliorant dpkg-buildflags de sorte que ce dernier puisse faire état des options de compilation renforcée activées. Cette fonctionnalité pourra ainsi permettre à des outils tels que lintian de détecter les options de compilation renforcée manquantes.

J’ai encadré/guidé Gianluca Ciccarelli qui essaye d’améliorer dpkg-maintscript-helper afin de gérer correctement le remplacement de répertoires par des liens symboliques, et vice-versa.

Je me suis occupé du bogue n°651993, de sorte que dpkg-mergechangelogs n’échoue plus lorsqu’il rencontre une version de changelog invalide. Je me suis également occupé du n°652414, de telle sorte que dpkg-source --commit accepte un nom de fichier relatif lorsqu’un fichier de patch lui est explicitement passé.

Guillem a également intégré un correctif que j’ai développé concernant le bogue LP n°369898.

Travaux d’empaquetage

Je me suis attelé à l’empaquetage de WordPress 3.3 dès que la version est sortie. L’upstream n’a pas mis à jour sa page de conformité à la licence GPL, ce en dépit du rapport de bogue que j’avais créé. Je me suis donc mis en chasse des sources requises, et les ai intégrées dans l’archive debian.tar.xz du paquet source Debian. C’est une solution assez brutale, mais qui présente le double avantage, d’une part, de permettre la clôture du bogue critique pour la publication n°646729 ; et d’autre part, de réintroduire les fichiers Flash écartés par le passé… ce qui est une bonne chose, dans la mesure où cet uploader à base de Flash est beaucoup plus joli que celui tirant parti du navigateur.

Quilt 0.50 est sortie après 2 ans de (lent) développement. Le paquet Debian comporte de nombreux patchs, et plusieurs de ces derniers ont du être mis à jour afin de tenir compte de cette publication. Certains d’entre eux furent heureusement intégrés upstream, mais cela ne me pris pas moins d’une matinée entière pour boucler cette mise à jour. J’ai également converti l’empaquetage de CDBS vers dh avec un mini-fichier debian/rules.

Zim 0.54 est sortie, et j’ai immédiatement mis à jour le paquet, car cette dernière version corrige un bogue qui m’ennuyait.

Revue de l’empaquetage de ledgersmb

En tant que mainteneur de sql-ledger (et utilisateur de ce logiciel pour ma comptabilité), j’espérais voir ledgersmb empaqueté, de sorte qu’il puisse tenir lieu de remplaçant pour ce premier. J’ai suivi tous les efforts déployés au fil du temps dans ce but, mais aucun n’a abouti à un véritable paquet Debian.

C’est vraiment dommage, et c’est la raison pour laquelle j’ai essayé d’y remédier en me proposant pour parrainer l’envoi du paquet. D’où une première revue de l’empaquetage. Cette revue a pris plusieurs heures, car il est nécessaire d’expliquer absolument tout ce qui n’est pas à la hauteur des standards attendus.

J’ai également créé un rapport de bogue/demande d’évolution pour le paquet lintian (cf. n°652963), suggérant que ce dernier devrait détecter les utilisations incorrectes de dpkg-statoverride (un exemple de « mauvaise » utilisation était présent dans le paquet de ledgersmb).

nautilus-dropbox

Je souhaitais fignoler les derniers détails du paquet dans les temps pour la sortie de la prochaine Ubuntu LTS, compte tenu du fait que le gel de l’import Debian est en janvier. J’ai ainsi intégré certaines des importantes corrections que je souhaitais apporter.

Le paquet Debian diverge de celui amont dans la mesure où les binaires non-libres ne sont pas installés dans $HOME, mais dans /var/lib/dropbox. Ma première correction a concerné un bogue qui avait pour effet une possession incorrecte des fichiers (normalement par root exclusivement). Décompresser le tarball en tant que root entraîne la réutilisation des informations de l’utilisateur et du groupe embarqués, informations ayant changé récemment du côté de Dropbox apparemment.

Nous avons ensuite identifié d’autres problèmes en lien avec la gestion des serveurs mandataires (proxy), cf. n°651065. J’ai également corrigé ce dernier, car il est relativement fréquent que le téléchargement initial déclenché durant la configuration du paquet échoue… et dans ce cas, il appartient à l’utilisateur de re-déclencher le téléchargement après avoir obtenu les autorisations appropriées via PackageKit. Sans mon correctif, l’usage de pkexec aurait entraîné la perte de la variable d’environnement http_proxy, et donc l’impossibilité pour l’utilisateur de télécharger à travers un serveur mandataire.

Enfin, j’ai également réorganisé les patchs spécifiques à Debian, ce afin de mieux séparer ce qui pourrait et devrait être intégré par les auteurs amonts, et ce dont ils ne veulent pas. Dropbox est malheureusement contre l’installation sous /var/lib/dropbox (et les changements qui en découlent), car ils tiennent à mettre à jour automatiquement leurs binaires non-libres.

Un point sur le livre

La traduction du Cahier de l’Admin Debian progresse : 6 chapitres sont déjà traduits (bien que non encore relus).

Sa campagne de libération, quant à elle, avance (lentement). Grâce à 90 nouveaux donateurs, la somme collectée est passée de 60 (début décembre) à 67% de la somme visée !

Merci

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

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

Mes activités Debian en novembre 2011

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 (310,73 €, 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 : la saga « Multi-Arch »

J’en connais beaucoup qui, tout comme moi, attendent impatiemment l’arrivée de multiarch dans unstable. Les choses avancent, pas aussi vite toutefois que je l’aurais espéré. Guillem a intégré la moitié de la branche entre le 24 octobre et le 6 novembre, après quoi la majorité du travail a été effectuée dans son dépôt personnel sur la branche pu/multiarch/master.

J’ai examiné son dépôt de temps en temps, dans la mesure où il ne m’a pas informé de ses avancées. J’ai ainsi pu noter des modifications les 10, 19, 23 et 28 novembre, ainsi que le 1er décembre.

Voilà un certain temps, Guillem avait annoncé des « modifications d’interface », mais n’a communiqué depuis qu’à propos d’un passage de l’option --foreign-architecture (à déclarer dans /etc/dpkg/dpkg.cfg) vers la commande explicite dpkg --add-architecture. Cette dernière n’ayant besoin d’être appelée qu’une seule fois (cf. ce mail). Au jour d’aujourd’hui (2 décembre), aucun autre mail évoquant des modifications d’interface n’a été envoyé.

J’ai passé en revue le travail de Guillem le 23 novembre et essayé de lancer le code de sa branche. La journée entière fut consacrée à traquer les régressions et à soumettre les correctifs correspondants à Guillem. Un tel travail fut rendu relativement simple grâce à la suite de tests que j’ai créé lorsque j’ai développé ma propre branche.

Toutes les anomalies rapportées à Guillem ont été corrigées dans la dernière version de sa branche, bien que les correctifs appliqués soient légèrement différents de ceux que j’avais soumis.

dpkg : rétro-portage vers Squeeze

En début de mois, j’ai envoyé ce que je pensais être un rétro-portage très consensuel de dpkg 1.16.1.1. Les événements ont montré que j’avais tort !

Après quelques discussions, je pense que nous sommes tombés d’accord sur le fait que seuls les rétro-portages de dpkg-dev et libdpkg-perl étaient acceptables. Mon but n’était pas d’apporter la toute dernière version de dpkg aux utilisateurs, mais de permettre aux mainteneurs de rétro-porter leurs paquets en tirant profit des dernières fonctionnalités de dpkg-dev >= 1.16 (telles que les drapeaux de compilation renforcée, les extraits de makefile fournis par /usr/share/dpkg/ ou l’interface améliorée de dpkg-buildflags).

En conséquence, j’ai modifié le paquet source pour squeeze-backports afin de compiler uniquement dpkg-dev et libdpkg-perl. Chose faite le 23 novembre, le paquet attend maintenant dans la file « NEW » qu’un administrateur le prenne en charge.

Travaux dpkg divers

J’ai intégré le patch de Colin Watson qui permet de vérifier les dépendances de compilation sur des architectures étrangères (en tenant compte du statut « Multi-Arch » de chaque paquet listé).

J’ai publié la version 1.16.1.2 de dpkg, comportant deux corrections mineures qui attendaient dans la branche sid. Je tenais à m’en débarrasser pour libérer la voie à un nouvel « upload » pour la version 1.16.2 avec le support multi-architecture. Le paquet venant juste de migrer vers testing, tout va bien.

Une journée entière a été consacrée au tri des bogues dpkg sur Launchpad, et nous en sommes maintenant à moins de 77 bogues. Un grand nombre d’entre eux étant tagués « incomplet », il est probable qu’ils expirent dans deux mois.

Le cahier de l’admin Debian

eBookUn des chapitres du livre a été rendu librement consultable, ce qui permet de se faire une idée de la qualité de celui-ci. Ce chapitre couvre les outils APT de manière approfondie : je parie que même vous qui me lisez régulièrement pourriez apprendre à sa lecture sur apt-get/aptitude !

La campagne de financement sur Ulule a pris fin ce 28 novembre, et nous avons rassemblé 24835€, grâce à 675 donateurs. De cette somme, 14395€ ont été versés au titre de la libération du livre, tandis que le complément correspond aux différentes récompenses offertes ou pré-commandes.

La traduction de ce livre est donc chose acquise (nous venons juste de la commencer), au contraire de sa libération sous une licence libre. Mais ne désespérez pas, puisque la campagne de libération continue comme prévu jusqu’à ce que l’objectif des 25000€ soit atteint !

Cette campagne permanente sera hébergée sur le site du projet plutôt que sur Ulule. A noter que toute contribution d’au moins 10€ vous garantit l’envoi d’une copie du livre électronique dès qu’il sera disponible, et ce même si l’objectif des 25000€ n’est pas encore atteint.

Système de suivi des paquets (PTS)

J’ai soumis, en début de mois, deux idées d’améliorations du PTS (Package Tracking System) :

  • Afficher les bogues ouverts correspondant à des objectifs pour la publication (n°647258)
  • Afficher un avertissement lorsque le paquet est impliqué dans une transition en cours afin d’éviter une mise à jour qui perturberait cette dernière (#647901).

Si vous codez et souhaitez commencer à contribuer à Debian et son équipe Qualité, ces bogues pourraient être un bon début. :-)

J’ai été en contact pour ces deux tickets avec la Release Team, étant donné qu’ils ont besoin tout deux en entrée de données structurées en provenance de cette équipe. Merci à Meddi Dohguy et Niels Thykier pour leur aide.

Le débat concernant la « re-localisation » du PTS a ressurgi un peu plus tard dans le courant de ce mois. Pour des raisons historiques, le PTS était hébergé sur master.debian.org, de concert avec le BTS (Bugs Tracking System – Système de Suivi des Bogues). Ce dernier a maintenant sa machine dédiée et il n’y a plus de raison pour que le PTS soit séparé du reste des services d’Assurance Qualité hébergés sur qa.debian.org (actuellement quantz.debian.org). Nous nous sommes occupés (Martin Zobel Helas et moi) de planifier sa migration, que nous avons exécutée le 19 novembre. Elle s’est parfaitement bien déroulée et pratiquement personne n’a remarqué le changement (seule une dépendance non documentée était manquante, ce qui brisa l’interface SOAP).

Travaux d’empaquetage divers

WordPress était non fonctionnel dans Ubuntu, en plus de ne plus être proprement synchronisé avec Debian, et ce du fait d’un changement quasi-inutile de leur côté. J’ai donc demandé une synchronisation, de sorte que la version de Debian soit importée dans Ubuntu.

J’ai sponsorisé l’upload de docbook-xsl 1.76.1, qui m’était utile pour Publican. J’ai ensuite uploadé Publican et ai découvert que la suite de tests levait un bogue dans fop (consigné dans le bogue n°649476). J’ai temporairement désactivé cette dernière et ait envoyé Publican 2.8 dans unstable. En parallèle, j’ai soumis deux autres bogues upstream et leurs correctifs pour des problèmes que j’ai découvert alors que j’essayais de générer le chapitre librement consultable de mon livre (cf. ici et ici).

J’ai uploadé nautilus-dropbox en version 0.7.1 et corrigé le bogue n°648215 du même coup. J’ai également procédé à un non-maintainer upload de bison afin de corriger un bogue critique pour la publication ouvert depuis longtemps, et qui m’a encore touché durant une mise à jour (cf. le bogue n°645038).

J’ai déposé sur experimental une nouvelle version de gnome-shell-timer compatible avec GNOME 3.2. J’en ai profité pour installer depuis experimental les quelques paquets GNOME 3.2 non encore disponibles dans unstable

Merci

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

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

Mes activités Debian en octobre 2011

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 (130,30 €, 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.

Travail sur dpkg

Le début du mois a été marqué par la correction de bogues nouvellement rapportés, ceci pour préparer la publication de la version 1.16.1.1 :

  • n°644492 : une erreur sur une de mes modifications du code de mise en place des triggers entraînait le marquage erroné du paquet comme « configuré », alors qu’il n’était que décompressé dans un nouveau chroot.
  • n°642656 : le nouveau refus de dpkg-source de fabriquer un paquet source avec des modifications non-enregistrées dans un patch a cassé le format source « 2.0 » (quasi-inutilisé, sauf par la suite de tests lintian apparemment).
  • n°644412 : l’extrait de makefile « buildflags.mk » ne respectait pas les nouvelles variables d’environnement spécifiques aux mainteneurs (DEB_CFLAGS_MAINT_APPEND, par exemple), du fait de make qui ne transmet pas lesdites variables à travers le code $(shell …). Corrigé en exportant manuellement les variables requises.
  • J’ai également désactivé la sortie de dpkg-buildpackage en ce qui concerne les drapeaux de compilation, dans la mesure où cela induisait en erreurs de nombreux mainteneurs. dpkg-buildpackage invoquant debian/rules il n’a aucun moyen (propre) de prendre connaissance des changements de drapeaux de compilation effectués par le mainteneur en définissant les variables d’environnement associées. Les mainteneurs, quant à eux, s’attendent à voir en sortie les drapeaux de compilation tels qu’ils les ont modifiés, pas tels qu’ils sont initialisés par défaut par la distribution.

Nous avons décidé, avec l’aide de Guillem, d’une correction appropriée concernant une situation d’accès concurrent (race condition) survenant parfois à l’occasion de compilations parallèles, lorsque deux dpkg-gencontrol concurrents essayent de mettre à jour des fichiers debian/files (cf. n°642608). Pour mener à bien cette correction, un nouveau paquet était nécessaire : libfile-fcntllock-perl, qui nous a été gentiment empaqueté par l’équipe Perl. Une fois tout ceci mis en place, la correction était plutôt simple.

Support du multi-architecture

J’ai également passé beaucoup de temps sur le support multi-architecture. Tout d’abord en corrigeant un vieux bogue qui exigeait le support des chemins multi-arch dans le cas d’une cross-compilation (cf. n°595144). Deux patchs avaient été proposés, mais la discussion n’ayant pas vraiment tranchée en faveur de l’un ou l’autre, j’ai appliqué mon propre patch, qui a de plus l’avantage d’être plus proche techniquement de la manière dont nous gérons la compilation croisée.

J’ai ensuite corrigé deux problèmes rapportés sur la version Ubuntu de dpkg. Le premier (LP n°863675) était assez sérieux puisqu’il provoquait la « disparition » de paquets installés à l’avantage de leurs équivalents d’architectures étrangères supprimés (mais dont il restait certains fichiers de configuration). Le second (LP n°853679) n’affectait que les utilisateurs de dselect (il y en a encore apparemment !) dont une bibliothèque multi-architecture installée était en conflit avec elle-même (exemple : Provides: toto, Conflicts: toto).

Mais la plus grosse partie du temps passé sur la problématique multiarch le fut dans des discussions débattant, avec des interlocuteurs variés, de la direction à donner à multiarch. La Release Team intervint sur le planning du merge, afin de s’assurer de la disponibilité pour Wheezy. Le Responsable du projet Debian, quant à lui, fit le résumé des problématiques rencontrées jusqu’ici.

Bien que le déroulé des actions prises pour multiarch ne soit pas forcément celui que j’aurais espéré, ces dernières n’en représentent pas moins un progrès depuis que Guillem a commencé à pousser certains modifications validées. Des 66 modifications présentes il y a une semaine dans ma branche pu/multiarch/full, 20 ont déjà été intégrées dans la branche principale.

Mise à jour de sécurité et bogue RC pour python-django

Le mainteneur de python-django n’ayant pas réussi à préparer les mises à jour de sécurité requises, j’ai pris le relais et réalisé les nouvelles versions 1.2.3-3+squeeze2 pour Squeeze et 1.0.2-1+lenny3 pour Lenny. Cette mise à jour de sécurité est malheureusement un exemple du délai conséquent que peut prendre la publication d’une version de sécurité, lorsque le mainteneur du paquet est inactif.

La situation est compliquée, dans ce cas précis, par le fait que l’équipe en charge de la sécurité sous Debian n’a pas voulu publier de mise à jour pour Squeeze tant que celle de Lenny n’avait pas fait l’objet d’investigations (ce qui requiert un effort d’autant plus important que la version n’est plus supportée upstream). Sur ce point, leur communication ne fut pas des plus claires.

Quelques temps après, un autre bogue RC — Release Critical — a été rapporté sur ce paquet (n°646634) mais s’est révélé être, après investigation, un problème de configuration locale. Sa priorité a donc été rétrogradée, et j’ai transmis aux développeurs amont l’échec de la suite de test, car cette dernière pourrait être améliorée.

Les co-mainteneurs sont quoi qu’il en soit bienvenus : je préfère vraiment n’être que dans la situation du mainteneur « de secours »… :-)

Empaquetage de WordPress

La situation de WordPress ressemble beaucoup à celle de python-django. Je n’y suis également qu’un « mainteneur de secours », mais Giuseppe est resté inactif de nombreux mois et j’ai du m’atteler à la tâche courant août, car je voulais utiliser la nouvelle version amont. Je n’ai découvert que tardivement le fait que je n’étais pas inscrit à la liste de diffusion des bogues WordPress et, par conséquent, le bogue critique n°639733 (que j’ai introduit en même temps que la nouvelle version) est resté tel quel un certain temps. Je l’ai corrigé dès que je m’en suis aperçu.

J’ai également saisi l’opportunité d’initier une discussion sur debian-devel concernant la gestion des bibliothèques javascript embarquées, et j’ai proposé un « mécanisme de remplacement opportuniste via liens symboliques ». WordPress constitue mon banc de test pour ce mécanisme, vous pouvez consulter son debian/dh_linktree implémentant l’algorithme de remplacement.

La discussion n’a quant à elle pas été très intéressante, bien que j’ai appris que Debian exigeait maintenant que chaque paquet source embarquant des fichiers Javascript « minifiés » inclut également les fichiers originaux. C’est d’autant plus pénible, quelque part, que ce n’est dans de nombreux cas pas imposé par la licence (un grand nombre de ces fichiers ne sont pas sous GPL), mais par Debian uniquement. Et les développeurs amont sont nombreux à ne pas s’y conformer, ce qui est le cas de WordPress. En conséquence, le bogue RC n°646729 ouvert par Jakub Wilk est bien parti pour rester ouvert pendant longtemps. Après de nombreuses heures passées à investiguer chaque fichier Javascript du paquet source de WordPress, j’ai créé en retour un nouveau ticket dans le système de suivi des bogues upstream.

Empaquetage de Dropbox

Le retour d’expérience des mois écoulés depuis l’introduction de nautilus-dropbox dans Debian et Ubuntu me permet d’affirmer que la décision de ne supporter le téléchargement de dropbox que via le script de post-installation était une mauvaise idée.

Du fait de cette décision, j’ai été obligé de faire tomber en erreur le script postinst si le téléchargement échouait. Et, même si le message d’erreur est relativement clair, cela n’en a pas moins engendré de nombreux (la plupart automatisés) rapports de bogues côté Ubuntu. Sans parler des problèmes de natures diverses qui sont venus s’ajouter au tableau (comme essayer de démarrer dropbox alors que le paquet n’était pas configuré – ce qui entraîne une erreur, induite par le fait que l’utilisateur n’a pas les droits requis pour installer le logiciel ; ou encore réinstaller le paquet alors que dropbox est en cours de fonctionnement – ce qui entraîne également une erreur…).

Tous ces problèmes sont corrigés dans la version 0.7.0-2 du paquet. Dorénavant, si l’utilisateur doit installer dropbox, il utilisera PolicyKit afin d’obtenir les droits root. Le script postinst n’échouera plus dans le cas d’un échec du téléchargement de dropbox, puisque ce dernier peut être relancé ultérieurement par l’utilisateur. J’ai également corrigé le code du téléchargement, afin de supprimer le fichier remplacé avant d’extraire un nouveau fichier (au lieu d’écraser le fichier existant). Toutes ces modifications ont été transmises upstream.

Cahiers de l’Admin Debian : point d’avancement

Je suis heureux de vous annoncer que la traduction aura bien lieu. Nous avons en effet atteint l’objectif de financement minimal le 22 octobre, ce grâce à 380 donateurs.

La levée de fonds continue cependant, en vue cette fois de libérer le livre. 25000€ doivent ici être atteints, et nous en sommes aujourd’hui à 39% (soit 9950€ dans le fond de libération — ce qui signifie qu’environ 59% de l’argent collecté l’a été au titre de ce fond de libération).

Cliquez ici si vous souhaitez contribuer à la libération de ce livre.

Parvenir à recueillir cette somme en (moins de) 19 jours constitue un challenge ! Mais nous aimons relever de tels challenges, n’est-ce pas ?

Divers

  • J’ai créé le rapport de bogue n°644486. Il concerne dh-make, et a pour objectif un support approprié des drapeaux de compilation dpkg par les nouveaux paquets dès leurs débuts.
  • J’ai intégré de nombreux patchs de Luca Falavigna dans le paquet developers-reference.
  • J’ai discuté de l’intégration des debtags dans le système de suivi des paquets (PTS – Packages Tracking System) avec Enrico Zini et Paul Wise.
  • J’ai mis à jour l’empaquetage du paquet publican pour la nouvelle version 2.8. Cela a nécessité l’écriture d’un patch que j’ai transmis upstream.
  • J’ai créé un rapport de bogue upstream pour hamster-applet. Sa fenêtre n’est plus mise en avant lorsqu’on exécute hamster-time-tracker.

Merci

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

Ceci est une traduction de mon article My Debian activities in October 2011 contribuée par Weierstrass01.