From a5b014cf2998723b2a3de55a806330d41008e4b6 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Sat, 13 Aug 2022 12:41:27 -0500 Subject: [PATCH] Only build against ansible-core We want the newest ansible-test, and we may add other macros that require the newest version. The generated runtime Requires remain the same. --- ansible-generator | 2 ++ ansible-packaging.spec | 6 +++--- ansible.attr | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ansible-generator b/ansible-generator index 3d485e7..81fd613 100755 --- a/ansible-generator +++ b/ansible-generator @@ -38,6 +38,8 @@ def main(): f"ansible-collection({info['namespace']}.{info['name']}) = {info['version']}" ) if args.action == "requires": + # Require either ansible-core or a version of ansible 2.9 that + # supports collections but prefer ansible-core. print("(ansible-core or (ansible < 2.10.0 with ansible >= 2.9.10))") for dep, req in info.get("dependencies", {}).items(): print(f"ansible-collection({dep})", end="") diff --git a/ansible-packaging.spec b/ansible-packaging.spec index ff77800..da9d6c4 100644 --- a/ansible-packaging.spec +++ b/ansible-packaging.spec @@ -11,9 +11,9 @@ Source2: macros.ansible Source3: macros.ansible-srpm Source4: COPYING -# Require either ansible-core or a version of ansible 2.9 that supports collections but prefer ansible-core. -Requires: (ansible-core or (ansible < 2.10.0 with ansible >= 2.9.10)) -Suggests: ansible-core +# Require ansible-core for building. Collections still have a boolean runtime +# dependency on either ansible 2.9 OR ansible-core. +Requires: ansible-core Requires: ansible-srpm-macros = %{version}-%{release} diff --git a/ansible.attr b/ansible.attr index 7c0c346..2a9fcab 100644 --- a/ansible.attr +++ b/ansible.attr @@ -1,4 +1,6 @@ %__ansible_provides %{_rpmconfigdir}/ansible-generator --provides %__ansible_requires %{_rpmconfigdir}/ansible-generator --requires +# Prefer ansible-core over ansible. This shells out to echo instead of using a +# parametric dependency generator to support EL 8. %__ansible_suggests /usr/bin/echo ansible-core %__ansible_path ^%{_datadir}/ansible/collections/ansible_collections/[^/]+/[^/]+/MANIFEST.json$