}
log_clear()
dir <- setup()
+
+ # obtain the Debian version-to-be
version <- try(new_build_version(name))
if (inherits(version,'try-error')) {
error('failed to build',name)
return(NULL)
}
+
result <- try((function() {
if (!force && !needs_build(name,version)) {
notice('skipping build of',name)
# nothing was done so escape asap.
return(result)
}
+
# otherwise record progress
failed = inherits(result,'try-error')
if (failed) {
notice('already built',srcname,'version',version)
return(F)
}
+
# XXX: what about building newer versions of Debian packages?
if (debname %in% debian_pkgs) {
notice(srcname,' exists in Debian (perhaps a different version)')
build_order <- r_dependency_closure(c(extra_deps$r,argv))
notice('build order',paste(build_order,collapse=', '))
for (pkg in build_order) {
- build(pkg,extra_deps)
+ build(pkg,extra_deps,force=pkg %in% argv)
}
}