3 # Note: everything in the case needs to be system-independent!
8 #argv <- argv[-(1:match("--args", argv))]
10 #mirror <- 'http://cran.uk.r-project.org/'
11 mirror <- 'http://cran.r-project.org/'
15 message('updating list of available R packages...')
16 available <- available.packages(contrib.url(mirror))
18 #available <- rbind(available,available.packages(contrib.url('http://www.bioconductor.org/')))
19 #dupes <- duplicated(rownames(available), fromLast=T)
20 #available <- available[!dupes,]
22 message('updating list of available R task views...')
23 ctv.available <- available.views(repo=mirror)
25 message('updating list of base R packages...')
26 base_pkgs <- readLines(pipe(paste('sudo pbuilder --execute --override-config --configfile'
27 ,shQuote(pbuilder_config),'-- /usr/bin/R --vanilla 2>&1 >/dev/null <'
28 ,shQuote(file.path(root,'exec/get_base_pkgs'))
31 if (any(grep("^E:",base_pkgs,value=FALSE))) {
32 cat("Cannot continue, the following error occurred:\n")
33 cat(paste(grep("^E:",base_pkgs,value=TRUE),collapse="\n"))
40 cat("The following base packages were determined:\n")
44 message('updating list of existing Debian packages...')
45 debian_pkgs <- readLines(pipe('apt-cache rdepends r-base-core | sed -e "/^ r-cran/{s/^[[:space:]]*r/r/;p}" -e d | sort -u'))
47 if (any(grep("^E:",debian_pkgs,value=FALSE))) {
48 cat("Cannot continue, the following error occurred:\n")
49 cat(paste(grep("^E:",debian_pkgs,value=TRUE),collapse="\n"))
55 cat("The following packages were found to be available:\n")
59 save(debian_pkgs, base_pkgs, available, ctv.available, file=file.path(cache_root,'cache.rda'),eval.promises=T)
61 message('synchronising database...')
62 db_update_package_versions()