Debian CRAN/BioConductor/Omegahat package archive
The [http://alioth.debian.org/projects/pkg-bioc/ Alioth pkg-bioc] group is working on Debian packages repository for the [http://www.r-project.org/ GNU R] packages from the upstream sources at [http://cran.r-project.org/ CRAN] , [http://www.bioconductor.org/ ?BioConductor] and [http://www.omegahat.org/ Omegahat].
NOTE : WE ARE NOW USING SVN!!! (and not anymore cvs).
NOTE : WE ARE NOW USING tools-ng!!! (and not anymore tools).
Advocacy
- Importance of this effort for Debian
- Ease of use for scientific researchers using Debian
- The archive is aiming to be complete
- The archive is aiming to be up to date
- The archive is aiming to be easily updateable
- Provide an improved link between Debian and the research communities as their upstream developers
- Ease of use for scientific researchers using Debian
- Importance of this effort for initiatives within and associated with Debian
Custom Debian distribution (like DebianMed) and derivatives like Quantian can use CRAN and BioConductor packages
Commercial efforts distributing Debian-derived Bioinformatics solutions are likely to improve over an inclusion of BioConductor, CRAN and Omegahat.
Contributions
The May 2007 brought us a repository for Debian packages. We hope to announce soon on this page once its regular maintenance for updates is secured. To help in that process or with the further development of the R packages, browse the code in the [http://svn.debian.org/wsvn/pkg-bioc/trunk/tools-ng/ SVN repository] and you may want to introduce yourself on the [http://lists.alioth.debian.org/pipermail/pkg-bioc-devel/ pkg-bioc-devel mailing list]. The lines below explain how to automatically build the packages. If you want to contribute, you could have a look at the following [http://svn.debian.org/wsvn/pkg-bioc/trunk/tools-ng/TODO?op=file&rev=0&sc=0 TODO list].
How to build the packages
This section explains how the .deb packages can be build locally. You will need about 1GB just for building the CRAN packages. All the build process scripts are developed for Lenny/Sid. The r_pkg_prepare.sh and r_pkg_update.pl scripts prepare and create the proper preparation of Debian packages with the choosed Builder suite: ["pbuilder"] or ["cowbuilder"]. It is strongly recommended to follow these instructions as it is a very nice piece of technology that makes Debian as strong as it is. The r_pkg_ordering.pl script will create the graph dependency of all package, and after launched the build with the selected Builder. The default Builder platform is ["cowbuilder"].
1. Create an empty directory and cd in it.
2. Prepare local Debian installation:
aptitude install cdbs subversion debhelper devscripts libapt-pkg-perl libgraph-perl pbuilder r-base-core fakeroot cdebootstrap libdebian-installer4 libdebian-installer-extra4
- Note: cdebootstrap need at least version 0.4.X.
}}}
3. Checkout the pkg-bioc's tools-ng module via SVN, either
anonymously without account on alioth.debian.org
svn co svn://svn.debian.org/svn/pkg-bioc/trunk/tools-ng tools
or (preferred) with one's on alioth.debian.org
svn co svn+ssh://developername@svn.debian.org/svn/pkg-bioc/trunk/tools-ng tools-ng
Only this second route allows the contribution to the project.
and go to the new directory
cd tools-ng
4. You could eventually edit the header of r_pkg_prepare.sh for setting up some option. The default Builder is ["cowbuilder"]. The maximum size of the source package is 50MB.
5. Preparations for the packaging script: execute the r_pkg_prepare.sh with the right option. It will prepare
- the directories : create a source,build directories and a directory for the changelogs to be passed across builds.
- create the symlink.
- prepare some apt-cache stuff, need for the build.
- prepare and configure option need for the Builder
- black-list all the official debian packages.
generate a file autogenerate-variable.out with all the right setting in it.
- to be run the first time, or when change need it. In theory, it could be run every time before r_pkg_update.pl.
Note: for a list of all the available options try : r_pkg_prepare.sh --help
- On the US side, try:
sh ./r_pkg_prepare.sh --create-all --us
- On Europe side (currently Germany), you might want to try the following for CRAN packages:
sh ./r_pkg_prepare.sh --create-all --eu
If you just want the CRAN mirror, you might want to try the following option --create-cran in place of --create-all.
6. Preparation of the mirror and pbuilder: r_pkg_update.pl
download the packages from CRAN, BioConductor, Omegahat to the local directory structure. It retrieves the top-level files as well as the Descriptions dir and nothing else. Package bigger than 50MB are not package. (--doupdate)
- create or update the Builder base image. (--dobuilderupdate)
- clean in the build and source directories for obsolete files and directories.
Note: for a list of all the available options try : r_pkg_update.pl --help or r_pkg_update.pl --man
./r_pkg_update.pl --doupdate --dobuilderupdate
7. The dependencies Graph construction is done on this step. After constructing the dependencies, the packages are build. If a package failed to be build, all package depending on this one, will be marked as not buildable. The graph construction is not taking a lot of time. What is taking a lot of time is reading the DESCRIPTION file from the disk. it's taking about 150 seconds to build the dependencies graph of cran, bioc, omegahat (on my old P4). So this part will be optimize as soon as the storage.pm exist (see [http://svn.debian.org/wsvn/pkg-bioc/trunk/tools-ng/TODO?op=file&rev=0&sc=0 TODO list]).
Note: for a list of all the available options try : ./r_pkg_ordering.pl --help or ./r_pkg_ordering.pl --man
./r_pkg_ordering.pl
8. upload the results to the shared repository with the current directory still being in the tools-ng directory. (You need to have an access to our [http://alioth.debian.org/projects/pkg-bioc/ Alioth pkg-bioc] group. See the [http://lists.alioth.debian.org/pipermail/pkg-bioc-devel/ pkg-bioc-devel mailing-list] if you want to contribute.) This step is not yet implemented. It will be implemented, as soon as, we have a build process producing ["Lintian"] and ["Linda"] clean packages.
Note: If you want to connect using your ssh key :), you need to log in on [http://alioth.debian.org Alioth] and import your public from the web interface [http://alioth.debian.org/account/editsshkeys.php Import your ssh key].
Alternative Notes
The script gen_already_in_debian.sh generate the file (list.d/AlreadyIncludeInDebian.list) listing the already package R modules.
- 2 builds mechanism are support: ["pbuilder"] or ["cowbuilder"]. Other build system could be support, it's just a matter of:
cp PBuilder.pm mynewbuilder.pm edit mynewbuilder.pm to correct the call done inside. edit r_pkg_prepare to select the build install methods as mynewbuilder continue on step 5 : sh ./r_pkg_prepare.sh --create-all --somewhere
Automated assignment of Debtags
The ?BioConductor developers annotate their packages by words of a controlled hierarchically organised vocabulary. Details are laid out in the biocViews package. The Debian community has come up with Debian Tags, in short: [debtags.alioth.debian.org Debtags]. The Perl script tools/r_debtags_update.pl performs an automated translation of the biocViews terms into entries of the Debtags initiative. It can be called without parameters and as a start reads through all DESCRIPTIONs of locally installed Debian packages. This is not perfect but it is something. The challenge now is to merge such automated efforts with manually created entries.
The SVN repository stores the latest list of tags in the file tools-ng/R.tags. Nothing has yet been decided if an how we should make this accessible to access as a source in /etc/debtags/sources.list. The DebianMed community provides a [http://svn.debian.org/wsvn/debian-med/trunk/community/debtags/tags?op=file&rev=0&sc=0 svn page] to collect additions for the Debtags initiative.
Attempt of a Logo
http://www.inb.uni-luebeck.de/~moeller/bioc/pkg-bioc-logo-R.png