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 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.