From Fedora Project Wiki
No edit summary
(proposal for ansible packaging using monolithic ansible + many subpackages)
Line 2: Line 2:


(dmsimard): ^ this is correct, I am from the Ansible team and, in fact, the intent is to mirror the same user experience as when installing from PyPi as outlined in the detailed description: https://fedoraproject.org/wiki/Changes/Ansible5#Detailed_Description
(dmsimard): ^ this is correct, I am from the Ansible team and, in fact, the intent is to mirror the same user experience as when installing from PyPi as outlined in the detailed description: https://fedoraproject.org/wiki/Changes/Ansible5#Detailed_Description
(rmeggins): How about this:
* Have a single `ansible` dist git repo with a single spec file
* The source would be https://pypi.org/project/ansible/
* Produce multiple RPM packages from this spec file
** ansible-core
** one RPM package for each collection in the pypi ansible package - these could be created programatically in the spec file using LUA or other spec file automation to create separate package, documentation, files, `Requires`, etc. for each collection package
** a package called `ansible` which is essentially a meta-package which simply does a `Requires: ansible-core` and also `Requires` every collection package
That way, there is a single source for any/all combinations of `ansible-core` + collection rpms, or the entire `ansible` containing everything.
One downside is that this restricts the ability to produce fixes or upgrades for individual collections independently of the rest of the Ansible packages.  But I think that's only a problem if
* the independent collections change frequently
* the https://pypi.org/project/ansible lags behind and doesn't keep up with the collections

Revision as of 15:42, 18 October 2021

I think this is essentially the same as the pip ansible package that is being published by the Ansible team. That is, if I do pip install ansible I get an ansible 3.0 or later release that contains ansible-core (Ansible cli like ansible-playbook, vault, ansible-galaxy; built-in modules/plugins) plus all of the collections listed at https://docs.ansible.com/ansible/latest/collections/index.html

(dmsimard): ^ this is correct, I am from the Ansible team and, in fact, the intent is to mirror the same user experience as when installing from PyPi as outlined in the detailed description: https://fedoraproject.org/wiki/Changes/Ansible5#Detailed_Description

(rmeggins): How about this:

  • Have a single ansible dist git repo with a single spec file
  • The source would be https://pypi.org/project/ansible/
  • Produce multiple RPM packages from this spec file
    • ansible-core
    • one RPM package for each collection in the pypi ansible package - these could be created programatically in the spec file using LUA or other spec file automation to create separate package, documentation, files, Requires, etc. for each collection package
    • a package called ansible which is essentially a meta-package which simply does a Requires: ansible-core and also Requires every collection package


That way, there is a single source for any/all combinations of ansible-core + collection rpms, or the entire ansible containing everything.

One downside is that this restricts the ability to produce fixes or upgrades for individual collections independently of the rest of the Ansible packages. But I think that's only a problem if