]> git.donarmstrong.com Git - cran2deb.git/commitdiff
build: check if packages exist already in Debian.
authorblundellc <blundellc@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Sat, 13 Sep 2008 13:18:56 +0000 (13:18 +0000)
committerblundellc <blundellc@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Sat, 13 Sep 2008 13:18:56 +0000 (13:18 +0000)
uses Dirk's trick of forking apt-cache rdepend r-base-core

git-svn-id: svn://svn.r-forge.r-project.org/svnroot/cran2deb@63 edb9625f-4e0d-4859-8d74-9fd3b1da38cb

pkg/trunk/exec/build
pkg/trunk/exec/update
pkg/trunk/exec/update_cache

index f58246e446e9118590f9747419c9ab0dbd3d32dd..28db24da85406009e3f08fd5b2d0db8d0023bcc0 100755 (executable)
@@ -5,6 +5,11 @@ go <- function(name,extra_deps) {
     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)
index 59fa41ad80752d7dfa2299418c5d104f5ab11889..e816a20b4d16341a3c5b3a1001a48b20336b8cc9 100755 (executable)
@@ -19,3 +19,4 @@ if ([ -e /var/cache/pbuilder/base-cran2deb.tgz ]) {
 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
index 627e570202d0e5e1898b7adaf1da1283b9fce4db..659b5037448b2de875e5de23ccdee6cf3d2e2121 100755 (executable)
@@ -10,11 +10,14 @@ available <- rbind(available,available.packages(contrib.url('http://www.biocondu
 
 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)