@@ -329,16 +329,28 @@ <h4>
329329< h4 >
330330< span class ="header-section-number "> 15.2.6.5</ span > Additional files and dependencies< a class ="anchor " aria-label ="anchor " href ="#rcode-sysdep "> < i class ="fas fa-link "> </ i > </ a >
331331</ h4 >
332- < p > Do NOT install anything on a users system.</ p >
333- < p > System dependencies, applications, and additionally needed packages should be
334- assumed already present on the user’s system.</ p >
335- < p > If necessary, package maintainers should provide instructions for download and
336- setup, but should not execute those instructions on behalf of a
337- user. Complicated or additional system dependency instructions could be part of
338- the < a href ="readme.html#readme "> README file</ a > and/or < a href ="sysdep.html#sysdep "> INSTALL file</ a > . All package
339- dependencies must actively be on CRAN or < a href ="https://bioconductor.org "> < em > Bioconductor</ em > </ a > .</ p >
332+ < p > Do NOT install anything on a users system! System dependencies, applications,
333+ and additionally needed packages should be assumed already present on the user’s
334+ system.</ p >
335+ < p > Direct calls to external commands via
336+ system() or system2() are not ideal so should only be used when there is no
337+ other alternative. For example, if a CRAN or Bioconductor package already
338+ provides the functionality that you are after, you should use that instead.</ p >
339+ < p > Now if your package < strong > absolutely</ strong > must rely on external software then you
340+ need to make sure that those requirements are listed in
341+ the SystemRequirements field of the DESCRIPTION file of the package. These
342+ requirements should be “reasonable” requirements, that is, trusted software
343+ only, open source, and relatively easy to install.</ p >
344+ < p > Additionally we ask that the package contains an < a href ="sysdep.html#sysdep "> INSTALL file</ a > (in the
345+ top-level folder) that provides instructions for installing the external
346+ software on the 3 major OS that we support: Linux, Windows, and Mac. This
347+ will not only help your users get the external software on their machines,
348+ but it will also help us install it on the build machines if it’s not
349+ already there.</ p >
340350< p > All system and package dependencies should be the latest publically available
341- version.</ p >
351+ version. All package dependencies must actively be on CRAN or
352+ Bioconductor. Bioconductor will not recognize Remotes in Description and will
353+ not install a lower version of a package or dependency.</ p >
342354</ div >
343355< div id ="rcode-namespaces " class ="section level4 " number ="15.2.6.6 ">
344356< h4 >
0 commit comments