<div dir="ltr">Hi everyone,<div><br></div><div>pulp_rpm (Pulp 3) recently added a dependency on the python module "gi" (GObject Introspection), part of "PyGObject".</div><div><a href="https://pulp.plan.io/issues/5172">https://pulp.plan.io/issues/5172</a></div><div><a href="https://github.com/pulp/pulp_rpm/pull/1434">https://github.com/pulp/pulp_rpm/pull/1434</a></div><div><br></div><div>This now requires every linux distro that pulp_rpm is installed on to provide the package named like:</div><div>Fedora: python3-gobject , which has most files provided by its dep python3-gobject-bas</div><div><div>Debian: python3-gi</div><div><br></div><div>And they must also have the following ansible-pulp "pulp" role variable set:</div><div>pulp_use_system_wide_pkgs: true<br></div><div><br></div><div>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.</div><div><br></div><div>Shouldn't pulp_rpm declare its pip dependency on PyGObject ?</div><div><a href="https://pypi.org/project/PyGObject/">https://pypi.org/project/PyGObject/</a><br></div><div><br></div><div>I simulated it declaring that dependency, and added the C / devel packages needed to build it, via this PR:</div><div><a href="https://github.com/pulp/pulp-rpm-prerequisites/pull/16">https://github.com/pulp/pulp-rpm-prerequisites/pull/16</a><br></div><div><div>(I tested it afterwards with the master branch of pulp_rpm by viewing the pulp status page).</div><div></div></div><div><br></div><div>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.</div><div><br></div><div>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.)</div><div><br></div><div>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.</div><div><br></div><div>Also, I should ask the more fundamental question:</div><div>Is pulp_rpm using PyGObject worth the trade-offs of depending on it?</div><div><br></div><div>If firewalld is depending on python3-gobject-base, that's a good sign.</div><div><br></div><div>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.</div><div><br></div><div>I'm also worried that if GObject (OS package) is upgraded, then PyGObject (pip) will need to be reinstalled.</div><div><br></div><div>-Mike</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:capitalize"><span>Mike</span> <span>DePaulo</span><span style="text-transform:uppercase;color:rgb(170,170,170);margin:0px"></span></p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:12px;margin:0px 0px 4px;text-transform:capitalize">He / Him / His</p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:12px;margin:0px;text-transform:capitalize"><span>Service Reliability Engineer, Pulp</span></p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;margin:0px 0px 4px;font-size:12px"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat<span></span></a></p><div style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:medium;margin-bottom:4px"></div><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;margin:0px;font-size:12px"><span>IM: <span>mikedep333</span></span></p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:12px;margin:0px"><span>GPG: 51745404</span></p><div style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:medium;margin-top:12px"><table border="0"><tbody><tr><td width="100px"><a href="https://www.redhat.com/" target="_blank"><img src="https://marketing-outfit-prod-images.s3-us-west-2.amazonaws.com/f5445ae0c9ddafd5b2f1836854d7416a/Logo-RedHat-Email.png" width="90" height="auto"></a></td></tr></tbody></table></div></div></div></div></div>