mercredi 16 juin 2010

Buildd status pages

Recently, I started to write some web tool to track the status of ongoing transitions in unstable. I thought I could use some code from the Buildd status project (to see how it fetches the status for each package). Unfortunately, this caused some nightmares for some WB admin :) (because they used to rely on the generated BDB files and not the PGSql database, where the former is a snapshot of the latter stored in a funny format). Those BDB files were considered deprecated and status pages were looking for some love. Besides, the BDB files were kept in sync by regenerating them regularly (every 15 minutes, AFAIK). So, the information stored there was up-to-date only for a couple of seconds and then outdated, waiting for the next run to be updated.

Last weekend, I rewrote the status pages from scratch to make them use the PGSql database. I kept the same user interface (and pages' arguments) to make it a drop-in replacement for the old one. Today, thanks to the WB admins, the new status pages replaced the old ones! There are no new visible features for now (except the backend and some links) but I have a list of new features that I intend to implement. These new features will be implemented in my local copy first and then integrated if WB admins want them. And, as some of you already noticed, the new status pages are aware of non-free packages (because it happens that the data is present in the PGSql database :) … thank WB admins for that!).

jeudi 3 juin 2010

UbuntuDiff updates

Since the recent announce of http://ubuntudiff.debian.net, some people started using it and asked for a few features. Lately, I've been working on it and tried to implement the following:

  • Use a single page (instead of a small HTML page with a lot of JS)… well, that was easy :)

  • Show the debdiff between the Ubuntu package and the Debian one: that was simpler than I first thought. Right now, it's implemented and deployed [1]. When I first generated all patches, I realized how people can be crazy :) I had diffs larger than 60MB. So, I had to reduce that by keeping only diffs less than 200 lines per file. At the end, I had a little more than 2GB of patches (and html files) generated for ~2000 source packages (which is somehow reasonable). So now, below the changelog, there is a list of modified files and you can:

    • download a patch for each file, extracted from the debdiff,

    • or click on the file's name to see the diff (if not too large, i.e. less than 200 lines)


    Note that red colored filenames denote files with too large diffs.


I'll still have some details to fix like putting the "download patch" link on the left, fix the show/hide thing which is also activated when you click on "download patch". Then, I'll consider it feature-complete (almost) and won't touch it again. My next game will be to write some tools to analyse or detect new transitions… if you want to play, let me know :)

As always, please test this new beta version of UbuntuDiff (and enjoy it :p)… and maybe, you may also report errors/bugs, if any :)

[1] http://ubuntudiff.debian.net/beta/