[Bioc-devel] EXTERNAL: R version dependence of a new package
I lean to agree with Yaoyong, because I find it helpful to specify (or read): Depends: R (>= 3.0.0) which sends a message that "the code is relying on features in R that was not available prior to R 3.0.0". Also, if that's the only dependency you have, then if it passed R CMD check on R 3.0.0 in the past, it will keep doing so in the future. On the other hand, if the package depends on other packages, which it's likely to do, then that "R (>= 3.0.0)" sends a message about what the lower bound is - it does not necessarily guarantee that it will work with R 3.0.0. I think that is a valid specification (for R and packages) because otherwise, what is the "(>= x.y.z)" specification meant to be used for otherwise? The alternative is to, as Stephanie proposes, to not specify "R (>= x.y.z)" or just "R", which is an unfortunate workaround. Somewhat related to this, couldn't there be a place-holder R package called 'Bioconductor' whose version corresponds to the Bioconductor release/devel version? Then a package could specify "Imports: Bioconductor (>= 3.6)" to clarify/specify that the package "depends on/is for" a particular version of the Bioconductor. The Bioconductor 3.6 package could in turn specify "R (>= 3.4.0)". BTW, unfortunately, R does not support specify a lower and an upper range, e.g. neither "R (>= 3.4.0 & < 3.5.0)" nor "R (>= 3.4.0), R (< 3.5.0)" is accepted which also means it's not possible to depend on "Bioconductor (== 3.6.*)". Henrik
On Tue, Oct 24, 2017 at 10:27 AM, Stephanie M. Gogarten <sdmorris at uw.edu> wrote:
Dear Yaoyong, Can you remove the R version dependency from your DESCRIPTION file entirely? That will eliminate the warning, but will also not suggest to users that they need a newer version of R than is necessary. R 2.3.0 was released in 2006, so it seems highly unlikely that anyone would be currently trying to use an R version older than that. Lori's answer seems to be more about the R version you should be using to test your package, which should indeed be current, but that is different than the minimum R version required to run the package at all. I know Bioconductor encourages users to stay up-to-date with R versions and does not guarantee that older versions will work with all packages, but I think there is still some utility in letting users know which packages depend on recent versions of R, and which packages can be expected to work with older versions. Stephanie On 10/23/17 4:36 AM, Yaoyong Li wrote:
Dear Lori, many thanks for your detailed explanations. I think that it makes sense from Bioconductor maintenance's point of view to require that the R version of a package should be the same of the R version in a Bioconductor release which includes the package, because it's the safest option. On the other hand, I still think that this requirement put some unnecessary limit on the scope of the R version which a package can be used with. For example, as the package creator I know that my package can work with R from 2.3.0 and upward, including the version 3.4 that the current Bioconductor used, then why should I have to restrict the R version to 3.4 and upward. I guess that it's the package creator's responsibility to determine which R version(s) their packages depend on? It seems to me that there is a R version problem between the package and the Biocondonctor only when the R versions that a package specifies does not include the R version of a Bioconductor release which the package is supposed to be included in. I think that it probably makes no much difference in practice between what I think it should be and the current practice in Bioconductor, as one can easily upgrade the R to the latest version with no cost. But I hope you can see the difference in theory. Best regards, Yaoyong On Fri, Oct 20, 2017 at 1:02 PM, Shepherd, Lori < Lori.Shepherd at roswellpark.org> wrote:
We strongly recommend the version of R that is used on our builders when building and checking your package. This is also to ensure that the package dependencies are also in a version that is compatible with a new package. We can't guarantee that a package will work with a previous version of a dependency so the best practice is to use the current version of R as we check against the most recent and current versions of packages for the version of R and Bioconductor. This is also why we have biocValid and biocLite to make sure packages are up-to-date and valid for a particular version of R and Bioconductor. Package can change over time and cause compatibility issues that are unforseen; R also can change from version to version and cause unforseen problems. Lori Shepherd Bioconductor Core Team Roswell Park Cancer Institute Department of Biostatistics & Bioinformatics Elm & Carlton Streets Buffalo, New York 14263 ------------------------------ *From:* Bioc-devel <bioc-devel-bounces at r-project.org> on behalf of Yaoyong Li <liyaoyong85 at gmail.com> *Sent:* Friday, October 20, 2017 7:54:16 AM *To:* bioc-devel at r-project.org *Subject:* EXTERNAL: [Bioc-devel] R version dependence of a new package Hello, may I ask a question about the R version dependence? Currently I am trying to submit a package to Bioconductor repository. When my package was built at bioconductor.org, I got a warning message "* WARNING: Update R version dependency from 2.3.0 to 3.4." So I changed the R dependency to 3.4 in my DESCRIPTION file, and consequently the warning message disappeared. However, as one result of the change, my package cannot be loaded and run in R whose version is earlier than 3.4. On the other hand, my package actually doesn't need the R version
= 3.4. For example, it works perfectly with R version 3.2.2 which was
installed in my computer. S my question is why the package builder at
bioconductor.org wanted my package to update the R version to 3.4.
Best regards,
Yaoyong
[[alternative HTML version deleted]]
_______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel This email message may contain legally privileged and/or confidential information. If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited. If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you.
[[alternative HTML version deleted]]
_______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel