Skip to content

sysreqr

0.1.0Package record

Preflight Checks for 'R' Package System Requirements

0packages depend
789downloads / year
83.0%test coverage
13/13flavors OK

Overview

About

Helps users on 'Linux' (and, where applicable, 'macOS') find the system packages they need before installing 'R' packages from source. Queries maintained system requirement sources, reports missing system packages, and generates installation commands, 'Dockerfile' snippets, 'GitHub Actions' steps, administrator request templates, and diagnostic reports from failed installation logs.

Changes in 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() and detect_project_packages() scan a project directory, preferring renv.lock, then DESCRIPTION, then source files.

Platform handling

  • 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).
Show all changes in 0.1.0Hide the rest of the changes in 0.1.0
  • resolve_platform() accepts NULL, 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() 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.

Diagnostics

  • 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.

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.

Correctness and portability

  • Bundled system-package names are now portable across Debian and Ubuntu: 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.
  • Added AlmaLinux 9 and 10 as known platforms so ppm_repo() and check_ppm() work for them.
  • The internal JSON parser now rejects unescaped control characters, per the JSON specification.

Design notes

  • 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.
  • 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" or backend = "pak" when newer live metadata is needed.

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 1.5 min · r-oldrel-windows-x86_64
Status changes
  • OK13 OK2026-08-04
  • NOTE12 OK, 1 NOTE2026-08-01
  • OK7 OK2026-06-12
Advisories

none known

Documentation

In release 0.1.0
READMEYes · 682 wordsVignettesYes · 5 · dynamicNEWSYes · 67% structured · mentions 0.1.0Citation fileYes · computed when R runs it
Help pages
31 (1 internal)includes a package overview page
Examples that run
89%25 run in a plain check · 3 only when donttest examples are enabled (R CMD check --as-cran)
Exported functions with examples
100%
Documented parameters
100%
Return-value docs
100%
Help pages citing references
0%

Downloads

789
CRAN downloads in the past year
Rank #24,962 · ~2/day · ~66/mo
Daily download trend is not available in this view yet.
16830 days
44990 days
7891 year
Compare downloads with other packages →
Also on18 r2u1 autocran

Repository

3Stars
0Forks
0Open issues
0Open PRs
1Releases
17Commits
1Commit identities
rr-packagelinuxgnu-linux
License file reads as GPL-3.0 · 17 commits · Last activity 2026-09-16 · 0% stars, 30d · Default branch at 0.2.0, ahead of CRAN 0.1.0 (checked 2026-10-21) · Discussions: 1 post
Responsiveness
How these are sampled
PRs merged (all time)
100%
Median days to close, 50 most recently updated closed issues
0
Median days to close, 50 most recently updated closed PRs
96

Stars over time

2026-05-27 · 12026-07-07 · 3
PracticesBeta

15 development-tooling and community-health practices detected across 7 families in the upstream repository

Checks run against github.com/choxos/sysreqr on 2026-10-21.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Governance and community (5)
Code of conductContributing guideIssue templatesPR templateSecurity policy
Docs source (3)
pkgdown

GitHub Pages site last deployed 2026-09-16 · The repository has a site deploy workflow

Coverage (1)
Coverage reporting
Show all practicesHide 3 practices
Reproducibility and dev environment (1)
data-raw/
CRAN release process (1)
cran-comments.md
Lint, format, editor (2)
lintrLint workflow
How this is detected·Detection ruleset v4 (2026-10-20)

Dependencies

Declared dependencies
4 external dependencies (excludes base and recommended)

Installing sysreqr adds no packages beyond those that come with R.

Depends (1)
R >= 4.1
Imports (0)
none
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

People & History

People (1)
Author, Maintainer since 0.1.0 (2026)
Releases (1)
  • 0.1.0Latest
    2026-06-11 · current release
  • R
    R 4.6.0 released · 2026-04-24

Package metadata

First published
2026-06-11
Total releases
1 / 1 yrs
License
GPL-3 OSI
Minimum R
≥ 4.1
Download size
208 KB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("sysreqr")

The package provides a citation file that builds its entry when R runs it. Run citation() to see it.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for sysreqr version 0.1.0 [Data set]. HJJB, LLC. Data release v2026-10-25. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-25, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy