[Rprotobuf-yada] strategy for releasing (e.g. what to do about windows)

Dirk Eddelbuettel edd at debian.org
Mon Nov 9 13:59:03 CET 2009


On 9 November 2009 at 09:44, Romain François wrote:
| Hi,
| 
| I'm getting quite happy about the package now.
| 
| I plan to integrate Saptarshi's proto file and implement some setAs 
| methods so that we can represent "any" R data as a message, which should 
| be nice.

Ok.

One wishlist item I had was to see if you could please upgrade to Rcpp 0.6.7
from CRAN, tell me that you've done so ... and I'd then commit my changed
list_people_R.rcpp that uses RcppList() from Rcpp.  

With that, we could change the asList() code to actually use it. And/or
change other parts to use Rcpp.  Yay or rather Nay?

| But I'd like to release before that, so that people can start to play 
| with it, ...
| 
| I'm quite uncertain about what to do to release the package so that it 
| works on windows. I'm sure windows people would expect to only have to 
| install the package, so should be distribute a compiled libproto ?

Tricky!

I own several CRAN packages that interface external libs and this issue comes
up all the time. So far I have never re-packaged the external lib. It would
help the uninitiated, but it is also somewhat crude.   Plus, I don't really
like Windows and don't like maintaining build code on that side.  How do you
feel about that?

| Another thing I'm not sure about is these lines in rprotobuf.cpp :
| 
| 	MockErrorCollector error_collector ;
| 	DiskSourceTree source_tree;
| 	// FIXME : this works only on linux I suppose
| 	source_tree.MapPath("/", "/");
| 	Importer importer(&source_tree, &error_collector);

Wow, do we actually walk the entire disk? That sounds crazy!

| which for obvious reasons won't work on windows. This is quite central 
| to the package because if we can't read proto files, we can't do anything.

I think we should respond to an env var RPROTO_TREE_TOP (or some other name)
and search from there.  Given a dir, we can walk it in either OS.  Doing more
in a portable manner is an attempt at suicide....
 
| BTW, I was just comparing the byte size of R serialization with the byte 
| size of protobuf's, and it is quite striking:
| 
|  > message <- new( tutorial.Person, name = "dddd", email = "eeeeeee", id 
| = 1 )
|  > length( serialize( message, NULL ) )
| [1] 17
|  > length( serialize( as.list(message), NULL ) )
| [1] 166
| 
| Now I understand what Saptarshi meant with R serialization being verbose.

Nice!

Dirk

-- 
Three out of two people have difficulties with fractions.


More information about the Rprotobuf-yada mailing list