Right at the start of October, I managed to release another version of Vieter!
What is Vieter?
Vieter consists of two independents parts, namely an implementation of an Arch (Pacman) repository, & a build system to populate said repository. The goal is to remove the need for an AUR helper & move all builds to a remote server. Not only does this greatly reduce update times on lower-end systems, it also prevents AUR packages from being built multiple times on different systems.
The repository can also be used independently, providing a convenient server for publishing Arch packages from CI builds for example.
While I specifically mention Arch & the AUR, Vieter is compatible with any Pacman-based distro & can build PKGBUILDs provided from any Git source.
Before 0.4.0, “repos” was the term used to describe the list of Git
repositories that periodically get built on your Vieter instance. This term
however was rather confusing, as the Vieter server itself also hosts Pacman
repositories, making it difficult to correctly talk about the features. That’s
why I’ve made the decision to rename this to “targets”. All CLI commands
previously found under
vieter repos can now be used via
instead. API routes have also been renamed.
Along with this, a new kind of target can now be added which specifies the link to a PKGBUILD file, instead of a Git repository. This can for example be used to link a PKGBUILD that’s contained inside some other Git repository that’s not specifically used for that PKGBUILD.
Refactored web framework
The underlying web framework has seen a proper refactor to better accomodate
the rest of the codebase. All API routes can now be found under a versioned
The repository endpoints now support
DELETE requests to remove packages,
arch-repos & repos. All routes serving files (e.g. the repository routes) now
support HTTP byte range requests, which not only allows Pacman to resume
downloads after failure, but also allows tools such as
axel to work properly
using a Vieter server.
Endpoints creating new entries on the server now return the ID of the newly created object (e.g. a target or a build log).
The CLI has seen some useful changes. There’s now a
-r flag that makes
Vieter’s output better for scripting. Besides that, a small tool has been added
to interact with the AUR and add AUR packages directly to your list of targets!
vieter targets add and
vieter logs add now return the ID of the newly
If you’re interested in Vieter, considering joining #vieter:rustybever.be on Matrix! The source code can be found on my personal Gitea.