Krathalan's packaging softwares for Arch
Find a file
2026-02-18 19:46:21 -08:00
.github/ISSUE_TEMPLATE Update issue template 2021-03-31 21:33:07 -07:00
bash-completion Update links for Codeberg 2025-03-16 20:27:51 -07:00
bin Merge branch 'master' of codeberg.org:krathalan/krack 2026-02-18 17:41:55 -08:00
etc Add some extra checking to build; add email build report feature with msmtp 2026-02-18 17:41:30 -08:00
lib Update man page for email feature; update readme; change default build schedule to Tues/Fri 2:30am 2026-02-18 19:46:21 -08:00
man Update man page for email feature; update readme; change default build schedule to Tues/Fri 2:30am 2026-02-18 19:46:21 -08:00
CONTRIBUTING.md Update man pages; finish updating readme; change version to 0.9 2025-03-30 19:59:56 -07:00
LICENSE Fix small bug in receive; update copyright notices; fix license 2024-01-24 14:42:24 -08:00
README.md Update man page for email feature; update readme; change default build schedule to Tues/Fri 2:30am 2026-02-18 19:46:21 -08:00
TODO Update todo 2023-08-27 23:18:48 -07:00

krack

Image of a running krack-build instance

Krathalan's packaging softwares. You can think of krack as an automated building system for the ABS/AUR, split between two machines: one that builds and sends packages, and one that receives and hosts them.

The specific use case for krack is having a spare PC at home that has enough power to compile some programs. You can set up krack to build and upload your desired packages on this PC, and then receive them at a remote PC of your choosing that hosts a pacman repository, such as a low-power, inexpensive VPS. Then all your Arch devices can pull in package updates from that repository, without having to build them manually on any device or pay exorbiant fees for a powerful VPS.

All of the documentation comes in the form of man pages. Before using krack, you should read them in this order (click to read unprocessed on Codeberg):

Features

  1. GPG package signing.
  2. Automated scheduled headless building using a user-configurable systemd timer (2x/week, Tues/Fri 2:30am by default).
  3. Ccache compliance for faster build times and lower power usage.
  4. Optional zero config per-package hooks, pre/post-gitpull and pre/post-makechrootpkg, for user script execution (for patching PKGBUILDs, config files, etc.)
  5. Diffs from git pulls are saved and stored for later manual review.
  6. Advanced logging (custom, and optionally on-by-default journald) that saves and indexes build failures for easy diagnosis.
  7. Option to send build cycle reports over email with msmtp.
  8. Stores last package build durations for next new package build reporting.
  9. Easily request package builds and manage your pending build requests.
  10. Automatic chroot updating and cleanup of old build artifacts.
  11. Krack-receive does not use its own service that listens on a port, but instead relies on rsync, ssh, and inotify.
  12. Low overhead.

Outstanding issues

  1. No option to auto-import GPG keys for source file verification.
  2. No support for non-zstd compressed packages.
  3. No way to detect a hanging/stuck package build.

Fixed:

  • No option to not use GPG package signing.

Installation

Install krack from the AUR: https://aur.archlinux.org/packages/krack/

krack-git is also available in my personal pkgbuilds repo: https://codeberg.org/krathalan/pkgbuilds

Contributing

See CONTRIBUTING.md.

Other similar projects

ABS_CD: https://github.com/bionade24/abs_cd