I have the need to use a not-yet released version of ownCloud-client in my Ubuntu 12.04 Precise Pangolin.
The official build instructions are perhaps too generic and confusing for non-expert users. Additionally, there are several non-explained dependencies that must be installed, some of them unique to Ubuntu (maybe even to Debian). I wrote this tutorial that explains what to do in order to obtain latest, cutting-edge source code of csync and mirall (ownCloud-client) and install it.
Before we start, let me note that I wrote this post several days after I built the required software. There may be some omissions in the dependencies retrieiving. If any, either contact me or write a comment on this post and we will fix it.
First, install the dependencies already offered by the Ubuntu repositories:
sudo apt-get install git cmake build-essential libsqlite3-dev liblog4c-dev libsmbclient libsmbclient-dev libneon27-gnutls-dev libneon27-gnutls libyaml-perl libxml-libxml-perl libssl-dev libtie-ixhash-perl qtcreator
Then, install libiniparser and libiniparser-dev from ownCloud repository. Download libiniparser_3.xx_i386.deb and libiniparser-dev_3.xx_i386.deb from the i386 repository or from the x64 (amd64) repository.
Install them using the Software Center or with the command line:
sudo dpkg -i libiniparser*.deb
Create a source directory, clone csync project and use ownCloud’s dedicated branch
mkdir -p ~/src && cd ~/src
git clone git://git.csync.org/users/freitag/csync.git
git checkout -b dav origin/dav
Prepare the build directory for csync and build it
mkdir -p buildcsync && cd buildcsync
cmake -DCMAKE_BUILD_TYPE="Debug" ../csync
Clone and install krazy2 tool (a requirement for mirall).
git clone git://gitorious.org/krazy/krazy.git
Checkout the mirall project, create a build dir. Add Krazy2 in $PATH, otherwise the build fails. Compile mirall
git clone git://gitorious.org/owncloud/mirall.git
mkdir -p buildmirall && cd buildmirall
cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall
# Little fix for (probably) a typo in Mirall source code
# 2012-08-21 - This step is probably no more necessary
ln -s ~/src/buildcsync/modules/csync_owncloud.so ~/src/buildcsync/modules/csync_ownclouds.so
The development tests automatically run with the make command and some may fail. Eventually, the executable still builds and appears in ~/src/buildmirall/bin/owncloud.
Remember that this is unreleased software. It may contain lots of bugs, some of them still undiscovered. It is a good idea to report issues to the developers. Remember to be polite and respect their work, because they do that for free and on their free time.
If you want to update your source files with the latest commits in the repositories, just cd to the repository directories (~src/mirall, ~src/csync, and ~src/krazy) and input the git pull command. You have to build the programs again if changes in the code happen.