8637
Comment: restructured SVN tutorial; clarified TODO item
|
8757
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
Remaining issues for an upload to DebianUnstable:
none
- Issues to be addressed prior to releasing the next upstream release:
none
- General major TODOs:
Write expressive long descriptions for boinc-server. The description should briefly explain of what components a BOINC server consists (or better which components are included in the package).
Integrate the manual pages for [http://svn.debian.org/wsvn/pkg-boinc/trunk/boinc/debian/manpages/boinc_client.xml?op=file boinc_client], [http://svn.debian.org/wsvn/pkg-boinc/trunk/boinc/debian/manpages/boinc_cmd.xml?op=file boinc_cmd] and [http://svn.debian.org/wsvn/pkg-boinc/trunk/boinc/debian/manpages/boincmgr.xml?op=file boincmgr] into upstream's source repository and build system.
- General minor TODOs:
Explain in boinc-client's manpage or README how to restrict GUI RPC access by changing the permission of the gui_rpc_auth.cfg file.
Revise all manpages. Have a look at the libxml2 and libxslt packages for examples of manpages written in the DocBook format.
Possibly create a boinc-app-einstein package using the source from [http://www.lsc-group.phys.uwm.edu/cgi-bin/cvs/viewcvs.cgi/einsteinathome/?cvsroot=lscsoft#dirlist Einstein@Home's CVS repository]. We should check with upstream first if this is desired!
- Thoughts for the Wiki:
- Explain how to set up a project on ["BOINC/Server"]
- Create more sub pages for
- Trouble shooting
- move Subversion usage from this page to a new one (["BOINC/Development/svn-usage"])?
Bookmarks for BOINC in Debian
[http://qa.debian.org/developer.php?login=pkg-boinc-devel@lists.alioth.debian.org Packages overview for the Debian BOINC Maintainers]
- Overview of source packages:
[http://packages.qa.debian.org/b/boinc.html BOINC], [http://packages.qa.debian.org/b/boinc-app-seti.html SETI@home], [http://packages.qa.debian.org/k/kboincspy.html KBoincSpy]
- Status in the unstable wanna-build databases:
[http://buildd.debian.org/pkg.cgi?pkg=boinc boinc], [http://buildd.debian.org/pkg.cgi?pkg=boinc-app-seti boinc-app-seti], [http://buildd.debian.org/pkg.cgi?pkg=kboincspy kboincspy]
- Alternative buildd status pages:
[http://buildd.debian.org/~jeroen/status/package.php?p=boinc boinc], [http://buildd.debian.org/~jeroen/status/package.php?p=boinc-app-seti boinc-app-seti], [http://buildd.debian.org/~jeroen/status/package.php?p=kboincspy kboincspy]
DDTP pages for: [http://ddtp.debian.net/ddt.cgi?source=boinc boinc], [http://ddtp.debian.net/ddt.cgi?package=boinc-client boinc-client], [http://ddtp.debian.net/ddt.cgi?package=boinc-dev boinc-dev], [http://ddtp.debian.net/ddt.cgi?package=boinc-manager boinc-manager], [http://ddtp.debian.net/ddt.cgi?package=boinc-app-seti boinc-app-seti], [http://ddtp.debian.net/ddt.cgi?package=kboincspy kboincspy], [http://ddtp.debian.net/ddt.cgi?package=kboincspy-dev kboincspy-dev]
Build logs of the experimental and [http://backports.org/ backports.org] autobuilder: [http://experimental.ftbfs.de/build.php?&pkg=boinc boinc], [http://experimental.ftbfs.de/build.php?&pkg=boinc-app-seti boinc-app-seti], [http://experimental.ftbfs.de/build.php?&pkg=kboincspy kboincspy]
- Status of our packages and bugs:
[http://io.debian.net/~tar/bugstats/?pkg-boinc-devel@lists.alioth.debian.org bugstats and karma]
Packages for other operating systems
- FreeBSD:
BOINC: [http://www.freebsd.org/cgi/ports.cgi?query=boinc-client&stype=all boinc-client port], [http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/boinc-client/ CVS]
SETI@home Enhanced: [http://www.freebsd.org/cgi/ports.cgi?query=boinc-setiathome-enhanced&stype=all boinc-setiathome-enhanced port], [http://www.freebsd.org/cgi/cvsweb.cgi/ports/astro/boinc-setiathome-enhanced/ CVS]
- Gentoo:
BOINC: [http://www.gentoo-portage.com/sci-misc/boinc Portage], [http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-misc/boinc/ CVS]
SETI@home: [http://www.gentoo-portage.com/sci-astronomy/setiathome Portage], [http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-astronomy/setiathome/ CVS]
K!?BoincSpy [http://www.gentoo-portage.com/sci-misc/kboincspy Portage], [http://sources.gentoo.org/viewcvs.py/gentoo-x86/sci-misc/kboincspy/ CVS]
- NetBSD:
BOINC: pkgsrc.se [http://pkgsrc.se/wip/boinc-client boinc-client], [http://pkgsrc.se/wip/boinc-lib boinc-lib]
- Ubuntu:
BOINC: [http://packages.ubuntu.com/src:boinc packages.u.c], [https://launchpad.net/distros/ubuntu/+source/boinc/ Launchpad]
SETI@home: [http://packages.ubuntu.com/src:boinc-app-seti packages.u.c], [https://launchpad.net/distros/ubuntu/+source/boinc-app-seti/ Launchpad]
K!?BoincSpy [http://packages.ubuntu.com/src:kboincspy packages.u.c], [https://launchpad.net/distros/ubuntu/+source/kboincspy/ Launchpad]