diff --git a/backend/copr_backend/background_worker_build.py b/backend/copr_backend/background_worker_build.py index 994c1430f..0eee39ab8 100644 --- a/backend/copr_backend/background_worker_build.py +++ b/backend/copr_backend/background_worker_build.py @@ -2,6 +2,7 @@ BuildBackgroundWorker class + internals. """ +import functools import glob import logging import os @@ -110,6 +111,18 @@ def filter(self, record): return 1 + +def skipped_for_source_build(f): + """ Mark method no-op for the source build (srpm-builds dir) """ + @functools.wraps(f) + def wrapper(self, *args, **kwargs): + if self.job.chroot == 'srpm-builds': + self.log.debug("Skipping method %s for source build", f.__name__) + return None + return f(self, *args, **kwargs) + return wrapper + + class BuildBackgroundWorker(BackendBackgroundWorker): """ The (S)RPM build logic. @@ -593,6 +606,7 @@ def _check_build_success(self): if not os.path.exists(successfile): raise BackendError("No success file => build failure") + @skipped_for_source_build def _sign_built_packages(self): """ Sign built rpms @@ -703,6 +717,7 @@ def _get_build_details(self, job): return build_details + @skipped_for_source_build def _add_pubkey(self): """ Adds pubkey.gpg with public key to ``chroot_dir`` using diff --git a/backend/copr_backend/sign.py b/backend/copr_backend/sign.py index e75315376..e21653e78 100644 --- a/backend/copr_backend/sign.py +++ b/backend/copr_backend/sign.py @@ -154,10 +154,6 @@ def sign_rpms_in_dir(username, projectname, path, chroot, opts, log): :raises: :py:class:`backend.exceptions.CoprSignError` failed to sign at least one package """ - if chroot == 'srpm-builds': - log.info("Source builds are not signed") - return - rpm_list = [ os.path.join(path, filename) for filename in os.listdir(path)