]> git.donarmstrong.com Git - cran2deb.git/commitdiff
work around calloc error in R 2.10
authorblundellc <blundellc@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Fri, 27 Nov 2009 22:21:37 +0000 (22:21 +0000)
committerblundellc <blundellc@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>
Fri, 27 Nov 2009 22:21:37 +0000 (22:21 +0000)
git-svn-id: svn://svn.r-forge.r-project.org/svnroot/cran2deb@286 edb9625f-4e0d-4859-8d74-9fd3b1da38cb

trunk/R/db.R
trunk/data/populate_depend_aliases
trunk/data/populate_forcedep

index 75c658cf1fcacac1c4d62e4ccfcf82812b04b26d..c41fb529465e23ff3580b4e0dc8463322fbd3741 100644 (file)
@@ -307,6 +307,21 @@ db_date_format <- '%Y-%m-%d'
 db_time_format <- '%H:%M:%OS %Z'
 
 db_record_build <- function(package, deb_version, log, success=F) {
+    # if the log is more than 1kB, only keep the last 1kB.
+    # this is to work around a problem that seems to have appeared in R 2.10 causing calloc errors.
+    # if the log is not pruned then we get the following error:
+    # 
+    # Error in gsub("(['\"])", "\\1\\1", text) :
+    #   Calloc could not allocate (-197080581 of 1) memory
+    # Error in dbGetQuery(con, paste("INSERT OR REPLACE INTO builds", "(package,system,r_version,deb_epoch,deb_revision,db_version,success,date_stamp,time_stamp,scm_revision,log)",  :
+    #   error in evaluating the argument 'statement' in selecting a method for function 'dbGetQuery'
+
+    log = paste(log,collapse='\n')
+    end = nchar(log)
+    max_log_len = 1024
+    if (end > max_log_len) {
+        log = db_quote(substr(log,end-max_log_len,end))
+    }
     con <- db_start()
     o<-options(digits.secs = 6)
     dbGetQuery(con,paste('INSERT OR REPLACE INTO builds'
@@ -322,7 +337,7 @@ db_record_build <- function(package, deb_version, log, success=F) {
                         ,',',db_quote(format(Sys.time(), db_date_format))
                         ,',',db_quote(format(Sys.time(), db_time_format))
                         ,',',db_quote(scm_revision)
-                        ,',',db_quote(paste(log, collapse='\n'))
+                        ,',',log
                         ,')'))
     options(o)
     db_stop(con)
index ee22eb03c33028389df03df380620c18cb62034b..de68484ec9c8f751f7cd76c4bcc061dbf47c6223 100644 (file)
@@ -121,3 +121,5 @@ alias_run tk-img libtk-img
 alias_build tk-img libtk-img-dev 
 alias_build pkg-config pkg-config 
 alias_run pkg-config pkg-config 
+alias_build rgtk2 r-cran-rgtk2 
+alias_run rgtk2 r-cran-rgtk2 
index 35662c574bbfb16aad85a91099d18308177a970c..294048052d50d6aee7e127fabd30217cf0b7b22e 100644 (file)
@@ -49,3 +49,4 @@ force vr DoE.base
 force colorspace DoE.base 
 force pkg-config mvgraph 
 force glade RGtk2 
+force rgtk2 rattle