70 lines
2.7 KiB
Markdown
70 lines
2.7 KiB
Markdown
---
|
|
title: "Vieter 0.3.0"
|
|
date: 2022-06-13
|
|
---
|
|
|
|
When this post is live, Vieter 0.3.0 will have been released! This release
|
|
really does come with a lot of new features, including more reliable builds and
|
|
a new cron implementation!
|
|
|
|
This release ended up taking me over two months, but I'm quite proud of it :)
|
|
It not only adds a lot of useful features, but also paves the way for a lot
|
|
more cool features down the road!
|
|
|
|
## 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?
|
|
|
|
### New cron daemon
|
|
|
|
Perhaps the most important feature in this release is the implementation of a
|
|
cron daemon. While 0.2.0 still relied on crond to periodically start builds,
|
|
0.3.0 can schedule builds completely independently.
|
|
|
|
The daemon understands a subset of the cron expression syntax. The build
|
|
schedule can be either configured globally or on a per-repo basis. This allows
|
|
the user to fine-tune certain packages, e.g. if they want them to be updated
|
|
more regularly than all the rest.
|
|
|
|
### More robust builds
|
|
|
|
Often, a build would fail with exit code 8. This error indicates that makepkg
|
|
wasn't able to install all dependencies, caused by the builder image not being
|
|
up to date enough. Due to this, each build now runs `pacman -Syu` before
|
|
running the actual build.
|
|
|
|
Builds can now also use dependencies that are part of the target repository.
|
|
This allows building packages with AUR dependencies, as long as all
|
|
dependencies are also being built for said repository.
|
|
|
|
### Build logs
|
|
|
|
The main server now stores the logs of each build, including the exit code.
|
|
This makes it a lot easier to debug why builds fail.
|
|
|
|
### Improved documentation
|
|
|
|
The [Vieter documentation](https://rustybever.be/docs/vieter/) has had a pretty
|
|
major re-write to get it up to date with this new release. Now there's also
|
|
[HTTP API docs](https://rustybever.be/docs/vieter/api/#introduction) & [man
|
|
pages](https://rustybever.be/man/vieter/vieter.1.html).
|
|
|
|
## 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).
|