build and fail pkgbuilds, compare pkgnames for version and exists

This commit is contained in:
2021-05-31 15:30:47 +02:00
parent c77a632653
commit d3898b2b82

View File

@@ -144,10 +144,12 @@ def already_running() -> bool:
return True
def package_exists(name, repo) -> bool:
pkgs = find_all_files_for_pkg(name, repo)
return len(pkgs) > 0
def package_exists(names: list, repo) -> bool:
for name in names:
pkgs = find_all_files_for_pkg(name, repo)
if not pkgs:
return False
return True
def find_all_files_for_pkg(name: str, repo: str) -> list:
@@ -288,28 +290,27 @@ def fill_queue() -> None:
# ignore pkgbuild if in trunk, -any package, not in repos, on blacklist, not for current arch
if path_split[-2] == "trunk" or path_split[-2].split("-")[0] not in config["repos"] or "any" in parsed["arch"] \
or parsed["pkgbase"] in config["blacklist"] or "i686" in path_split[-2]:
# TODO: delete pkgs not build anymore
# TODO: delete packages not to build
pass
else:
for march in config["march"]:
repo = path_split[-2].split("-")[0] + "-" + march
for pkgname in list(parsed["packages"]):
if pkgname in get_failed_packages(repo):
logging.info("[%s/%s] Skipped due to failing build", repo, pkgname)
continue
if parsed["pkgbase"] in get_failed_packages(repo):
logging.info("[%s/%s] Skipped due to failing build", repo, parsed["pkgbase"])
continue
packages = list(parsed["packages"])
if package_exists(packages, repo):
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", packages[0], parse_repo(packages[0], repo),
packages[0], parse_pkgbuild_ver(pkgbuild))
if package_exists(pkgname, repo):
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", pkgname, parse_repo(pkgname, repo), pkgname,
parse_pkgbuild_ver(pkgbuild))
if not package_exists(pkgname, repo):
q.put((pkgbuild, repo))
logging.info("[%s/%s] Build queued (package not build yet)", repo, pkgname)
elif parse_repo(pkgname, repo) < parse_pkgbuild_ver(pkgbuild):
q.put((pkgbuild, repo))
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, pkgname,
parse_repo(pkgname, repo), parse_pkgbuild(pkgbuild))
if not package_exists(packages, repo):
q.put((pkgbuild, repo))
logging.info("[%s/%s] Build queued (package not build yet)", repo, parsed["pkgbase"])
elif parse_repo(packages[0], repo) < parse_pkgbuild_ver(pkgbuild):
q.put((pkgbuild, repo))
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, parsed["pkgbase"],
parse_repo(packages[0], repo), parse_pkgbuild(pkgbuild))
logging.info("Build queue size: %s", q.qsize())