Back from the Debian QA meeting in Extremadura

I’ve spent the last few days in Badajoz for the Debian QA meeting in Extremadura. It was my first Debian event, and it was really nice to finally meet all those developers I only knew over the Internet until then. The organisation was very good in general, and César Gómez really deserves kudos and some rest now :-)

In addition to the usual mail processing, I worked on a few things:

  • I processed some logs from a rebuilt of all packages in etch and filed about 20 RC bugs about FTBFS. I also did several libpng-related rebuilds, checking that etch packages that b-dep on it still build with the proposed new version. And I investigated a few bugs.
  • I also worked on a dirty script to generate the List of packages with problems wrt release (packages in etch with RC bugs, or packages in unstable but not in testing). See the list sorted by maintainer, and the list sorted by popcon score. Despite the unavoidable high number of false positives, I think that some maintainers were actually unaware of the status of their packages, so the list was probably useful.
  • I gave a talk about Collaborative QA. The idea is try to move from the current non-organisation (QA one by a bored developer, on his own, because the release is approaching) to a more organized structure (team ?), allowing to share the load and share information (blacklists, false positives lists, processes, etc). I’m not sure yet if this will work, because many people consider that the current way of working on QA is OK, but I’ve created the collab-qa alioth project, and will try to use it to store information about my archive rebuilds. More to come about this later.

In general, I was pleasantly surprised by the fact that all DDs there were very friendly, welcoming, etc. Quite different from the picture of the Debian project one can easily get by looking at the mailing list. It was really nice to have so many interesting discussions with interesting people.

Resurrecting “Debian package a day” ?

A long time ago (until Nov 2004), there was this good blog which described one cool Debian package every day. It allowed to discover a lot of interesting software, but it suddenly stopped being updated.

It would be nice to resurrect this. A team of editors could work on this, and readers could submit new entries. Editors wouldn’t need to be Debian users : we could have Ubuntu users too, and it would be a nice way to determine what are the things that have been packaged in Ubuntu that we should (but don’t) have in Debian yet.

Leave a comment if you would like to dedicate some time to this (either as an editor, or as a regular submitter of entries). If there’s enough manpower, I’ll try to setup a mailing list or something to discuss the minimum infrastructure we would need.

Ruby-feedparser hacking

It’s amazing how efficient you can be when you are forced to work offline. So, thanks to Tele2, I’ve been offline at home for 16 days now, which caused major improvements to Ruby-feedparser.

  • It now outputs the list of enclosures in the text and html outputs. This means that feed2imap will automatically support podcasting if you upgrade to the newer ruby-feedparser.
  • It now rewrites relative URLs. Some blogs use links such as , which is wrong, because you don’t know where to find that /images dir, of course. It should probably be the blog engine’s responsability to rewrite such URLs, but some of them don’t. Ruby-feedparser now tries hard to guess which is the correct location for the file.

This second change is very cool : when running the next update using feed2imap, I fetched a lot of posts with embedded images that I couldn’t read before. :-)

Rencontres Mondiales du Logiciel Libre / Libre Software Meeting

I’ll be attending the RMLL/LSM this year again, in Nancy from July 4th to 8th. Ping me if you are going there too, we could chat a bit :-)

Like almost every year, organizers aren’t very good at communication, and there are many open questions :

  • The registration deadline is today, however, it seems you can cancel your registration on the web page after today. Does it mean that if you are not sure of coming, you can just register today and then cancel later ? (it seems so)
  • Will internet access be available ? Will it be shut down during Thursday afternoon like last year ? :-)

Ouverture de Planet JabberFR

Gr�ce au travail de Talou, JabberFR.org propose maintenant Planet.JabberFR.org, un agr�gateur des blogs francophones parlant de Jabber. N’h�sitez pas � contacter Talou si vous avez une cat�gorie “Jabber” sur votre blog ! (voir aussi le thread sur le forum de JabberFR.org � propos de �a).

Je profite de ce billet pour placer un lien vers un article co-�crit avec Nyco sur LinuxFR.org : Jabber explose.

Le format RST : reStructuredText

Le format RST (reStructuredText) est un format ouvert WYSIWYG très simple et très pratique, avec un rapport signal/bruit proche de l’optimal. Son cas d’utilisation typique est l’écriture de petits documents (TODO lists, résumés, courts articles, etc…). Il permet d’écrire des documents naturellement, avec simple éditeur de texte. Mais prenons plutôt un petit exemple :

 ================= Titre du document ================= Titre de section ================ Titre de sous-section --------------------- Titre de sous-sous-section ~~~~~~~~~~~~~~~~~~~~~~~~~~ ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe ceci est un paragraphe. - Une liste - 2eme item   * imbrication de listes   * imbrication de listes, 2eme item - 3e item 1) liste ordonnée 2) suite de la liste ordonnée --------- Il y avait une ligne de séparation avant ce paragraphe. Une autre section ================= Les liens comme http://www.perdu.com sont transformés dans la version HTML. On peut aussi faire des liens avec des titres comme `ce lien <http://www.perdu.com>` 

Et on peut exporter vers de l’HTML (XHTML 1.0 Transitional, en fait), du LaTeX (pour faire du PostScript ou du PDF) ou du XML (idéal si vous maitrisez XSLT). Le convertisseur vers l’HTML est suffisamment rapide pour l’exécuter depuis un fichier PHP : ca vous fait un moyen de lire facilement votre TODO list à distance.

Pour installer rst2html, rst2latex et rst2xml sous Debian, c’est le paquet python-docutils (RST étant utilisé pour écrire de la doc Python).

Si vous voulez en savoir plus :

Faire le ménage sur son Ubuntu

Si vous utilisez Ubuntu depuis les temps héroïques où Ubuntu s’appellait encore no-name-yet, ou si vous passez votre temps à essayer tous les paquets disponibles, votre système a probablement besoin d’un peu de nettoyage.

D’abord, il y a les paquets que vous avez installé il y a longtemps, et qui ne sont plus dans Ubuntu. Hé oui, ça arrive. Et vous ne voulez pas garder ces paquets installés, car plus dans Ubuntu = plus de mises à jour de sécurité ! Pour les trouver, rien de mieux à ma connaissance qu’un sudo apt-show-versions |grep -v uptodate, qui liste tous les paquets pas à jour.

Une autre plaie : tous ces programmes que vous avez installé une fois pour les essayer, mais que vous n’utilisez plus depuis longtemps. Pour commencer, un deborphan vous listera les bibliothèques sur lesquelles aucun autre paquet Debian ne dépend. Celles là, il y a de fortes chances pour que vous puissiez les supprimer les yeux fermés.

Mais deborphan ne traite que les bibliothèques (ou alors, avec l’option -a, mais c’est pas évident à utiliser). Heureusement, il y a debfoster. debfoster vous demande si vous souhaitez conserver les programmes, mais d’une manière intelligente. Ainsi, par exemple, il commencera par vous demander si vous voulez garder ubuntu-desktop. Et ne vous demandera plus rien sur les paquets sur lesquels gnome dépend si vous répondez oui. Vous pouvez aussi purger un paquet : supprimer ce paquet, ainsi que tous les paquets cachés derrière et qui ne sont pas nécessaires à une autre feuille du graphe de dépendances. debfoster stocke ses informations dans un fichier, /var/lib/debfoster/keepers, qu’il suffit de supprimer pour faire oublier à debfoster tous les réponses qu’on lui a donné lors de lancements précédents.

Désolé, je n’ai pas de recettes miracles pour ranger son $HOME, par contre.

Mettez de la couleur dans votre terminal

Quand on débugge, parfois, on préfère utiliser des printf un peu partout que des vrais outils comme gdb. Simplement parce que parfois, gdb est inutile, ou insuffisant. Mais, à force de mettre des traces partout, la sortie devient vite illisible. Une solution pour éviter ça est d’utiliser de la couleur.[0]

Pour ça, on peut utiliser les caractères d’échappement d’xterm, c’est très facile et ça marche à peu près partout (en tout cas, là où c’est utile). Voici un petit exemple qui compile :

#include <stdio.h> int main() {    int i;    for (i = 30; i <= 37; i++)       printf("\e[%dmforeground %d\n", i, i);    printf("\e[m"); /* Raz */    for (i = 40; i <= 47; i++)       printf("\e[%dmbackground %d\n", i, i);    printf("\e[1;4;34;41mTexte bleu sur fond rouge en gras souligné\n");    printf("\e[0;39;49m\n"); /* Raz */    return 0; } 

Pour avoir la liste complète, c’est sur cette page. Attention, ça se lit comme une grammaire, c’est pas forcément évident au début.

[0] Il y a des gens qui, pour débugger, utilisent le son. C’est assez pratique pour repérer des patrons dans le comportement des programmes, l’oreille est très douée pour ça. Désolé, je ne trouve plus la référence… Si qqun connait…

Update : sur le meme sujet, un article de Linux Journal.