Hi everyone, pulp_rpm (Pulp 3) recently added a dependency on the python module "gi" (GObject Introspection), part of "PyGObject". https://pulp.plan.io/issues/5172 https://github.com/pulp/pulp_rpm/pull/1434
This now requires every linux distro that pulp_rpm is installed on to provide the package named like: Fedora: python3-gobject , which has most files provided by its dep python3-gobject-bas Debian: python3-gi And they must also have the following ansible-pulp "pulp" role variable set: pulp_use_system_wide_pkgs: true The need for that variable is making for a bad user experience in installing Pulp with pulp_rpm, although I can probably force it via the pulp-rpm-prerequisites role. Shouldn't pulp_rpm declare its pip dependency on PyGObject ? https://pypi.org/project/PyGObject/ I simulated it declaring that dependency, and added the C / devel packages needed to build it, via this PR: https://github.com/pulp/pulp-rpm-prerequisites/pull/16 (I tested it afterwards with the master branch of pulp_rpm by viewing the pulp status page). The PR would increase the number of C / devel dependency RPMs by a dozen or 2, since pip installing GyGObject needs to compile it, but it does allow for pulp_use_system_wide_pkgs: to remain at false by default. Note that "python3-libmodulemd" (a currently specified dependency) and "firewalld" (an optional feature for pulp) still depend on python3-gobject-base. (Although python3-modulemd does not show up in the venv.) Perhaps the rpm prereqs role should have 2 modes via a variable: "maximize-pip-pkgs" or "maximize-os-pkgs"? (And an "auto"). And the auto would be per-distro. Also, I should ask the more fundamental question: Is pulp_rpm using PyGObject worth the trade-offs of depending on it? If firewalld is depending on python3-gobject-base, that's a good sign. However, GObject has been upgraded 4 times (as part of GNOME) during the life of RHEL7/CentOS7, and at least 1 time during the life of SLES12 that I know of. It's also probably categorized as a desktop package by distros; even Ubuntu LTS has a shotter lifecycle for desktop packages than server packages. This is in contrast to probably all of Pulp's other dependencies. I'm also worried that if GObject (OS package) is upgraded, then PyGObject (pip) will need to be reinstalled. -Mike -- Mike DePaulo He / Him / His Service Reliability Engineer, Pulp Red Hat <https://www.redhat.com/> IM: mikedep333 GPG: 51745404 <https://www.redhat.com/>
_______________________________________________ Pulp-dev mailing list Pulp-dev@redhat.com https://www.redhat.com/mailman/listinfo/pulp-dev