Install zot from source
installation.RmdThe product installer requires the development checkout containing
install/. The maintenance scripts described here are part
of the package source under inst/ and run from the package
root, the checkout’s lib/ directory.
The source repository is private. Obtain an authorized clone before
running these commands; the maintenance scripts do not clone
repositories or configure credentials. The R package source is the
clone’s lib/ directory.
Install a recorded package
The public entry is install/install.sh on macOS/Linux
and install/install.ps1 on Windows. One operation installs
the R package and the zot command together; supply a
selected tarball with its adjacent .rds record to install
that artifact instead of building lib/:
bash install/install.sh --library "/absolute/path/to/R/library" --prefix "/absolute/path/to/prefix" --tarball "/absolute/path/to/zot_<version>.tar.gz"powershell -NoProfile -ExecutionPolicy Bypass -File install/install.ps1 -Library "C:\path to\R library" -Prefix "C:\path to\prefix" -Tarball "C:\path to\zot_<version>.tar.gz"These entries install the selected R package, its missing runtime
dependencies and the command. The prefix defaults to
/usr/local, which is why the usual invocation is
sudo bash install/install.sh; choose a writable prefix to
install without privileges. There are no partial component modes. Keep
the selected library visible to subsequent R sessions. The operations
below prepare and check an artifact when starting from package
source.
Prepare and install from source
Install R and make Rscript available. Source builds may
require compiler tools and system libraries; building the manual
requires LaTeX. These system prerequisites are separate from R package
dependencies.
Choose a writable R library and a new build directory outside
lib/. Replace every example path below with your chosen
absolute path. Use the same R library throughout:
R_LIBS_USER makes it visible to each new R process.
In an R session started from lib/ with the chosen
library in R_LIBS_USER:
source("inst/install.R")
installLibrary(path = ".", library = "/absolute/path/to/R/library",
build = "/absolute/path/to/new-build-directory")installLibrary() installs pkgbuild,
digest and the package’s Depends,
Imports and LinkingTo requirements into the
selected library, builds the package into the build directory and
installs that tarball. The build writes
zot_<version>.tar.gz and an adjacent
.tar.gz.rds record with its SHA-256; keep the two together.
To install an existing recorded tarball instead, pass its path as
tarball in place of build; its SHA-256 must
match the record.
Installation verifies the installed version. It does not run release checks, generate the website, or submit to CRAN.
After installation, R can load the package from any working
directory. Keep the chosen library in R_LIBS_USER, or add
it in the R session:
Documentation and checks are separate
For source maintenance, inst/package.R defines
installRequirements(), which prepares the tools and the
package’s development dependencies, including Suggests, and
documentPackage(), which regenerates the roxygen-owned
package documentation and checks spelling:
source("inst/package.R")
installRequirements(path = ".", library = "/absolute/path/to/R/library",
packages = c("roxygen2", "spelling", "pkgbuild", "rcmdcheck", "digest"),
dependencies = TRUE)
documentPackage(path = ".", roxygen = TRUE)Run documentPackage() before building when documentation
changes are intended, then review its source diff.
Rscript inst/build.R OUTPUT_DIR, from lib/,
builds a recorded tarball without installing it.
inst/cran-check.R takes a recorded tarball, such as the one
installLibrary() built, and a new check directory. It runs
the local CRAN-style check and retains its logs and result in the
artifact record. Run it separately from installation:
cd "/absolute/path/to/zot/lib"
R_LIBS_USER="/absolute/path/to/R/library" Rscript inst/cran-check.R "/absolute/path/to/new-build-directory/zot_<version>.tar.gz" "/absolute/path/to/new-check-directory"Errors and warnings fail the check; NOTEs require review. A
successful local check is neither a CRAN submission nor certification on
other platforms. source("inst/cran-submit.R"), from
lib/, calls devtools::submit_cran(), which
builds its own tarball for the submission.
Installed contents
install/ contains the product installer; it is outside
the package and is not installed with zot.
lib/inst/ holds package runtime resources and the
maintenance scripts described above. The installed R package does not
depend on the sibling checkout directories.
The CLI is implemented. install/install.sh installs the
zot command under the prefix, alongside the R package: the
command is a generated launcher in PREFIX/bin/ that
resolves the system’s current R and runs the payload in
PREFIX/libexec/zot/. The zot command line
vignette documents its verbs.
The documentation website is built separately with pkgdown from
lib/: articles come from lib/vignettes/ and
the R reference from lib/man/. Installing the R package
does not publish GitHub Pages.