Skip to content

Commit 6f510ab

Browse files
authored
Update Sys Deps (#127)
* Fix link * Fixes typo Fix #109 * Update what to expect * strengthen wording for basilisk requirement instead of reticulate as requested by Vince * Update System Dependency section with @vjctin suggested text
1 parent aacd97a commit 6f510ab

File tree

3 files changed

+31
-15
lines changed

3 files changed

+31
-15
lines changed

description-file.Rmd

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@ If the installation process is non-trivial, a top-level [`INSTALL` file](#sysdep
157157
be included to document the process. If a user facing [`README`](#readme) is included it
158158
is also recommended to document the process there; do not try to install a
159159
dependency for a user anywhere in the package (i.e. readme, r code, man pages,
160-
vignette). You may show instructions only in unevaluated sections.
160+
vignette). You may show instructions only in unevaluated sections. See also
161+
[Additional files and dependencies](#rcode-sysdep)
161162

162163
## `biocViews` {#description-biocviews}
163164

install-file.Rmd

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
An INSTALL file does not have to be included with the package. An INSTALL file
44
is utilized for specifying external system requirements needed. It should be
55
used in combination with the `SystemRequirements` field of the [Description
6-
file](#description-sysdep). This file should contain installation instructions
7-
for the required system dependency.
6+
file](#description-sysdep). This file should provide instructions for installing
7+
the external software on the 3 major OS that we support: Linux, Windows, and
8+
Mac. This will not only help your users get the external software on their
9+
machines, but it will also help us install it on the build machines if it's not
10+
already there.
811

912
Specifying this requirement does not guarantee that _Bioconductor_ will agree to
1013
install the external system requirement. It is encouraged to discuss any

r-code.Rmd

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -206,20 +206,32 @@ helper functions.
206206

207207
#### Additional files and dependencies {#rcode-sysdep}
208208

209-
Do NOT install anything on a users system.
210-
211-
System dependencies, applications, and additionally needed packages should be
212-
assumed already present on the user's system.
213-
214-
If necessary, package maintainers should provide instructions for download and
215-
setup, but should not execute those instructions on behalf of a
216-
user. Complicated or additional system dependency instructions could be part of
217-
the [README file](#readme) and/or [INSTALL file](#sysdep). All package
218-
dependencies must actively be on CRAN or [_Bioconductor_][].
209+
Do NOT install anything on a users system! System dependencies, applications,
210+
and additionally needed packages should be assumed already present on the user's
211+
system.
212+
213+
Direct calls to external commands via
214+
system() or system2() are not ideal so should only be used when there is no
215+
other alternative. For example, if a CRAN or Bioconductor package already
216+
provides the functionality that you are after, you should use that instead.
217+
218+
Now if your package **absolutely** must rely on external software then you
219+
need to make sure that those requirements are listed in
220+
the SystemRequirements field of the DESCRIPTION file of the package. These
221+
requirements should be "reasonable" requirements, that is, trusted software
222+
only, open source, and relatively easy to install.
223+
224+
Additionally we ask that the package contains an [INSTALL file](#sysdep) (in the
225+
top-level folder) that provides instructions for installing the external
226+
software on the 3 major OS that we support: Linux, Windows, and Mac. This
227+
will not only help your users get the external software on their machines,
228+
but it will also help us install it on the build machines if it's not
229+
already there.
219230

220231
All system and package dependencies should be the latest publically available
221-
version.
222-
232+
version. All package dependencies must actively be on CRAN or
233+
Bioconductor. Bioconductor will not recognize Remotes in Description and will
234+
not install a lower version of a package or dependency.
223235

224236
#### Namespaces {#rcode-namespaces}
225237

0 commit comments

Comments
 (0)