diff options
Diffstat (limited to 'meta/lib/oe/package_manager.py')
-rw-r--r-- | meta/lib/oe/package_manager.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index b016bc32dc..eeb4c76071 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py | |||
@@ -520,7 +520,14 @@ class RpmPM(PackageManager): | |||
520 | open(platformconfdir + "macros", 'a').write("%_prefer_color 7") | 520 | open(platformconfdir + "macros", 'a').write("%_prefer_color 7") |
521 | 521 | ||
522 | if self.d.getVar('RPM_SIGN_PACKAGES') == '1': | 522 | if self.d.getVar('RPM_SIGN_PACKAGES') == '1': |
523 | raise NotImplementedError("Signature verification with rpm not yet supported.") | 523 | pubkey_path = self.d.getVar('RPM_GPG_PUBKEY') |
524 | rpm_bin = bb.utils.which(os.getenv('PATH'), "rpmkeys") | ||
525 | cmd = [rpm_bin, '--root=%s' % self.target_rootfs, '--import', pubkey_path] | ||
526 | try: | ||
527 | subprocess.check_output(cmd, stderr=subprocess.STDOUT) | ||
528 | except subprocess.CalledProcessError as e: | ||
529 | bb.fatal("Importing GPG key failed. Command '%s' " | ||
530 | "returned %d:\n%s" % (' '.join(cmd), e.returncode, e.output.decode("utf-8"))) | ||
524 | 531 | ||
525 | def create_configs(self): | 532 | def create_configs(self): |
526 | self._configure_dnf() | 533 | self._configure_dnf() |
@@ -570,7 +577,8 @@ class RpmPM(PackageManager): | |||
570 | output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) + | 577 | output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) + |
571 | (["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) > 0 else []) + | 578 | (["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) > 0 else []) + |
572 | (["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == 1 else []) + | 579 | (["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == 1 else []) + |
573 | ["--nogpgcheck", "install"] + | 580 | (["--nogpgcheck"] if self.d.getVar('RPM_SIGN_PACKAGES') != '1' else ["--setopt=gpgcheck=True"]) + |
581 | ["install"] + | ||
574 | pkgs) | 582 | pkgs) |
575 | 583 | ||
576 | failed_scriptlets_pkgnames = collections.OrderedDict() | 584 | failed_scriptlets_pkgnames = collections.OrderedDict() |