[Soc-coordination] Last Report - Clang for build services

Alexander Pashaliyski al.pashaliyski at gmail.com
Sat Aug 18 07:14:13 UTC 2012


Hello,

Here is my last report.

I made a lot of changes to pgstatus - this is a web interface to the
wanna-build database. I had to add some features and fix several problems.
In the process I read some of the code of pgstatus and buildd-tools. Now I
have a better understanding of how they work.

The log files were not accessible from pgstatus because of lack of
implementation and bugs. I created a script that reads emails sent by
wanna-build and extracts log files from them.

I made changes to wanna-build so that it feeds the database with the
necessary information about package history. I updated the wanna-build
patch to include these changes.

As a result the buildd logs can now be opened from the web interface of
pgstatus.

I applied a patch that fixes bug [0] so that config_schroot.sh (this script
installs and sets the default compiler) starts with the necessary
privileges.

I added a new feature to sbuild that allows scripts to be run right after
the dependencies are installed in the chroot and before the actual package
starts building. Now anybody can configure sbuild to run such a script by
modifying the appropriate configuration file. By adding the following lines:

$external_commands = {
        "chroot-pre-build-commands" => [
            ['/root/purge-gcc.sh'],
        ],
};

The script /root/purge-gcc.sh is run by sbuild in the chroot.

This script can be necessary to set everything in the environment so that
packages are built exactly as needed. Me and my mentor used this to replace
gcc with a script that fails the build process and removes all gcc-specific
packages so that we can be sure whether a package uses clang or not.


 - Include a 3-5 lines summary about what you did and achieved:
I created howos on how to set up wanna-build, reprepro, sbuild and buildd
to create a working build environment. [1] [2]
I made changes to wanna-build, dpkg, sbuild and buildd to fix bugs in them
and make it possible to use a compiler different from gcc for the build
process.
After my work a build compiler can be set easily. If a package can not be
built with that compiler, the build process fails with a clear error.
I also modified the pgstatus web interface to display build logs and create
reports on user request.

==== ====

[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608840
[1] http://wiki.debian.org/DebianWannaBuildInfrastructureOnOneServer
[2] http://wiki.debian.org/SetupBuildServiceForWanna-build


Best Regards,
Alexander Pashaliyski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/soc-coordination/attachments/20120818/0bd343d5/attachment.html>


More information about the Soc-coordination mailing list