From ripley at stats.ox.ac.uk  Fri May 18 17:28:05 2012
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Fri, 18 May 2012 16:28:05 +0100
Subject: [Rd] Distributing Executables.
In-Reply-To: <CAB9w6XzTeMZdVmEis57YNzMnmqV2-Re-h5F+cRsuCJ5esBuvLw@mail.gmail.com>
References: <CAB9w6XzTeMZdVmEis57YNzMnmqV2-Re-h5F+cRsuCJ5esBuvLw@mail.gmail.com>
Message-ID: <4FB66A85.5000401@stats.ox.ac.uk>

On 18/05/2012 16:11, Daniel Fuka wrote:
> Sorry for this intrusion, but I am confused by two statements that
> appear to conflict at some level in Writing R Extensions,

You may be confused, but the documentation does not conflict.

 > and wanted
> to make sure I understand the answer to:
> Can we distribute a portable executable compiled from source by CRAN in CRAN?

Yes.  Take a look at e.g. package Rserve (and there are others which do 
this via src/Makefile.win).

> The following section of Writing R Extensions appears to not be
> addressing this issue, as in this case we are discussing portable CRAN
> compiled binaries, and not binaries that are submitted to CRAN:

Note that by definition a binary is not portable: it is tied to one OS 
and perhaps one architecture on that OS.  The following is about source 
packages.

> "A source package if possible should not contain binary executable
> files: they are not portable, and a security risk if they are of the
> appropriate architecture. R CMD check will warn about them unless they
> are listed (one filepath per line) in a file BinaryFiles at the top
> level of the package. Note that CRAN will no longer accept submissions
> containing binary files even if they are listed."
>
> The following section seems to indicate special cases in which
> packages can create binary files:
> "In very special cases packages may create binary files other than the
> shared objects/DLLs in the src directory. Such files will not be
> installed in multi-arch setting since R CMD INSTALL --libs-only is
> used to merge multiple architectures and it only copies shared
> objects/DLLs. If a package wants to install other binaries (for
> example executable programs), it should to provide an R script
> src/install.libs.R which will be run as part of the installation in
> the src build directory instead of copying the shared objects/DLLs."
>
> Once again, sorry for my confusion on this point. I just have what I
> might consider a special case where it would be very handy to
> distribute a cran compiled executable.

You need to discuss that with CRAN, not here.

>
> Thanks!
> Daniel Fuka
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel


-- 
Brian D. Ripley,                  ripley at 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



[Rd] Distributing Executables.
Prof Brian Ripley