Hi folks, and Happy New Year! This mail is just to keep you up-to-date with what has been going on over the last three months in the world of sbuild and wanna-build, and what will be happening in the near future and for Squeeze.
sbuild ------ Following the integration of the sbuild changes in use on the buildds, sbuild is now fully usable with contemporary wanna-build and buildd and has been tested on at least the i386 buildd to the best of my knowledge Work has been done to clean up the Sbuild::Chroot class hierarchy and improve the consistency of the environment used to execute commands both inside and outside the chroot. In addition to the existing schroot support, support for sudo has been reinstated, for non-Linux architectures which don't yet have the schroot build-deps available. Both schroot and sudo may now be run "split", whereby apt/dpkg are run on the host system, to avoid the need for live networking inside the chroot environment. Support has also been added for logging streams to allow for concurrent builds and avoiding the need to redirect global streams. This is to allow future buildd/sbuild to schedule multiple concurrent builds. wanna-build ----------- Recent work has focussed on wanna-build. It has been refactored to use the same options parsing and configuration handling as sbuild (in fact, they now share the same configuration file, though this is likely to change shortly). This is now present in the master branch of sbuild.git. Sbuild::ConfBase handles configuration for both sbuild and wanna-build, including providing defaults, validation and key-specific property handlers. Sbuild::Conf and WannaBuild provide program-specific options and configuration file parsing. The dump/restore code has also been fixed up to cope with the presence of the _userinfo key used to contain user tracking data. The changes made on the buildds have also been merged from [1], so it now contains all of the functionality present on the live wanna-build installation, albeit without specific configuration and cron jobs. Additionally, work has started to modularise wanna-build in order to replace the MLDBM database backend with a more flexible PostgreSQL backend[2]. Instead of using the tied-hash database directly, all database activity now takes place through accessor functions to read/write package and user records. This will make it possible to write an alternative backend to the MLDBM backend without needing to touch the main wanna-build code. However, much of the code will be able to be simplified significantly once we switch to PostgreSQL completely, since much of the complexity can be handled directly in the database. This simplified wanna-build will likely be a brand-new frontend based on the same perl modules which wanna-build uses, which will allow backward compatibility to be retained until the new tool is fully tested and dependent programs are updated to use it. Using PostgreSQL will make it much easier to get data in and out of the database, as well as to give other tools access to the data, since MLDBM is essentially a "proprietary binary blob" which is both only readable by Perl and is architecture-dependent. Future work ----------- - Finalise PostgreSQL database schema [3] - Write PostgreSQL backend - Create new tool to replace wanna-build - Ongoing merge of sbuild/wanna-build/buildd changes - Correct deficiencies in sbuild's build-dep handling The project's git repository for sbuild and wanna-build may be found at [4]. Many thanks to Marc 'HE' Brockschmidt, Cyril Brulebois, Lucas Nussbaum and all the other folks on #debian-buildd who have been invaluable in making the rapid progress we have achieved over the last month or so. If you'd like to get involved, please get in touch on buildd-tools-devel! Regards, Roger [1] http://git.debian.org/?p=mirror/wanna-build.git [2] http://git.debian.org/?p=users/rleigh/sbuild.git;a=shortlog;h=refs/heads/wb-backend [3] http://git.debian.org/?p=users/rleigh/sbuild.git;a=tree;f=db;h=a7ad5c6029b3ea7a895ed532cdf31039a8832d58;hb=e151e7bb96567817a580118c8c0d5b6cf1fa9b38 [4] git://git.debian.org/git/buildd-tools/sbuild.git -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail. -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org