#!/usr/bin/r -t
+
# Note: everything in the case needs to be system-independent!
library(cran2deb)
library(ctv)
#mirror <- 'http://cran.uk.r-project.org/'
mirror <- 'http://cran.r-project.org/'
+verbose<-FALSE
+
message('updating list of available R packages...')
available <- available.packages(contrib.url(mirror))
,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")
+ cat(paste(grep("^E:",base_pkgs,value=TRUE),collapse="\n"))
+ cat("\n")
+ q(save="no")
+}
+
+
+if (verbose) {
+ cat("The following base packages were determined:\n")
+ print(base_pkgs)
+}
+
message('updating list of existing Debian packages...')
debian_pkgs <- readLines(pipe('apt-cache rdepends r-base-core | sed -e "/^ r-cran/{s/^[[:space:]]*r/r/;p}" -e d | sort -u'))
+if (any(grep("^E:",debian_pkgs,value=FALSE))) {
+ cat("Cannot continue, the following error occurred:\n")
+ cat(paste(grep("^E:",debian_pkgs,value=TRUE),collapse="\n"))
+ cat("\n")
+ q(save="no")
+}
+
+if (verbose) {
+ cat("The following packages were found to be available:\n")
+ print(debian_pkgs)
+}
+
save(debian_pkgs, base_pkgs, available, ctv.available, file=file.path(cache_root,'cache.rda'),eval.promises=T)
message('synchronising database...')