]> git.donarmstrong.com Git - cran2deb.git/blob - pkg/trunk/cran2deb
cran2deb: download, unpack and parse DESCRIPTION.
[cran2deb.git] / pkg / trunk / cran2deb
1 #!/usr/bin/env r
2
3 setup <- function() {
4     tmp <- tempfile('cran2deb')
5     dir.create(tmp)
6     return (tmp)
7 }
8
9 prepare.pkg <- function(dir, pkg, ...) {
10     # based loosely on library/utils/R/packages2.R::install.packages
11     tarball <- download.packages(pkg, dir, type="source")[1,2]
12     wd <- getwd()
13     setwd(dir)
14     system(paste('tar','xzf',tarball))
15     setwd(wd)
16     return (gsub("_\\.(zip|tar\\.gz)", "",
17                  gsub(.standard_regexps()$valid_package_version, "",
18                       tarball)))
19 }
20
21 parse.description <- function(path) {
22     return (read.dcf(paste(path,'DESCRIPTION',sep='/')))
23 }
24
25 cleanup <- function(dir) {
26     unlink(dir, recursive=T)
27 }
28
29
30 test <- function(pkg) {
31     dir <- setup()
32         description <- parse.description(prepare.pkg(dir,pkg))
33     cleanup(dir)
34     return(description)
35 }
36