wiki:SourceCodeSvn

Version 6 (modified by Eric Myers, 17 years ago) (diff)

branch example uses 5.10; make it command example, not just URL

Getting source code

SVN modules

The BOINC source code consists of two directories:

  • boinc contains the source code for all parts of BOINC itself (client, server, web, database).
  • boinc_samples contains several example applications together with Windows and Mac project files and a Linux makefile for building the applications. It also includes Windows versions of some libraries (GLUT, jpeglib, etc.) that many applications will need, but which are not part of BOINC. Check out this module in the same parent directory as boinc.

The modules are accessible as follows:

svn co http://boinc.berkeley.edu/svn/trunk/boinc
svn co http://boinc.berkeley.edu/svn/trunk/boinc_samples

On Windows, get a SVN client like TortoiseSVN. Right-click on the parent directory, select 'SVN checkout', and fill in the dialog with the above URL. You can also download svn command-line program for Windows.

Browsing source code via the web

You can browse the boinc or boinc_samples code via a web-based interface. This is useful for getting individual files, or seeing the revision history.

Source code road map

The BOINC source tree includes the following directories:

api
The BOINC API (for applications)
apps
Some test applications.
client
The BOINC core client.
clientgui
The BOINC Manager.
db
The database schema and C++ interface layer.
doc
BOINC documentation (PHP web pages).
html/ops
PHP files for the operational web interface.
html/user
PHP files for the participant web interface.
html/inc
PHP include files.
html/languages
Translation files.
lib
Code that is shared by more than one component (core client, scheduling server, etc.).
py
Python modules used by tools.
sched
The scheduling server, feeder, and file upload handler.
test
Test scripts.
tools
Operational utility programs.
zip
Compression functions; not used by BOINC, but may be useful for applications.

SVN tags

We maintain tags for the client software (core client and manager) in the boinc module. For other parts of the software (e.g., server and API), use the current version.

stable
The latest publicly-released version of the client software, generally well-tested. DO NOT USE THE STABLE TAG FOR THE SERVER AND API SOFTWARE. IF YOU DO, IT MAY BE FAR OUT OF DATE. USE THE CURRENT (HEAD) VERSION INSTEAD.
staging
The version currently being alpha-tested (so at least it compiles).
boinc_core_release_x_y_z
The source code for version x.y.z.

To check out a branch (for example, boinc_core_release_5_10) use the following:

svn co http://boinc.berkeley.edu/svn/branches/boinc_core_release_5_10