2 ## DOC: cran2deb build [-d] [-D extra_dep1,extra_dep2,...] package1 package2 ...
3 ## DOC: builds a particular package.
4 ## DOC: -d leave the staging directory around for debugging.
6 suppressPackageStartupMessages(library(cran2deb))
8 if (exists('argv')) { # check for littler
14 opts = c('-D','-R','-d')
15 # first argument is the root --- this is dealt with elsewhere.
17 if (!(argv[i] %in% opts)) {
27 err('missing argument')
29 if (argv[i] == '-D') {
30 extra_deps$deb = c(extra_deps$deb,strsplit(chomp(argv[i+1]),',')[[1]])
32 if (argv[i] == '-R') {
33 extra_deps$r = c(extra_deps$r,strsplit(chomp(argv[i+1]),',')[[1]])
34 extra_deps$deb = c(extra_deps$deb,lapply(extra_deps$r,pkgname_as_debian))
36 if (argv[i] == '-d') { #debug
41 err('usage: cran2deb build [-d] [-D extra_dep1,extra_dep2,...] package package ...')
43 build_order <- r_dependency_closure(c(extra_deps$r,argv))
44 notice('build order',paste(build_order,collapse=', '))
45 for (pkg in build_order) {
46 build(pkg,extra_deps,force=pkg %in% argv, do_cleanup)