Mes activités libres en septembre 2016

Mon rapport mensuel couvre une grande partie de mes contributions au logiciel libre. Je l’écris pour mes donateurs (merci à eux !) mais aussi pour la communauté Debian au sens large parce que cela peut donner des idées aux nouveaux venus et que c’est également un des moyens les plus effectifs de trouver des volontaires pour travailler sur les projets qui me tiennent à cœur.

Debian LTS

Avec l’augmentation du nombre de contributeurs rémunérés, les corrections faciles à réaliser (comme les CVE disposant de patchs) sont généralement effectuées assez rapidement. Tous les paquets sur lesquels j’ai travaillé étaient touchés par des bogues ouverts depuis longtemps, du fait de la difficulté à les traiter.

J’ai préparé la DLA-613-1 corrigeant 3 CVE affectant roundcube. La correction nécessitait le rétroportage du code gérant le CRSF, qui n’était pas disponible dans la version de Wheezy. J’ai passé presque 8 heures à travailler sur roundcube.

J’ai ensuite commencé à travailler sur tiff3. J’ai passé en revue de nombreuses CVE : CVE-2016-3658, CVE-2015-7313, CVE-2015-7554, CVE-2015-8668, CVE-2016-5318, CVE-2016-3625, et CVE-2016-5319. J’ai mis à jour leurs statuts pour le paquet tiff3 de Wheezy, puis j’ai demandé des fichiers de rejeu aux personnes ayant remonté les CVE, alors que ces fichiers n’étaient pas encore publiquement disponibles. Enfin, j’ai fait en sorte que tout soit enregistré dans le suiveur de bogues amont. Les 4 heures 25 minutes passées à travailler sur ce paquet ne furent pas suffisantes pour se pencher sur les patchs, je l’ai donc remis dans la pile des paquets à traiter.

Transition vers GNOME 3.22

J’ai poussé une nouvelle version de gnome-shell-timer qui devait fonctionner avec la version 3.21 de GNOME qui avait été poussée vers sid.

Malheureusement, cette nouvelle version (ainsi que celle de GTK+) a provoqué de nombreuses régressions qui ont affecté les utilisateurs de Debian Testing (et donc ceux de Kali), particulièrement en ce qui concerne le gnome-control-center. J’ai poussé une nouvelle version corrigeant certains soucis, et j’en ai remonté un bon nombre vers l’amont également (n°771515, n°771517, et n°771696).

Kali

J’ai travaillé (cf. le n°836211) à la création d’un patch dpkg pour contourner la limitation de overlayfs (Nous l’utilisons dans Kali, car la persistence d’un système live se base justement sur overlayfs), et j’ai contacté le mainteneur amont d’overlayfs en espérant que le problème soit plutôt proprement patché côté overlayfs.

J’ai poussé radcli en version 1.2.6-2.1 afin de corriger un bogue critique pour la publication (n°825121), car le paquet avait été retiré de Testing alors qu’openvas en dépend toujours dans Kali.

En tant que membre de l’équipe pkg-security, j’ai parrainé/poussé acccheck et arp-scan pour Marcos Fouces, ainsi que la version 3.09b de p0f.

Travaux Debian divers

Distro Tracker J’ai testé, corrigé et fusionné le patch de Paul Wise intégrant les hints multiarch dans tracker.debian.org (cf. le n°833623).

Cahiers de l’Admin Debian J’ai activé la traduction vietnamienne sur debian-handbook.info et actualisé toutes les traductions d’après les mises à jour effectuées sur Weblate.

Units systemd pour apache2 J’ai préparé et soumis des units systemd pour apache2 (cf. le n°798430). Avec l’approbation de Stefan Fritsch, j’ai poussé mon code vers le dépôt Git, et intégré le résultat dans la version 2.4.23-5.

Empaquetage d’Hindsight J’ai commencé par empaqueter lua-sandbox (cf. le n°838969) – qui est une dépendance d’Hindsight – puis Hindsight lui-même (cf. le n°838968). Ce faisant, j’ai ouvert plusieurs tickets auprès de l’amont.

PIE par défaut J’ai poussé une nouvelle version de cpputest compilée avec les drapeaux -fPIC, de sorte que le exécutables liés à sa bibliothèque statique puisse être compilés avec les drapeaux -fPIE (cf. le n°837363, remonté à l’amont ici).

Rapports de bogues créés Un mauvais lien vers la page d’accueil dans haskell-dice-entropy-conduit. Des options incohérentes : --onlyscripts et --noscripts dans debhelper. L’entrée concernant pidgin dans security-support-limited est obsolète dans debian-security-support. Une nouvelle version amont (2.0.2) dans puppet-lint.

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 September 2016 contribuée par Weierstrass01.

Debian 8 Jessie publié chez Eyrolles

Ca y est, une nouvelle édition de mon Cahier de l’Admin Debian vient de paraître aux éditions Eyrolles… couvrant cette fois-ci Debian 8 Jessie et quittant la collection « Cahier de l’Admin » pour intégrer la « Collection Blanche » des livres de référence.

Couverture Debian 8 Jessie

Le livre est disponible chez tous les bons libraires et sa version électronique est toujours disponible gratuitement sur le site officiel du livre. Rappelons que le livre est publié sous licence libre (au choix CC-BY-SA 3.0 ou GPL 2+) et qu’il est co-écrit par deux développeurs Debian (moi même et Roland Mas).

Mes activités libres en février et mars 2016

Mon rapport mensuel couvre une grande partie de mes contributions au logiciel libre. Je l’écris pour mes donateurs (merci à eux !) mais aussi pour la communauté Debian au sens large parce que cela peut donner des idées aux nouveaux venus et que c’est également un des moyens les plus effectifs de trouver des volontaires pour travailler sur les projets qui me tiennent à cœur.

J’ai fait l’impasse sur le rapport mensuel de mes activités du mois de février, celui-ci couvrira donc les mois de février et mars. Pour ne pas faire trop long, je vais tâcher de ne lister que les points les plus importants :-).

Cahiers de l’Admin Debian

J’ai travaillé avec Ryuunosuke Ayanokouzi à la préparation d’une version papier de la traduction japonaise de mon livre. Grâce aux efforts de chacun, il est maintenant disponible. Lulu a malheureusement décliné sa prise en charge dans le programme « distribution »; il ne sera donc pas disponible dans les librairies « habituelles » (telles qu’Amazon). La raison étant qu’ils ne supportent pas les ensembles de caractères non-latin dans les métadonnées.

J’ai essayé de feinter le système en entrant la description en anglais (tout en expliquant que le livre était écrit en japonais), mais ils l’ont quand même refusé, arguant que le titre en anglais pouvait induire les gens en erreur. lulu.com est donc la seule option pour se procurer le livre. Les frais de ports restent heureusement raisonnables, en choisissant l’option la plus économique.

A la suite de quoi j’ai enjoint les traducteurs espagnols, brésiliens, italiens et portugais à finir leurs traductions, afin que nous puissions publier des versions papier pour ces langues également. Ils étaient déjà proches du but, toutes les chaînes de caractères étant traduites. Manquaient principalement la localisation des captures d’écran et quelques contenus des première et quatrième de couverture. On y est presque maintenant, j’espère que cela sera fini le mois prochain.

Distro Tracker

Début févier j’ai modifié la configuration, de sorte que les exceptions générées par les emails entrants et les tâches de routine soient maintenant envoyées par email. Elles étaient auparavant simplement enregistrées, mais sans que je prenne le temps de les analyser. Cela a rapidement mis en lumière plusieurs problèmes, que j’ai corrigés au fur et à mesure de leurs apparitions. Par exemple, la gestion des rebonds était défaillante lorsque la casse n’était pas respectée, et il est apparu que certains emails nous revenaient après avoir été passés en minuscule. Le code de contrôle des emails entrants était également défaillant lorsque le champ « References » utilisait plus d’une ligne.

Cela a également fait apparaître tout un ensemble de problèmes liés à la base de données stockant deux fois le même email avec des casses différentes. J’ai du effectuer un nettoyage de la base pour rassembler toutes les entrées en doublon derrière un seul email.

Plus tard les fichiers Source expérimentaux ont changé, ce qui m’a amené à modifier le code pour gérer la suppression du champ « Files » (en me basant à la place sur Checksums-* pour trouver les divers fichiers liés à l’entrée concernée).

J’ai également corrigé le formulaire de connexion, afin qu’il ne génère pas d’exception lorsque l’utilisateur soumet un formulaire vide.

De plus, j’ai décidé de ne plus supporter Django 1.7 dans distro tracker, car Django 1.8 est la version long-terme supportée. J’ai demandé aux administrateurs système Debian de mettre à jour le paquet sur tracker.debian.org avec la version disponible dans jessie-backports. Cela m’a permis de me débarrasser des avertissements qui étaient déclenchés par le code Django 1.7.

Un de ces avertissements était généré par django-jsonfield, et je n’ai pas pu le corriger immédiatement. J’ai préparé à la place une demande de pull que j’ai soumise à l’auteur amont.

Dernière chose : j’ai modifié la feuille CSS pour densifier la mise en page de la page présentant le paquet. C’était l’une des évolutions les plus demandées par les personnes préférant encore packages.qa.debian.org à tracker.debian.org.

Kali et la nouvelle équipe pkg-security

Parmi les différentes tâches effectuées pour Kali, je corrige les bogues critiques pour la publication affectant les paquets Debian que nous utilisons dans Kali. Mais dans la plupart des cas, je suis confronté à des paquets dont les mainteneurs sont aux abonnés absents (MIA, missing in action). Jusqu’à présent, nous n’effectuions que des uploads en tant que non-mainteneur (NMU, non-maintainer upload), mais je souhaite pouvoir maintenir ces paquets de manière plus efficace. C’est pourquoi nous avons créé l’équipe pkg-security . Nous ne sommes que deux à l’heure actuelle, et n’avons aucune documentation disponible. Mais vous êtes les bienvenus si vous souhaitez participer, tout particulièrement si vous maintenez un paquet utilisé dans le domaine de la sécurité.

Travaux liés à l’architecture arm64 Les trois premiers paquets que nous avons pris en charge (ssldump, sucrack, xprobe) ne disposaient pas de binaires compilés pour arm64. Nous venons juste de lancer notre portage Kali sur arm64, et nous avons donc corrigé cela pour cette architecture. Dans la mesure où ces paquets n’étaient plus maintenus correctement, la correction s’est résumée à l’utilisation de dh_autoreconf afin d’obtenir des fichiers config.{sub,guess} à jour.

Quelques paquets sont encore manquants sur arm64 : vboot-utils (que nous récupèrerons très certainement bientôt, puisqu’il est proposé à l’adoption), ruby-libv8 et ruby-therubyracer, ntopng (nous devons attendre le nouveau luajit, qui n’est présent que dans experimental pour l’instant). Nous avons également constaté que dh-make-golang n’était pas disponible pour arm64 et, après quelques discussions sur #debian-buildd, j’ai créé deux rapports de bogue : le n°819472 concernant dh-make-golang et le n°819473 concernant dh-golang.

Corrections de bogues critiques pour la publication De multiples bogues critiques pour la publication affectaient hdparm, et les responsables de la publication ont essayé de le retirer de testing. Ce qui a provoqué le retrait de nombreux paquets utilisés par Kali et ses utilisateurs. J’ai donc analysé la situation dans laquelle se trouvait ce paquet, convaincu les mainteneurs actuels de le déclarer orphelin, ai lancé un appel à de nouveaux mainteneurs sur debian-devel, passé en revue des mises à jours préparées par les volontaires et parrainé leurs travaux. hdparm est maintenant de nouveau exempt de bogues critiques, et au niveau de la dernière version amont. Nous avons également mis à jour jsonpickle vers la version 0.9.3-1 pour corriger le bogue critique n°812114 (que j’avais en premier lieu rapporté à l’auteur).

Support de préréglages Systemd dans init-system-helpers J’ai essayé de trouver quelqu’un pour implémenter (moyennant rémunération) la fonctionnalité de préréglages système que j’avais demandée dans le n°772555, sans y parvenir. Andreas Henriksson a eu l’amabilité de s’y essayer et d’envoyer un premier patch. Je l’ai essayé et trouvé quelques erreurs. Je l’ai donc amélioré et continué à le simplifier… J’ai soumis une mise à jour du patch et fais signe à Martin Pitt. Il m’a renvoyé vers les erreurs que mon patch créait dans la suite de tests DEP-8, que j’ai rapidement corrigés après coup. Ce patch est utilisé dans Kali et nous permet de désactiver les services réseaux par défaut. Je souhaiterais le voir intégrer dans Debian, de sorte que tout-un-chacun puisse configurer de tels préréglages systemd, et qu’ils soient respectés au moment de l’installation.

Rapports de bogues divers J’ai créé le rapport n°813801 pour demander une nouvelle version amont de kismet. De même que pour masscan dans le n°816644 et wkhtmltopdf dans le n°816714. Nous avons empaqueté (avant Debian) une nouvelle version amont de ruby-msgpack, et nous sommes aperçus que la compilation échouait pour armel/armhf. En conséquence de quoi nous avons créé deux tickets amont (avec une proposition de correction). Dans le n°814805, nous avons demandé au mainteneur de pyscard de réintégrer python-pyscard. Seule la version Python3 avait été conservée, la version python2 ayant été abandonnée. C’est pourtant cette dernière que nous utilisons dans Kali.

Et ce n’est pas fini : j’ai créé les rapports n°816553 (erreur de segmentation) et n°816554 concernant cdebootstrap. J’ai demandé que dh-python voit son comportement amélioré, après avoir été induit en erreur par le résultat de « dh –with python3 », qui n’avait pas fait ce que j’attendais (cf. le n°818175). J’ai également rapporté le n°818907 concernant live-build, qui ne gère pas les paquets dont le nom comporte une majuscule (ce qui est effectivement contraire à la règle, mais que dpkg supporte toutefois).

Empaquetages divers

J’ai poussé Django 1.9.2 vers unstable et 1.8.9 vers jessie-backports. J’ai fourni les informations supplémentaires qui m’avaient été demandées par Julien Cristau dans le rapport de bogue n°807654 mais, malgré cela, cette version a été ignorée pour la deuxième mise à jour de Jessie consécutive. Elle est maintenant obsolète jusqu’à ce que j’incorpore les correctifs de sécurité qui ont été publiés entretemps, mais je ne suis pas sûr de le faire…le manque de coopération dont fait preuve l’équipe responsable de la publication pour ce type de requête est décourageant.

J’ai parrainé plusieurs uploads de dolibarr (concernant des mises à jour de sécurité notablement) et tcpdf (correction d’un bogue critique pour la publication).

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 February and March 2016 contribuée par Weierstrass01.

Mes activités libres en décembre 2015

Mon rapport mensuel couvre une grande partie de mes contributions au logiciel libre. Je l’écris pour mes donateurs (merci à eux !) mais aussi pour la communauté Debian au sens large parce que cela peut donner des idées aux nouveaux venus et que c’est également un des moyens les plus effectifs de trouver des volontaires pour travailler sur les projets qui me tiennent à cœur.

Debian LTS

Ce mois-ci ce sont 21,25 heures de travail sur Debian LTS qui ont été subventionnées. Elles ont été consacrées aux tâches suivantes :

  • J’ai envoyé un premier patch, puis la mise à jour de ce dernier, pour modifier DAK afin qu’il puisse envoyer les emails d’acceptation/rejet au signataire de l’upload, plutôt qu’au mainteneur. Les détails sont disponibles dans le ticket n°796784;
  • J’ai envoyé des correctifs de compatibilité MySQL 5.5 pour phpmyadmin et postfix-policyd. Nous allons ainsi pouvoir proposer MySQL 5.5 comme une option de mise à jour depuis MySQL 5.1 (cf. la DLA 359-1);
  • J’ai publié la DLA 361-1 concernant bouncycastle, après avoir obtenu le feu vert de l’amont;
  • J’ai publié la DLA 362-1 concernant dhcpd, corrigeant trois vulnérabilités CVE;
  • J’ai publié la DLA 366-1 concernant arts, corrigeant une vulnérabilité CVE;
  • J’ai publié la DLA 367-1 concernant kdelibs, corrigeant une vulnérabilité CVE;
  • Je me suis occupé du support LTS une semaine entière;
  • J’ai parrainé l’envoi de foomatic-filters pour la DLA 371-1;
  • J’ai créé les rapports de bogue n°808256 et n°808257 pour obtenir le retrait de libnsbmp et libnsgif. Des vulnérabilités CVE ont affecté récemment ces deux paquets, restés inutilisés dans Debian depuis leur introduction il y a 6 ans…
  • J’ai publié la DLA 372-1 annonçant la fin du support de virtualbox-ose;
  • J’ai mis à jour le dépôt Git de debian-security-support pour prendre en compte le changement précédent, et pour m’occuper également de plusieurs problèmes en attente;
  • J’ai publié la DLA 376-1 concernant mono, corrigeant une vulnérabilité CVE;
  • J’ai ajouté à python-django les premiers tests DEP-8, qui vont nous permettre de nous assurer qu’une mise à jour de sécurité ne casse pas le paquet.

Distro Tracker

Je me suis particulièrement concentré sur tracker.debian.org ce mois-ci. J’ai terminé la bascule de l’interface email de packages.qa.debian.org vers tracker.debian.org, et j’ai annoncé ce changement sur la liste debian-devel-announce.

Quelques problèmes ont résulté de ces modifications. Problèmes qui ont rapidement été corrigés (comme par exemple le n°807073), ainsi que d’autres petits soucis que je fus seul à voir, et qui furent générés par des emails de spam absurdes (saviez-vous que l’objet d’un email ne peut pas comporter de caractère « nouvelle ligne », mais que ce dernier peut être encodé et replié sur plusieurs lignes ?).

En lien avec ce qui précède, j’ai corrigé plusieurs services de sorte à ce qu’ils envoient leurs emails directement à tracker.debian.org, plutôt que de compter sur les anciens emails (ces derniers sont retransmis pour l’instant, mais ce serait bien de nous en débarasser dans le futur). J’ai également mis à jour (avec l’aide de Lucas Nussbaum) le service qui retransmet au suiveur les bogues Launchpad. J’ai aussi envoyé un patch pour mettre à jour les alias @packages.debian.org (il n’a pas encore été appliqué), tout comme j’ai mis à jour la configuration de tous les scripts de notification des commits Git dans les projets Alioth collab-maint et python-modules (de nombreux restent à faire). J’ai demandé au Merge-O-Matic d’Ubuntu d’utiliser les nouveaux emails également (cf. le ticket LP n°1525497). DAK et le suiveur de bogues Debian doivent encore être mis à jour, dans la mesure où personne n’a encore réagi à mon annonce… Enfin, last but not least, j’ai mis à jour plusieurs pages de wiki qui dupliquaient les instructions de mise en place des notifications de commit envoyées aux suiveurs de paquets.

Pour continuer sur cette lancée, j’ai choisi de traiter un bogue critique de longue date pour la publication, et affectant tracker.debian.org (le n°789183). Pour se faire, j’ai mis à jour la base de code afin de me baser sur la version 4 de la librairie bootstrap de Twitter, en lieu et place de la version 2. J’ai du changer la librairie d’icônes, dans la mesure où glyphicons n’est plus fournie avec bootstrap, et que la licence associée à la version indépendante ne permettait pas son utilisation. J’ai opté pour les Octicons de Github. Tout en faisant cela, j’ai réalisé de très nombreuses petites améliorations (clôturant quelques bogues en passant), et je pense que le résultat est plus agréable à utiliser.

J’ai aussi trié de nombreux bogues et corrigé quelques petits problèmes, comme la liste incomplète des architectures (n°793547), ou une page utilisée uniquement par les utilisateurs ayant JavaScript désactivé, ou bien encore les liens invalides pour des paquets utilisant encore CVS (uh, cf. le n°561228).

Travaux divers d’empaquetage

Django Après avoir ajouté quelques tests DEP-8 (dans le cadre de mes travaux Debian LTS, cf. ci-dessus), j’ai découvert que la version actuelle d’unstable ne passait pas avec succès sa suite de tests…j’ai donc créé un rapport de bogue pour l’amont (ticket n°26016), en y attachant le patch correspondant. Et j’ai poussé pour que python-bcrypt soit mis à jour dans Debian vers une nouvelle version compatible avec Django 1.9 (cf. le n°803096). J’ai également corrigé un petit problème affectant Django (cf. le ticket 26017 et ma demande d’intégration qui a été acceptée).

J’ai demandé aux responsables de la publication de considérer l’acceptation de la dernière version 1.7.x dans Jessie (cf. le n°807654), mais je n’ai reçu aucune réponse à ce jour. Sachant que je ne suis pas le seul à attendre un retour, c’est une situation quelque peu ennuyeuse… Nous disposons encore de quelques semaines avant la sortie de la prochaine version mineure, mais pour une fois je m’y suis pris en avance et j’aimerais recevoir un retour dans un délai raisonnable.

Last but not least, j’ai commencé à maintenir la version LTS actuelle (1.8.x) dans jessie-backports.

Tryton J’ai mis à jour Tryton vers la version 3.8 et découvert un bogue que j’ai consigné dans le rapport n°806781. J’ai parrainé 5 nouveaux modules Tryton pour Matthias Behrle (qui est mainteneur Debian), ainsi qu’un correctif de sécurité (corrigeant la vulnérabilité CVE-2015-0861).

Cahier de l’Admin Debian J’ai poussé une nouvelle version vers unstable et demandé (aux responsables de la publication) la permission de pousser un rétroportage de celle-ci vers Jessie. De cette manière, Jessie disposerait d’une version de ce paquet documentant Jessie, et non Wheezy… Au contraire de mon autre demande concernant Django, celle-ci devrait faire consensus, mais je n’ai là non plus reçu aucun retour à ce jour, cf. le n°807515.

Divers J’ai créé le rapport de bogue n°808583, concernant sbuild qui a cessé de fonctionner avec Perl 5.22. J’ai traité le rapport n°807860 concernant publican : j’ai trouvé le ticket amont correspondant et découvert un moyen de contourner le problème avec l’aide de l’amont (tous les détails ici).

Travaux liés à Kali

J’ai remonté un bogue sur le canal #debian-apt lié à un calcul erroné de la taille du téléchargement (dont le résultat atteignait 18 Eb !), ce qui a entraîné sa correction dans la version 1.1.4. Sans ce correctif, il n’était plus possible d’installer un méta-paquet dont la taille excédait 2Gb. Or nous avons un méta-paquet kali-linux-all dans ce cas, qui est régulièrement installé dans un test Jenkins.

J’ai ajouté le support des catcha dans Distro Tracker, et activé cette fonctionnalité sur pkg.kali.org.

J’ai créé le rapport de bogue n°808863 concernant uhd-host. Il n’était pas possible d’installer ce paquet dans un environnement chrooté géré par systemd-nspawn, et où /proc était en lecture seule. Ce contexte d’utilisation est celui que nous avons commencé à utiliser pour tester la procédure de dist-upgrade d’une version de Kali vers la suivante…

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 December 2015 contribuée par Weierstrass01.