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 email@example.com.
Bookmarks for BOINC in Debian
Status of our packages and bugs: bugstats and karma
Upstream resources for packagers
Packages for other operating systems
Source repositories of BOINC applications
upstream has working Debian packages for internal use
available as boinc-app-seti and works nicely
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.