From 1e8d40d56bcd43a60145e85c2848b243c1a0f503 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 26 Jan 2022 20:32:52 +0100 Subject: [PATCH] copr-builders: allow rpkg-util to build from forks --- .../provision/files/patches/rpkg-v3.patch | 21 +++++++++++++++++++ .../provision/provision_builder_tasks.yml | 6 ++++++ .../provision/copr-rpmbuild/main.ini.j2 | 2 +- 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 roles/copr/backend/files/provision/files/patches/rpkg-v3.patch diff --git a/roles/copr/backend/files/provision/files/patches/rpkg-v3.patch b/roles/copr/backend/files/provision/files/patches/rpkg-v3.patch new file mode 100644 index 0000000000..3fa13a6e1b --- /dev/null +++ b/roles/copr/backend/files/provision/files/patches/rpkg-v3.patch @@ -0,0 +1,21 @@ +diff --git a/rpkglib/lookaside_cache.py b/rpkglib/lookaside_cache.py +index 0a38152..a6e3ec2 100644 +--- a/rpkglib/lookaside_cache.py ++++ b/rpkglib/lookaside_cache.py +@@ -48,10 +48,15 @@ class LookasideCache(object): + 'hash': hash, + } + subs.update(kwargs) ++ ++ parts = subs["repo_path"].split("/") ++ subs["module"] = parts[-1] ++ subs["ns1"] = parts[-2] ++ + try: + result_url = self.download_url % subs + except Exception as e: +- raise DownloadError( ++ raise RpkgError( + 'Could not get download url from %s template. ' + 'Original error: %s.' % (self.download_url, str(e))) + diff --git a/roles/copr/backend/files/provision/provision_builder_tasks.yml b/roles/copr/backend/files/provision/provision_builder_tasks.yml index a643754f72..26b1cf78a8 100644 --- a/roles/copr/backend/files/provision/provision_builder_tasks.yml +++ b/roles/copr/backend/files/provision/provision_builder_tasks.yml @@ -244,3 +244,9 @@ mode: 0644 when: - prepare_base_image is not defined + +- name: patch from https://pagure.io/rpkg-util/pull-request/38 + patch: src=patches/rpkg-v3.patch + dest=/usr/lib/python3.10/site-packages/rpkglib/lookaside_cache.py + when: + - prepare_base_image is not defined diff --git a/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2 b/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2 index f41b42fb3a..569ecb80c4 100644 --- a/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2 +++ b/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2 @@ -38,6 +38,6 @@ rpm_vendor_copr_name = {{ rpm_vendor_copr_name }} [distgit0] distgit_hostname_pattern = src.fedoraproject.org -distgit_lookaside_url = https://src.fedoraproject.org/repo/pkgs/%(repo_path)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s +distgit_lookaside_url = https://src.fedoraproject.org/repo/pkgs/%(ns1)s/%(module)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s distgit_clone_url = https://src.fedoraproject.org/%(repo_path)s {% endif %}