Mes activités libres en avril 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

J’ai pris en charge une nouvelle proposition de sponsoring, de la part d’une société souhaitant voir Wheezy continuer à supporter les architectures armel et armhf. Cela ne faisait pas partie de nos plans initiaux (arrêtés lors de la dernière DebConf) et, en conséquence, j’ai envoyé un message à toutes les équipes impactées de sorte à ce que ce changement, s’il devait survenir, soit approuvé collectivement. Alors que je m’attendais à recevoir une réponse claire assez rapidement, il s’est avéré que nous ne sommes jamais parvenus à obtenir un retour de la part de toutes les parties impliquées. La discussion a dérivé, à la place, sur la question plus générale de savoir comment nous devions traiter le sponsoring/donation au sein du projet LTS.

Fort heureusement, les mainteneurs de buildd ont confirmé être d’accord avec ce changemement, tandis que les ftpmasters n’y voyaient pas d’objections, ce qui a implicitement acté cette décision. Ansgar Burchardt a conservé les architectures armel/armhf dans le dépôt wheezy/updates lorsque le support a basculé du côté de l’équipe LTS, et Aurélien Jarno a configuré wanna-build de sorte à ce qu’il continue de compiler armel/armhf pour la suite. L’équipe DSA n’a pas confirmé que ce changement n’entrait pas en conflit avec l’un de leurs projets de mise hors service de matériels. Quoi qu’il en soit, les démons de compilation constituent des ressources partagées, et un seul serveur gère généralement la compilation des paquets pour plusieurs versions de Debian.

DebConf 16

Je me suis inscrit ce mois-ci pour la DebConf 16, et soumis plusieurs propositions de sujets pour des présentations/tables rondes :

  • Retour d’expérience de Kali Linux en tant que distribution dérivée de Debian, basée sur Testing (présentation);
  • Deux années de travail, réalisées par des contributeurs rémunérés, au sein du projet Debian LTS (présentation);
  • Utiliser l’argent de Debian pour financer les projets Debian (table ronde).

Je souhaite partager la configuration que nous utilisons dans Kali, dans la mesure où elle pourrait être utile à d’autres distributions dérivées, mais aussi à Debian elle-même, afin de faciliter les échanges avec les distributions dérivées.

Je souhaite également rouvrir le débat concernant l’utilisation de l’argent au sein de Debian. C’est un sujet difficile que nous devrions vraiment aborder, afin d’arrêter officiellement une position sur ce qu’il est possible de faire, ou de ne pas faire, avec cet argent. Debian LTS a permis de démontrer que l’argent pouvait être utilisé dans une certaine mesure, sans que cela n’affecte le projet Debian en tant que tel. Est-ce que cela peut être transposé à d’autres équipes ou projets ? Quelles sont les limites ? Pouvons-nous définir un cadre d’utilisation et clarifier les règles ? je m’attends à une table ronde très intéressante. Mehdi Dogguy a accepté d’animer cette table ronde avec moi.

Empaquetage

Django J’ai poussé la version 1.8.12 vers jessie-backports, ainsi que la version 1.9.5 vers unstable. J’ai créé deux rapports de bogue auprès de l’amont (n°26473 et n°26474) pour des problèmes repérés grâce à lintian.

Malheureusement, lorsque j’ai voulu faire de même vers unstable, la suite de tests n’a pas fonctionné. Après analyse, j’ai attribué cela à une régression dans SQLite. Chris Lamb a créé le rapport de bogue n°820225, et j’ai contacté les développeurs amont Django et SQLite par email, pour leur indiquer le souci. J’ai aidé l’auteur amont SQLite (Richard Hipp) à reproduire le problème, après quoi il a soumis très rapidement un patch, qui a atterri dans la version 3.12.1.

J’ai réalisé plus tard dans le mois un autre envoi, pour corriger un bogue de mise à jour (cf. le n°821789).

GNOME 3.20 Comme pour chaque nouvelle version, j’ai mis à jour gnome-shell-timer, de sorte à ce qu’il fonctionne avec le nouveau GNOME. J’y ai passé cette fois-ci un peu plus de temps qu’à l’habitude, afin de corriger une régression (cf. le n°805347) datant d’il y a bien longtemps déjà, et qui n’aurait jamais été corrigée autrement, l’auteur amont ayant déclaré orpheline cette extension (n’utilisant lui-même plus GNOME).

J’ai également rencontré des problèmes d’affichage, à savoir que les caractères accentués étaient affichés sous les caractères suivants. Avec l’aide de membres de l’équipe GNOME, nous avons découvert qu’il s’agissait d’un problème spécifique à la police cantarell, et n’était déclenché qu’avec Harfbuzz 1.2. C’est consigné dans Debian via le bogue n°822682 en ce qui concerne harfbuzz, et n°822762 pour ce qui est de fonts-cantarell. Une nouvelle version amont (incluant le correctif) est prête à être empaquetée, mais reste malheureusement bloquée par l’absence d’une version récente de fontforge dans Debian. J’ai donc contacté debian-mentors dans l’espoir de trouver des volontaires qui pourraient aider l’équipe pkg-fonts à en empaqueter une version plus récente…

Travaux divers Debian/Kali

Distro Tracker J’ai commencé à parrainer Vladimir Likic, qui m’a contacté dans le but de contribuer au Distro Tracker. Je l’ai aidé à mettre en place son environnement de développement, et nous avons corrigé quelques problèmes ce faisant.

Rapports de bogues J’ai créé de nombreux rapports de bogue, la plupart du fait de mon travail pour Kali :

  • n°820288: requête demandant le maintien d’un paquet WordPress installable sur les versions anciennes (du fait du renommage de nombreux paquets php);
  • n°820660: requête demandant le support des index by-hash dans reprepro;
  • n°820867: possibilité de surcharger la priorité de paquets déjà installés dans reprepro;
  • n°821070: problème de samba-vfs-modules lors de la mise à jour de jessie vers stretch;
  • n°822157: python-future masque et casse python-configparser;
  • n°822669: dh_installinit ajoute des autoscript inutiles pour les scripts System V, lorsque le paquet n’en contient aucun;
  • n°822670: dh-systemd devrait être fusionné avec debhelper, car nous disposons de systemd par défaut, et debhelper devrait le supporter correctement par défaut.

J’ai également étudié le n°819958 qui affecte testing, dans la mesure où il a été remonté dans Kali également. J’ai réalisé un envoi de dh-make-golang en tant que non-mainteneur, afin de corriger le problème du n°819472, que j’avais rapporté auparavant.

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 April 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 janvier 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

Aucune heure subventionnée n’a été demandée ce mois-ci, ce qui sera également le cas des cinq prochains mois : je dois m’occuper d’un projet important, dont l’échéance est en juin. Ceci étant dit, je me suis tout de même occupé de quelques tâches en lien avec LTS :

  • J’ai envoyé une nouvelle version de debian-security-support (2016.01.07), afin d’officialiser la fin du support de virtualbox-ose dans Squeeze, de même que celui de Redmine qui n’a jamais vraiment pu être assuré, puisque nous avons arrêté le support de rails;
  • J’ai rédigé un résumé de la discussion portant sur les éléments de Wheezy à supporter, et commencé un nouveau round de discussions comportant quelques questions ouvertes. J’ai invité des contributeurs à choisir un sujet, l’étudier et apporter une conclusion à la discussion;
  • J’ai posté un article de blog afin de recruter de nouveaux contributeurs payés. Brian May, Markus Koschany et Damyan Ivanov se sont portés volontaires, et effectueront leurs premières heures subventionnées ce mois de février.

Distro Tracker

Du fait de nombreuses nuits passées à jouer à Splatoon (j’en suis au niveau 36, rang A-. Vous y jouez également ?), je n’ai pas fait grand chose sur le Distro Tracker.

Après avoir reçu le rapport de bogue n°809211, j’ai investigué les raisons du mauvais fonctionnement de SQLite dans Django 1.9, et ouvert le ticket amont 26063. J’ai également eu une longue discussion avec deux des développeurs amont, afin de trouver le meilleur moyen de corriger le problème. La prochaine version mineure (1.9.2) corrigera cette ennuyeuse régression.

J’ai également intégré quelques ccontributions : deux patchs de Christophe Siraut, l’un ajoutant les descriptions aux mots-clés, cf. le n°754413, et l’autre rendant plus visible le fait que les chevrons des items d’actions sont cliquables, afin d’afficher plus d’informations. De même qu’un patch de Balasankar C dans le n°810226, corrigeant une mauvaise URL dans un item d’action.

J’ai corrigé un petit bug dans la commande « désabonnement » du bot email, qui ne reconnaissait pas correctement les paquets source.

J’ai mis à jour la tâche de notification des nouvelles versions amont, qui utilise maintenant les données générées par UDD, en lieu et place des données générées par l’implémentation de Christoph Berg, qui souffrait de quelques bogues.

Empaquetage Debian

Test du sbuild d’experimental Alors que je suivais le travail de Johannes Schauer sur sbuild, j’ai installé la version du dépôt experimental pour soutenir son travail et lui faire part de mon retour. Ce faisant, j’ai découvert le bogue n°810248.

Parrainage Python J’ai passé en revue et poussé plusieurs paquets pour Daniel Stender, qui continue à faire un sacré travail de maintenance sur prospector et toutes ses dépendances récursives : pylint-common, python-requirements-detector, sphinx-argparse, pylint-django et prospector. Il a également préparé un envoi de python-bcrypt, que j’ai demandé le mois dernier pour Django.

Empaquetage Django J’ai poussé Django 1.8.8 vers jessie-backports. Mes mises à jour stable pour Django 1.7.11 n’ont pas été traitées avant la publication de Debian 8.3, et ce même si elles avaient été demandées plus d’un mois et demi avant l’échéance.

Divers Ma mise à jour stable pour le Cahier de l’Admin a été acceptée peu de temps après mon dernier rapport mensuel (merci Adam !). J’ai de ce fait poussé le paquet une fois reçue l’autorisation d’un responsable de la publication. J’ai également parrainé un rétroportage de zim préparé par Joerg Desch.

Travaux relatifs à Kali

Noyau Le passage de Kali à Linux 4.3 a eu pour conséquence la création de quelques rapports de bogue, que j’ai analysés avec l’aide de #debian-kernel. Canal où j’ai fait part des résultats de mes investigations, ce afin que le noyau Debian profite également des correctifs que j’ai envoyés pour Kali. Nous avons tout d’abord inclus un patch corrigeant une régression du pilote vidéo vmwgfx, utilisé par les machines virtuelles VMWare (régression qui cassait l’écran d’accueil gdm). Puis nous avons corrigé le udeb input-modules, afin de permettre la prise en charge de certains clavier Logitech au niveau de debian-installer (cf. le n°796096).

Divers J’ai réalisé un upload en tant que non-mainteneur de python-maxminddb, afin de corriger le n°805689. Ce paquet a été retiré de Stretch, mais nous en avons besoin dans Kali. J’ai du faire de même pour libmaxminddb, qui n’était plus disponible pour l’architecture armel, qui est encore supportée par Kali. Durant cet envoi, je me suis aperçu que dh-exec n’avait pas d’option « d’installation optionnelle », de sorte à ce que l’installation d’un fichier n’échoue pas si ce dernier n’existe pas. J’ai créé en conséquence le n°811064, qui a soulevé pas mal de débats.

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