[Bioc-devel] BiocInstaller: next generation
    Martin Morgan 
    m@rtin@morg@n @ending from ro@wellp@rk@org
       
    Thu May 10 00:11:22 CEST 2018
    
    
  
Developers --
A preliminary heads-up and request for comments.
Almost since project inception, we've used the commands
   source("https://bioconductor.org/biocLite.R")
   biocLite(pkgs)
to install packages. This poses security risks (e.g., typos in the url) 
and deviates from standard R package installation procedures.
We'd like to move to a different system where a base package, call it 
'BiocManager', is installed from CRAN and used to install Bioconductor 
packages
   if (!"BiocManager" %in% rownames(installed.packages()))
       install.packages("BiocManager")
   BiocManager::install(pkgs)
This establishes a secure chain from user R session to Bioconductor 
package installation. It is also more consistent with base R package 
installation procedures.
BiocManager exposes four functions
   - install() or update packages
   - version() version of Bioconductor in use
   - valid() are all Bioconductor packages from the same Bioconductor 
version?
   - repositories() url location for Bioconductor version-specific 
repositories
install() behaves like biocLite(), using the most current version of 
Bioconductor for the version of R in use. It stores this state using a 
Bioconductor package 'BiocVersion', which is nothing more than a 
sentinel for the version in use. One can also 'use devel' or a 
particular version of Bioconductor (consistent with the version of R) with
   BiocManager::install(version = "3.8")   # or the synonym "devel"
We intend to phase this in over several release cycles, and to continue 
to support the traditional biocLite() route for versions before 
BiocManager becomes available.
We also intend to change the overall versioning of 'Bioconductor' 
itself, where releases are always even (3.8, 3.10, 3.12, ...) and 
'devel' always odd.
Obviously this is a large change, eventually requiring updates to many 
locations on our web site and individual vignettes.
Of course the key question is the name of the 'BiocManager' package. It 
cannot easily be 'BiocInstaller', because of the differences in way CRAN 
and Bioconductor version packages. Some possible names are
'
BiocInstall::install()
BiocPackages::install()
BiocManager
BiocMaestro
Your comments are welcome...
Martin
This email message may contain legally privileged and/or...{{dropped:2}}
    
    
More information about the Bioc-devel
mailing list