Differences between revisions 48 and 49
Revision 48 as of 2007-05-02 14:50:20
Size: 8637
Editor: FrankThomas
Comment: restructured SVN tutorial; clarified TODO item
Revision 49 as of 2007-07-07 10:33:32
Size: 8757
Editor: FrankThomas
Comment: add link to Teams page; new page for svn-usage?
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
The purpose of this page is to provide resources to aid members of the Debian ["BOINC"] maintenance team in packaging ["BOINC"] and related software. The purpose of this page is to provide resources to aid members of the [:Teams/DebianBOINCMaintainers:Debian BOINC maintenance team] in packaging ["BOINC"] and related software.
Line 64: Line 64:
    * move Subversion usage from this page to a new one (["BOINC/Development/svn-usage"])?

The purpose of this page is to provide resources to aid members of the [:Teams/DebianBOINCMaintainers:Debian BOINC maintenance team] in packaging ["BOINC"] and related software.

Using the Subversion repository

Development is coordinated through a [http://svn.debian.org/wsvn/pkg-boinc 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 [http://svnbook.red-bean.com/ 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 [http://svn.debian.org/wsvn/pkg-boinc/trunk/boinc/debian/README.Debian-source?op=file README.Debian-source]. You are likeley to decide to run a [http://svn.debian.org/wsvn/pkg-boinc/scripts/export-boinc?op=file 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 [http://lists.alioth.debian.org/mailman/listinfo/pkg-boinc-devel mailing list].

?Anchor(TODO)

To-do list

Bookmarks for BOINC in Debian

Packages for other operating systems