7902
Comment: Some verbosity added.
|
8146
anonymous ssh access added
|
Deletions are marked like this. | Additions are marked like this. |
Line 10: | Line 10: |
}}} This 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. |
}}}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. |
The purpose of this page is to provide resources to aid members of the 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' directory:
svn update
The program [http://packages.debian.org/unstable/devel/svn-buildpackage svn-buildpackage] is nice for creating Debian packages directly from a Subversion working directory. It unpacks upstream's source, copies files of the svn repository to the unpacked directory and calls the more common [debhelper] tool '[dpkg-buildpackage]'. Before calling svn-buildpackae, 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 4.72
to get the tagged version from the upstream CVS repository. This will perpare the upstream source in a tar ball. It gets a version number as part of its file name and the characteristic ".orig" tag, thus rendering the tar 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 a
mkdir tarfiles && mv boinc*orig.tar.gz tarfiles
. With the adjusted setting, another run of svn-buildpackage -rfakeroot 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-buidpackage' on 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
Things that need to be done before uploading to DebianUnstable:
none
- Things that need to be done before releasing the next upstream release:
none
- General major TODOs:
Write expressive long descriptions for boinc-manager and boinc-server.
Use test/test_sanity.py to check runtime dependencies of the boinc-server package.
Have a look at: https://uimon.cern.ch/twiki/bin/view/LHCAtHome/BOINCserverRPM - Can we adopt some ideas for our boinc-server package?
- 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
- Create more sub pages for
- Trouble shooting
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]
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]