[Bioc-devel] Wish: BioC devel on R stable for more frequent package updates
Robert Gentleman
rgentlem at fhcrc.org
Thu Jan 10 20:12:51 CET 2008
Hi Henrik and others,
Henrik Bengtsson wrote:
> Hi.
>
> On 07/01/2008, Wolfgang Huber <huber at ebi.ac.uk> wrote:
>> Dear all,
>>
>> I like the suggestion a lot but...:
>>
>> I guess the main problem is that the daily checks in Seattle are run on
>> R-devel and there is no easy way to make sure that a package also runs
>> on a different version of R. Basically Henrik's proposal shifts the
>> burden of testing that packages pass R CMD check and R CMD INSTALL on
>> all the possible versions of R that their "Depends" field allows (and
>> all platforms) to the individual maintainer. And I am not sure whether
>> everybody is ready for that, or whether it is an efficient use of our time.
>
> I would like to clarify that the package should still pass the daily
> builds/checks on the BioC servers which still run R devel. This is
> the only reasonable alternative. So far nothing changed. Same
> requirement as before.
In that case, I am a bit confused about what your request really is.
If the devel version of your package works with R-devel, then that is
fine and in accord. If it also happens to work with R-release that is
great too. Anyone that wanted to use it could install it and see
whether or not it worked. I don't think it would be a good idea to have
a separate test paradigm for devel packages against release R (and that
is the only way I can see for a user to know which packages do work in
R-release).
The reason we have separated out release and devel, is in part to
reduce the amount of legacy code we need to support (resources are very
limited). But it is also designed to allow us to take advantages of
changes in R (we changed CHARSXP handling not that long ago) without
interfering in any way with the users of release. Before we did that
the user experience was a lot less uniform, so we are loath to change
back to a situation where users were having more problems.
I would sooner see you put some new functionality in BioC-release and
maintain the synchronization of R-release - BioC-release or R-devel and
BioC-devel.
>
> Yes, if the package also pass checks on R release and that is set in
> "Depends", then the BioC servers cannot test that as well. It will be
> something the maintainer has to verify. However, since it pass the
> checks on R devel the package still meets the requirement for BioC
> devel (on R devel). The downside is that there is a risk for a
> package to be broken on R stable but not R devel, which happens in
> case the developer makes a commit without checking it on R stable.
> (Indeed, we have the devel version of affxparser depending on R stable
> as we speak)
I am not sure what that means, but if it means that affxparser does
not build against R-devel, then that is unfortunate.
>
> The burden of checking a package is only on those developers who have
> R stable in "Depends" in their BioC devel packages. Anyone who don't
> want to do that and stick with the current approach, just have to make
> sure R devel is in "Depends". ...or did I miss something?
I don't think you can do that. You either need to say
R=xxx or R >= xxx, and if you use the first, then for a devel
package it had better be R-devel that is being specified, or it will
fail our builds since we build with R-devel. In the second case, then
we test against R-devel (even if R-release is specified) on the devel
arm. Users are free to try and see what does or does not install, but
there are no tools that I can see how we can easily operationalize to
let them discriminate between a developer who has the intention you
have, and one who merely forgot to update.
You will also get in no end of trouble with automatic tools like
update.packages as there is no easy way to distinguish what repository
to use, on a per package basis. So users that want those tools are
going to either get all release, all devel, or have to write extra code
for intermediate work.
And finally, R devel and BioC devel are not that unstable, that one
cannot find a version that works and can be used with relatively little
effort.
Please correct me if I have gotten the wrong impression somewhere
along the way.
best wishes
Robert
>
> Best,
>
> Henrik
>
>>
>> Best wishes
>> Wolfgang
>>
>> ------------------------------------------------------------------
>> Wolfgang Huber EBI/EMBL Cambridge UK http://www.ebi.ac.uk/huber
>>
>> Henrik Bengtsson wrote:
>>> Hi,
>>>
>>> I'm quite sure something similar to the below has been discussed
>>> before. I've got aroma.affymetrix
>>> (http://www.braju.com/R/aroma.affymetrix/) and I am thinking of making
>>> it available on Bioconductor trying to meet the following:
>>>
>>> 1) The package is designed to work with the release version of R
>>> (v2.6.x) in order to be more user friendly (and more stable).
>>> 2) The package is frequently updated (a few times a month).
>>> 3) Users should be able to run it on R release (or R devel, if they
>>> are in that league).
>>> 4) Users should be able to use other BioC release package (or BioC
>>> devel packages,
>>> if they are in that league).
>>>
>>> I'm currently providing the above via my own repository using standard
>>> R installation mechanisms. However, the BioC release/devel repository
>>> system does not support the above, because:
>>>
>>> A) BioC release should not be updated beyond bug fixes and minor updates.
>>> B) The BioC devel branch requires R devel.
>>>
>>> What are the objectives for strictly enforcing R devel on BioC devel?
>>> Couldn't the latter requirement, which is mostly an installation
>>> script requirement, instead be taken care of by the regular package
>>> dependencies? That is, you can put a package in BioC devel that
>>> depends on R stable and as long as other package dependencies install
>>> on R stable, then everything should be fine (relying on the standard R
>>> installation mechanisms). For example, if Biobase requires R devel,
>>> then all packages depending on it will also need R devel, but
>>> non-Biobase packages will not "inherit" that dependency on R devel.
>>> Nightly builds and checks can still be done on R devel, meaning a BioC
>>> devel package should install on R devel, but may also install on R
>>> stable.
>>>
>>> Best,
>>>
>> --
>>
>
> _______________________________________________
> Bioc-devel at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
--
Robert Gentleman, PhD
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M2-B876
PO Box 19024
Seattle, Washington 98109-1024
206-667-7700
rgentlem at fhcrc.org
More information about the Bioc-devel
mailing list