Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/pungi/scripts/pungi_koji.py", line 683, in cli_main main() File "/usr/lib/python3.11/site-packages/pungi/scripts/pungi_koji.py", line 352, in main run_compose( File "/usr/lib/python3.11/site-packages/pungi/scripts/pungi_koji.py", line 524, in run_compose essentials_phase.stop() File "/usr/lib/python3.11/site-packages/pungi/phases/weaver.py", line 57, in stop self.pool.stop() File "/usr/lib/python3.11/site-packages/kobo/threads.py", line 120, in stop six.reraise(exc_info[0], exc_info[1], exc_info[2]) File "/usr/lib/python3.11/site-packages/six.py", line 719, in reraise raise value File "/usr/lib/python3.11/site-packages/kobo/threads.py", line 67, in run self.process(item, num) File "/usr/lib/python3.11/site-packages/pungi/phases/weaver.py", line 78, in process phase.start() File "/usr/lib/python3.11/site-packages/pungi/phases/base.py", line 66, in start self.run() File "/usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py", line 124, in run pkg_map = gather_wrapper( ^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py", line 861, in gather_wrapper _gather_variants(result, compose, "variant", package_sets) File "/usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py", line 808, in _gather_variants raise exc File "/usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py", line 785, in worker que.put((arch, gather_packages(*args, **kwargs))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py", line 494, in gather_packages pkg_map = method( ^^^^^^^ File "/usr/lib/python3.11/site-packages/pungi/phases/gather/methods/method_deps.py", line 72, in __call__ raise_on_invalid_sigkeys(arch, variant, package_sets, result) File "/usr/lib/python3.11/site-packages/pungi/phases/gather/methods/method_deps.py", line 93, in raise_on_invalid_sigkeys package_sets[0]["global"].raise_invalid_sigkeys_exception(invalid_sigkey_rpms) File "/usr/lib/python3.11/site-packages/pungi/phases/pkgset/pkgsets.py", line 170, in raise_invalid_sigkeys_exception raise UnsignedPackagesError( pungi.errors.UnsignedPackagesError: RPM(s) not found for sigs: ('3228467c',). Check log for details. Unsigned packages: distribution-gpg-keys-1.96-1.el9 distribution-gpg-keys-copr-1.96-1.el9 Frame raise_invalid_sigkeys_exception in /usr/lib/python3.11/site-packages/pungi/phases/pkgset/pkgsets.py at line 170 163 sigkeys, 164 "\n".join(sorted(set(nvr_formatter(rpminfo) for rpminfo in infos))), 165 ) 166 ) 167 168 if not isinstance(rpminfos, dict): 169 rpminfos = {self.sigkey_ordering: rpminfos} --> 170 raise UnsignedPackagesError( 171 "\n".join(get_error(k, v) for k, v in rpminfos.items()) 172 ) 173 174 def read_packages(self, rpms, srpms): 175 srpm_pool = ReaderPool(self, self._logger) 176 rpm_pool = ReaderPool(self, self._logger) get_error = .get_error at 0x7f5b714e9620> nvr_formatter = .nvr_formatter at 0x7f5b714e9440> rpminfos = {('3228467c',): [{'arch': 'src', 'build_id': 2289520, 'buildroot_id': 45509028, 'buildtime': 1694700689, 'epoch': None, 'extra': None, 'id': 35906773, 'metadata_only': False, 'name': 'distribution-gpg self = self._allow_invalid_sigkeys = True self._invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 2289520, 'buildroot_id': 45509028, 'buildtime': 1694700689, 'epoch': None, 'extra': None, 'id': 35906773, 'metadata_only': False, 'name': 'distribution-gpg-keys', 'payload self._logger = self.arches = {'aarch64', 'ppc64le', 's390', 'i586', 'src', 'i686', 'x86_64', 'athlon', 's390x', 'noarch', 'i386', 'i486'} self.cache_region = self.extra_builds = [] self.extra_tasks = [] self.file_cache = self.invalid_sigkey_rpms = [{'arch': 'src', 'build_id': 2289520, 'buildroot_id': 45509028, 'buildtime': 1694700689, 'epoch': None, 'extra': None, 'id': 35906773, 'metadata_only': False, 'name': 'distribution-gpg-keys', 'payload self.koji_proxy = self.koji_wrapper = self.name = 'epel9' self.old_file_cache = self.packages = {'calligra-stage', 'parley', 'kdelibs', 'plasma-workspace-geolocation', 'audiocd-kio-devel', 'qt5-qtmultimedia-devel', 'calligra-sheets', 'ksshaskpass', 'plasma-thunderbolt', 'poxml', 'colord-kde', 'f self.populate_only_packages = False self.reuse = None self.rpms_by_arch = {'src': [python-capturer-2.4-5.el9.src.rpm, python-hyperframe-6.0.1-5.el9.src.rpm, pgbouncer-1.20.1-1.el9.src.rpm, python-hpack-4.0.0-6.el9.src.rpm, python-h2-4.1.0-4.el9.src.rpm, python-oauth2client- self.sigkey_ordering = '3228467c' self.signed_packages_retries = 0 self.signed_packages_wait = 30 self.srpms_by_name = {'python-capturer-2.4-5.el9.src.rpm': python-capturer-2.4-5.el9.src.rpm, 'python-hyperframe-6.0.1-5.el9.src.rpm': python-hyperframe-6.0.1-5.el9.src.rpm, 'pgbouncer-1.20.1-1.el9.src.rpm': pgbouncer-1.2 Frame raise_on_invalid_sigkeys in /usr/lib/python3.11/site-packages/pungi/phases/gather/methods/method_deps.py at line 93 86 for forbidden_package in pkgset["global"].invalid_sigkey_rpms: 87 if name == forbidden_package["name"]: 88 invalid_sigkey_rpms.setdefault( 89 pkgset["global"].sigkey_ordering, [] 90 ).append(forbidden_package) 91 92 if invalid_sigkey_rpms: --> 93 package_sets[0]["global"].raise_invalid_sigkeys_exception(invalid_sigkey_rpms) 94 95 96 def _format_packages(pkgs): 97 """Sort packages and merge name with arch.""" 98 result = set() 99 for pkg, pkg_arch in pkgs: arch = 's390x' forbidden_package = {'arch': 'noarch', 'build_id': 2289520, 'buildroot_id': 45509028, 'buildtime': 1694700693, 'epoch': None, 'extra': None, 'id': 35906775, 'metadata_only': False, 'name': 'distribution-gpg-keys-copr', ' invalid_sigkey_rpms = {('3228467c',): [{'arch': 'src', 'build_id': 2289520, 'buildroot_id': 45509028, 'buildtime': 1694700689, 'epoch': None, 'extra': None, 'id': 35906773, 'metadata_only': False, 'name': 'distribution-gpg name = 'zxing-cpp-devel' package = {'path': '/mnt/koji/packages/zxing-cpp/1.2.0/1.el9/data/signed/3228467c/s390x/zxing-cpp-devel-1.2.0-1.el9.s390x.rpm', 'flags': ['input']} package_sets = [] pkgset = result = {'rpm': [{'path': '/mnt/koji/packages/6tunnel/0.13/1.el9/data/signed/3228467c/s390x/6tunnel-0.13-1.el9.s390x.rpm', 'flags': ['input']}, {'path': '/mnt/koji/packages/AMF/1.4.30/1.el9/data/signed/322846 variant = Variant(id="Everything", name="Everything", type="variant", parent=None) Frame __call__ in /usr/lib/python3.11/site-packages/pungi/phases/gather/methods/method_deps.py at line 72 65 prepopulate=prepopulate, 66 source_name=self.source_name, 67 package_sets=package_sets, 68 ) 69 result, missing_deps = resolve_deps( 70 self.compose, arch, variant, source_name=self.source_name 71 ) --> 72 raise_on_invalid_sigkeys(arch, variant, package_sets, result) 73 check_deps(self.compose, arch, variant, missing_deps) 74 return result 75 76 77 def raise_on_invalid_sigkeys(arch, variant, package_sets, result): 78 """ arch = 's390x' filter_packages = set() fulltree_excludes = set() groups = {'base-x', 'office-suite', 'fedora-packager', 'input-methods', 'networkmanager-submodules', 'multimedia', 'kde-media', 'firefox', 'xfce-desktop', 'kf5-software-development', 'guest-desktop-agents', 'k missing_deps = {'6tunnel.s390x\n': {'libc.so.6(GLIBC_2.34)(64bit)', 'rtld(GNU_HASH)'}, 'Agda.s390x\n': {'libffi.so.8(LIBFFI_BASE_8.0)(64bit)', 'libm.so.6(GLIBC_2.27)(64bit)', 'libtinfo.so.6()(64bit)', 'libffi.so.8() multilib_blacklist = {'mkinitrd-devel', 'java-1.7.0-icedtea-devel', 'ghc-*', 'httpd-core', 'java-1.5.0-gcj-devel', 'java-1.6.0-openjdk-devel', 'krb5-server-ldap', 'httpd-devel', 'php-devel', 'dmraid-devel', 'mod_*', 'mp', multilib_whitelist = {'vkBasalt', 'p11-kit-trust', 'ibus-gtk2', 'dssi-vst-wine', 'perl-libs', 'wine', 'apitrace-libs', 'libgnat', 'pipewire', 'postgresql-odbc', 'syslinux-extlinux-nonlinux', 'nspluginwrapper', 'wine-*', ' package_sets = [] packages = {('*', None), ('*-debuginfo', None)} path_prefix = None prepopulate = set() result = {'rpm': [{'path': '/mnt/koji/packages/6tunnel/0.13/1.el9/data/signed/3228467c/s390x/6tunnel-0.13-1.el9.s390x.rpm', 'flags': ['input']}, {'path': '/mnt/koji/packages/AMF/1.4.30/1.el9/data/signed/322846 self = self.compose = self.source_name = 'comps' variant = Variant(id="Everything", name="Everything", type="variant", parent=None) Frame gather_packages in /usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py at line 494 487 GatherMethod = get_gather_method(method_name) 488 method = GatherMethod(compose) 489 method.source_name = source_name 490 compose.log_debug( 491 "Gathering source %s, method %s (arch: %s, variant: %s)" 492 % (source_name, method_name, arch, variant) 493 ) --> 494 pkg_map = method( 495 arch, 496 variant, 497 packages, 498 groups, 499 filter_packages, 500 multilib_whitelist, GatherMethod = arch = 's390x' compose = filter_packages = set() fulltree_excludes = set() global_method_name = 'deps' groups = {'base-x', 'office-suite', 'fedora-packager', 'input-methods', 'networkmanager-submodules', 'multimedia', 'kde-media', 'firefox', 'xfce-desktop', 'kf5-software-development', 'guest-desktop-agents', 'k method = method_name = 'deps' methods = 'deps' msg = 'Gathering packages (arch: s390x, variant: Everything)' multilib_blacklist = {'mkinitrd-devel', 'java-1.7.0-icedtea-devel', 'ghc-*', 'httpd-core', 'java-1.5.0-gcj-devel', 'java-1.6.0-openjdk-devel', 'krb5-server-ldap', 'httpd-devel', 'php-devel', 'dmraid-devel', 'mod_*', 'mp', multilib_whitelist = {'vkBasalt', 'p11-kit-trust', 'ibus-gtk2', 'dssi-vst-wine', 'perl-libs', 'wine', 'apitrace-libs', 'libgnat', 'pipewire', 'postgresql-odbc', 'syslinux-extlinux-nonlinux', 'nspluginwrapper', 'wine-*', ' package_sets = [] packages = {('*', None), ('*-debuginfo', None)} prepopulate = set() result = {'rpm': [], 'srpm': [], 'debuginfo': []} reused_result = None source_name = 'comps' variant = Variant(id="Everything", name="Everything", type="variant", parent=None) Frame worker in /usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py at line 785 778 # Get lookaside repos for this variant from other variants. Based 779 # on the ordering we already know that we have the packages from 780 # there. 781 _update_lookaside_config(compose, variant, arch, result, package_sets) 782 783 def worker(que, errors, arch, *args, **kwargs): 784 try: --> 785 que.put((arch, gather_packages(*args, **kwargs))) 786 except Exception as exc: 787 compose.log_error( 788 "Error in gathering for %s.%s: %s", variant, arch, exc 789 ) 790 compose.traceback("gather-%s-%s" % (variant, arch)) 791 errors.put(exc) arch = 's390x' args = compose = errors = kwargs = {'fulltree_excludes': set()} que = variant = Variant(id="Everything", name="Everything", type="variant", parent=None) Frame _gather_variants in /usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py at line 808 801 t.start() 802 803 for t in threads_list: 804 t.join() 805 806 while not errors.empty(): 807 exc = errors.get() --> 808 raise exc 809 810 while not que.empty(): 811 arch, pkg_map = que.get() 812 result.setdefault(arch, {})[variant.uid] = pkg_map 813 814 # Remove the module -> pkgset mapping to save memory arch = 'x86_64' compose = errors = exc = UnsignedPackagesError("RPM(s) not found for sigs: ('3228467c',). Check log for details. Unsigned packages:\ndistribution-gpg-keys-1.96-1.el9\ndistribution-gpg-keys-copr-1.96-1.el9") exclude_fulltree = False fulltree_excludes = set() package_sets = [] que = result = {} t = threads_list = [, , , .worker at 0x7f5b70250860> Frame gather_wrapper in /usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py at line 861 854 parent_pkg_map[pkg_type].append(pkg) 855 return all_included_packages 856 857 858 def gather_wrapper(compose, package_sets, path_prefix): 859 result = {} 860 --> 861 _gather_variants(result, compose, "variant", package_sets) 862 _gather_variants(result, compose, "addon", package_sets, exclude_fulltree=True) 863 _gather_variants( 864 result, compose, "layered-product", package_sets, exclude_fulltree=True 865 ) 866 _gather_variants(result, compose, "optional", package_sets) 867 compose = package_sets = [] path_prefix = '/mnt/koji/' result = {} Frame run in /usr/lib/python3.11/site-packages/pungi/phases/gather/__init__.py at line 124 117 raise ValueError("\n".join(errors)) 118 119 def _write_manifest(self): 120 self.compose.log_info("Writing RPM manifest: %s" % self.manifest_file) 121 self.manifest.dump(self.manifest_file) 122 123 def run(self): --> 124 pkg_map = gather_wrapper( 125 self.compose, self.pkgset_phase.package_sets, self.pkgset_phase.path_prefix 126 ) 127 128 for variant_uid in get_ordered_variant_uids(self.compose): 129 variant = self.compose.all_variants[variant_uid] 130 if variant.is_empty: self = self._skipped = False self._start_time = 1695773898.902221 self.compose = self.finished = False self.manifest = self.manifest_file = '/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0/compose/metadata/rpms.json' self.msg = '---------- PHASE: GATHER ----------' self.name = 'gather' self.pkgset_phase = self.used_patterns = None Frame start in /usr/lib/python3.11/site-packages/pungi/phases/base.py at line 66 59 if self._skipped: 60 self.compose.log_warning("[SKIP ] %s" % self.msg) 61 self.finished = True 62 return 63 self._start_time = time.time() 64 self.compose.log_info("[BEGIN] %s" % self.msg) 65 self.compose.notifier.send("phase-start", phase_name=self.name) --> 66 self.run() 67 68 def get_config_block(self, variant, arch=None): 69 """In config for current phase, find a block corresponding to given 70 variant and arch. The arch should be given if and only if the config 71 uses variant/arch mapping. 72 """ self = self._skipped = False self._start_time = 1695773898.902221 self.compose = self.finished = False self.manifest = self.manifest_file = '/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0/compose/metadata/rpms.json' self.msg = '---------- PHASE: GATHER ----------' self.name = 'gather' self.pkgset_phase = self.used_patterns = None Frame process in /usr/lib/python3.11/site-packages/pungi/phases/weaver.py at line 78 71 num, 72 self.pool.queue_total, 73 phases_names, 74 ) 75 self.pool.log_info("[BEGIN] %s" % (msg,)) 76 77 for phase in pipeline: --> 78 phase.start() 79 phase.stop() 80 81 self.pool.log_info("[DONE ] %s" % (msg,)) item = [, ] msg = 'Running pipeline (2/4). Phases: gather, createrepo' num = 2 phase = phases_names = 'gather, createrepo' pipeline = [, ] self = self._args = self._daemonic = False self._ident = 140028855445184 self._initialized = True self._is_stopped = True self._kwargs = {} self._name = 'Thread-134' self._native_id = 344230 self._started = self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'> self._target = None self._tstate_lock = None self.daemon = False self.failed = True self.get_timeout = 1 self.ident = 140028855445184 self.kill = True self.name = 'Thread-134' self.native_id = 344230 self.pool = self.running = False Frame run in /usr/lib/python3.11/site-packages/kobo/threads.py at line 67 60 61 self.pool.queue_get_lock.acquire() 62 self.pool.queue_processed += 1 63 num = self.pool.queue_processed 64 self.pool.queue_get_lock.release() 65 66 try: --> 67 self.process(item, num) 68 except: 69 self.failed = True 70 self.pool.exceptions.append(sys.exc_info()) 71 self.pool.kill() 72 73 def process(self, item, num): item = [, ] num = 2 self = self._args = self._daemonic = False self._ident = 140028855445184 self._initialized = True self._is_stopped = True self._kwargs = {} self._name = 'Thread-134' self._native_id = 344230 self._started = self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'> self._target = None self._tstate_lock = None self.daemon = False self.failed = True self.get_timeout = 1 self.ident = 140028855445184 self.kill = True self.name = 'Thread-134' self.native_id = 344230 self.pool = self.running = False Frame reraise in /usr/lib/python3.11/site-packages/six.py at line 719 712 713 def reraise(tp, value, tb=None): 714 try: 715 if value is None: 716 value = tp() 717 if value.__traceback__ is not tb: 718 raise value.with_traceback(tb) --> 719 raise value 720 finally: 721 value = None 722 tb = None 723 724 else: 725 def exec_(_code_, _globs_=None, _locs_=None): tb = None tp = value = None Frame stop in /usr/lib/python3.11/site-packages/kobo/threads.py at line 120 113 """ 114 for i in self.threads: 115 i.running = False 116 for i in self.threads: 117 i.join() 118 if self.exceptions: 119 exc_info = self.exceptions[0] --> 120 six.reraise(exc_info[0], exc_info[1], exc_info[2]) 121 122 def kill(self): 123 for i in self.threads: 124 i.kill = True 125 i.running = False 126 exc_info = i = self = self._logger = self.exceptions = [(, UnsignedPackagesError("RPM(s) not found for sigs: ('3228467c',). Check log for details. Unsigned packages:\ndistribution-gpg-keys-1.96-1.el9\ndistributi self.queue = self.queue_get_lock = self.queue_processed = 4 self.queue_put_lock = self.queue_total = 4 self.threads = [, , , Frame stop in /usr/lib/python3.11/site-packages/pungi/phases/weaver.py at line 57 50 51 self.pool.start() 52 53 def stop(self): 54 if self.finished: 55 return 56 if hasattr(self, "pool"): --> 57 self.pool.stop() 58 self.finished = True 59 self.compose.log_info("[DONE ] %s" % self.msg) 60 61 62 class PipelineThread(WorkerThread): 63 """ self = self._phases_schema = self.compose = self.finished = False self.msg = '---------- PHASE: WEAVER ----------' self.name = 'weaver' self.pool = Frame run_compose in /usr/lib/python3.11/site-packages/pungi/scripts/pungi_koji.py at line 524 517 buildinstall_phase, 518 (gather_phase, createrepo_phase), 519 extrafiles_phase, 520 (ostree_phase, ostree_installer_phase), 521 ) 522 essentials_phase = pungi.phases.WeaverPhase(compose, essentials_schema) 523 essentials_phase.start() --> 524 essentials_phase.stop() 525 526 # write treeinfo before ISOs are created 527 for variant in compose.get_variants(): 528 for arch in variant.arches + ["src"]: 529 pungi.metadata.write_tree_info( 530 compose, arch, variant, bi=buildinstall_phase buildinstall_phase = compose = config_copy_path = '/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0/logs/global/config-copy' config_dump_full = '/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0/logs/global/config-dump.global.log' config_file = '/tmp/bodhi-pungi-epel9-8re8tky6/pungi_multilib.conf' create_latest_link = False createiso_phase = createrepo_phase = errors = [] essentials_phase = essentials_schema = extra_isos_phase = extrafiles_phase = f = <_io.TextIOWrapper name='/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0/logs/global/config-dump.global.log' mode='w' encoding='UTF-8'> gather_phase = image_build_phase = image_checksum_phase = image_container_phase = init_phase = installed_pkgs_log = '/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0/logs/global/installed-pkgs.global.log' latest_link_components = -1 latest_link_status = None liveimages_phase = livemedia_phase = osbs_phase = osbuild_phase = ostree_installer_phase = ostree_phase = phase = pkgset_phase = pungi = repoclosure_phase = test_phase = Frame main in /usr/lib/python3.11/site-packages/pungi/scripts/pungi_koji.py at line 352 345 logger.error("Config validation failed with the error: %s" % error) 346 fail_to_start("Config validation failed", errors=errors) 347 sys.exit(1) 348 349 notifier.compose = compose 350 COMPOSE = compose 351 try: --> 352 run_compose( 353 compose, 354 create_latest_link=create_latest_link, 355 latest_link_status=latest_link_status, 356 latest_link_components=latest_link_components, 357 ) 358 except UnsignedPackagesError: Compose = PHASES_NAMES_MODIFIED = ['buildinstall', 'createiso', 'createrepo', 'extra_files', 'extra_isos', 'gather', 'image_build', 'image_checksum', 'image_container', 'init', 'live_images', 'live_media', 'osbs', 'osbuild', 'ostree', abort = .abort at 0x7f5b94477e20> compose = compose_dir = '/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0' compose_type = 'production' conf = {'release_is_layered': False, 'hashed_directories': True, 'pkgset_source': 'koji', 'filter_system_release_packages': False, 'greedy_method': 'build', 'createrepo_c': True, 'createrepo_checksum': 'sha2 create_latest_link = False errors = [] fail_to_start = .fail_to_start at 0x7f5b94477ce0> fp = '/mnt/koji/compose/updates/Fedora-Epel-9-updates-20230927.0/work/global/pkgset_epel9_reuse.pickle' group = kobo = latest_link_components = -1 latest_link_status = None logger = notifier = opts = Namespace(target_dir='/mnt/koji/compose/updates', compose_dir=None, label='Update-20230927.0015', no_label=False, supported=False, old_composes=['/mnt/koji/compose/updates/'], config='/tmp/bodhi-pungi parser = ArgumentParser(prog='pungi-koji', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) productmd = pungi = rv = None warnings = ["WARNING: Config option release_is_layered was removed and has no effect; remove it. It's layered if there's configuration for base product.", "WARNING: Config option runroot was removed and has no e Frame cli_main in /usr/lib/python3.11/site-packages/pungi/scripts/pungi_koji.py at line 683 676 677 678 def cli_main(): 679 signal.signal(signal.SIGINT, sigterm_handler) 680 signal.signal(signal.SIGTERM, sigterm_handler) 681 682 try: --> 683 main() 684 except (Exception, KeyboardInterrupt) as ex: 685 if COMPOSE: 686 COMPOSE.log_error("Compose run failed: %s" % ex) 687 COMPOSE.traceback(show_locals=getattr(ex, "show_locals", True)) 688 COMPOSE.log_critical("Compose failed: %s" % COMPOSE.topdir) 689 COMPOSE.write_status("DOOMED") ex = UnsignedPackagesError("RPM(s) not found for sigs: ('3228467c',). Check log for details. Unsigned packages:\ndistribution-gpg-keys-1.96-1.el9\ndistribution-gpg-keys-copr-1.96-1.el9")