Updated README (Closes #68) [CI SKIP]

main^2
Jef Roosens 2022-04-09 21:53:54 +02:00
parent 8e7d3508d2
commit 2d01c5374b
Signed by untrusted user: Jef Roosens
GPG Key ID: 2619CD13516CF9C4
1 changed files with 29 additions and 23 deletions

View File

@ -1,10 +1,17 @@
# Vieter # Vieter
Vieter is a re-implementation of the Pieter project. The goal is to create a ## Documentation
simple PKGBUILD-based build system, combined with a self-hosted Arch
repository. This would allow me to periodically re-build AUR packages (or I host documentation for Vieter over at https://rustybever.be/docs/vieter.
PKGBUILDs I created myself), & make sure I never have to compile anything on my
own systems, making my updates a lot quicker. ## 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? ## Why V?
@ -20,27 +27,26 @@ V standard library, and therefore the compiler. The source code for this fork
can be found [here](https://git.rustybever.be/Chewing_Bever/vieter-v). You can can be found [here](https://git.rustybever.be/Chewing_Bever/vieter-v). You can
obtain this modified version of the compiler by running `make v`, which will obtain this modified version of the compiler by running `make v`, which will
clone & build the compiler. Afterwards, all make commands that require the V clone & build the compiler. Afterwards, all make commands that require the V
compiler will use this new binary. compiler will use this new binary. I try to keep this fork as up to date with
upstream as possible.
## Features ## Features
The project will consist of a server-agent model, where one or more builder * Arch repository server
nodes can register with the server. These agents communicate with the Docker * Support for multiple repositories & multiple architectures
daemon to start builds, which are then uploaded to the server's repository. The * Endpoints for publishing new packages
server also allows for non-agents to upload packages, as long as they have the * API for managing repositories to build
required secrets. This allows me to also develop non-git packages, such as my * Build system
terminal, & upload them to the servers using CI. * Periodic rebuilding of packages
* Prevent unnecessary rebuilds
## Directory Structure ## Building
The data directory consists of three main directories: In order to build Vieter, you'll need a couple of libraries:
* `downloads` - This is where packages are initially downloaded. Because vieter * gc
moves files from this folder to the `pkgs` folder, these two folders should * libarchive
best be on the same drive * openssl
* `pkgs` - This is where approved package files are stored.
* `repos` - Each repository gets a subfolder here. The subfolder contains the Before building Vieter, you'll have to build the compiler using `make v`.
uncompressed contents of the db file. Afterwards, run `make` to build the debug binary.
* Each repo subdirectory contains the compressed db & files archive for the
repository, alongside a directory called `files` which contains the
uncompressed contents.