Log in

No account? Create an account

Previous Entry | Next Entry

Wouldnt it be nice to have one-click compiles of LibreOffice on Ubuntu? Fret no more, good times are here!

But before we get to that, here are a few general hints on how to build LibreOffice 3.4.X and the LibreOffice master branch on Ubuntu:
And if you are fearless(*), run these commands (which already take care of the Junit and cherrypicking stuff themselves):

sudo apt-get build-dep libreoffice
sudo apt-get install git ccache
wget http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/plain/ubuntu-jenkins/setup-ubuntu-jenkins.sh -O - |sh -
java -jar ~/.jenkins/jenkins.war

and point your browser to: http://localhost:8080 and you will find something like this:
Click on "schedule a build" on the right side for ccache, tarfiles and repo-mirror once to get setup. If those are finished, by "scheduling a build" for libreoffice-3-4 or libreoffice-master you can build and test the current release branch and the master branch as often as you want to with just one click. What are the advantages of this?
Here are some:
  • You have a reproducable build setup.
  • You can completely mess up you checkout without needing a very slow redownload from freedesktop.org.
  • You can schedule multiple builds in a row.
  • Your new and old build logs are managed automatically -- if something breaks you can be sure which one was the last good build for you.
  • You can trigger builds by various means automatically. For example, you can let Jenkins make a build when you get up and see immediately if somebody broke the master for you in the morning when you start working.
  • Jenkins is very extensible.
A lot more will be possible with one git and this is just a proof-of-concept, but still it might be quite useful to some already. So, comment and ideas (and most of all: patches and commits) on how to improve this are most welcome!

(*) In general, it is not advisable to pipe some random file from the Internet to your shell. Also take care that port 8080 is reasonably secured on you machine before starting Jenkins.Caveat Emptor.

Addendum: For the repository synchronization script you currently need Python 2.7. Sorry about that, I will try to get rid of that dependency soon.


Bjoern Michaelsen

Latest Month

July 2012
Powered by LiveJournal.com
Designed by Lilia Ahner