On 18/04/2013 16:07, McGehee, Robert wrote:
R-developers,
I have a binary R package built using R 2.14.1 that I would like to run on R
3.0.0. Unfortunately, the original source code is unavailable, so I cannot
rebuild the package as R 3.0.0 requires.
Is there a straight forward way of converting the package (.rdb, .rdx and .rds
files) in the binary package from a 2.14.1 version to a 3.0.0 version without
the source code (perhaps uncompressing/recompressing somehow)?
Naturally, since the R code is visible, I know I can output all of the parsed
objects in the package to a text file to make a skeleton package that can then
be built/installed. Something like this:
objs <- ls(envir=loadNamespace("binaryPkg"), all.names=TRUE)
dump(objs, file="code.R", envir=loadNamespace("binaryPkg"))
However, I'd still lose all the man pages, and since I get a couple of "deparse may
be incomplete" warnings, I worry that this may be introducing additional bugs.
Is there a magic solution here, or is this a fool's errand?
No magic solution, and the following may not work, but it might.
Make a simple package with the correct DESCRIPTION file. Install that
somewhere new. Then use the installed DESCRIPTION file and
Meta/package.rds to replace the versions you got from 2.14.1.
It is possible to extract the man pages: the key step is
tools:::fetchRdDB. On my system
names(tools:::fetchRdDB('/Users/ripley/R/R-devel/library/MASS/help/MASS'))
tools:::fetchRdDB('/Users/ripley/R/R-devel/library/MASS/help/MASS', 'rlm')
work: the layout of the pages is a little odd.
Thanks, Robert
Robert McGehee, CFA
Geode Capital Management, LLC
One Post Office Square, 28th Floor | Boston, MA | 02109
Direct: (617)392-8396
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel