Compare commits

...

2 Commits

Author SHA1 Message Date
2fb7387cf8 fixed truncate 2021-06-04 17:06:07 +02:00
6af405ca14 remove old pkg versions from failed 2021-06-04 16:07:42 +02:00
2 changed files with 13 additions and 5 deletions

View File

@@ -29,6 +29,7 @@ regex_pkg_repo = re.compile(r"^(.*)-.*-.*-(?:x86_64|any)\.pkg\.tar\.zst(?:\.sig)
fp = None
update_last = time.time()
copy_l = Lock()
failed_l = Lock()
repos = []
@@ -59,7 +60,7 @@ def build(pkgbuild: str, repo: str) -> None:
logging.warning("[%s/%s/%s] Build failed. Check repo/logs for more information.", process_name, repo, name)
# write packagename to failed list
with open(os.path.join(config["basedir"]["repo"], repo + "_failed.txt"), "a") as f:
with failed_l, open(os.path.join(config["basedir"]["repo"], repo + "_failed.txt"), "a") as f:
f.write(name + "==" + str(parse_pkgbuild_ver(parsed=parsed)) + "\n")
# write logs
@@ -194,6 +195,13 @@ def is_package_failed(package: str, ver: LegacyVersion, repo: str):
if s[0] == package:
if ver > LegacyVersion(s[1]):
with failed_l, open(os.path.join(config["basedir"]["repo"], repo + "_failed.txt"), "r+") as f:
d = f.readlines()
f.seek(0)
f.truncate()
for i in d:
if i.strip("\n") != p:
f.write(i)
return False
else:
return True
@@ -202,8 +210,8 @@ def is_package_failed(package: str, ver: LegacyVersion, repo: str):
def get_failed_packages(repo: str) -> list:
if os.path.exists(os.path.join(config["basedir"]["repo"], repo + "_failed.txt")):
with open(os.path.join(config["basedir"]["repo"], repo + "_failed.txt")) as p:
return p.read().splitlines()
with failed_l, open(os.path.join(config["basedir"]["repo"], repo + "_failed.txt")) as p:
return p.readlines()
else:
return []
@@ -383,7 +391,7 @@ if __name__ == '__main__':
time.sleep(300)
do_repo_work()
except KeyboardInterrupt:
with copy_l:
with copy_l, failed_l:
pool.close()
pool.terminate()
q.close()

View File

@@ -32,8 +32,8 @@ def increase_pkgrel(pkgbuild_file: str, parsed: dict = None) -> None:
parsed = parse_pkgbuild(pkgbuild_file)
with open(pkgbuild_file, "r+", errors='ignore') as p:
pkgbuild_str = p.read()
p.seek(0)
p.truncate(0)
p.seek(0, 0)
pkgbuild_str = regex_pkgrel.sub("pkgrel=" + parsed["pkgrel"] + ".1", pkgbuild_str)
p.write(pkgbuild_str)