- Shell 83.1%
- Roff 14.7%
- Makefile 2.2%
| LICENSE | Add the proper license... | |
| Makefile | Fix Makefile | |
| README.md | README: add information about the -d argument. | |
| xut | fix empty args test, improve warning message, exit 1. | |
| xut.1 | Add working dir override with $CONF_WORKDIR. | |
| xut.1.scd | Add working dir override with $CONF_WORKDIR. | |
| xutconf.sample | feat: Don't hide xutconf in .config | |
xut : xtra user templates
Build and install packages for Void Linux, from the abyss-packages unofficial repo
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 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.
Install and setup
-
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.
Todo
- 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)
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 in available templates. |
| -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