Archlinux repository server, written in V. For questions, info, or a chat, join #vieter:rustybever.be on Matrix!
 
 
 
 
 
Go to file
Jef Roosens 06df2c21f0 Merge pull request 'Repo in build & other build improvements' (#186) from Chewing_Bever/vieter:repo-in-builds into dev
Reviewed-on: vieter/vieter#186
2022-06-01 20:49:47 +02:00
.woodpecker feat(build): add target repo to builds; update system for every build 2022-06-01 17:08:18 +02:00
docs chore: removed healthcheck & unused cron stuff from Dockerfile 2022-05-16 17:17:42 +02:00
src feat(build): show shell commands in build logs 2022-06-01 20:34:36 +02:00
.dockerignore
.editorconfig
.gitignore docs: migrated over Hugo documentation 2022-05-01 12:14:13 +02:00
.gitmodules docs: migrated over Hugo documentation 2022-05-01 12:14:13 +02:00
CHANGELOG.md feat(build): show shell commands in build logs 2022-06-01 20:34:36 +02:00
Dockerfile chore: removed healthcheck & unused cron stuff from Dockerfile 2022-05-16 17:17:42 +02:00
LICENSE
Makefile docs: migrated over Hugo documentation 2022-05-01 12:14:13 +02:00
PKGBUILD chore: bumped versions 2022-05-16 17:34:51 +02:00
PKGBUILD.dev feat(ci): split Arch releases into vieter & vieter-git 2022-05-11 08:05:24 +02:00
README.md chore: update README 2022-05-11 08:05:24 +02:00
renovate.json
test.py
vieter.toml feat: simplified config down to pkg_dir & data_dir 2022-05-03 19:50:14 +02:00

README.md

Vieter

Documentation

I host documentation for Vieter over at https://rustybever.be/docs/vieter/. API documentation for the current codebase can be found at https://rustybever.be/api-docs/vieter/.

Overview

Vieter is a restart of the Pieter project. The goal is to create a simple, lightweight self-hostable Arch repository server, paired with a system that periodically builds & publishes select Arch packages. This would allow me to build AUR packages (or PKGBUILDs I created myself) "in the cloud" & make sure I never have to compile anything on my own systems, making my updates a lot quicker.

Why V?

I chose V as I've been very intrigued by this language for a while now. I wanted a fast language that I could code while relaxing, without having to exert too much mental effort & V seemed like the right choice for that.

Compiler

Vieter compiles with the standard Vlang compiler. However, I do maintain a mirror. This is to ensure my CI does not break without reason, as I control when & how frequently the mirror is updated to reflect the official repository.

Features

  • Arch repository server
    • Support for multiple repositories & multiple architectures
    • Endpoints for publishing new packages
    • API for managing repositories to build
  • Build system
    • Periodic rebuilding of packages
    • Prevent unnecessary rebuilds

Building

In order to build Vieter, you'll need a couple of libraries:

  • An installation of V
  • gc
  • libarchive
  • openssl

NOTE: if you encounter any issues compiling Vieter using the absolute latest version of V, it might be because my mirror is missing a specific commit that causes issues. For this reason, the make v command exists which will clone my compiler in the v directory & build it. Afterwards, you can use this compiler with make by prepending all make commands with V_PATH=v/v. If you do encounter this issue, please let me know so I can update my mirror & the codebase to fix it!

Contributing

If you wish to contribute to the project, please take note of the following:

  • Rebase instead of merging whenever possible, e.g. when updating your branch with the dev branch.
  • Please follow the Conventional Commits style for your commit messages.