Releases: choxos/sysreqR
Releases · choxos/sysreqR
sysreqr 0.1.0
sysreqr 0.1.0
First public release.
Preflight checks
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()anddetect_project_packages()scan a project directory,
preferringrenv.lock, thenDESCRIPTION, then source files.
Platform handling
detect_platform()reads/etc/os-releaseon Linux,sw_verson 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()acceptsNULL, an existing platform object,
<distro>-<version>shorthand, or a codename alias (jammy,noble,
resolute,bookworm,trixie).
Commands and outputs
install_command()generates platform-appropriate install commands.dockerfile()andwrite_dockerfile_snippet()produce Dockerfile snippets.github_actions()(aliasgha()) 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()andwrite_json()persist a plan to disk.as_install_plan()returns a structured list suitable for downstream
tooling.
Diagnostics
diagnose_log()(aliasdiagnose_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 readsgeterrmessage().diagnose_failed_packages()resolves a known list of failed R packages.
Posit Package Manager
ppm_platforms(),check_ppm(),ppm_repo(),ppm_sysreqs(), and
use_ppm()integrate with the Posit Package Manager API and binary
repository URLs.
Setup guidance
setup_advice()produces a practical, beginner-friendly Linux setup
checklist with optional shell-script output.explain()prints a friendly per-package explanation.
Documentation
- Five HTML vignettes: preflight setup, diagnosing failures, GNU/Linux
fundamentals (for newcomers to Linux), Docker and CI workflows, and an FAQ. - Every exported function has a runnable example.
- Reference index grouped by topic on the pkgdown site.
Design notes
sysreqrhas zero required dependencies: noImports, noDepends
beyond base R. TheSuggestsfield liststestthat,knitr,rmarkdown,
andwithr, used only for tests and vignette building; none of them are
loaded at run time.- Optional live backends can use Posit Package Manager (over HTTPS) and
pak::pkg_sysreqs(), both of which are detected at run time and never
required. - The package ships a static bundled database of system requirements for
common CRAN packages. The database is refreshed with each release. Use
backend = "ppm"orbackend = "pak"when newer live metadata is needed.