CRAN build/checks: Dependencies on non-CRAN packages?

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

CRAN build/checks: Dependencies on non-CRAN packages?

Henrik Bengtsson
Hi,

how is the CRAN build/check system dealing with dependencies on
non-CRAN packages?  Are there external repositories that are dealt
with in special ways, e.g. Bioconductor and Omegahat?  Is this
documented somewhere?

The most recent note on this that I could locate is "[Rd] CRAN,
Bioconductor and ctv package dependency questions", Kurt Hornik, Sept
8, 2005; https://stat.ethz.ch/pipermail/r-devel/2005-September/034547.html.
 Does the comments in that thread still reflect how CRAN works?

Thanks

Henrik

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: CRAN build/checks: Dependencies on non-CRAN packages?

Kurt Hornik-5
>>>>> Henrik Bengtsson writes:

> Hi,
> how is the CRAN build/check system dealing with dependencies on
> non-CRAN packages?  Are there external repositories that are dealt
> with in special ways, e.g. Bioconductor and Omegahat?  Is this
> documented somewhere?

> The most recent note on this that I could locate is "[Rd] CRAN,
> Bioconductor and ctv package dependency questions", Kurt Hornik, Sept
> 8, 2005;
> https://stat.ethz.ch/pipermail/r-devel/2005-September/034547.html.
> Does the comments in that thread still reflect how CRAN works?

Not quite.  No more special casing of BioC or Ohat dependencies: they
simply "work", and packages with such dependencies can fully be checked.

-k

> Thanks

> Henrik

> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: CRAN build/checks: Dependencies on non-CRAN packages?

Henrik Bengtsson
On Sun, Jun 7, 2009 at 11:49 PM, Kurt Hornik<[hidden email]> wrote:

>>>>>> Henrik Bengtsson writes:
>
>> Hi,
>> how is the CRAN build/check system dealing with dependencies on
>> non-CRAN packages?  Are there external repositories that are dealt
>> with in special ways, e.g. Bioconductor and Omegahat?  Is this
>> documented somewhere?
>
>> The most recent note on this that I could locate is "[Rd] CRAN,
>> Bioconductor and ctv package dependency questions", Kurt Hornik, Sept
>> 8, 2005;
>> https://stat.ethz.ch/pipermail/r-devel/2005-September/034547.html.
>> Does the comments in that thread still reflect how CRAN works?
>
> Not quite.  No more special casing of BioC or Ohat dependencies: they
> simply "work", and packages with such dependencies can fully be checked.

Hmm... so you're saying R CMD check pass ("work") although a package
is missing?  If so, what about example/test code where that external
package is loaded?  ...or even harder, where a function of that
external package is called, e.g.

require("externalPkg") || stop(...);
res <- externalPkg::specialFcn(...);
stopifnot(identical(res,42));
...

This is not a constructed example; I do have some example():s].

Thxs

Henik

>
> -k
>
>> Thanks
>
>> Henrik
>
>> ______________________________________________
>> [hidden email] mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: CRAN build/checks: Dependencies on non-CRAN packages?

Kurt Hornik-5
>>>>> Henrik Bengtsson writes:

> On Sun, Jun 7, 2009 at 11:49 PM, Kurt Hornik<[hidden email]> wrote:
>>>>>>> Henrik Bengtsson writes:
>>
>>> Hi,
>>> how is the CRAN build/check system dealing with dependencies on
>>> non-CRAN packages?  Are there external repositories that are dealt
>>> with in special ways, e.g. Bioconductor and Omegahat?  Is this
>>> documented somewhere?
>>
>>> The most recent note on this that I could locate is "[Rd] CRAN,
>>> Bioconductor and ctv package dependency questions", Kurt Hornik, Sept
>>> 8, 2005;
>>> https://stat.ethz.ch/pipermail/r-devel/2005-September/034547.html.
>>> Does the comments in that thread still reflect how CRAN works?
>>
>> Not quite.  No more special casing of BioC or Ohat dependencies: they
>> simply "work", and packages with such dependencies can fully be checked.

> Hmm... so you're saying R CMD check pass ("work") although a package
> is missing?

Are you asking what happens if a CRAN package depends on a BioC package
which is missing from BioC?

You can safely assume the availability of BioC and Ohat packages
(provided we can install these).  We do not accept packages with
unconditional (depends/imports) dependencies on package not in the
standard repositories, but do not force the availability of suggested
packages: so you can suggest an external package (but R CMD check should
still pass if the package is not available).

Best
-k

> If so, what about example/test code where that external package is
> loaded?  ...or even harder, where a function of that external package
> is called, e.g.

> require("externalPkg") || stop(...);
> res <- externalPkg::specialFcn(...);
> stopifnot(identical(res,42));
> ...

> This is not a constructed example; I do have some example():s].

> Thxs

> Henik

>>
>> -k
>>
>>> Thanks
>>
>>> Henrik
>>
>>> ______________________________________________
>>> [hidden email] mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: CRAN build/checks: Dependencies on non-CRAN packages?

Henrik Bengtsson
On Mon, Jun 8, 2009 at 12:29 AM, Kurt Hornik<[hidden email]> wrote:

>>>>>> Henrik Bengtsson writes:
>
>> On Sun, Jun 7, 2009 at 11:49 PM, Kurt Hornik<[hidden email]> wrote:
>>>>>>>> Henrik Bengtsson writes:
>>>
>>>> Hi,
>>>> how is the CRAN build/check system dealing with dependencies on
>>>> non-CRAN packages?  Are there external repositories that are dealt
>>>> with in special ways, e.g. Bioconductor and Omegahat?  Is this
>>>> documented somewhere?
>>>
>>>> The most recent note on this that I could locate is "[Rd] CRAN,
>>>> Bioconductor and ctv package dependency questions", Kurt Hornik, Sept
>>>> 8, 2005;
>>>> https://stat.ethz.ch/pipermail/r-devel/2005-September/034547.html.
>>>> Does the comments in that thread still reflect how CRAN works?
>>>
>>> Not quite.  No more special casing of BioC or Ohat dependencies: they
>>> simply "work", and packages with such dependencies can fully be checked.
>
>> Hmm... so you're saying R CMD check pass ("work") although a package
>> is missing?
>
> Are you asking what happens if a CRAN package depends on a BioC package
> which is missing from BioC?

No, my question was what happens if your CRAN package depends on
non-CRAN packages.  In the above Sept 2005 thread, I read "The only
catch is that in the current setup of daily CRAN package
checking, packages with non-CRAN dependencies are checked ***using
fake or no installs***."  I though your term "work" meant the same as
"using fake or no installs".

>
> You can safely assume the availability of BioC and Ohat packages
> (provided we can install these).  We do not accept packages with
> unconditional (depends/imports) dependencies on package not in the
> standard repositories, but do not force the availability of suggested
> packages: so you can suggest an external package (but R CMD check should
> still pass if the package is not available).

Ok, this clarifies a few things. So:

1) One can assume that packages on CRAN, Bioconductor (release and/or
devel?), and Omegahat are available on the CRAN servers.
2) One cannot assume that packages from other repositories, including
r-forge.r-project.org, are available.
3) When R CMD check is ran on the CRAN servers it will not give an
error for non-available packages that are listed under "Suggests:" in
the DESCRIPTION file (as R CMD check would do by default).

However, in my example example() code below, I would expect R CMD
check to still fail if you list 'externalPkg' under "Suggests"; it
will pass the package/code validation, but when running the examples,
it will fail, either because of the require(...) || stop(...)
statement or because there is no way 'res' would have value 42 unless
the package really exists.

Yet another feature request (just a suggestion): It could be useful
provide a file with the packages installed on each "check" server,
e.g.:

data <- installed.packages();
data <- paste(data[,"Package"], data[,"Version"], sep=" ");
cat(data, sep="\n");

Cheers

Henrik

>
> Best
> -k
>
>> If so, what about example/test code where that external package is
>> loaded?  ...or even harder, where a function of that external package
>> is called, e.g.
>
>> require("externalPkg") || stop(...);
>> res <- externalPkg::specialFcn(...);
>> stopifnot(identical(res,42));
>> ...
>
>> This is not a constructed example; I do have some example():s].
>
>> Thxs
>
>> Henik
>
>>>
>>> -k
>>>
>>>> Thanks
>>>
>>>> Henrik
>>>
>>>> ______________________________________________
>>>> [hidden email] mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>>
>
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: CRAN build/checks: Dependencies on non-CRAN packages?

Prof Brian Ripley
In reply to this post by Kurt Hornik-5
On Mon, 8 Jun 2009, Kurt Hornik wrote:

>>>>>> Henrik Bengtsson writes:
>
>> Hi,
>> how is the CRAN build/check system dealing with dependencies on
>> non-CRAN packages?  Are there external repositories that are dealt
>> with in special ways, e.g. Bioconductor and Omegahat?  Is this
>> documented somewhere?
>
>> The most recent note on this that I could locate is "[Rd] CRAN,
>> Bioconductor and ctv package dependency questions", Kurt Hornik, Sept
>> 8, 2005;
>> https://stat.ethz.ch/pipermail/r-devel/2005-September/034547.html.
>> Does the comments in that thread still reflect how CRAN works?
>
> Not quite.  No more special casing of BioC or Ohat dependencies: they
> simply "work", and packages with such dependencies can fully be checked.

With some caveats.  The CRAN check summaries are from four sets of
systems (CRAN's, the Windows and Mac autobuilders and my server using
the Sun Studio compiler) and hence four supervisors.

Most of us install the BioC and Omegahat packages that are needed as
dependencies in so far as we can (this looks to be less so for the Mac
autobuilder).  But 'in so far as we can' has limits, not least the
time needed to fiddle around with some of them.

In principle if a package depended on an off-CRAN/BioC/Omegahat
package and it was clear where to get it we would try to install it --
however, in all past instances I have failed in that installation.

It may be worth adding that as the number of packages grows the total
time available to work on those that fail does not increase (and all
of us involved have less time for this than we once had), so the
effort available per problematic package has decreased considerably.
Also, Omegahat no longer provides Windows binaries and the
alternatives (CRAN extras, BioC extras) only cover a few.

--
Brian D. Ripley,                  [hidden email]
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

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: CRAN build/checks: Dependencies on non-CRAN packages?

Henrik Bengtsson
Thank you all for these clarifications and for all your great
contributions to this project (can't be said too many times)!  /Henrik

On Mon, Jun 8, 2009 at 2:17 AM, Prof Brian Ripley<[hidden email]> wrote:

> On Mon, 8 Jun 2009, Kurt Hornik wrote:
>
>>>>>>> Henrik Bengtsson writes:
>>
>>> Hi,
>>> how is the CRAN build/check system dealing with dependencies on
>>> non-CRAN packages?  Are there external repositories that are dealt
>>> with in special ways, e.g. Bioconductor and Omegahat?  Is this
>>> documented somewhere?
>>
>>> The most recent note on this that I could locate is "[Rd] CRAN,
>>> Bioconductor and ctv package dependency questions", Kurt Hornik, Sept
>>> 8, 2005;
>>> https://stat.ethz.ch/pipermail/r-devel/2005-September/034547.html.
>>> Does the comments in that thread still reflect how CRAN works?
>>
>> Not quite.  No more special casing of BioC or Ohat dependencies: they
>> simply "work", and packages with such dependencies can fully be checked.
>
> With some caveats.  The CRAN check summaries are from four sets of systems
> (CRAN's, the Windows and Mac autobuilders and my server using the Sun Studio
> compiler) and hence four supervisors.
>
> Most of us install the BioC and Omegahat packages that are needed as
> dependencies in so far as we can (this looks to be less so for the Mac
> autobuilder).  But 'in so far as we can' has limits, not least the time
> needed to fiddle around with some of them.
>
> In principle if a package depended on an off-CRAN/BioC/Omegahat package and
> it was clear where to get it we would try to install it -- however, in all
> past instances I have failed in that installation.
>
> It may be worth adding that as the number of packages grows the total time
> available to work on those that fail does not increase (and all of us
> involved have less time for this than we once had), so the effort available
> per problematic package has decreased considerably. Also, Omegahat no longer
> provides Windows binaries and the alternatives (CRAN extras, BioC extras)
> only cover a few.
>
> --
> Brian D. Ripley,                  [hidden email]
> 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
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel