Mes activités libres en octobre 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 commencé à travailler le mois dernier sur le paquet tiff3, mais je n’ai pas eu suffisamment de temps pour compléter la mise à jour. Il s’est avéré que les problèmes étaient suffisamment épineux pour que personne ne prenne le relai. En conséquence, j’ai recommencé à travailler sur tiff3 et tiff ce mois-ci, passant l’intégralité des 13 heures allouées sur ces deux paquets.

J’ai soumis des rapports de bogue pour des problèmes non encore remontés sur le suiveur de bogues (n°842361 pour la CVE-2016-5652, n°842046 pour les CVE-2016-5319/CVE-2016-3633/CVE-2015-8668). J’ai marqué plusieurs CVE comme n’affectant pas tiff3, dans la mesure où ce paquet n’embarque pas d’outils, a contrario du paquet source « tiff ».

Dans la mesure où l’amont a décidé d’abandonner plusieurs outils plutôt que de corriger leurs failles de sécurité, j’ai également opté pour leur retrait. Avant de faire cela, j’ai recherché les dépendances inverses de libtiff-tools, afin de m’assurer qu’aucun des outils supprimés n’était utilisé par d’autres paquets (ce que le mainteneur semble confirmer).

J’ai rétroporté les patchs amont pour les CVE-2016-6223 et CVE-2016-5652.

Mais le plus clair du temps a été passé sur les CVE-2014-8128, CVE-2015-7554 et CVE-2016-5318. Je pense qu’il s’agit là de plusieurs variantes d’un même problème, ce que l’amont semble penser également, puisqu’il a créé une sorte de meta-bogue pour les suivre. Je me suis inspiré d’un patch suggéré dans le ticket n°2499, que j’ai un peu généralisé en essayant d’ajouter les données du tag pour tous les tags manipulés par les divers outils. Ce fut un processus laborieux, car il y a de nombreux tags qui sont utilisés à de nombreux endroits. Ceci étant, cela a marché comme prévu. Je ne parviens plus à reproduire les erreurs de segmentation avec les fichiers qui posaient problème.

J’ai demandé de l’aide sur la liste de diffusion pour passer en revue/tester le résultat, mais n’ai pas eu beaucoup de retour. Je vais bientôt pousser les paquets mis à jour.

Distro Tracker

J’ai noté une augmentation soudaine du nombre d’adresses email automatiquement désinscrites du suiveur de paquets Debian, et j’ai reçu quelques requêtes de rejet (« bounces »). Il s’avère que le suiveur de bogues a relayé beaucoup de spams, auxquels étaient attachés des fichiers exécutables. Spams qui ont donc été rejetés par Google (et non pas simplement mis de côté). Ce qui est regrettable… il y a peu de chance que le flux de spams se tarisse, et il n’y a pas non plus de raison d’attendre de Google qu’il change de comportement. Je n’ai donc eu d’autre choix que d’essayer de rendre le gestionnaire de rejet plus intelligent, ce que j’ai fait : j’ai mis en place une liste d’expressions régulières qui vont annuler un rejet. En d’autres termes, une fois que le rejet correspond à l’une de ces expressions, celui-ci n’est plus pris en compte dans le déclenchement de la désinscription automatique.

Travaux Debian divers

Rapports de bogue créés Dans le ticket n°839403, j’ai suggéré la possibilité de définir directement l’indice de priorité d’une source dans le fichier sources.list. Dans le n°840436, j’ai demandé au mainteneur du paquet selenium-firefoxdriver de faire le nécessaire afin que son paquet non-libre soit compilé automatiquement.

Empaquetage J’ai parrainé la version 2.0.2-0.1 de puppet-lint, et passé en revue le paquet rozofs (que je viens juste de parrainer dans experimental, pour commencer).

Publicité Je maintiens le compte Debian sur Twitter et Facebook. J’ai utilisé twitterfeed.com jusqu’à présent, mais ce dernier est en train de fermer. J’ai suivi leurs recommandations et basculé vers dlvr.it, de sorte à ce que les entrées soient automatiquement reprises depuis le fil micronews.debian.org. Dans le rapport de bogue n°841165, j’ai remonté le fait qu’il manque aux chroots créés par sbuild-createchroot les entrées IPv6 habituelles créées par netbase. Dans le ticket n°841503, j’ai consigné un problème que j’ai constaté de nombreuses fois (dans Debian et Kali) lors de mises à jour d’une installation cryptsetup typique.

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

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.

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.