Lundi 10 décembre 2018

Cher Journal,

Aujourd'hui, how-can-i-help m'a indiqué que le programme noweb, qui est un outil de programmation lettrée, risquait de sauter de la future Debian 10. Le diagnostic fatal : noweb dépend du paquet iconx, fournit par le paquet source icon, qui lui même échoue à la compilation à partir des sources, depuis la mise à jour de la bibliothèque C standard en version 2.28.

Comme Debian est un système Open Source, en plus d'être en moyenne plutôt un système Libre, le code source de icon à pu être obtenu à grands coups de :

$ apt source icon

Effectivement, quelque part au fin fond du programme, un bricolage un peu hideux à l'intérieur de la structure FILE tentait de déterminer si le programme devait être compilé pour d'anciennes versions de la GlibC (voir antédiluviennes), pour BSD, ou pour AT&T Unix. Peu de temps a été nécessaire pour deviser sur un correctif, qui a pu être testé comme opérationnel en Debian Stable (Stretch), Testing (Buster) et Unstable (Sid). Merci à pbuilder d'avoir facilité la tâche :

$ sudo apt install pbuilder
$ sudo pbuilder create \
>	--mirror http://deb.debian.org/debian/ \
>	--distribution stable
$ sudo pbuilder build icon_9.4.3-6.dsc

Le programme a besoin des droits administrateurs pour pouvoir construire l'environnement cloisonné qui servira à la compilation.

Tout content de mon correctif, ce dernier est publié sur le Bug tracker. Un peu plus tard, en creusant dans les fichiers source, un fichier README me permet de localiser le dépôt d'origine d'icon, au département de sciences informatiques de l'Université d'Arizona.

Après avoir un peu gratté, le problème s'était finalement posé chez eux aussi, et un patch quasiment identique, laissant tomber aussi le support des vieilles versions de la GlibC, a été produit.

En dernière lecture, la version 9.5.1 de icon n'est en fait toujours pas stabilisée. Cela ne la rend peut-être pas compatible avec Debian à l'instant t. Le patch d'origine n'est peut-être pas si malvenu finalement.

[ICO]NameLast modifiedSize
[PARENTDIR]Parent Directory  -

  —