Update from upstream #11
@ -35,6 +35,10 @@ from pungi.util import pkg_is_srpm, copy_all
|
||||
from pungi.arch import get_valid_arches, is_excluded
|
||||
|
||||
|
||||
class UnsignedPackagesError(RuntimeError):
|
||||
pass
|
||||
|
||||
|
||||
class ExtendedRpmWrapper(kobo.pkgset.SimpleRpmWrapper):
|
||||
"""
|
||||
ExtendedRpmWrapper extracts only certain RPM fields instead of
|
||||
@ -144,7 +148,7 @@ class PackageSetBase(kobo.log.LoggingBase):
|
||||
|
||||
def raise_invalid_sigkeys_exception(self, rpminfos):
|
||||
"""
|
||||
Raises RuntimeError containing details of RPMs with invalid
|
||||
Raises UnsignedPackagesError containing details of RPMs with invalid
|
||||
sigkeys defined in `rpminfos`.
|
||||
"""
|
||||
|
||||
@ -166,7 +170,9 @@ class PackageSetBase(kobo.log.LoggingBase):
|
||||
|
||||
if not isinstance(rpminfos, dict):
|
||||
rpminfos = {self.sigkey_ordering: rpminfos}
|
||||
raise RuntimeError("\n".join(get_error(k, v) for k, v in rpminfos.items()))
|
||||
raise UnsignedPackagesError(
|
||||
"\n".join(get_error(k, v) for k, v in rpminfos.items())
|
||||
)
|
||||
|
||||
def read_packages(self, rpms, srpms):
|
||||
srpm_pool = ReaderPool(self, self._logger)
|
||||
|
@ -5,6 +5,7 @@ from __future__ import print_function
|
||||
|
||||
import argparse
|
||||
import getpass
|
||||
import glob
|
||||
import json
|
||||
import locale
|
||||
import logging
|
||||
@ -327,12 +328,20 @@ def main():
|
||||
)
|
||||
notifier.compose = compose
|
||||
COMPOSE = compose
|
||||
run_compose(
|
||||
compose,
|
||||
create_latest_link=create_latest_link,
|
||||
latest_link_status=latest_link_status,
|
||||
latest_link_components=latest_link_components,
|
||||
)
|
||||
try:
|
||||
run_compose(
|
||||
compose,
|
||||
create_latest_link=create_latest_link,
|
||||
latest_link_status=latest_link_status,
|
||||
latest_link_components=latest_link_components,
|
||||
)
|
||||
except pungi.phases.pkgset.pkgsets.UnsignedPackagesError:
|
||||
# There was an unsigned package somewhere. It is not safe to reuse any
|
||||
# package set from this compose (since we could leak the unsigned
|
||||
# package). Let's make sure all reuse files are deleted.
|
||||
for fp in glob.glob(compose.paths.work.pkgset_reuse_file("*")):
|
||||
os.unlink(fp)
|
||||
raise
|
||||
|
||||
|
||||
def run_compose(
|
||||
|
Loading…
Reference in New Issue
Block a user