fix: AUR installation receiving GPG key

This commit is contained in:
Vinicius Moreira
2019-09-20 18:33:53 -03:00
parent 57e17c79d8
commit 0d2770296c
8 changed files with 178 additions and 34 deletions

View File

@@ -1,15 +1,15 @@
import re
from typing import List
from bauh.api.abstract.handler import ProcessWatcher
from bauh.commons.system import new_subprocess
RE_DEPS_PATTERN = re.compile(r'\n?\s+->\s(.+)\n')
RE_UNKNOWN_GPG_KEY = re.compile(r'\(unknown public key (\w+)\)')
def check_missing_deps(pkgdir: str, watcher: ProcessWatcher) -> List[str]:
def check_missing_deps(pkgdir: str, watcher: ProcessWatcher) -> dict:
depcheck = new_subprocess(['makepkg', '-L', '--check'], cwd=pkgdir)
res = {}
for o in depcheck.stdout:
if o:
line = o.decode().strip()
@@ -33,4 +33,10 @@ def check_missing_deps(pkgdir: str, watcher: ProcessWatcher) -> List[str]:
error_str = ''.join(error_lines)
if 'Missing dependencies' in error_str:
return RE_DEPS_PATTERN.findall(error_str)
res['missing_deps'] = RE_DEPS_PATTERN.findall(error_str)
gpg_keys = RE_UNKNOWN_GPG_KEY.findall(error_str)
if gpg_keys:
res['gpg_key'] = gpg_keys[0]
return res