Reference for using the pkg-boinc Subversion repository
Development is coordinated through a Subversion repository. It follows a brief HOWTO for working with this repository. There is also a ?SmallSVNTutorial on this wiki. For a detailed introduction in Subversion have a look at the Version Control with Subversion book.
Download the files from the the repository. Substitute smoe-guest in the URL with your userid on Alioth:
svn co svn+ssh://smoe-guest@svn.debian.org/svn/pkg-boinc
If you do not have an Alioth account, then alternatively choose the anonymous access
svn co svn://svn.debian.org/pkg-boinc
However, for the latter case it is not possible to submit data back to the Subversion repository.
The svn checkout creates a folder "pkg-boinc" in your current working directory. In there, the folder 'trunk' has all data that is required to mold the upstream code into a Debian package. This is explained along the tool svn-buildpackage further below.
Now, files can be edited and subsequently be submitted (checked in) back to the repository:
svn commit
To get the latest version again, run update without the reqirement of specifying the URL again. The URL (and other details) are stored locally in the files of the hidden '.svn' directories:
svn update
The program svn-buildpackage is nice for creating Debian packages directly from a Subversion working directory. It unpacks upstream's source, copies files of the Subversion repository to the unpacked directory and calls the more common tool dpkg-buildpackage. Before calling svn-buildpackage, one needs a BOINC .orig.tar.gz file that contains the upstream source, see README.Debian-source. You are likeley to decide to run a script like the prepared
./scripts/export-boinc -r 5.8.17
to get the tagged version from the upstream Subversion repository. This will prepare the upstream source in a tarball. It gets a version number as part of its file name and the characteristic ".orig" tag, thus rendering the tarball directly usable as input for the dpkg-buildpackage script.
Once you obtained a source tarball run
svn-buildpackage -rfakeroot -uc -us --svn-ignore
in the directory trunk/boinc/ and subsequently inspect the file trunk/boinc/.svn/deb-layout. That file defines origDir, the directory where the .orig.tar.gz files are stored. Adjust this variable and/or move source to the default location, e.g. by:
mkdir tarfiles && mv boinc*orig.tar.gz tarfiles
With the adjusted setting, another run of svn-buildpackage should build BOINC source and binary packages.
Some instruction of the internet suggested to create the following aliases in one's .bashrc file:
alias svn-b='svn-buildpackage -us -uc -rfakeroot --svn-ignore' alias svn-br='svn-b --svn-dont-purge --svn-reuse --svn-ignore' alias svn-bt='svn-buildpackage --svn-tag -rfakeroot'
The ' --svn-ignore' option avoids that for every call to svn-buildpackage one has to submit the changes to the server. In our view one should decide for oneself and in communication with the other developers for the moment to submit changes. One should not forget about it, though!
For remaining questions send an email to our mailing list.