From 9458bee5ddfbd3425af98d0704a357022bb76c23 Mon Sep 17 00:00:00 2001 From: blundellc Date: Sat, 13 Sep 2008 13:08:30 +0000 Subject: [PATCH] cran2deb: download, unpack and parse DESCRIPTION. git-svn-id: svn://svn.r-forge.r-project.org/svnroot/cran2deb@8 edb9625f-4e0d-4859-8d74-9fd3b1da38cb --- pkg/trunk/cran2deb | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 pkg/trunk/cran2deb diff --git a/pkg/trunk/cran2deb b/pkg/trunk/cran2deb new file mode 100755 index 0000000..90a8a37 --- /dev/null +++ b/pkg/trunk/cran2deb @@ -0,0 +1,36 @@ +#!/usr/bin/env r + +setup <- function() { + tmp <- tempfile('cran2deb') + dir.create(tmp) + return (tmp) +} + +prepare.pkg <- function(dir, pkg, ...) { + # based loosely on library/utils/R/packages2.R::install.packages + tarball <- download.packages(pkg, dir, type="source")[1,2] + wd <- getwd() + setwd(dir) + system(paste('tar','xzf',tarball)) + setwd(wd) + return (gsub("_\\.(zip|tar\\.gz)", "", + gsub(.standard_regexps()$valid_package_version, "", + tarball))) +} + +parse.description <- function(path) { + return (read.dcf(paste(path,'DESCRIPTION',sep='/'))) +} + +cleanup <- function(dir) { + unlink(dir, recursive=T) +} + + +test <- function(pkg) { + dir <- setup() + description <- parse.description(prepare.pkg(dir,pkg)) + cleanup(dir) + return(description) +} + -- 2.39.5