optimize fill_queue
This commit is contained in:
22
master.py
22
master.py
@@ -156,13 +156,9 @@ def find_all_files_for_pkg(name: str, repo: str) -> list:
|
|||||||
for file in files:
|
for file in files:
|
||||||
res = regex_pkg_repo.findall(file)
|
res = regex_pkg_repo.findall(file)
|
||||||
for r in res:
|
for r in res:
|
||||||
if r == name:
|
if r == name and not file.endswith(".sig"):
|
||||||
pkgs.append(os.path.join(root, file))
|
pkgs.append(os.path.join(root, file))
|
||||||
|
|
||||||
for p in pkgs:
|
|
||||||
if p.endswith(".sig"):
|
|
||||||
pkgs.remove(p)
|
|
||||||
|
|
||||||
return pkgs
|
return pkgs
|
||||||
|
|
||||||
|
|
||||||
@@ -296,18 +292,20 @@ def fill_queue() -> None:
|
|||||||
if parsed["pkgbase"] in get_failed_packages(repo):
|
if parsed["pkgbase"] in get_failed_packages(repo):
|
||||||
logging.info("[%s/%s] Skipped due to failing build", repo, parsed["pkgbase"])
|
logging.info("[%s/%s] Skipped due to failing build", repo, parsed["pkgbase"])
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
ver = parse_pkgbuild_ver(parsed=parsed)
|
||||||
packages = list(parsed["packages"])
|
packages = list(parsed["packages"])
|
||||||
if package_exists(packages, repo):
|
if package_exists(packages, repo):
|
||||||
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", packages[0], parse_repo(packages[0], repo),
|
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", packages[0], parse_repo(packages[0], repo),
|
||||||
packages[0], parse_pkgbuild_ver(pkgbuild))
|
packages[0], ver)
|
||||||
|
rv = parse_repo(packages[0], repo)
|
||||||
if not package_exists(packages, repo):
|
if rv < ver:
|
||||||
|
q.put((pkgbuild, repo))
|
||||||
|
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, parsed["pkgbase"],
|
||||||
|
rv, ver)
|
||||||
|
else:
|
||||||
q.put((pkgbuild, repo))
|
q.put((pkgbuild, repo))
|
||||||
logging.info("[%s/%s] Build queued (package not build yet)", repo, parsed["pkgbase"])
|
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_ver(pkgbuild))
|
|
||||||
|
|
||||||
logging.info("Build queue size: %s", q.qsize())
|
logging.info("Build queue size: %s", q.qsize())
|
||||||
|
|
||||||
|
6
utils.py
6
utils.py
@@ -2,7 +2,6 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import pathlib
|
import pathlib
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
|
||||||
|
|
||||||
from packaging.version import LegacyVersion
|
from packaging.version import LegacyVersion
|
||||||
from srcinfo.parse import parse_srcinfo
|
from srcinfo.parse import parse_srcinfo
|
||||||
@@ -42,8 +41,9 @@ def parse_pkgbuild(pkgbuild_file: str) -> dict:
|
|||||||
return parsed
|
return parsed
|
||||||
|
|
||||||
|
|
||||||
def parse_pkgbuild_ver(pkgbuild_file: str) -> LegacyVersion:
|
def parse_pkgbuild_ver(pkgbuild_file: str = None, parsed: dict = None) -> LegacyVersion:
|
||||||
parsed = parse_pkgbuild(pkgbuild_file)
|
if not parsed:
|
||||||
|
parsed = parse_pkgbuild(pkgbuild_file)
|
||||||
if "epoch" in parsed:
|
if "epoch" in parsed:
|
||||||
return LegacyVersion("{}:{}-{}".format(parsed["epoch"], parsed["pkgver"], parsed["pkgrel"]))
|
return LegacyVersion("{}:{}-{}".format(parsed["epoch"], parsed["pkgver"], parsed["pkgrel"]))
|
||||||
return LegacyVersion("{}-{}".format(parsed["pkgver"], parsed["pkgrel"]))
|
return LegacyVersion("{}-{}".format(parsed["pkgver"], parsed["pkgrel"]))
|
||||||
|
Reference in New Issue
Block a user