forked from vieter-v/vieter
				
			Updated logging for multi-repo setup
							parent
							
								
									014ade5092
								
							
						
					
					
						commit
						cb2ba86200
					
				|  | @ -18,17 +18,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | ||||||
| * Very basic build system | * Very basic build system | ||||||
|     * Build is triggered by separate cron container |     * Build is triggered by separate cron container | ||||||
|     * Packages build on cron container's system |     * Packages build on cron container's system | ||||||
|     * Packages are always rebuilt, even if they haven't changed |     * A HEAD request is used to determine whether a package should be rebuilt | ||||||
|  |       or not | ||||||
|     * Hardcoded planning of builds |     * Hardcoded planning of builds | ||||||
|     * Builds are sequential |     * Builds are sequential | ||||||
| * API for managing Git repositories to build | * API for managing Git repositories to build | ||||||
| * CLI to list, add & remove Git repos to build | * CLI to list, add & remove Git repos to build | ||||||
| * Published packages on my Vieter instance | * Published packages on my Vieter instance | ||||||
|  | * Support for multiple repositories | ||||||
|  | * Support for multiple architectures per repository | ||||||
| 
 | 
 | ||||||
| ## Fixed | ## Fixed | ||||||
| 
 | 
 | ||||||
| * Each package can now only have one version in the repository at once | * Each package can now only have one version in the repository at once | ||||||
|   (required by Pacman) |   (required by Pacman) | ||||||
|  | * Packages with unknown fields in .PKGINFO are now allowed | ||||||
| 
 | 
 | ||||||
| ## [0.1.0](https://git.rustybever.be/Chewing_Bever/vieter/src/tag/0.1.0) | ## [0.1.0](https://git.rustybever.be/Chewing_Bever/vieter/src/tag/0.1.0) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -81,15 +81,16 @@ fn (r &RepoGroupManager) add_pkg_in_repo(repo string, pkg &package.Pkg) ?bool { | ||||||
| 			arch_repos << r.default_arch | 			arch_repos << r.default_arch | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		for arch in arch_repos { | 		mut added := false | ||||||
| 			r.add_pkg_in_arch_repo(repo, arch, pkg) ? |  | ||||||
| 		} |  | ||||||
| 	}else{ |  | ||||||
| 		r.add_pkg_in_arch_repo(repo, pkg.info.arch, pkg) ? |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	// TODO properly handle this | 		for arch in arch_repos { | ||||||
| 	return true | 			added = added || r.add_pkg_in_arch_repo(repo, arch, pkg) ? | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		return added | ||||||
|  | 	}else{ | ||||||
|  | 		return r.add_pkg_in_arch_repo(repo, pkg.info.arch, pkg) | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // add_pkg_in_repo adds the given package to the specified repo. A repo is an | // add_pkg_in_repo adds the given package to the specified repo. A repo is an | ||||||
|  |  | ||||||
|  | @ -86,15 +86,16 @@ fn (mut app App) put_package(repo string) web.Result { | ||||||
| 
 | 
 | ||||||
| 		return app.text('Failed to add package.') | 		return app.text('Failed to add package.') | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
| 	if !res.added { | 	if !res.added { | ||||||
| 		os.rm(pkg_path) or { app.lerror("Failed to remove download '$pkg_path': $err.msg") } | 		os.rm(pkg_path) or { app.lerror("Failed to remove download '$pkg_path': $err.msg") } | ||||||
| 
 | 
 | ||||||
| 		app.lwarn("Duplicate package '$res.pkg.full_name()'.") | 		app.lwarn("Duplicate package '$res.pkg.full_name()' in repo '$repo ($res.pkg.info.arch)'.") | ||||||
| 
 | 
 | ||||||
| 		return app.text('File already exists.') | 		return app.text('File already exists.') | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	app.linfo("Added '$res.pkg.full_name()' to repository.") | 	app.linfo("Added '$res.pkg.full_name()' to repo '$repo ($res.pkg.info.arch)'.") | ||||||
| 
 | 
 | ||||||
| 	return app.text('Package added successfully.') | 	return app.text('Package added successfully.') | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								test.py
								
								
								
								
							
							
						
						
									
										4
									
								
								test.py
								
								
								
								
							|  | @ -46,7 +46,7 @@ def create_random_pkginfo(words, name_min_len, name_max_len): | ||||||
|         "pkgname": name, |         "pkgname": name, | ||||||
|         "pkgbase": name, |         "pkgbase": name, | ||||||
|         "pkgver": ver, |         "pkgver": ver, | ||||||
|         "arch": "any" |         "arch": "x86_64" | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return "\n".join(f"{key} = {value}" for key, value in data.items()) |     return "\n".join(f"{key} = {value}" for key, value in data.items()) | ||||||
|  | @ -97,7 +97,7 @@ async def upload_random_package(tar_path, sem): | ||||||
|     async with sem: |     async with sem: | ||||||
|         with open(tar_path, 'rb') as f: |         with open(tar_path, 'rb') as f: | ||||||
|             async with aiohttp.ClientSession() as s: |             async with aiohttp.ClientSession() as s: | ||||||
|                 async with s.post("http://localhost:8000/vieter/publish", data=f.read(), headers={"x-api-key": "test"}) as r: |                 async with s.post("http://localhost:8000/vieter2/publish", data=f.read(), headers={"x-api-key": "test"}) as r: | ||||||
|                     return await check_output(r) |                     return await check_output(r) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue