70 lines
2.9 KiB
Markdown
70 lines
2.9 KiB
Markdown
|
---
|
||
|
title: "Announcing Vieter 0.4.0"
|
||
|
date: 2022-10-01
|
||
|
---
|
||
|
|
||
|
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.
|
||
|
|
||
|
## What's changed?
|
||
|
|
||
|
### Renaming `repos` to `targets`
|
||
|
|
||
|
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 `vieter targets`
|
||
|
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
|
||
|
`/api/v1` prefix.
|
||
|
|
||
|
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`](https://github.com/axel-download-accelerator/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).
|
||
|
|
||
|
### CLI UX
|
||
|
|
||
|
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
|
||
|
created entry.
|
||
|
|
||
|
## Interested?
|
||
|
|
||
|
If you're interested in Vieter, considering joining
|
||
|
[#vieter:rustybever.be](https://matrix.to/#/#vieter:rustybever.be) on Matrix!
|
||
|
The source code can be found on my personal
|
||
|
[Gitea](https://git.rustybever.be/vieter/vieter).
|