xut : xtra user templates
Installs and updates unofficial packages for Void Linux.
Created and tested for/with the abyss-packages repo. Working with other unofficial repos is supported partially. Code contributions, testing and general coordination is highly appreciated!
This script is in the alpha stage.
Why and how
The xbps-src package builder for voidlinux is a really
powerful tool, but it only works with a single repository, the
void-packages repo. The only straightforward way to add software to repo
provide it in an accessible way to the users is to send PRs and be
accepted. That created a well-maintained and curated repository by the
distribution developers but impedes the inclusion of software that the
same maintainers decide - for entirely valid reasons - to not
accept.
xut tries to provide a solution for users that need more
packages that cannot be provided in the official repos. It clones the
void-packages, the abyss-packages
repository and possibly other third party repos, merges the
templates from unofficial repos to the clone of void-packages and
installs or updates sw with a single command.
Install and setup
- Clone this repo, run the
xutcommand directly from the clone or install using the Makefile. - Use the xutconf.sample if you want to modify configuration.
- The script depends on:
shand the posix userland **(*)**,xbps >= 0.60,git,mktemp,- the
xitool from the xtools package which requires a workingsudoconfiguration, (for installation/update). - the
tputtool from ncurses (optional).
Note that
xutwill run in other distributions that have the above tools available, but installing (-i) and upgrading (-u) packages is disabled. In this case,xiis not needed.
**(*)**
xutuses posix sh and tries to use only the posix userland utilities. Thelocalkeyword may be used in the future, but effort is being made to use only the extensions that are supported in gnu coreutils, busybox and the bsd userland (additional arguments).
Todo
Usage
xut [options]
| OPTIONS | Info |
|---|---|
| -s | Sync the repos |
| -l | Keep a log file (5 most recent log files remain) |
| -h | Display this usage information. |
| -d | Enable debugging and logging output. |
| -b <package1,package2> | Build a (comma-separated) list of packages. |
| -i <package1,package2> | Build and install a (comma-separated) list of packages. |
| -x |
Give xbps-src commands. |
| -q |
Search for |
| -u | Update packages. |
Examples
- Build packages (without installing them):
xut -b package1,package2
- Sync repos and install packages:
xut -si package1,package2
- Use the above command with logging enabled:
xut -sli package1,package2
- Execute an xbps-command in the merged repo:
xut -x <command>
- Update packages after syncing repos:
xut -su