Hi, as everybody else, I'm blogging about the status of my GSoC project, which now has a name: Pancután.

Pancután is a lintian-like tool to check ISO images generated by debian-cd and friends. It aims to support CDDs, and even Debian-Live CDs. In case you're wondering, the name is a stupid pun about avoiding (skin) burns and unusable debian CDs (Pancután is a vintage lotion for burns in Argentina, and I think most joungsters won't even recognise the name). In any case, it sounds good :-).

Since it has a name, also it has a alioth project page, SVN repository and mailing list.

If you want to try it out, just checkout the repository and run:
$ ./pancutan <list of iso files>

If you set the environment variable DEBUG to a number greater than zero, you get debugging info.

Its dependencies are currently libyaml-perl (or libyaml-syck-perl for faster operation), fuseiso9660 and an user which fuse permissions.

Of course, as I've been working in the architecture, there aren't many tests. But you can try the powerpc business card ISO for which pancutan currently detects that it's too big for a business card cd:

$ ./pancutan /media/IOMega/mirror/isos/debian-40r0-powerpc-businesscard.iso
E: image-too-big
 - The ISO file is too big for the target media
 + 73207808

About the architecture.

The general idea is that a directory is scanned for modules, "requires" them, and extracts metadata embedded into them (I'm still thinking that this can be separated to delay compiling of modules when they're needed, but I haven't decided it yet). From that metadata, tasks and tags (errors and warnings) definitions are loaded. Also a lot of internal sanity checking is performed.

There isn't any fixed order of execution, it's constructed based on the dependencies the tasks define. And it has been thought from the start with parallelisation in mind, although that functionality hasn't been written yet (I'll do it during this week).

I have written a draft spec for the plug-ins in the wiki. I have to properly document that, but you can get an idea from it.

At this point, I'd like to other, more experienced people take a look at it. So feedback is very welcomed, specially from the people that will use the tool!