]> git.donarmstrong.com Git - cran2deb.git/blob - branch/double_build/R/debiannaming.R
initial commit of build all-at-once code.
[cran2deb.git] / branch / double_build / R / debiannaming.R
1 repourl_as_debian <- function(url) {
2     # map the url to a repository onto its name in debian package naming
3     if (length(grep('cran',url))) {
4         return('cran')
5     }
6     if (length(grep('bioc',url))) {
7         return('bioc')
8     }
9     fail('unknown repository',url)
10 }
11
12 pkgname_as_debian <- function(name,repopref=NULL,version=NULL,binary=T,build=F) {
13     # generate the debian package name corresponding to the R package name
14     if (name %in% base_pkgs) {
15         name = 'R'
16     }
17     if (name == 'R') {
18         # R is special.
19         if (binary) {
20             if (build) {
21                 debname='r-base-dev'
22             } else {
23                 debname='r-base-core'
24             }
25         } else {
26             debname='R'
27         }
28     } else {
29         # XXX: data.frame rownames are unique, so always override repopref for
30         #      now.
31         debname = tolower(name)
32         if (binary) {
33             if (name %in% rownames(available)) {
34                 repopref <- tolower(repourl_as_debian(available[name,'Repository']))
35             } else if (is.null(repopref)) {
36                 repopref <- 'unknown'
37             }
38             debname = paste('r',repopref,debname,sep='-')
39         }
40     }
41     if (!is.null(version) && length(version) > 1) {
42         debname = paste(debname,' (',version,')',sep='')
43     }
44     return(debname)
45 }
46