Each repo now has its own subdir in pkg_dir

main^2
Jef Roosens 2022-04-09 17:41:41 +02:00
parent ebe01c2d44
commit cec5ecce7f
Signed by untrusted user: Jef Roosens
GPG Key ID: B75D4F293C7052DB
3 changed files with 10 additions and 8 deletions

View File

@ -5,8 +5,8 @@ import env
pub struct Config {
pub:
api_key string
address string
api_key string
address string
base_image string = 'archlinux:base-devel'
}

View File

@ -12,7 +12,7 @@ mut:
pub:
// Where to store repositories' files
repos_dir string [required]
// Where packages are stored; each architecture gets its own subdirectory
// Where packages are stored; each repository gets its own subdirectory
pkg_dir string [required]
// The default architecture to use for a repository. In reality, this value
// is only required when a package with architecture "any" is added as the
@ -56,10 +56,12 @@ pub fn (r &RepoGroupManager) add_pkg_from_path(repo string, pkg_path string) ?Re
// If the add was successful, we move the file to the packages directory
if added {
dest_path := os.real_path(os.join_path_single(r.pkg_dir, pkg.filename()))
repo_pkg_path := os.real_path(os.join_path_single(r.pkg_dir, repo))
dest_path := os.join_path_single(repo_pkg_path, pkg.filename())
// Only move the file if it's not already in the package directory
if dest_path != os.real_path(pkg_path) {
os.mkdir_all(repo_pkg_path) ?
os.mv(pkg_path, dest_path) ?
}
}

View File

@ -33,11 +33,11 @@ fn (mut app App) get_repo_file(repo string, arch string, filename string) web.Re
full_path += '.tar.gz'
}
} else if filename.contains('.pkg') {
full_path = os.join_path_single(app.repo.pkg_dir, filename)
full_path = os.join_path(app.repo.pkg_dir, repo, filename)
// Default behavior is to return the desc file for the package, if present.
// This can then also be used by the build system to properly check whether
// a package is present in an arch-repo.
// Default behavior is to return the desc file for the package, if present.
// This can then also be used by the build system to properly check whether
// a package is present in an arch-repo.
} else {
full_path = os.join_path(app.repo.repos_dir, repo, arch, filename, 'desc')
}