Efficient key signing

I just finished signing all the keys from the FOSDEM KSP.

Importing keys I received:
Mutt is nice. You can tag all messages with ‘t’, then use ‘;’ (tag-prefix) and ^K (Ctrl + K) to import all signatures. (Thanks Myon + sam for the tip)

Signing keys:
caff (featured on debaday last week) has some useful info in /usr/share/doc/signing-party/, especially the README.many-keys and README.gpg-agent files.

State of software for Suspend to RAM/Disk ?

Dear readers,

I am the mostly happy owner of a Dell Latitude D610 (the one with the ATI video card), running Debian Etch. I installed the hibernate package to try to get Suspend to RAM and to Disk to work, and Suspend to Disk worked out of the box. But Suspend to RAM didn’t work (garbled screen at resume).

I never bothered to investigate this until today, when I discovered that acpi-support provides the same functionality, and works both for Suspend to RAM and to Disk ! I’m happier now, but I would like to understand, and the world of ACPI and Suspend to RAM/Disk is very difficult to grasp for newcomers.

What is the story behind hibernate and acpi-support ? Why was this duplication of effort needed ? Also, it seems that gnome-power-manager and kpowersave provide the same functionality. Why can’t they just call the relevant acpi-support or hibernate scripts ? How do those different implementations compare (what are their main differences ?) ? Looking at the packages content, it seems that hibernate tries to be generic, while acpi-support gave up, and handles each and every laptop model differently. Correct ? Also, hibernate seems to be handling a few things better, like getting my network interface back up after hibernation.

Finally, the last question: how do one debug Suspend issues, when it fails to work ? Is there a document somewhere explaining that ?

Working evince and poppler in Debian Etch

Evince and poppler (the library used to render PDFs) are quite outdated in etch, and fail to display correctly a number of PDF files (including PDFs generated by latex-beamer). There’s a new poppler version (0.5.x, vs 0.4.5 in etch), but it bumps the soname, so it’s a no-go.

Since I was particularly annoyed by this (I’m an evince fan), I looked at the issue, and found that entry in poppler’s changelog for version 0.5.1:

2006-02-16  Albert Astals Cid

        * qt4/src/Makefile.am:
        * qt/Makefile.am:
        * poppler/Makefile.am:
        * glib/Makefile.am: Update soname as we are not really compatible
        anymore with previous releases that had soname 0.0.0

And I thought that maybe, the soname update was not totally justified. I modified the package in experimental (v.0.5.4) to remove the soname bump, and renamed the binary packages so it becomes a drop-in replace for the version in etch.

It works fine for me with the version of evince in etch, and seems to fix at least #369164, #409758, and #410085.

Packages are available here. Of course, this is totally unsupported, and I have not done any careful testing. But it works for me until now, and I’l update this entry if I discover some problems. Also, I don’t plan to maintain this on the long term, so beware of security bugs.

Update : This breaks tetex (see #356079). Arg. I’ll have to use the experimental version…

Running Debian on your Linksys WRT54G* … sort of

I’m the happy owner of a Linksys WRT54GL. OpenWRT is nice, but … well. Debian is just nicer. And I couldn’t resist the idea of running Debian on this little MIPS system. Since there’s clearly not enough space available on the Linksys, I decided to install etch in a chroot, that I would mount using NFS.

Joey tried that already, the Debian wiki provides some information, but I use another technique.

First, on another system (an i386, I debootstrap’ed a mipsel etch, using --foreign. This tells debootstrap not to run the second stage:
debootstrap --arch mipsel --foreign etch /space/debian-mipsel http://ftp.fr.debian.org/debian

Then, I modified /etc/exports to allow the router to mount that chroot:
/space/debian-mipsel 192.168.1.1(rw,sync,no_root_squash)

I mounted it on the router:
ipkg install kmod-nfs
insmod sunrpc
insmod lockd
insmod nfs
mount -t nfs star:/space/debian-mipsel /debian -o nolock
mount -t proc /dev/null /debian/proc

I set up some swap space on the NFS mount (mandatory, or debootstrap’s second stage will fail):
ipkg install losetup
ipkg install kmod-loop
ipkg install swap-utils
dd if=/dev/zero of=/debian/swapfile bs=1M count=100
losetup /dev/loop/0 /debian/swapfile
mkswap /dev/loop/0
swapon /dev/loop/0

I chrooted inside /debian, and ran debootstrap’s second stage:
chroot /debian /bin/bash
debootstrap/debootstrap --second-stage

When you are done playing, you can disable the swap space and umount everything:
swapoff /dev/loop/0
losetup -d /dev/loop/0
umount /debian/proc
sleep 1 # or umount /debian will fail
umount /debian

If you want to re-mount everything, all you need to do is:
insmod sunrpc
insmod lockd
insmod nfs
mount -t nfs star:/space/debian-mipsel /debian -o nolock
mount -t proc /dev/null /debian/proc
losetup /dev/loop/0 /debian/swapfile
swapon /dev/loop/0
chroot /debian /bin/bash

That first stage/second stage split in debootstrap is really cool: it’s an easy way to run Debian anywhere, only requiring to be able to chroot at some point.

Debian Package of the Day is now alive again, and needs your help!

For those who have missed the previous blog entries: Debian Package of the Day (aka Deb-a-day) is now alive again ! There has already been several entries (published 2 times a week, on wednesdays and sundays, until we make sure that we can sustain an higher rate):

Deb-a-day is not syndicated on Planet Debian (because of the “only personal blogs” rule), but it’s syndicated on Planet Ubuntu, and it might be syndicated on Debian Times (negociations are still ongoing :-). Don’t forget to subscribe to the feed !

We (the nice team of editors) have 2 entries ready in the queue, but that’s not enough. If you discovered an interesting package through Deb-a-day, and didn’t submit an entry yet, you should really feel guilty now ! (we are especially looking for cool graphical apps, so Deb-a-day becomes less nerdy, but apps for nerds are welcomed as well, of course.)

Of Debian Etch’s quality and release schedule

The delay of Debian Etch caught some bad press this week. Some articles compare Debian to Ubuntu (which tries hard to have fixed-time releases), and some bloggers are amused by the fact that the next Debian release was delayed “again”. There are some important points though:

  • Etch wasn’t really scheduled to be released on Dec 4th. This target date was mainly used to determine other dates in the release process, like the freeze dates.
  • Ubuntu Dapper was delayed as well, for 6 weeks. Ubuntu Edgy wasn’t delayed, but I don’t think anybody can seriously compare Ubuntu Edgy’s quality with the upcoming Debian etch’s quality: edgy was more like a technology preview.

Now, the question is: how good is Debian Etch compared to Ubuntu Dapper ? It’s difficult to compare distributions: there aren’t a lot of good metrics for this. Of course, one could compare the number of packages that fail to build from source (it’s a good indicator of something seriously wrong in a package). But a lot of work has been done on etch about this, so it wouldn’t really be fair for Ubuntu. A good alternative is debcheck.

debcheck checks that packages can be installed (i.e that their dependancies can be satisfied). It does so by analyzing the content of the Packages files. I compared the results of debcheck on etch as of today (I re-processed it, but the same results are available from qa.d.o), and of debcheck on Dapper (not including dapper-updates – I wanted to compare quality at release date). Included sections were main for etch, and main, restricted and universe for dapper (I didn’t want to consider non-free packages, since their quality tend to be lower).

Results:

4 packages have unsatisfiable Depends on etch, on i386. 49 have unsatisfiable Recommends.

In the main section of Dapper, still on i386, only one package has a problem with its Depends (it was psycopg, because its binary package python2.3-psycopg has a dependancy on python2.3-egenix-mxdatetime). 46 packages in main had unsatisfiable Recommends. This is better than Etch, of course, but Ubuntu/main is much smaller than Debian/main.

When restricted and universe are included, the results are much worse. 80 packages have unsatisfiable Depends, and 150 packages have unsatisfiable Recommends. It is worth noting that those numbers are worse than those of Debian unstable as of today (67 packages have unsat Depends, 34 have unsat Recommends).

Conclusions (sort of):

  • Using the debcheck metric (which is actually quite important, since it translates in uninstallable packages for the users), Debian etch is already of better quality than Ubuntu Dapper when it was released (again, I haven’t checked with dapper-updates included).
  • It would be great to integrate such tests into the Ubuntu release process. Fixing bug is good, but such tools help to improve the distribution quality as a whole. I’ll try to work on this for Feisty after the Etch release.

Features vs. Freedom

Jono Bacon wrote a long blog entry on Planet Ubuntu about his vision of freedom, and how it applies to the proprietary drivers. This is a good opportunity to write sthing I wanted to write for a long time.

Ubuntu’s bug #1 is “Microsoft has a majority market share“. Well, I think that this should be of severity minor or wishlist, not critical. A better bug #1 would be “our priority is our users” (does it ring a bell ?). I find it far more important to improve the satisfaction of people already using a Linux distribution, than to try to convince others to use it.

Most users of Windows have very good reasons for using Windows, like proprietary applications that have no equivalent in the Free Software world. I don’t think that “Linux doesn’t have a 3D desktop” is the major blocker for people not using Linux. Windows doesn’t have a 3D desktop. Many Mac OS X users don’t use the 3D features. I haven’t felt the slightest need to try a 3D desktop, and I’m using GNOME/metacity, so the jump wouldn’t so hard to make to compiz.

I’m not saying that a 3D desktop is not a good idea. Of course, it would be nice to have LiveCDs that just work and start a 3D desktop, so we could show off at conferences. But I haven’t even bothered to google for such LiveCDs.

Sometimes, proprietary drivers are more needed on Linux, for example for people who bought a Wifi card without checking first if it was supported. But I don’t think that 3D graphic drivers are that important. I still hope that Ubuntu will not ship proprietary software by default, and that Ubuntu will try to help the free drivers instead.

Update: I forgot to close the comments when publishing this entry. They are closed now, but trackbacks are open if you want to write your own blog about this (I don’t think it’s necessary, all arguments have been reharsed many times already. Ah, and for the records, the free ati driver works perfectly fine and fast (using MergedFB) in my dual-screen setup (2560*1024), with xv on both monitors.

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.

Drôle.

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.