forked from vieter-v/vieter
Updated README (Closes #68) [CI SKIP]
parent
8e7d3508d2
commit
2d01c5374b
52
README.md
52
README.md
|
@ -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.
|
|
||||||
|
|
Loading…
Reference in New Issue