+++ /dev/null
-#!/usr/bin/env r
-## DOC: cran2deb build [-D extra_dep1,extra_dep2,...] package1 package2 ...
-## DOC: builds a particular package.
-## DOC:
-suppressMessages(library(cran2deb))
-
-if (exists('argv')) { # check for littler
- argc <- length(argv)
- extra_deps = list()
- extra_deps$deb = c()
- extra_deps$r = c()
- opts = c('-D','-R')
- # first argument is the root --- this is dealt with elsewhere.
- for (i in 2:argc) {
- if (!(argv[i] %in% opts)) {
- if (argc >= i) {
- argv <- argv[i:argc]
- } else {
- argv <- list()
- }
- argc = argc - i + 1
- break
- }
- if (i == argc) {
- err('missing argument')
- }
- if (argv[i] == '-D') {
- extra_deps$deb = c(extra_deps$deb,strsplit(chomp(argv[i+1]),',')[[1]])
- }
- if (argv[i] == '-R') {
- extra_deps$r = c(extra_deps$r,strsplit(chomp(argv[i+1]),',')[[1]])
- extra_deps$deb = c(extra_deps$deb,lapply(extra_deps$r,pkgname_as_debian))
- }
- }
- if (argc == 0) {
- err('usage: cran2deb [-D extra_dep1,extra_dep2,...] package package ...')
- }
- 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,force=pkg %in% argv)
- }
-}