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

Alexander Pashaliyski al.pashaliyski at gmail.com
Sun Jun 17 22:17:51 UTC 2012


I contacted the Alioth admin team via the web site, requesting to use their server for my project "Clang for build services". I got approved and I created a git repository where I'm now uploading my work.

I have a fully functional buildd infrastructure installed on my development environment. In order to get it running, I made several patches. I wrote almost complete documentation on setting up buildd and wanna-build. I have some minor things to refine.

I started to modify the source of sbuild and I have some progress. Currently I have hard-coded clang as a compiler and sbuild uses it for building (except the packages that have gcc hard-coded). Everything works fine so far. I add the name of the used compiler to the control file and the name of the deb package. I'm also testing the build process with some packages that I've selected - several written in each of C, C++, Objective-C and Fortran. Next I'm going to write a function that cheks for hard-coded compiler and takes appropriate actions if there's such.

Here's the wanna-build database at the middle of the building process:

wannadb=# select package,distribution,version,state,previous_state,state_change from amd64.packages;
  package    | distribution |         version          |    state    | previous_state |        state_change        
--------------+--------------+--------------------------+-------------+----------------+----------------------------
lapack       | wheezy       | 3.3.1-1                  | Built       | Building       | 2012-06-15 12:23:09.308558
sbjson       | wheezy       | 2.3.2-1                  | Built       | Building       | 2012-06-15 12:23:41.035774
gettext      | wheezy       | 0.18.1.1-8               | Built       | Building       | 2012-06-15 12:28:25.842282
dash         | wheezy       | 0.5.7-3                  | Built       | Building       | 2012-06-15 12:28:56.064195
inkscape     | wheezy       | 0.48.3.1-1               | Building    | Needs-Build    | 2012-06-15 12:28:56.548647
psmisc       | wheezy       | 22.16-1                  | Needs-Build |                | 2012-06-15 11:44:32.287933
readline5    | wheezy       | 5.2-11                   | Needs-Build |                | 2012-06-15 11:44:32.287933
wesnoth-1.10 | wheezy       | 1:1.10.2-1               | Needs-Build |                | 2012-06-15 11:44:32.287933
lush         | wheezy       | 1.2.1-9+cvs20110227+nmu1 | Needs-Build |                | 2012-06-15 11:44:32.287933
oolite       | wheezy       | 1.76.1-1                 | Needs-Build |                | 2012-06-15 11:44:32.287933
coreutils    | wheezy       | 8.13-3.2                 | Built       | Building       | 2012-06-15 11:52:39.339452
gcc-defaults | wheezy       | 1.112                    | Built       | Building       | 2012-06-15 11:53:11.693424
(12 rows)

These are the files that buildd have created at the same moment:

# ls /var/lib/buildd/build
buildd.pid                          gcc-defaults_1.112_amd64.changes          gettext-base_0.18.1.1-8_amd64_gcc.deb      libgcj-bc_4.6.2-4_amd64_clang.deb
build-progress                      gccgo_4.6.2-4_amd64_clang.deb             gfortran_4.6.2-4_amd64_clang.deb           libgettextpo0_0.18.1.1-8_amd64_gcc.deb
coreutils_8.13-3.2_amd64.build@     gccgo-multilib_4.6.2-4_amd64_clang.deb    gfortran-multilib_4.6.2-4_amd64_clang.deb  liblapack3gf_3.3.1-1_amd64_clang.deb
coreutils_8.13-3.2_amd64.changes    gcc-multilib_4.6.2-4_amd64_clang.deb      g++-multilib_4.6.2-4_amd64_clang.deb       liblapack-dev_3.3.1-1_amd64_clang.deb
coreutils_8.13-3.2_amd64_clang.deb  gcj-jdk_4.6.2-4_amd64_clang.deb           gobjc_4.6.2-4_amd64_clang.deb              liblapack-pic_3.3.1-1_amd64_clang.deb
cpp_4.6.2-4_amd64_clang.deb         gcj-jre_4.6.2-4_amd64_clang.deb           gobjc++_4.6.2-4_amd64_clang.deb            liblapack-test_3.3.1-1_amd64_clang.deb
dash_0.5.7-3_amd64.build@           gcj-jre-headless_4.6.2-4_amd64_clang.deb  gobjc-multilib_4.6.2-4_amd64_clang.deb     libsbjson2.3_2.3.2-1_amd64_clang.deb
dash_0.5.7-3_amd64.changes          gdc_4.6.2-4_amd64_clang.deb               gobjc++-multilib_4.6.2-4_amd64_clang.deb   libsbjson-dev_2.3.2-1_amd64_clang.deb
dash_0.5.7-3_amd64_gcc.deb          gdc-v1_4.6.2-4_amd64_clang.deb            inkscape_0.48.3.1-1_amd64.build@           sbjson_2.3.2-1_amd64.build@
g++_4.6.2-4_amd64_clang.deb         gettext_0.18.1.1-8_amd64.build@           lapack_3.3.1-1_amd64.build@                sbjson_2.3.2-1_amd64.changes
gcc_4.6.2-4_amd64_clang.deb         gettext_0.18.1.1-8_amd64.changes          lapack_3.3.1-1_amd64.changes               SBUILD-GIVEN-BACK
gcc-defaults_1.112_amd64.build@     gettext_0.18.1.1-8_amd64_gcc.deb          libasprintf0c2_0.18.1.1-8_amd64_gcc.deb

To get everything working so far I've made changes to wanna-build, sbuild, buildd, reprepro and dpkg.

This is a link to the repository that I use to upload changes to sbuild and buildd:
http://anonscm.debian.org/gitweb/?p=pkg-llvm/clang-build.git;a=summary

Regards,
Alexander Pashaliyski




More information about the Soc-coordination mailing list