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

DebConf 16

A l’occasion de la DebConf 16, j’ai été présent en Afrique du Sud du 2 au 9 juillet, et j’ai animé trois présentations/tables rondes. Vous pouvez trouver les diapositives et vidéos de ces événements dans les liens de leurs pages respectives :

J’étais un peu nerveux en ce qui concerne la troisième table ronde (au sujet de l’utilisation des fonds de Debian pour financer les projets Debian) mais, après en avoir discuté avec de nombreuses personnes pendant cette semaine, il semble que les mentalités au sein du projet aient évolué ces dix dernières années. Bien que cela reste un sujet sensible (et ce à raison compte tenu des impacts potentiels), la volonté d’en discuter et d’expérimenter est présente. Vous pouvez jeter un coup d’œil aux gobby notes prises lors de la discussion.

J’ai passé la plupart du temps à discuter, et n’ai pas beaucoup contribué d’un point de vue technique, mis à part avoir essayé de – et échoué à – corriger les problèmes d’accessibilité rencontrés sur tracker.debian.org (toute aide experte sur le sujet est la bienvenue, cf. le ticket n°830213).

Empaquetage Debian

J’ai poussé la nouvelle version de zim afin de corriger le problème de reproductibilité (et j’ai transmis le patch à l’amont).

J’ai poussé Django en version 1.8.14 vers le dépôt jessie-backports, et j’ai du corriger l’échec d’un test (pull request).

J’ai également poussé la nouvelle version amont 1.0.1 de python-django-jsonfield, qui intègre les patchs que j’ai préparés en juin.

J’ai géré la transition de la (petite) bibliothèque ftplib : en préparant la nouvelle version dans experimental, en m’assurant que les dépendances de compilation inverses compilaient toujours, et en coordonnant la phase de transition avec l’équipe en charge de la publication. Tout cela a été déclenché par ce bogue de compilation reproductible que j’ai rencontré et qui m’a fait jeter un coup d’œil au paquet… la dernière fois l’amont avait disparu (et même son URL), mais il semble que l’activité ait repris et qu’une nouvelle version ait été poussée.

J’ai fait la demande n°832053 d’une nouvelle commande deblog dans devscripts. Cela devrait rendre plus facile l’affichage des logs des compilations courante et précédentes.

Travaux relatifs à Kali

J’ai travaillé à de nombreux problèmes affectant les utilisateurs de Kali (ainsi que ceux de Debian Testing) :

  • J’ai corrigé un bogue dans open-vm-tools, afin de retrouver le paquet dans Testing;
  • J’ai créé le rapport de bogues n°830795 concernant nautilus et n°831737 concernant pbnj, afin de remonter ces problèmes à Debian;
  • J’ai créé un patch pour fontconfig, de sorte à ce que les fichiers .dpkg-tmp soient ignorés. J’ai également transmis ce patch à l’amont et créé un rapport de bogues relatif à gnome-settings-daemon qui, en lançant fc-cache aux mauvais moments, est à la source du problème;
  • J’ai lancé une discussion pour voir comment corriger le problème du pavé tactile synaptics dans GNOME 3.20. Finalement nous nous sommes retrouvés avec une nouvelle version de xserver-xorg-input-all, qui ne dépend que de xserver-xorg-input-libinput, et non pas de xserver-xorg-input-synaptics (qui n’est plus supporté par GNOME). Auparavant l’auteur amont avait refusé de réintroduire le support synaptics;
  • J’ai créé le rapport de bogues n°831730 relatif à desktop-base, car le plasma-desktop de KDE n’utilise plus l’arrière-plan de Debian par défaut. J’ai du rechercher l’aide de l’amont pour trouver une possible solution (déployée dans Kali uniquement pour l’instant);
  • J’ai créé le rapport de bogues n°832503 pour remonter le fait que la manière dont dpkg traite les dépendances de foo:any lorsque foo n’est pas marquée « Multi-Arch: allowed » est contre-productive… J’ai découvert cela en essayant d’utiliser une dépendance firefox-esr:any. Et j’ai créé le rapport de bogues n°832501 pour obtenir le marqueur « Multi-Arch: allowed » désiré sur firefox-esr.

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

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

Empaquetage Debian

Django et Python J’ai poussé la version 1.9.7 de Django, et créé auprès de l’amont le ticket n°26755, concernant l’échec aux tests DEP-8.

J’ai empaqueté/parrainé python-django-modeltranslation et python-paypal. J’ai ouvert une demande de pull pour model-translation, afin de corriger les échecs des tests de compilation de paquet Debian.

J’ai empaqueté une nouvelle version de python-django-jsonfield (la 1.0.0), créé un rapport de bug et découvert une régression dans le support PostgreSQL. J’ai apporté mon aide sur le ticket amont, et me suis vu accorder les droits de commit. J’ai profité de cette opportunité pour faire un peu de tri dans les bogues, et pousser quelques corrections. J’ai également discuté du futur du module et fini par lancer la discussion sur la liste de diffusion des développeurs Django, concernant la possibilité d’ajouter un champ JSONField au noyau.

CppUTest J’ai poussé une nouvelle version amont (3.8), contenant plus d’un an de travail. J’ai découvert que « make install » n’installait pas un des header requis, et j’ai donc créé le ticket correspondant, accompagné d’un patch. Le paquet ayant échoué à la compilation pour plusieurs architectures, j’ai créé un autre rapport de bogue et préparé un correctif pour certaines de ces erreurs, avec l’aide des développeurs amont. J’ai également ajouté un test DEP-8 après avoir envoyé un paquet cassé (et non testé)…

Support de systemd pour net-snmp et postfix J’ai travaillé à l’ajout de service units systemd natifs pour net-snmp (n°782243) et postfix (n°715188). Dans les deux cas, les mainteneurs n’ont pas été très réactifs jusqu’à présent, en conséquence de quoi j’ai poussé mes modifications en tant que non-mainteneur.

Équipe pkg-security Lancée doucement il y a quelques mois, l’équipe que j’ai créée est maintenant en croissance, que ce soit du point de vue du nombre de membres ou de celui du nombre de paquets. J’ai créé la page wiki Teams/pkg-security obligatoire, et parrainé les paquets xprobe et hydra. Enfin, j’ai poussé une mise à jour de medusa, pour incorporer les changements en provenance de Kali dans Debian (et soumettre le patch à l’amont dans le même temps).

fontconfig Après avoir lu l’analyse de Jonathan McDowell au sujet du bogue que de nombreux utilisateurs de Kali et moi-même ont rencontré à de multiples reprises, j’ai créé le ticket n°828037, afin que celui-ci soit corrigé une bonne fois pour toutes. Malheureusement, rien n’a changé à ce jour.

DebConf 16

Ce mois-ci, une partie de mon temps a été consacré à la préparation des deux conférences et de la table ronde que je vais présenter/animer à Cape Town entre le 2 et le 9 juillet :

Distro Tracker

J’ai continué le parrainage de Vladimir Likic, qui a réussi à terminer son premier patch. Il travaille maintenant sur la documentation à destination des nouveaux contributeurs, sur la base de son expérience récente.

J’ai amélioré la configuration tox pour pouvoir lancer des tests sur Django 1.8 LTS avec les avertissements bloquants (python -Werror) activés. De la sorte, je serai sûr de ne pas me baser sur une fonctionnalité abandonnée, et donc que la base de code sera fonctionnelle avec la prochaine version LTS Django (1.11). Cela m’a permis de découvrir les quelques endroits où j’utilisais effectivement des API obsolètes, et où j’ai mis à jour le code pour ne plus en dépendre (la mise à jour de JSONField vers la 1.0.0 dont j’ai parlé plus haut en est un parfait exemple).

J’ai également corrigé quelques problèmes supplémentaires avec les en-têtes d’emails « repliés », qui ne peuvent pas être réutilisés dans un nouvel objet Message, à qui il manque le champ Objet. Tous ces soucis ont été détectés via des exceptions déclenchées par une activité de spam, exceptions qui m’ont ensuite été transmises par email.

Travaux relatifs à Kali

j’ai poussé un nouveau live-boot (5.20160608) vers Debian, pour corriger un problème où le processus de boot était bloqué à cause d’un timeout.

J’ai transféré un bogue Kali affectant libatk-wrapper-java (n°827741), qui s’est trouvé être finalement un bogue OpenJDK.

J’ai créé le rapport de bogue n°827749 concernant reprepro, et demandant une méthode de suppression des références à des fichiers internes sélectionnés. C’est nécessaire si l’on souhaite pouvoir faire disparaître un fichier, et si ce dernier fait partie d’une sauvegarde que l’on veut garder malgré cela. En vérité, je souhaite avant tout pouvoir remplacer le fichier .orig.tar.gz utilisé par Kali par le orig.tar.gz utilisé par Debian… ces conflits cassent les scripts de réplication/import.

Salt

J’ai utilisé salt pour déployer un nouveau service, et j’ai développé plusieurs patchs pour quelques problèmes rencontrés dans les formules salt. J’ai également créé une nouvelle formule letsencrypt-sh pour la gestion des certificats TLS avec le client letsencrypt.sh ACME.

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

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

Du fait de départs dans l’équipe et de l’augmentation de la charge de travail, j’ai souhaité trouver quelques nouveaux contributeurs rémunérés pour Debian LTS. Pour se faire, j’ai envoyé un email à la liste debian-jobs@lists.debian.org et, a contrario de la fois dernière (où je n’avais posté l’annonce que sur mon blog), j’ai reçu beaucoup de réponses en retour… Ce qui m’a permis de recruter six nouveaux contributeurs. J’ai du refuser trois candidatures, dont le profil ne correspondait pas.

Chaque nouveau contributeur devait gérer sur son temps libre au moins une mise à jour LTS, afin de s’approprier le processus. Mais des six nouveaux, seuls trois contributeurs ont effectué leur « mise à jour d’entraînement » en mai. 🙁

J’ai consacré beaucoup de temps ce mois-ci à guider les premiers pas des nouveaux contributeurs, tant sur la liste debian-lts que via emails.

J’ai également passé en revue une mise à jour xen, pour laquelle j’avais (à raison) quelques doutes sur la qualité du travail réalisé.

Travaux d’empaquetage

fonts-cantarell Après avoir diagnostiqué le problème le mois dernier, l’absence d’un paquet corrigé m’a suffisamment ennuyé pour que je réussisse à empaqueter une nouvelle version amont de fonts-cantarell qui ne requiert aucune mise à jour de fontforge… mise à jour qui va très vraisemblablement prendre du temps. J’ai donc préparé et envoyé la version 0.0.24-1.

cpputest Le bogue n°823711 faisait état de soucis de licence avec quelques fichiers. J’ai immédiatement remonté cela à l’amont (ticket 961) et corrigé le problème dans Debian, en ré-empaquetant l’archive d’origine. Heureusement, l’amont a rapidement traité le souci, et une nouvelle version (3.8) démunie des fichiers problématiques est disponible.

live-boot Les images live de Kali ne bootaient plus (bloquées dans l’initrd) et, avec l’aide de Ben Hutchings, nous avons remonté les causes du problème jusqu’au ticket n°823069, que j’ai corrigé dans live-boot 20160511.

udev J’ai créé le rapport de bogue n°824025 demandant l’isolation dans son propre fichier de la règle de gestion pilotant le nom (basé sur l’adresse MAC) des interfaces réseau USB, de sorte à ce qu’elle puisse facilement être désactivée (nous procédons de la sorte dans Kali).

Travaux divers J’ai empaqueté Django 1.8.13 dans jessie-backports, corrigé le n°824165 concernant l’échec de sbuild avec “$apt_allow_unauthenticated = 1;” dans .sbuildrc, créé la demande d’amélioration n°824168 suggérant qu’apt-listchanges ignore les news des paquets installés automatiquement, et créé le rapport n°825923 pour rapporter une régression dans python-nltk (découverte dans Kali en premier lieu).

Travaux d’infrastructure

packages.debian.org J’ai écrit, il y a de cela quelques mois, un patch pour packages.debian.org, afin que ce dernier transmette les emails vers tracker.debian.org, en lieu et place de packages.qa.debian.org. A cette époque, j’étais en contact avec Rhonda, et j’espérais qu’elle l’applique assez rapidement (le patch n’est pas très long). Après quelques relances, elle m’a fait remarqué qu’elle n’était pas seule et que je ferais mieux de soumettre la demande en bonne et due forme, de sorte à ce que quelqu’un d’autre s’en charge. Ce qui fut fait : ticket n°824085. J’ai essayé de trouver « quelqu’un d’autre » pour traiter ma demande, mais la plupart des membres de pkg_maint m’ont répondu qu’ils n’appartenaient à ce groupe que par implication générique des webmasters. Aussi ils ne souhaitaient pas toucher à cette partie. Martin Zobel, heureusement, fut plus réceptif à ma demande et m’a aidé à déployer les modifications. J’ai poussé ma modification et Martin l’a intégré dans le checkout live de picconi.debian.org.

Cette mise à jour constitue également le premier pas vers une possible utilisation de foo@packages.debian.org et/ou teams+foo@tracker.debian.org dans le champ « Mainteneur » du paquet. Nous pourrions nous débarrasser, avec cela, des listes de diffusion dédiées, qui ne font que dupliquer le travail du suiveur de paquets. Et nous n’aurions plus besoin de nous soucier du fait que le champ « Mainteneur » est géré différemment du champ « Uploader », dans la mesure où tous les co-mainteneurs (humains) seraient listés dans le champ « Uploader » uniquement (et le suiveur de paquets gèrerait correctement les emails envoyés au mainteneur).

Distro Tracker J’ai amélioré le processus d’import afin d’être en mesure de relancer le traitement de paquets source ayant déjà été importés. C’est en particulier utile pour prendre en compte les architectures récemment ajoutées dans la base de données (et qui étaient du coup ignorées et donc non affichées jusqu’à maintenant).

J’ai également revu une première fois le patch AppStream soumis par Matthias Klump dans le ticket n°806740.

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

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.