2 ## DOC: cran2deb depend
3 ## DOC: add dependency aliases, system requirements and forced dependencies
6 suppressPackageStartupMessages(library(cran2deb))
7 suppressPackageStartupMessages(library(digest))
9 exec_cmd <- function(argc, argv) {
11 message(paste('usage: alias <alias> <debian_pkg>'
12 ,' alias_run <alias> <debian_pkg>'
13 ,' alias_build <alias> <debian_pkg>'
14 ,' sysreq <alias> <sysreq sql pattern>'
15 ,' force <alias> <r_pkg>'
16 ,' ls [aliases|force|sysreq]'
32 db_add_depends(alias, pkg, build=T)
33 pkg = gsub('-dev$','',pkg)
34 db_add_depends(alias, pkg, build=F)
35 } else if (cmd == 'alias_run' || cmd == 'alias_build') {
40 db_add_depends(argv[2], argv[3], cmd == 'alias_build')
41 } else if (cmd == 'sysreq') {
46 sysreq = paste(argv[3:argc],collapse=' ')
47 db_add_sysreq_override(sysreq,argv[2])
48 } else if (cmd == 'force') {
53 db_add_forced_depends(argv[3],argv[2])
54 } else if (cmd == 'ls') {
55 if (argc < 2 || argv[2] == 'aliases') {
56 aliases <- db_depends()
57 for (i in rownames(aliases)) {
59 if (as.logical(aliases[i,'build'])) {
62 cat(paste(type,aliases[i,'alias'],aliases[i,'debian_pkg'],'\n'))
64 } else if (argv[2] == 'sysreq') {
65 sysreqs <- db_sysreq_overrides()
66 for (i in rownames(sysreqs)) {
67 cat(paste('sysreq',sysreqs[i,'depend_alias'],sysreqs[i,'r_pattern'],'\n'))
69 } else if (argv[2] == 'force') {
70 forced <- db_forced_depends()
71 for (i in rownames(forced)) {
72 cat(paste('force',forced[i,'depend_alias'],forced[i,'r_name'],'\n'))
78 } else if (cmd == 'quit') {
80 } else if (cmd == '#') {
89 exec_cmd(argc-1,argv[c(2:argc)])
93 argv <- strsplit(readLines(n=1),'[[:space:]]+')[[1]]
94 exec_cmd(length(argv),argv)