Buildbot and Cairo

From CDOT Wiki
Revision as of 14:48, 16 February 2008 by Armenzg (talk | contribs) (Updating little details that were out-of-date)
Jump to: navigation, search

Name

Cairo on Buildbot

Description

Automate Cairo builds with testing suites on Buildbot. Automate Cairo builds with buildbot, and add in support for running test suites with buildbot.

Leader(s)

Adam Delyea
Armen Zambrano

Contributor(s)

NOTE: only Project Leader(s) should add names here. You can’t add your own name to the Contributor list.

Release

Feb. 15th

Where will I put code and screenshots?

What has been released this week:

Steps to meet requirements

  • sudo apt-get install buildbot
  • sudo apt-get install git-core //This is to get the version control that cairo uses, it is called GIT

Steps to make it happen

  • buildbot create-master ~/cairomaster
  • Put the master.cfg to the the created master
  • buildbot create-slave ~/cairoslave localhost:9876 cairoslave
  • buildbot start ~/cairomaster
  • buildbot start ~/cairoslave
  • firefox http://localhost:8020 //This is to be able to see the results of the build

Tasks

Task
Details
Priority
Contrib.
Status
Target
Link(s)
Build Cairo manually Manually build Cairo Med armenzg Done   Blog: Building Cairo
Buildbot and Cairo on Linux Build on my laptop Cairo and run tests; Missing perf tests High armenzg Done 15 Feb Blog: Buildbot with Cairo
Fix GIT and SUDO issue * Fixed by delete checked out source code and ./configure --prefix High armenzg Fixed 15 Feb
Write the steps for Mac Med      
Run the "performance" steps Med      
Find out how to use PKG_CONFIG_PATH Med      
Build upon source changes in the GIT repository Med      
Try to use the GIT source class that buildbot has Med      
Package results and make them available Pass the results of "make test" and "make html" to the master and allow to download them Med      
Write a CSS file for the waterfall view   Med      
Email notifications? IRC notifications?   Med      

Problems

  • The first time the command GIT CLONE works because there is nothing before that execution but the second run should be an update instead of a checkout. What could be the proper GIT command to have as the step?
I have decided to remove the checked out code and checkout the trunk before each build
  • I need to do SUDO MAKE INSTALL, but this requires user's input which breaks the automated concept. What could be the right step?
Used ./configure --prefix=/path/to/somewhere to avoid building somewhere where I require to have sudo privileges

Project News

  • Feb 16 2008 - Updated Cairo project page and first proper release
  • Feb 11 2008 - Steps are written but some issues have to fixed
  • Jan 19 2008 - Project Proposal from Vladimir Vukicevic.

Notes

These notes are for learning purposes and documentation

Build Cairo manually

make[2]: Entering directory `/home/armen/sandbox/cairo2/pixman/pixman' test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib" /bin/bash ../libtool --mode=install /usr/bin/install -c 'libpixman-1.la' '/usr/local/lib/libpixman-1.la' /usr/bin/install -c .libs/libpixman-1.so.0.9.6 /usr/local/lib/libpixman-1.so.0.9.6 /usr/bin/install: cannot remove `/usr/local/lib/libpixman-1.so.0.9.6': Permission denied make[2]: *** [install-libLTLIBRARIES] Error 1

  • sudo make install //I had to use SUDO
  • whereis libpixman-1
  • cd ../cairo && ./autogen.sh
  • ./configure
  • make
  • make install //the same problem with SUDO

make[2]: Entering directory `/home/armen/sandbox/cairo2/cairo/src' test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib" /bin/bash ../libtool --mode=install /usr/bin/install -c 'libcairo.la' '/usr/local/lib/libcairo.la' /usr/bin/install -c .libs/libcairo.so.2.14.0 /usr/local/lib/libcairo.so.2.14.0 /usr/bin/install: cannot create regular file `/usr/local/lib/libcairo.so.2.14.0': Permission denied

  • sudo make install

Running the tests and getting an index.html file with them

  • make test //takes long time
  • cd test && make html
  • firefox index.html