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: