fixed? version parsing
This commit is contained in:
34
master.py
34
master.py
@@ -16,7 +16,7 @@ from queue import Empty
|
|||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
from humanfriendly import format_timespan
|
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_pkgver = re.compile(r"^_?pkgver\s*=\s*(.+)$", re.MULTILINE)
|
||||||
regex_pkgrel = re.compile(r"^pkgrel\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)
|
pkgrel = regex_pkgrel.findall(pkgbuild_str)
|
||||||
if not pkgver or not pkgrel:
|
if not pkgver or not pkgrel:
|
||||||
logging.warning("[%s] Failed to parse pkgbuild", pkgbuild_file.split("/")[-4])
|
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):
|
def increase_pkgrel(pkgbuild_file):
|
||||||
@@ -249,7 +249,7 @@ def increase_pkgrel(pkgbuild_file):
|
|||||||
def parse_repo(name, repo):
|
def parse_repo(name, repo):
|
||||||
ver_split = find_all_files_for_pkg(name, repo)[0].split("-")
|
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():
|
def sync_marchs_with_config():
|
||||||
@@ -309,17 +309,21 @@ def fill_queue():
|
|||||||
logging.info("[%s/%s] Skipped due to failing build", repo, name)
|
logging.info("[%s/%s] Skipped due to failing build", repo, name)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if package_exists(name, repo):
|
try:
|
||||||
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", name, parse_repo(name, repo), name,
|
if package_exists(name, repo):
|
||||||
parse_pkgbuild(pkgb))
|
logging.debug("[SEMVER] Comparing %s=%s - %s=%s", name, parse_repo(name, repo), name,
|
||||||
|
parse_pkgbuild(pkgb))
|
||||||
|
|
||||||
if not package_exists(name, repo):
|
if not package_exists(name, repo):
|
||||||
q.put((pkgb, repo))
|
q.put((pkgb, repo))
|
||||||
logging.info("[%s/%s] Build queued (package not build yet)", repo, name)
|
logging.info("[%s/%s] Build queued (package not build yet)", repo, name)
|
||||||
elif parse_repo(name, repo) < parse_pkgbuild(pkgb):
|
elif parse_repo(name, repo) < parse_pkgbuild(pkgb):
|
||||||
q.put((pkgb, repo))
|
q.put((pkgb, repo))
|
||||||
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, name,
|
logging.info("[%s/%s] Build queued (new version available %s < %s)", repo, name,
|
||||||
parse_repo(name, repo), parse_pkgbuild(pkgb))
|
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())
|
logging.info("Build queue size: %s", q.qsize())
|
||||||
|
|
||||||
@@ -363,7 +367,7 @@ if __name__ == '__main__':
|
|||||||
q.task_done()
|
q.task_done()
|
||||||
q.join()
|
q.join()
|
||||||
|
|
||||||
logging.info("Cleared Queue, clearing upstream repos...")
|
logging.info("Cleared Queue, cleaning upstream repos...")
|
||||||
|
|
||||||
update_svn2git()
|
update_svn2git()
|
||||||
logging.info("Cleanup done, refill queue")
|
logging.info("Cleanup done, refill queue")
|
||||||
|
Reference in New Issue
Block a user