From f6b23cd7709fbede4df55c6309412037e4fb44a7 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Wed, 12 Aug 2020 10:19:42 +0200 Subject: [PATCH] added importing pgp keys pares from pkgbuild --- master.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/master.py b/master.py index 51fb60e..b75bbe8 100644 --- a/master.py +++ b/master.py @@ -16,6 +16,7 @@ import yaml regex_pkgver = re.compile(r"^pkgrel\s*=\s*(.+)$") regex_pkgrel = re.compile(r"^pkgrel\s*=\s*(.+)$") regex_march = re.compile(r"(-march=)(.+?) ") +regex_validkeys = re.compile(r"^validpgpkeys=\((.*)\)$") fp = None q = Queue() update_last = time.time() @@ -108,6 +109,26 @@ def setup_makepkg(repo): conf.write(c_all) +def import_keys(pkgbuild): + with open(pkgbuild) as p: + keys_s = regex_validkeys.findall(p.read()) + + if keys_s: + keys = [] + + for k in keys_s: + keys.append(k.split(" ")) + + logging.debug("Found keys: %s", keys) + + for k in keys: + nk = k.replace("'", "") + logging.debug(subprocess.run( + ["gpg", "--keyserver keyserver.ubuntu.com", "--recv-keys", nk], + check=True, capture_output=True)) + logging.debug("Imported key %s", nk) + + def package_exists(name, repo): pkgs = find_all_files_for_pkg(name, repo) @@ -175,7 +196,6 @@ def fill_queue(): "repos"] or "any" in path_split[-2] or path_split[-4] in config["blacklist"]: to_delete.append(pkgbuild) - logging.debug(to_delete) final_pkgbuilds = list(set(all_pkgbuild) - set(to_delete)) for pkgb in final_pkgbuilds: