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)
,' ',db_quote(tolower(depend_alias))
,',',db_quote(tolower(pattern))
,')'))
- db_stop(con,TRUE)
+ db_stop(con)
}
db_sysreq_overrides <- function() {
,',',as.integer(build)
,',',db_quote(tolower(debian_pkg))
,')'))
- db_stop(con,TRUE)
+ db_stop(con)
}
db_depends <- function() {
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() {
,' ',db_quote(tolower(name))
,',',as.integer(accept)
,')'))
- db_stop(con,TRUE)
+ db_stop(con)
}
db_license_override_hash <- function(license_sha1) {
,' ',db_quote(tolower(name))
,',',db_quote(tolower(license_sha1))
,')'))
- db_stop(con,TRUE)
+ db_stop(con)
}
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)
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) {
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)))
# 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'