Coin web de Frédéric Péters

JHBuild Updates

5 mai 2009, 23:24

I'll skip the introductory "my life" paragraph and get straight to the title, what has been happening in JHBuild ?

Firstmost is the consequence of the Git migration, just like subversion support was mostly done after GNOME migrated, the same thing happened again here... This is a little sad as Git preview repositories were created early on and we could have had experimental modulesets using those. So that we would have caught most import errors before the switch (gnome-common being the first module JHBuild tries to build).

It's not like we will migrate again in two years but this is my little piece of advices to projects who would contemplante a switch : get your build tools updated first, and test them with preview repositories. It's so evident it hurts.

Anyway if 1) is better Git support, 2) would be the sum of little improvements done over the last weeks, while cleaning bugzilla, many bugs have been fixed, in a very positive manner, a single WONTFIX and many features and options that were requested (or not), sometimes long ago, such as the option to reload the configuration file from within JHBuild, to adjust module_autogenargs, for example (368820).

Third thing are improvements to the buildbot support, as it is now possible for the master to send a different list of steps to different build slaves, so it is possible to configure a build slave low on diskspace to run 'make clean' after each modules, without disrupting the other ones with such an option. Unrelated to JHBuild but touching the build brigade, David Adam got a nice UltraSparc server running a buildslave and is now building two thirds of the modules successfully, I'll add it to the official build slaves once the master is switched to build 2.28 (once 2.26.2 is out).

Fourth is a new "release-team-commands" branch, that features two new commands: goalreport and twoninetynine. Goalreport can run checks over modules and generate a nice report (see g_timeout_add users for example, generated with "jhbuild goalreport --check SymbolsCheck:g_timeout_add"), and twoninetynine is a specialized version built to track the platform progress towards GNOME 3.0. While it has "release-team" in its name, it is in no way limited to the team, if you have any check you want to perform on all the modules, and can express the check in shell or Python, it can be useful, just ask.

Last is a branch I didn't upload yet, dubbed dependency-based-build-steps it rewrites the way JHBuild know which phase to run (checkout, then configure, then make, then install) so it is possible to have targets that are not the installation of the package. I already added simple targets for clean (143221) and uninstall (400302) but the real benefit will come with advanced targets that are yet to be developed, to build packages, for example (merging the jhdebuild hack that has been lying mostly untouched for two years). I should merge that branch soon.

And finally I almost forgot that I also tagged a version and uploaded a tarball, mostly to get an uptodate JHBuild manual on, but also because Ubuntu released with a very old JHBuild snapshot (I asked Debian to remove it from Lenny before it was released, but forgot to do the same for Ubuntu).

Here's for the news.