]> git.donarmstrong.com Git - cran2deb.git/blobdiff - trunk/R/db.R
daemonize mini-dinstall
[cran2deb.git] / trunk / R / db.R
index f6a4c073a85151d7a3df3e16d900fa712de0693f..4c9434e85276740080d435087c48dd8953781b97 100644 (file)
@@ -53,16 +53,17 @@ db_start <- function() {
     if (!dbExistsTable(con,'builds')) {
         dbGetQuery(con,paste('CREATE TABLE builds ('
                   ,' id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL'
+                  ,',system TEXT NOT NULL'
                   ,',package TEXT NOT NULL'
                   ,',r_version TEXT NOT NULL'
                   ,',deb_epoch INTEGER NOT NULL'
                   ,',deb_revision INTEGER NOT NULL'
                   ,',db_version INTEGER NOT NULL'
                   ,',date_stamp TEXT NOT NULL'
-                  ,',git_revision TEXT NOT NULL'
+                  ,',scm_revision TEXT NOT NULL'
                   ,',success INTEGER NOT NULL'
                   ,',log TEXT'
-                  ,',UNIQUE(package,r_version,deb_epoch,deb_revision,db_version)'
+                  ,',UNIQUE(package,system,r_version,deb_epoch,deb_revision,db_version)'
                   ,')'))
     }
     return(con)
@@ -140,7 +141,7 @@ db_add_sysreq_override <- function(pattern,depend_alias) {
                     ,' ',db_quote(tolower(depend_alias))
                     ,',',db_quote(tolower(pattern))
                     ,')'))
-    db_stop(con,TRUE)
+    db_stop(con)
 }
 
 db_sysreq_overrides <- function() {
@@ -169,7 +170,7 @@ db_add_depends <- function(depend_alias,debian_pkg,build=F) {
                     ,',',as.integer(build)
                     ,',',db_quote(tolower(debian_pkg))
                     ,')'))
-    db_stop(con,TRUE)
+    db_stop(con)
 }
 
 db_depends <- function() {
@@ -198,7 +199,7 @@ db_add_forced_depends <- function(r_name, depend_alias) {
     dbGetQuery(con,
             paste('INSERT OR REPLACE INTO forced_depends (r_name, depend_alias)'
                  ,'VALUES (',db_quote(r_name),',',db_quote(depend_alias),')'))
-    db_stop(con,TRUE)
+    db_stop(con)
 }
 
 db_forced_depends <- function() {
@@ -232,7 +233,7 @@ db_add_license_override <- function(name,accept) {
                     ,' ',db_quote(tolower(name))
                     ,',',as.integer(accept)
                     ,')'))
-    db_stop(con,TRUE)
+    db_stop(con)
 }
 
 db_license_override_hash <- function(license_sha1) {
@@ -269,7 +270,7 @@ db_add_license_hash <- function(name,license_sha1) {
         ,' ',db_quote(tolower(name))
         ,',',db_quote(tolower(license_sha1))
         ,')'))
-    db_stop(con,TRUE)
+    db_stop(con)
 }
 
 
@@ -286,16 +287,17 @@ db_update_package_versions <- function() {
 db_record_build <- function(package, deb_version, log, success=F) {
     con <- db_start()
     dbGetQuery(con,paste('INSERT OR REPLACE INTO builds'
-                        ,'(package,r_version,deb_epoch,deb_revision,db_version,success,date_stamp,git_revision,log)'
+                        ,'(package,system,r_version,deb_epoch,deb_revision,db_version,success,date_stamp,scm_revision,log)'
                         ,'VALUES'
                         ,'(',db_quote(package)
+                        ,',',db_quote(which_system)
                         ,',',db_quote(version_upstream(deb_version))
                         ,',',db_quote(version_epoch(deb_version))
                         ,',',db_quote(version_revision(deb_version))
                         ,',',db_cur_version(con)
                         ,',',as.integer(success)
                         ,',',db_quote(format(Sys.time(),'%a, %d %b %Y %H:%M:%S %z'))
-                        ,',',db_quote(git_revision)
+                        ,',',db_quote(scm_revision)
                         ,',',db_quote(paste(log, collapse='\n'))
                         ,')'))
     db_stop(con)
@@ -306,6 +308,7 @@ db_builds <- function(pkgname) {
     con <- db_start()
     build <- dbGetQuery(con, paste('SELECT * FROM builds'
                        ,'WHERE success = 1'
+                       ,'AND system =',db_quote(which_system)
                        ,'AND package =',db_quote(pkgname)))
     db_stop(con)
     if (length(build) == 0) {
@@ -319,6 +322,7 @@ db_latest_build <- function(pkgname) {
     con <- db_start()
     build <- dbGetQuery(con, paste('SELECT * FROM builds'
                        ,'NATURAL JOIN (SELECT package,max(id) AS max_id FROM builds'
+                       ,              'WHERE system =',db_quote(which_system)
                        ,              'GROUP BY package) AS last'
                        ,'WHERE id = max_id'
                        ,'AND builds.package =',db_quote(pkgname)))
@@ -353,6 +357,7 @@ db_outdated_packages <- function() {
                # extract the latest attempt at building each package
                ,      'SELECT * FROM builds'
                ,      'NATURAL JOIN (SELECT package,max(id) AS max_id FROM builds'
+               ,                    'WHERE system =',db_quote(which_system)
                ,                    'GROUP BY package) AS last'
                ,      'WHERE id = max_id) AS build'
                ,'ON build.package = packages.package'