]> git.donarmstrong.com Git - cran2deb.git/blob - trunk/R/debiannaming.R
83c0ab58cf430782c2bb1e9c5b289832c4bd227e
[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     }
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         if (!(name %in% rownames(available))) {
32             bundle <- r_bundle_of(name)
33             if (!is.null(bundle)) {
34                 name <- bundle
35             }
36         }
37         debname = tolower(name)
38         if (binary) {
39             if (name %in% rownames(available)) {
40                 repopref <- tolower(repourl_as_debian(available[name,'Repository']))
41             } else if (is.null(repopref)) {
42                 repopref <- 'unknown'
43             }
44             debname = paste('r',repopref,debname,sep='-')
45         }
46     }
47     if (!is.null(version) && length(version) > 1) {
48         debname = paste(debname,' (',version,')',sep='')
49     }
50     return(debname)
51 }
52