-
Notifications
You must be signed in to change notification settings - Fork 0
User Guide RQP Packages
Prev: Remote Protocol Reference | Up: User Guide | Next: Troubleshooting
rqp is ReqPack's built-in native package manager.
Use it when you want ReqPack to install and track packages directly instead of wrapping another package manager such as apt, dnf, or npm.
This is especially useful for:
- internal tools,
- portable CLI artifacts,
- self-contained package sets,
- plugin or tool distribution where no external package manager is a good fit.
rqp uses two config keys:
rqp = {
repositories = {
"https://packages.example.test/index.json",
"file:///srv/rqp/index.json",
},
statePath = "~/.local/share/reqpack/rqp/state",
}-
repositories: list of repository index URLs or local file URLs -
statePath: where installedrqppackage state is stored
Do not confuse rqp.repositories with config.repositories:
-
rqp.repositoriesis for nativerqppackage indexes, -
config.repositoriesis for other plugins such as Maven-style or internal wrapper repositories.
rqp install rqp my-tool
rqp install rqp my-tool@1.2.3Repository resolution chooses the best matching package for the current host architecture. Selection order is:
- version,
- release,
- revision.
If you request only my-tool@1.2.3, ReqPack still picks highest matching release and revision for that version.
rqp install rqp ./my-tool.rqpIf the target directory contains a nested .rqp file, ReqPack can install it too.
rqp install rqp ./artifact-dirrqp list rqp
rqp info rqp my-tool
rqp remove rqp my-tool
rqp update rqp my-toolNotes:
- update works best for packages that were originally installed from an
rqprepository - if multiple installed versions exist and you do not specify one, remove/update can fail intentionally rather than guessing
- installed identity includes version, release, and revision, so one package name can legitimately have multiple installed identities
Installed native packages live below rqp.statePath.
The layout is:
<statePath>/<name>/<name>@<version>-<release>+r<revision>/
Each installed package keeps:
metadata.jsonreqpack.luasource.jsonmanifest.jsonscripts/
This is how ReqPack knows what was installed, where it came from, and how to remove it later.
Choose rqp when:
- you want ReqPack-native packages and repos,
- you want installation state managed entirely by ReqPack,
- you do not want to depend on an external system package manager,
- you want package lifecycle hooks inside the package itself.
Choose a wrapper plugin instead when:
- a real package manager already exists for that ecosystem,
- you mainly want a unified CLI over an existing tool,
- system-native dependency resolution should stay in the original package manager.
If you want to build your own native packages or repositories, read:
Prev: Remote Protocol Reference | Up: User Guide | Next: Troubleshooting
- User Guide
- Getting Started
- Command Reference
- Configuration
- Configuration Reference
- Security, Audit, and SBOM
- Output and Report Formats
- Remote Mode
- Remote Protocol Reference
- Using Native
rqpPackages - Troubleshooting