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.

Mes activités libres en octobre 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 13,25 heures de travail sur Debian LTS qui ont été subventionnées. Elles ont été consacrées aux tâches suivantes :

  • J’ai préparé et publié la DLA 330-1, corrigeant deux vulnérabilités CVE affectant unzip;
  • J’ai préparé une mise à jour de bouncycastle corrigeant la vunérabilité CVE-2015-7940 (après avoir demandé l’assignation d’un numéro CVE, personne ne l’ayant fait auparavant). Je n’ai pas encore publié la DLA correspondante, car j’attends une revue de code par un des auteurs amont. Il s’agit d’un code de chiffrement Java qui n’était absolument pas trivial à rétroporter, je souhaite donc être certain de n’avoir rien cassé. Les patchs sont accessibles via le rapport de bogue n°802671 que j’ai ouvert;
  • J’ai testé la mise à jour vers MySQL 5.5 avec de multiples paquets et fait part de mes découvertes sur la liste de diffusion debian-lts.

J’ai également initié une discussion sur les travaux que les contributeurs rémunérés pouvaient entreprendre s’ils avaient un peu de temps disponible, dans la mesure où le niveau de financement actuel peut nous permettre d’investir un peu de temps sur autre chose que les mises à jour de sécurité.

Cahier de l’Admin Debian

J’ai passé pas mal de temps à la finalisation de la mise à jour du livre pour Jessie, à la fois pour ce qui est du contenu et ce qui concerne la mise en page de la version papier.

Debian Handbook: cover of the jessie edition

Divers travaux Debian

GNOME 3.18. J’ai envoyé une nouvelle version de gnome-shell-timer compatible avec GNOME Shell 3.18, et créé les rapports de bogue n°800660 et n°802480 concernant une ennuyeuse régression de gnome-keyring… J’ai réalisé de nombreux tests avec le mainteneur Debian (Dmitry Shachnev, merci à lui !) et les développeurs amont (cf. ici et ). Mises à part ces régressions, j’aime beaucoup GNOME 3.18 !

Migration de l’équipe python-modules vers Git. Après la migration vers Git, et puisque la politique de l’équipe impose maintenant l’utilisation de git-dpm pour tous ses membres, j’ai fait quelques essais avec ce dernier sur le paquet python-django, alors que je poussais sa version 1.8.5 vers experimental. Et le moins que je puisse dire est que je ne suis pas satisfait du résultat. J’ai rapporté 3 bogues synthétisant les problèmes que j’ai rencontrés avec git-dpm : n°801666 (aucun moyen de définir les noms de branches amont depuis le dépôt), n°801667 (aucun moyen satisfaisant de fusionner différentes branches d’empaquetage) et n°801668 (la création du tag amont n’est pas immédiate lors de l’import du tarball). Ces trois-là ne sont qu’une sélection parmi d’autres bogues ridicules déjà remontés tels que le n°801548 (ne marche pas avec des tags amont pré-existants et parfaitement valides).

Empaquetage Django. J’ai créé des rapports de bogue pour tous les paquets ayant des dépendances de compilation vers python-django qui échouaient à la compilation avec Django 1.8, et j’ai informé les mainteneurs que j’enverrai Django 1.8 vers unstable début novembre (ce qui est déjà fait). J’ai ensuite moi-même corrigé python-django-jsonfield, car le Distro Tracker dépend directement de ce paquet.

A la suite de cette remontée de bogues en masse, j’ai demandé une amélioration du paquet devscripts, et plus précisément du script « mass-bug » (cf. le n°801926). Et puisque j’ai utilisé « ratt » pour recompiler les paquets, j’ai créé une demande d’évolution pour ce nouvel outil également.

Mise à jour vers Tryton 3.6. J’ai mis à jour mon installation de Tryton vers la version 3.6, et créé le rapport de bogue n°803066 pour remonter le mauvais fonctionnement du script d’init SysV. Ce qui m’a rappelé que le processus de nomination au statut de Développeur Debian de Matthias Behrle (le mainteneur du paquet tryton) était à l’arrêt, du fait d’un bogue dans l’infrastructure NM. J’ai donc contacté l’équipe NM et nous avons trouvé un moyen de relancer le processus…

Distro Tracker. J’ai continué mon travail de refactorisation du processus de gestion des emails entrants (branche people/hertzog/mailprocessing). C’est à peu près finalisé et je dois maintenant l’éprouver dans un environnement de test, avant d’être capable de le déployer sur tracker.debian.org.

Cherche traducteur et relecteur pour le livre « Free Culture » de Lawrence Lessig

Ce n’est pas strictement lié à Debian, mais je voulais relayer un appel à l’aide de Benoît Guillon (l’auteur de dblatex qui m’a beaucoup aidé lorsque je travaillais sur la version anglaise du cahier de l’admin Debian) qui s’est lancé dans la traduction française du livre « Free Culture » de Lawrence Lessig.

Il cherche donc des relecteurs et des traducteurs et s’est associé avec Petter Reinholdtsen (un développeur Debian de longue date, qui travaille sur la traduction norvégienne du même livre) pour gérer cette traduction dans son dépôt git.

La traduction est géré sous Transifex:
https://www.transifex.com/pere/free-culture-lessig/

Le livre est sous licence Creative Commons (mais avec une restriction pour l’usage commercial apparemment). Le brouillon actuel est disponible ici.

N’hésitez pas à vous mettre en relation avec Benoît si vous êtes intéressé et/ou si vous voulez plus d’informations.

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