]> git.donarmstrong.com Git - cran2deb.git/blob - trunk/R/debiannaming.R
Knowing how to interpret rforge and omegahat, too.
[cran2deb.git] / trunk / 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     } else if (length(grep('bioc',url))) {
6         return('bioc')
7     } else if (length(grep('omegahat',url))) {
8         return('omegahat')
9     } else if (length(grep('rforge',url))) {
10         return('rforge')
11     }
12     fail('unknown repository',url)
13 }
14
15 pkgname_as_debian <- function(name,repopref=NULL,version=NULL,binary=T,build=F) {
16     # generate the debian package name corresponding to the R package name
17     if (name %in% base_pkgs) {
18         name = 'R'
19     }
20     if (name == 'R') {
21         # R is special.
22         if (binary) {
23             if (build) {
24                 debname='r-base-dev'
25             } else {
26                 debname='r-base-core'
27             }
28         } else {
29             debname='R'
30         }
31     } else {
32         # XXX: data.frame rownames are unique, so always override repopref for
33         #      now.
34         debname = tolower(name)
35         if (binary) {
36             if (name %in% rownames(available)) {
37                 repopref <- tolower(repourl_as_debian(available[name,'Repository']))
38             } else if (is.null(repopref)) {
39                 repopref <- 'unknown'
40             }
41             debname = paste('r',repopref,debname,sep='-')
42         }
43     }
44     if (!is.null(version) && length(version) > 1) {
45         debname = paste(debname,' (',version,')',sep='')
46     }
47     return(debname)
48 }
49