Resources for Debian BOINC Maintainers

The purpose of this page is to provide resources to aid members of the Debian BOINC maintenance team and curious hobbyists in packaging BOINC and related software. Anyone who understands (or corrects) the instructions given below is certainly of help for us. Raise your hand if you feel like helping out.

Using pkg-boinc's git source code repositories

The development of our packages is now coordinated in Git repositories. For a tutorial on how to build the boinc packages follow the BOINC/Development/GitUsage pages. This starts with the checkout of the source code and truly ends with the packages how they are also uploaded to the distribution. The instructions may appeal also to those with some interest in git usage alone. As an extension, see BOINC/Development/Backports with instructions how to port back to older distributions.

We are steadily following upstream's releases. The TODO.Debian file in the repository attempts to reference current activities. It is of a particular interest of the BOINC developers to see the server side of BOINC develop separately from the clients. This will be addressed as time permits.

Compilation from the distribution's source package

You need to decide what source tree to start with. There are two ways. The first is that the Debian Maintainers use. It takes the BOINC sources of the BOINC developers and adds ever better working packaging instructions. Albeit not ultimately complicated, you may want to skip that as your first encounter. The second approach is to use what the Maintainers eventually released to Debian build demons - it means that this works for robots, so you can also just those readily prepared bits for your local build.

Alternative 1: Like we developers are doing it - from the git repository

If new to Linux development, you may possibly decide to start with what the automated Debian build demons do to get the package compiled on various platforms: they use the source packages the Debian maintainer uploads. Once you ever compiled a Debian package yourself, please learn about git and check out our repository. Our introduction at BOINC/Development/GitUsage by now does a fairly good job. It just helps communicating with us.

Alternative 2: Like the build daemons are doing it - be a robot on what was tagged for release

To install the BOINC packages from source, a deb-src line pointing to Debian's main archive must be present in your /etc/apt/sources.list file. Also make sure that you have the build-essential and fakeroot packages installed on your system. Curiosity is a good motivation to inspect and compile the source.

1. Ensure you have all the packages installed that are required to build boinc:

sudo apt build-dep boinc

1. Prepare a source directory and download the BOINC source package and it's build dependencies:

mkdir -p ~/src/boinc
cd !$
apt source boinc

1. Change to the BOINC directory and build the sources. Before running dpkg-buildpackage you can apply patches to the BOINC source or set compiler flags to optimize the BOINC core client.

cd boinc-X.Y.Z/
dpkg-buildpackage -rfakeroot -us -uc

1. After dpkg-buildpackage successfully finishes the build you can install your custom built packages:

cd ~/src/boinc
dpkg -i boinc-client_X.Y.Z-R_ARCH.deb boinc-manager_X.Y.Z-R_ARCH.deb

If dpkg-buildpackage fails to build the BOINC packages this probably indicates a bug in our sources and it is worth reporting it to the pkg-boinc-devel mailing list pkg-boinc-devel@lists.alioth.debian.org.

Bookmarks for BOINC in Debian

Upstream resources for packagers

Packages for other operating systems

See the Repology pages for: boinc boinc-app-seti

Source repositories of BOINC applications

Einstein@Home

upstream has working Debian packages for internal use

SETI@home

available as boinc-app-seti and works nicely

MilkyWay@home

available as boinc-app-milkyway, may work or not, needs new maintainer

SZTAKI prepared an infrastructure to run arbitrary jobs on BOINC in sync with regular Computational Grids. For that, they have also prepared Debian packages for the BOINC servers. Their efforts were never merged.

See also