[R-pkg-devel] Etiquette for package submissions that do not automatically pass checks?

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Fri Aug 14 21:54:08 CEST 2020


On 14/08/2020 3:08 p.m., Cesko Voeten wrote:
> A while ago, I submitted an update to my package 'buildmer' that does not pass R CMD check. This is deliberate. The package contains functionality to run on cluster nodes that were set up by the user and needs to access its own internal functions from there. In previous versions of the package, I had maintained a list of those functions and clusterExport()ed them, but that had the side effect of overwriting any same-named user objects on the user-provided cluster nodes, which I thought was poor form. The update therefore accesses these functions using ':::', which triggers a check warning.
> 
> I thought the etiquette was to explain this in the 'Comments' box when submitting, but this gave me the same automated message that the package does not pass checks and that I should fix it or reply-all and explain. This led me to believe that I should not have used the 'Comments' box for this purpose, hence I resubmitted the package leaving the comments box empty, and I replied-all to the subsequent e-mail I got with an explanation similar to the above.

It seems to me that what you should have done is "reply-all and 
explain", as the automated message said.

> It has now been a while since I sent that e-mail (ten days), and I have yet to hear back. I was wondering if the message had gotten lost, if they simply haven't gotten around to it yet (I have no idea how much mail they receive on a daily basis, but I'd think it's a lot more than I do), or if I should have handled this differently. Only CRAN can answer the first two questions, but before I bother them: was this the correct procedure, or should I simply have done something differently?
> 

You can see the state of your submission using the foghorn package. 
cran_incoming("buildmer") currently shows your package is in the 
"archive", which means "package rejected: it does not pass the checks 
cleanly and the problems are unlikely to be false positives".

I only see version 1.7 there, which may indicate that you resubmitted 
exactly the same package (down to the version number).  As the 
instructions at 
https://cran.r-project.org/web/packages/policies.html#Re_002dsubmission 
say, "Increasing the version number at each submission reduces confusion 
so is preferred even when a previous submission was not accepted."

What I'd suggest now is that you do nothing more for a day or two, 
because CRAN members who aren't on holiday might read and respond to 
your message.  If you don't hear anything, then I'd start over again, 
with a new version number, and an explanation in the comments, and 
likely a followup reply-all.

Alternatively, you could export those troublesome functions from your 
package but document them as for internal use only.  Renaming them with 
a name starting with "." will make them harder for users to stumble 
upon, but you can still access them using buildmer::.something, you 
shouldn't need clusterExport(). Then you will meet the technical 
requirement and not need any explanation.

Duncan Murdoch



More information about the R-package-devel mailing list