Build and install packages for Void Linux, from the abyss-packages unofficial repo
This script is in the alpha stage.
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 both the void-packages and abyss-packages repository (and other third party repos),
merges the templates from unofficial repos to the clone of void-packages and installs sw with a single command.
-
Clone this repo, change into the
xut/subdirectory and 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 xut will 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.
- Deal with shlibs in order to package more complex sw or modified packages from the upstream repos.
- Implement a way to handle package updates gracefully. [-u argument]
- Search for a practical way to enable more than one unofficial repos
[naive implementation merged from the manyrepos branch](Inteligent merging by @zenobit available from 0.4.0). - ... (suggestions are welcome, working code even more welcome)
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 in available templates. |
| -u | Update packages. |
|
- 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