Downloading the FFADO source code

Since FFADO is open-source software with a very fast pace of development, it may be worth the trouble to work directly with the source code rather than to use precompiled packages, especially if you are communicating with the developers via the mailing lists. Often, fixes for problems you encounter or new features may be checked into the FFADO repository quickly, and it's very helpful if you can then immediately test them.

There are two ways to obtain the sources: downloading a release tarball, or checking it out from the source code management system (SVN).

Downloading a tarball

Tarballs are provided for stable releases and beta (=testing) releases. They are updated infrequently and represent a more or less stable development milestone.

To obtain a tarball, go to the FFADO website and check out the "Download" section. As of this writing, the direct link is http://www.ffado.org/?q=release/rc1 and the latest version is release candidate no 1.

Before you can build it, the tarball has to be unpacked. Change to the directory where you'd like your sources to be. This could be your home, or /usr/src, or any other place you can think of, and has no effect on the actual running of FFADO.

$ cd /my/source/directory
$ tar xvzf /where/you/downloaded/libffado-<version>.tar.gz

Downloading from SVN

You will need an SVN client to access the source code management system directly. Search for a package named "subversion" or maybe "svn" in your distro's repository.

For more information on svn usage, check out our quick SVN howto.

Trunk

If you want the latest, greatest (and possibly unstable) up-to-the-minute version of FFADO, use the SVN trunk.

Warning

The trunk is where the main development is done. This means that it's a very volatile and not necessarily stable code base. If you want reliable code, you better use one of the maintenance branches (see below).

Note that using FFADO from SVN is highly experimental.

Usually we try to ensure that the code in the repository compiles. For major reworks that might cause serious regressions or render the codebase useless for a period, the trunk is branched. This should help to ensure that the code in the repository is always sort-of usable.

That being said it should be obvious that any source code repository that experiences ongoing development is inherently not trustworthy. It should work, but there are no guarantees.

Still with us? Great! Change to the directory where you want the sources to be, and check out the source.

$ cd /my/source/directory
$ svn checkout http://subversion.ffado.org/ffado/trunk/libffado ffado-svn

A copy of the current source will be downloaded to your machine. When you want to update it, there is no need to check out the full source again. Just do

$ cd /my/source/directory/ffado-svn
$ svn update

and your copy will be brought up-to-date.

Stable branches

The maintenance branches start as a snapshot of a released version, and are used to keep track of bugfixes. Bugfix releases are based upon these branches. They are considered stable and usable for production work.

Stable branches correspond to released or upcoming tarballs. Currently, there is a 2.0 branch which contains the latest FFADO release candidate, and ultimately the 2.0 release plus ongoing maintenance updates. To check out a branch, do

$ svn checkout http://subversion.ffado.org/ffado/branches/libffado-2.0 libffado-2.0-svn