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 is a re-implementation of the Pieter project. The goal is to create a | ||||
| simple PKGBUILD-based build system, combined with a self-hosted Arch | ||||
| repository. This would allow me to periodically re-build AUR packages (or | ||||
| PKGBUILDs I created myself), & make sure I never have to compile anything on my | ||||
| own systems, making my updates a lot quicker. | ||||
| ## Documentation | ||||
| 
 | ||||
| I host documentation for Vieter over at https://rustybever.be/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? | ||||
| 
 | ||||
|  | @ -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 | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
| The project will consist of a server-agent model, where one or more builder | ||||
| nodes can register with the server. These agents communicate with the Docker | ||||
| daemon to start builds, which are then uploaded to the server's repository. The | ||||
| server also allows for non-agents to upload packages, as long as they have the | ||||
| required secrets. This allows me to also develop non-git packages, such as my | ||||
| terminal, & upload them to the servers using CI. | ||||
| * 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 | ||||
| 
 | ||||
| ## 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 | ||||
|   moves files from this folder to the `pkgs` folder, these two folders should | ||||
|   best be on the same drive | ||||
| * `pkgs` - This is where approved package files are stored. | ||||
| * `repos` - Each repository gets a subfolder here. The subfolder contains the | ||||
|   uncompressed contents of the db file. | ||||
|     * Each repo subdirectory contains the compressed db & files archive for the | ||||
|       repository, alongside a directory called `files` which contains the | ||||
|       uncompressed contents. | ||||
| * gc | ||||
| * libarchive | ||||
| * openssl | ||||
| 
 | ||||
| Before building Vieter, you'll have to build the compiler using `make v`. | ||||
| Afterwards, run `make` to build the debug binary. | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue