fixed? version parsing
This commit is contained in:
34
master.py
34
master.py
@@ -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")
|
||||
|
Reference in New Issue
Block a user