First public release.
check_packages() resolves the system packages an R
package needs on a given Linux platform. Four backends are available:
"auto" (default), "bundled",
"ppm", and "pak".check_library() audits installed packages in an R
library path.check_project() and
detect_project_packages() scan a project directory,
preferring renv.lock, then DESCRIPTION, then
source files.detect_platform() reads /etc/os-release on
Linux, sw_vers on macOS, and parses fixture files for
tests.detect_package_manager() returns the package manager
for a platform (apt, dnf, yum,
zypper, apk, brew).resolve_platform() accepts NULL, an
existing platform object, <distro>-<version>
shorthand, or a codename alias (jammy, noble,
resolute, bookworm, trixie).install_command() generates platform-appropriate
install commands.dockerfile() and
write_dockerfile_snippet() produce Dockerfile
snippets.github_actions() (alias gha()) produces a
GitHub Actions YAML step.admin_request() drafts a plain-text request for system
administrators.write_install_script() writes a POSIX shell
script.write_report() and write_json() persist a
plan to disk.as_install_plan() returns a structured list suitable
for downstream tooling.diagnose_log() (alias
diagnose_install_log()) matches common compiler and linker
error patterns and resolves failed package names back to system
requirements.check_error() is a convenience wrapper that reads
geterrmessage().diagnose_failed_packages() resolves a known list of
failed R packages.ppm_platforms(), check_ppm(),
ppm_repo(), ppm_sysreqs(), and
use_ppm() integrate with the Posit Package Manager API and
binary repository URLs.setup_advice() produces a practical, beginner-friendly
Linux setup checklist with optional shell-script output.explain() prints a friendly per-package
explanation.default-libmysqlclient-dev (was
libmysqlclient-dev, which does not exist on Debian),
libgsl-dev (was libgsl0-dev), and
libfreetype-dev (was libfreetype6-dev).detect_project_packages() now detects
requireNamespace() calls and ignores package names that
appear only in line comments.setup_advice() generates Debian repository setup using
the modern deb822 Signed-By keyring format (matching CRAN’s
current Debian instructions), drops a no-op Fedora
repoquery line, and presents the Fedora COPR step as
optional.ppm_repo() and check_ppm() work for them.sysreqr has zero required
dependencies: no Imports, no Depends
beyond base R. The Suggests field lists
testthat, knitr, rmarkdown, and
withr, used only for tests and vignette building; none of
them are loaded at run time.pak::pkg_sysreqs(), both of which are detected at run
time and never required.backend = "ppm" or backend = "pak" when
newer live metadata is needed.