A way to automate updates of binaries published to AUR.
This repository provides packages of CLI tools developed and/or maintained by me.
Fork and customize to your needs.
A list of the provided packages:
| Name | GitHub | AUR |
|---|---|---|
poof |
GitHub | AUR |
vault-conductor |
GitHub | AUR |
Each package is maintained as a git submodule pointing to its AUR repository.
A Python update script reads a YAML configuration file, fetches the latest stable release information from GitHub releases, and renders a PKGBUILD file from Jinja template. Then, it generates the corresponding .SRCINFO file.
A GitHub Action is used to automate the update process, ensuring that package definitions remain in sync with the latest releases from GitHub. In the action, vault-conductor itself is used as SSH-Agent to load both:
- the SSH Key to sign the commit with updated
PKGBUILDand.SRCINFO, - and the SSH Key dedicated to push those changes to AUR.
On Arch Linux:
pacman -Sy
pacman -S namcapOn Debian-based:
sudo apt-get update
sudo apt-get install -y pacman-package-managercd scripts
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtcd scripts
source .venv/bin/activate
# generate PKGBUILD
python3 update.py <configuration filename>
# note: 'makepkg --printsrcinfo > .SRCINFO' is run by the script itself!
# test (Arch Linux-only)
cd ../packages/[submodule]
namcap PKGBUILDFork and use for your own tools!
Requirements:
- You have manually created your tool repo on AUR (because that is how AUR works),
- You have cleaned the
configurations/directory and removed any existing submodules frompackages/.
Add a repository:
It is as easy as:
- Add the required repository as submodule in
packages/ - Write configuration in
configurations/ - Create a Jinja template for it in
templates/ - Commit and push changes!
- 🍺 pirafrank's Homebrew Tap, Formulae for my CLI tools
MIT