fixed? version parsing

This commit is contained in:
2021-05-21 21:58:51 +02:00
parent 5868718602
commit 9c26311ea9

View File

@@ -16,7 +16,7 @@ from queue import Empty
import yaml
from humanfriendly import format_timespan
from packaging import version
from semantic_version import Version
regex_pkgver = re.compile(r"^_?pkgver\s*=\s*(.+)$", re.MULTILINE)
regex_pkgrel = re.compile(r"^pkgrel\s*=\s*(.+)$", re.MULTILINE)
@@ -231,9 +231,9 @@ def parse_pkgbuild(pkgbuild_file):
pkgrel = regex_pkgrel.findall(pkgbuild_str)
if not pkgver or not pkgrel:
logging.warning("[%s] Failed to parse pkgbuild", pkgbuild_file.split("/")[-4])
return version.parse("")
return Version.parse("")
return version.parse("{}-{}".format(pkgver[0], pkgrel[0]))
return Version.parse("{}-{}".format(pkgver[0], pkgrel[0]))
def increase_pkgrel(pkgbuild_file):
@@ -249,7 +249,7 @@ def increase_pkgrel(pkgbuild_file):
def parse_repo(name, repo):
ver_split = find_all_files_for_pkg(name, repo)[0].split("-")
return version.parse(ver_split[-3] + "-" + ver_split[-2])
return Version.parse(ver_split[-3] + "-" + ver_split[-2])
def sync_marchs_with_config():
@@ -309,17 +309,21 @@ def fill_queue():
logging.info("[%s/%s] Skipped due to failing build", repo, name)
continue
if package_exists(name, repo):
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", name, parse_repo(name, repo), name,
parse_pkgbuild(pkgb))
try:
if package_exists(name, repo):
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", name, parse_repo(name, repo), name,
parse_pkgbuild(pkgb))
if not package_exists(name, repo):
q.put((pkgb, repo))
logging.info("[%s/%s] Build queued (package not build yet)", repo, name)
elif parse_repo(name, repo) < parse_pkgbuild(pkgb):
q.put((pkgb, repo))
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, name,
parse_repo(name, repo), parse_pkgbuild(pkgb))
if not package_exists(name, repo):
q.put((pkgb, repo))
logging.info("[%s/%s] Build queued (package not build yet)", repo, name)
elif parse_repo(name, repo) < parse_pkgbuild(pkgb):
q.put((pkgb, repo))
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, name,
parse_repo(name, repo), parse_pkgbuild(pkgb))
except ValueError as e:
logging.warning("[%s] Failure parsing version: %s", name, e)
continue
logging.info("Build queue size: %s", q.qsize())
@@ -363,7 +367,7 @@ if __name__ == '__main__':
q.task_done()
q.join()
logging.info("Cleared Queue, clearing upstream repos...")
logging.info("Cleared Queue, cleaning upstream repos...")
update_svn2git()
logging.info("Cleanup done, refill queue")