ReqPack Lua wrapper plugin for XBPS.
Plugin wraps native Void Linux tools:
xbps-installxbps-removexbps-queryxbps-rindex
installinstallLocalremoveupdatelistoutdatedsearchinforesolvePackage
bashbash>=5.2bashwithversion="5.2_1"becomesbash>=5.2_1by defaultbashwithversion="5.2_1"andflags={"comparator=="}becomesbash=5.2_1- local artifact path:
/path/to/pkg-1.0_1.x86_64.xbps
cache-root=/abs/path: override shared ReqPack cache rootrepository=<url-or-path>: add one or more XBPS repositories for remote queries/install/updaterootdir=/abs/path: target alternate XBPS rootconfig=/abs/path: use alternate XBPS config dirignore-conf-repos: ignore repos from XBPS config and only use explicitrepository=flagsmemory-sync: force fresh in-memory remote metadata fetch where XBPS supports itstaging: enable staged packages for remote queries/install/updatedownload-only: install/update downloads packages onlyforce: pass XBPS force install/update behaviorignore-file-conflicts: ignore install/update file conflictsunpack-only: unpack without configure during install/updaterecursive: recursive remove, only when explicitly requestedforce-remove: force file removal onremove()force-revdeps: force remove even with reverse dependenciescomparator=<op>: version comparator for install expression, one of=,<,<=,>,>=,==- shorthand comparator flags:
eq,lt,lte,gt,gte
Repeated repository= flags are supported.
If request has version but no comparator flag, plugin defaults to >= for XBPS install expressions.
- shared cache root:
~/.cache/reqpack/xbps - XBPS cache dir:
~/.cache/reqpack/xbps/cache - temp local repos:
~/.cache/reqpack/xbps/local-repos
All query and install/update flows reuse same XBPS cache dir so repository metadata and downloaded packages stay shared.
- plugin does not bootstrap XBPS tools
- mutating commands assume caller handles any required privilege escalation outside plugin
installLocal()stages local.xbpsinto temporary repository with symlink first andcpfallback, then installs through native XBPS flow- first version installs named packages by package expression when already provided; otherwise by package name
remove()is conservative by default and does not add recursive removal unlessrecursiveflag is setupdate()with empty package list now performs full-system XBPS upgrade
install->xbps-install -S -y ...install --local <file.xbps>-> temp local repo +xbps-rindex -a+xbps-install --repository=<repo>remove->xbps-remove -y ...update <pkg...>->xbps-install -S -u -y ... <pkg...>updatewith no package list -> full-systemxbps-install -S -u -ylist->xbps-query -lsearch->xbps-query -R -s <prompt>info-> installed property lookups first, then repository property lookupsoutdated->xbps-install -u -n -M ...
rqp search xbps ripgrep
rqp info xbps hello
rqp install xbps ripgrep
rqp install xbps hello --flags repository=https://repo-default.voidlinux.org/current
rqp install xbps --local /tmp/demo-1.0_1.x86_64.xbps
rqp update xbps
rqp remove xbps hello --flags recursiveFrom plugin root:
rqp test-plugin --plugin ./run.lua --preset coreReal-host smoke workflow:
./SMOKE.md