<div dir="ltr">When I try to "vagrant up" with all git repos on "master", I get an exciting explosion with this error at the core:<div><br></div><div>raise exc\r\ndnf.exceptions.DepsolveError: installed package 
python2-lxml-3.7.0-1.fc24.x86_64 obsoletes python-lxml < 3.7.0-1.fc24
 provided by python-lxml-3.4.4-4.fc24.x86_64<br></div><div><br></div><div>The steps leading up to this are that the setup:</div><div><br></div><div>- scrapes pulp spec files for Requires statements</div><div>- finds one for "python-lxml" in the pulp_rpm spec file</div><div>- tries to use dnf to install python-lxml, among many other dependencies</div><div><br></div><div>dnf doesn't like this one bit. I think it comes down to ambiguity over these two points:</div><div><br></div><div>python2-lxml is installed on the system and "Provides" python-lxml</div><div>python-lxml is also an available RPM, but it's obsoleted by python2-lxml</div><div><br></div><div>When I run "dnf install python-lxml", it matches the RPM with that exact name, not the already-installed RPM that merely "Provides" that name, and then complains</div><div><br></div><div>But if I install something that "Requires: python-lxml", like pulp-rpm-plugins, dnf happily resolves that as you might expect.</div><div><br></div><div>Reading the man page for dnf, that behavior matches what is described in the "SPECIFYING PACKAGES" section:</div><div><br></div><div>"Failing to match the input argument to an existing package name based on the patterns above, DNF tries to see if the argument matches an existing provide."</div><div><br></div><div>dnf does match the argument to a package name, and when it encounters a dep solving error, it does not go back and continue its matching algorithm. It never gets to the point of trying to match the argument to a "provide".</div><div><br></div><div>So what should we do? This seems to be a quirk of F24 that might be unusual.</div><div><br></div><div>- We could change our spec file for F24+ to "Require: python2-lxml"</div><div>- We could handle this as a special case in the ansible facts, and modify the value before trying to use it with dnf.</div><div>- $YOUR_IDEA_HERE</div><div><br></div><div>What do you all think?</div><div><br></div><div>Michael</div></div>