[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