Closed jhsiao999 closed 4 years ago
From the Bioconductor package guidelines:
It is seldom necessary to specify R or specific versions as dependencies, since the Bioconductor release strategy and standard installation instructions guarantee these constraints. Repositories mirrored outside Bioconductor should include branches for each Bioconductor release, and may find it useful to fully specify versions to enforce constraints otherwise guaranteed by Bioconductor installation practices.
If we create the branch RELEASE_3_11
in our GitHub repository, how can we have Bioconductor build that branch instead of master
?
Alternatively, can we simply remove the hard dependency on a specific version of R? As the guidelines state, this is handled by Bioconductor anyways.
Also, looking at official Bioconductor GitHub repositories for guidance:
Rhtslib does not include the field Depends
in either the master
or RELEASE_3_10
branches
VariantAnnotation depends on R (>= 2.8.0)
in both the master
and RELEASE_3_10
branches (even though Bioconductor 3.10 requires R >=3.6.1
)
@jhsiao999 The versioning of packages in the Imports:
field is a bit overkill since Bioconductor releases ensure that packages work well with other packages in that particular release. You could leave the package versions in the field, it usually doesn't hurt unless you get a request to use the package with a different R version. It is recommended to use a version pkg >= x.y.z
only when necessary features are implemented past a particular version number that your package uses.
On the other hand, if you do leave the versions on there, users may encounter issues when using an older version of R and Bioconductor because they will not be able to download those packages with an older version of Bioconductor because the newer version (pkg >= x.y.z
) resides in a newer version of Bioconductor.
Given the request to use your package outside of the R version it was created for, my recommendation is to remove the R version tag from the Depends:
field. The package may work with older versions of R but it is less likely to do so with the added version tags in the Imports:
field. A package can't be guaranteed to work with older versions because of this.
@jdblischak There is no need to create that branch yet. You will do so when the Bioconductor release is published.
Also, some packages include serialized instances of data that require them to have an R version specification (that may be the case for VariantAnnotation
though I'm not sure).
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on Linux, Mac, and Windows.
On one or more platforms, the build results were: "WARNINGS". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.
Please see the build report for more details.
Received a valid push; starting a build. Commits are:
9f1a5ab Update AppVeyor build. [skip travis] Use R rele... 776947f Avoid R CMD check WARNING about minimum R version ... 1bd76cb Avoid NOTE about non-standard files. checking t... 63c3941 Use R release on Travis. [skip appveyor] 785e474 Bump to version 0.99.16. 6546e62 Merge pull request #38 from jdblischak/rcmdcheck ...
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on Linux, Mac, and Windows.
On one or more platforms, the build results were: "WARNINGS". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.
Please see the build report for more details.
Given the request to use your package outside of the R version it was created for, my recommendation is to remove the R version tag from the Depends: field.
@LiNk-NY We're stuck at the moment. If we remove Depends
entirely, then we get the WARNING:
* checking data for ASCII and uncompressed saves ... WARNING
Warning: package needs dependence on R (>= 2.10)
If we then add Depends: R (>= 2.10)
, then we get the WARNING
Checking R Version dependency...
* WARNING: Update R version dependency from 2.10 to 4.0.
Since Bioconductor itself will handle the minimal R version during the installation process, is it ok if we leave the R depends as R (>= 2.10)
?
Hi John, @jdblischak
I see that you have serialized data in the data
folder. This requires that you have an R version specified.
Ideally, your early users should have R (>= 4.0.0)
as the Bioconductor release will soon require it.
Anyone with an older version of R could have a potentially troublesome installation of Bioconductor.
You could set the Depends:
field to R (>= 3.6.0)
and make no guarantees and live with the warning. The version restrictions will soon be in place once the Bioconductor release is out anyway.
The devel branch (which becomes the release) of Bioconductor has been making use of R (>= 4.0.0)
for a while now and using new features of R in the process.
I see that you have serialized data in the data folder. This requires that you have an R version specified.
Ah, that makes sense. Thanks for that insight. I was a little confused why R CMD check
was requiring a minimum version.
Ideally, your early users should have R (>= 4.0.0) as the Bioconductor release will soon require it. Anyone with an older version of R could have a potentially troublesome installation of Bioconductor.
You could set the Depends: field to R (>= 3.6.0) and make no guarantees and live with the warning. The version restrictions will soon be in place once the Bioconductor release is out anyway.
The warning doesn't bother me because the package works fine with both R 3.x and R 4.0. I just want to make sure that this warning doesn't prevent peco from being included in the upcoming Bioconductor 3.11 release. In other words, are you and the other Bioconductor maintainers ok with the warning?
As we've discussed above, BiocManager can enforce the minimum R version required for whichever Bioconductor release the user has installed. It's not necessary for every R package to require R > 4.0.
The devel branch (which becomes the release) of Bioconductor has been making use of R (>= 4.0.0) for a while now and using new features of R in the process.
The peco package is compatible with R 4.0.0 and its new features, as shown by the Bioconductor build results.
Yes, the warning is OK.
It's not necessary for every R package to require R > 4.0.
Yes, it's mostly cosmetic until someone with R version 3.2.5 shows up and wants to use the package directly from GitHub :face_with_head_bandage:. That's why we have explicit installation instructions.
The alternative is to create a branch in the repo for your R (>= 3.5.0)
users (BiocManager
was made only for R 3.5 and above).
The package is almost ready to go. Thanks!
Yes, it's mostly cosmetic until someone with R version 3.2.5 shows up and wants to use the package directly from GitHub 🤕. That's why we have explicit installation instructions.
Very true. We'll handle these types of installation issues on our GitHub Issues tracker.
The alternative is to create a branch in the repo for your R (>= 3.5.0) users (BiocManager was made only for R 3.5 and above).
Thanks for the tip. We'll consider this option if it starts to become a big problem.
The package is almost ready to go. Thanks!
Great! Please let us know any remaining issues that you would like to see addressed.
And thanks again for all of your guidance!
Your package has been accepted. It will be added to the Bioconductor Git repository and nightly builds. Additional information will be posed to this issue in the next several days.
Thank you for contributing to Bioconductor!
Thank you for your submission. Your package has been accepted! :tada:
The master branch of your GitHub repository has been added to Bioconductor's git repository.
To use the git.bioconductor.org repository, we need an 'ssh' key to associate with your github user name. If your GitHub account already has ssh public keys (https://github.com/jhsiao999.keys is not empty), then no further steps are required. Otherwise, do the following:
See further instructions at
https://bioconductor.org/developers/how-to/git/
for working with this repository. See especially
https://bioconductor.org/developers/how-to/git/new-package-workflow/ https://bioconductor.org/developers/how-to/git/sync-existing-repositories/
to keep your GitHub and Bioconductor repositories in sync.
Your package will be included in the next nigthly 'devel' build (check-out from git at about 6 pm Eastern; build completion around 2pm Eastern the next day) at
https://bioconductor.org/checkResults/
(Builds sometimes fail, so ensure that the date stamps on the main landing page are consistent with the addition of your package). Once the package builds successfully, you package will be available for download in the 'Devel' version of Bioconductor using BiocManager::install("peco")
. The package 'landing page' will be created at
https://bioconductor.org/packages/peco
If you have any questions, please contact the bioc-devel mailing list (https://stat.ethz.ch/mailman/listinfo/bioc-devel); this issue will not be monitored further.
Update the following URL to point to the GitHub repository of the package you wish to submit to Bioconductor
Confirm the following by editing each check box to '[x]'
[ X] I understand that by submitting my package to Bioconductor, the package source and all review commentary are visible to the general public.
[ X] I have read the Bioconductor Package Submission instructions. My package is consistent with the Bioconductor Package Guidelines.
[ X] I understand that a minimum requirement for package acceptance is to pass R CMD check and R CMD BiocCheck with no ERROR or WARNINGS. Passing these checks does not result in automatic acceptance. The package will then undergo a formal review and recommendations for acceptance regarding other Bioconductor standards will be addressed.
[ X] My package addresses statistical or bioinformatic issues related to the analysis and comprehension of high throughput genomic data.
[X] I am committed to the long-term maintenance of my package. This includes monitoring the support site for issues that users may have, subscribing to the bioc-devel mailing list to stay aware of developments in the Bioconductor community, responding promptly to requests for updates from the Core team in response to changes in R or underlying software.
I am familiar with the essential aspects of Bioconductor software management, including:
For help with submitting your package, please subscribe and post questions to the bioc-devel mailing list.