Debian CRAN/BIOC 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].
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
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://alioth.debian.org/plugins/scmcvs/cvsweb.php/?cvsroot=pkg-bioc CVS 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.
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. The r_pkg_prepare.sh and r_pkg_update.pl scripts prepare and create the proper preparation of Debian packages with the ["pbuilder"] suite. 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 cran2deb.pl script will however also perform without these aids.
1. Prepare local Debian installation:
aptitude install libapt-pkg-perl libdbd-sqlite3-perl libgraph-perl r-base-core r-base-dev debhelper cdbs devscripts cvs
and to reduce the dependency on this wiki page the above can also be achieved with
aptitude install `perl ./cran2deb.pl --listRequiredDebianPackages`
2. Create an empty directory and cd in it.
3. Checkout the pkg-bioc's tools module via CVS, either
anonymously without account on alioth.debian.org
cvs -z3 -d:pserver:anonymous@cvs.alioth.debian.org:/cvsroot/pkg-bioc co tools
or (preferred) with one's on alioth.debian.org
export CVS_RSH=ssh cvs -d :ext:developername@cvs.alioth.debian.org:/cvsroot/pkg-bioc checkout tools
Only this second route allows the contribution to the project.
and go to the new directory
cd tools
4. 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.
- 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:
sh ./r_pkg_prepare.sh --create-all --eu
5. Preparation of the mirror and pbuilder: r_pkg_update.pl
- download the packages from CRAN, BIOC, Omegahat to the local directory structure. It retrieves the top-level files as well as the Descriptions dir and nothing else. (--doupdate)
- create or update the pbuilder base image. (--dopbuilderupdate)
- 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 --dopbuilderupdate
6. go to the respective freshly created directory for each of the R package repositories and start the compilation of packages.
Note: due to some cross-dependencies between CRAN, Bioc, Omegahat, the build order is not yet perfect. You will problably to run it twice or more.
Note: for a list of all the available options try : ./cran2deb.pl --help or ./cran2deb.pl --man
for repos in cran bioc-1.9 omegahat do ( cd ../$repos && ./cran2deb.pl ) done
7. upload the results to the shared repository with the current directory still being in the tools subdir. (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.)
for repos in cran bioc-1.9 omegahat do ./r_pkg_upload.pl --repos `pwd`/../$repos --username your-alioth-username done
cran2deb Options (Might be obsolete, please check the uptodate content in the CVS)
perl cran2deb.pl --help cran2deb -- Convert R packages from CRAN/BioConductor into Debian packages Usage: cran2deb [options] Options: --help show this help --verbose more verbose operation --debug even more verbose for debugging purposes --dryrun only simulate but don't build --dbname specify filename of database to read/store permanent info. The data should be shared between repositories (set to 'database') --binarch arch binary architecture --subset regexp regular expression to match package name (set to '') --repository path repository --changelobdbdir path changelogdb directory --overwrite build if debian package is found in build directory --spotChangesToScript rebuild package if change to this script was detected (set to '0') --ignore ignore build errors (for running over night) --keepPatchedSource do not removed the source directory (set to '') --displayknown display the entries already in the DB --skipTestOnInstalledBuildDependencies (set to '0') If set, the build dependencies are not checked for their installation. --installRequiredPackages (set to 'echo', can be 'echo' or 'sudo') If test on installed packages is not skipped, then this routine will find ways to install the missing packages. If set to echo, the routine will only declare to execute a command for package installation but not perform such.
Missing Packages
The compilation had difficulties with the following packages ... not that these would not be resolved over time. Let patches (or packages) fly in.
BioC
- geneplotter Ruuid graph Rgraphviz quantsmooth RBGL yeastExpData arrayQCplot pkgDepTools marray stepNorm OLIN OLINgui EBImage hypergraph prada facsDorit aroma.light hexbin rflowcyt BioMVCClass GGtools
?AnnBuilder tkWidgets SAGElyzer pdmclass iSPlot webbioc apComplex tilingArray davidTiling gaggle SJava xcms GraphAT affxparser sscore SNAData Category GOstats ppiStats biocViews rn230arnensgcdf atgenomeatrefseqprobe nnNorm Rredland convert beta7 gff3Plotter RdbiPgSQL arrayQuality arrayMagic spotSegmentation maDB applera widgetInvoke ?BeadExplorer beadarray cghMCR SSOAP ?GeneTraffic Resourcerer KEGGSOAP weaver pcaMethods RGtk pgUtils RMAGEML impute codelink nem pcot2 ontoTools OCplus affylmGUI GeneTS MCRestimate ScISI simulatorAPMS cellHTS globaltest ppiData iSNetwork pathRender snapCGH timecourse drzebrafishdrug biomaRt rat2302 affycoretools limmaGUI