X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=trunk%2Fexec%2Fupdate_cache;h=8107b745a50622d48518d95b66111c573ad8dc70;hb=37076660acdbcfc0da9d645a7fc3d59a32711b03;hp=b47921be8c3d0561de67a57c2e23a06852de4319;hpb=b8576b1378774c688daec181fbbb5f89778b9b22;p=cran2deb.git diff --git a/trunk/exec/update_cache b/trunk/exec/update_cache index b47921b..8107b74 100755 --- a/trunk/exec/update_cache +++ b/trunk/exec/update_cache @@ -14,22 +14,35 @@ ctv.available <- NULL mirrors <- NULL mirrors <- c(mirrors,CRAN='http://cran.r-project.org') -#mirrors <- c(mirrors,BioC='http://www.bioconductor.org/packages/2.7') +mirrors <- c(mirrors,BioC='http://www.bioconductor.org/packages/2.11') +mirrors <- c(mirrors,Omegahat="http://www.omegahat.org/R/src/contrib") verbose<-TRUE +debug<-FALSE +package.filters <- c("OS_type","duplicates") for (mirror.name in names(mirrors)) { mirror.url<-mirrors[mirror.name] message(paste("Updating list of available R packages from ",mirror.name," [",mirror.url,"].\n",sep="")) packages.retrieved <- NULL if ("CRAN" == mirror.name) { - packages.retrieved <- available.packages(contrib.url(mirror.url)) + packages.retrieved <- available.packages(contrib.url(mirror.url),filters=package.filters) + print(packages.retrieved[grep("SNP",rownames(packages.retrieved)),]) } else if ("BioC" == mirror.name) { - for (s in c('bioc')) { - packages.retrieved <- rbind(packages.retrieved,contrib.url(available.packages(paste(mirror.url,s,sep="/")))) + repos <- c( + "bioc" + ,"data/annotation" + ,"data/experiment" + ,"extra" + ) + for (s in repos) { + packages.retrieved <- rbind( + packages.retrieved, + available.packages(contrib.url(paste(mirror.url,s,sep="/")),filters=package.filters) + ) } } else { - packages.retrieved <- available.packages(mirror.url) + packages.retrieved <- available.packages(mirror.url,filters=package.filters) } if (verbose) message(paste("Retrieved ",nrow(packages.retrieved)," package descriptions.\n",sep="")) available <- rbind(available, packages.retrieved) @@ -41,7 +54,11 @@ for (mirror.name in names(mirrors)) { dupes <- duplicated(rownames(available), fromLast=T) if (sum(dupes)>0) { - if (verbose) cat("Found ",sum(dupes)," packages with the same name in different distributions. Those are now removed.\n",sep="") + if (verbose) { + cat("Found ",sum(dupes)," packages with the same name in different distributions. Those are now removed.\n",sep="") + print(available[dupes,]) + } + available <- available[!dupes,,drop=F] } else { if (length(mirrors)>1) cat("All packages have different names.") @@ -49,10 +66,24 @@ if (sum(dupes)>0) { # TODO: Check if not better a dedicated tool should be called for this message('updating list of base R packages...') -base_pkgs <- readLines(pipe(paste('sudo pbuilder --execute --override-config --configfile' - ,shQuote(pbuilder_config),'-- /usr/bin/R --vanilla 2>&1 >/dev/null <' - ,shQuote(file.path(root,'exec/get_base_pkgs')) - ,'| grep -v ^W:'))) +base_pkgs <- c("base", + "compiler", + "datasets", + "graphics", + "grDevices", + "grid", + "methods", + "parallel", + "splines", + "stats", + "stats4", + "tcltk", + "tools", + "utils") +# readLines(pipe(paste('sudo pbuilder --execute --override-config --configfile' +# ,shQuote(pbuilder_config),'-- /usr/bin/R --vanilla 2>&1 >/dev/null <' +# ,shQuote(file.path(root,'exec/get_base_pkgs')) +# ,'| grep -v ^W:'))) if (any(grep("^E:",base_pkgs,value=FALSE))) { cat("Cannot continue, the following error occurred:\n") @@ -62,7 +93,7 @@ if (any(grep("^E:",base_pkgs,value=FALSE))) { } -if (verbose) { +if (debug) { cat("The following base packages were determined:\n") print(base_pkgs) }