dir <- setup()
pkg <- try((function() {
pkg <- prepare.new.debian(prepare.pkg(dir,name),extra_deps)
+ # XXX: what about building newer versions?
+ if (pkg$debname %in% debian_pkgs) {
+ message(paste('N:',pkg$srcname,' exists in Debian (perhaps a different version)'))
+ return(pkg)
+ }
if (file.exists(changesfile(pkg$srcname,pkg$debversion))) {
message(paste('N: already built',pkg$srcname,'version',pkg$debversion))
return(pkg)
sudo pbuilder $mode --override-config --configfile $root/etc/pbuilderrc
$root/exec/update_cache $root
$root/exec/license <$root/data/populate_licenses
+$root/exec/sysreq <$root/data/populate_sysreq
message('updating list of available R task views...')
ctv.available <- available.views(repo=mirror)
+
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:')))
+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'))
-save(base_pkgs, available, ctv.available, file=file.path(argv[1],'data/cache.rda'),eval.promises=T)
+save(debian_pkgs, base_pkgs, available, ctv.available, file=file.path(argv[1],'data/cache.rda'),eval.promises=T)