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.


Je me suis déjà énervé sur la mauvaise habitude des posteurs de Planet Ubuntu-FR consistant à donner à “recopier” des lignes de commandes obscures là où une phrase permettrait d’être bien plus didactique. Je ne vais pas remettre ça, surtout qu’à chaque fois, ça tourne au troll.

Mais parfois, au détour d’un billet, on tombe sur une perle :

sudo -s && apt-get install 915resolution && cd /etc/default/ && mv 915resolution 915resolution.bak && echo -e “MODE=auto\nXRESO=1280\nYRESO=800\nBIT=” > 915resolution

Y a rien qui vous choque ?

Indice : sudo -s && id

Update : Visiblement j’ai pas été assez clair. “sudo -s” execute un sous-shell. Du coup, le reste de la commande ne s’exécute pas en tant que root. Regarde cet exemple:

***lucas@beothuk:~$ sudo -s && id
***root@beothuk:~# # <-- sous shell executé par sudo -s ***root@beothuk:~# exit exit uid=1000(lucas) gid=1000(lucas) groups=4(adm),20(dialout),[....] ***lucas@beothuk:~$

YeKcim, au lieu de monter sur tes grands chevaux, tu ferais mieux de comprendre ce que tu demandes aux autres de taper.

Update 2 : J’ai viré tous les commentaires (comme ça pas de jaloux). Vous pouvez me mailer si vous souhaitez réagir.

Update 3 : Pour être encore plus clair : l’objet de ce post n’est pas la longueur de la commande que yeKcim demande à ses lecteurs de recopier, mais le fait que la commande ne fasse pas ce qu’elle est supposée faire.

When Ubuntu users discover that unofficial repositories can be harmful

Unofficial APT repositories are a PITA in the Ubuntu community. Most users use stable release (see previous post about that) since Ubuntu development releases tend to be much more bleeding edge than Debian unstable. But users still want the newest software, so they use unofficial repositories. There are lots of posts about private repositories on, and it seems to be the same on other local planets.

Recently, somebody posted a sources.list file with a huge list of unofficial repositories. The maintainer of one of these repositories, Jοhan Kiviniemi, was surprised to be in this list without even being contacted first. He chose a good answer: he uploaded a package with cool new default wallpapers. He also wrote a detailed explanation, with which I couldn’t agree more.

But this story raises a question: why do all these people work on their unofficial repositories, instead of filing and fixing bugs, improving the official packages, and getting their packages into Ubuntu ? It’s a shame that so much manpower is lost on such stuff.

PS: Johan Kiviniemi seems to have a lot of good opinions. :-)

List operators on files in shell ? (updated)

I often need to do list-like operations on files in shell, for example:

  • substract lines in one file from the lines in another file
  • add lines from two lines, suppressing duplicates
  • keep only lines which are not in both files
  • keep only lines which are in both files
  • etc

Such operations are easy to do with a combination of sort, uniq, cut, diff, etc. But they are so basic operations that it is a bit annoying to write the small shell script each time I need to do one of them.

Isn’t there a tool out there already providing all of them ?

Also, it would be great if such operations could be achieved considering only the first n characters or words (a bit like uniq -w, or the removed uniq -W option). It would be an easy way to do :

i1 c1
i2 c2
i3 c3
i4 c4



Comments are opened.

Update: many people pointed me to moreutils‘ combine. It looks good, bug not exactly what I need, so I filed wishlist bugs #398187 (combine: provide aliases for set theory operators) and #398193 (combine: allow to compare only on a subset of the lines). I won’t have time to provide patches, so if somebody want to work on them …. :-)

Feature request: confirmation for non-member posts in mailman

There are basically two kinds of setups for mailing lists managed using Mailman, regarding posts from non-members :

  • Accept posts from non-members. This lead to quite a lot of spam on the list, but also to no work for the moderators.
  • Put posts from non-members in a moderation queue. This result in a spam-free mailing list, but also in a lot of work for moderators, and in posts delayed for days.

It would be great if Mailman could ask the sender for confirmation (either email-based or web-based) before accepting the mail or putting it in the moderation queue. This would greatly reduce the amount of spam on the list or in the moderation queue.

This is also known as Mailman feature request #673265. A similar feature has apparently been in Sympa for nearly 4 years.

Wiki-like editing of tables/spreadsheets to share QA meta-information about packages ?

I’ve been working on archive rebuilds lately (rebuilding all etch packages inside etch). It generates a lot of data to analyze (failed build logs), and the work could easily be split between several developers.

For each package which fails to build, I add a line in a Gnumeric spreadsheet with the package name, the version I tried to build, the output of a script which tries to guess the reason for the failure using regexps, and the “resolution” (was a bug filed ? a new package not yet in testing ?) (example here)

Instead of doing this locally in Gnumeric, I’d like to do that online, using wiki-like editing, so other people could investigate different failures concurrently.

My ideal piece of software would:

  • be efficient to use (something AJAX based would be great)
  • allow for line-based locking, so people can just lock the line they are working on
  • allow for CSV-export/import, so I could fetch the whole data, add new failures using a script, and import it back

Does this exist ? :-)