]> git.donarmstrong.com Git - cran2deb.git/blob - pkg/trunk/R/debiannaming.R
depends: distinguish generated names of build/run-time as well as source/binary Debia...
[cran2deb.git] / pkg / 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     stop(paste('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.na(bundle)) {
34                 stop(paste('package',name,'is not available'))
35             }
36             name <- bundle
37         }
38         debname = tolower(name)
39         if (binary) {
40             repopref <- tolower(repourl.as.debian(available[name,'Repository']))
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