[Pulp-dev] vagrant up on master is broken by python-lxml dep solving

Dennis Kliban dkliban at redhat.com
Wed Dec 21 17:37:32 UTC 2016

----- Original Message -----
> When I try to "vagrant up" with all git repos on "master", I get an exciting
> explosion with this error at the core:
> 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
> The steps leading up to this are that the setup:
> - scrapes pulp spec files for Requires statements
> - finds one for "python-lxml" in the pulp_rpm spec file
> - tries to use dnf to install python-lxml, among many other dependencies
> dnf doesn't like this one bit. I think it comes down to ambiguity over these
> two points:
> python2-lxml is installed on the system and "Provides" python-lxml
> python-lxml is also an available RPM, but it's obsoleted by python2-lxml
> 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
> But if I install something that "Requires: python-lxml", like
> pulp-rpm-plugins, dnf happily resolves that as you might expect.
> Reading the man page for dnf, that behavior matches what is described in the
> "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."
> 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".
> So what should we do? This seems to be a quirk of F24 that might be unusual.
> - We could change our spec file for F24+ to "Require: python2-lxml"
> - We could handle this as a special case in the ansible facts, and modify the
> value before trying to use it with dnf.

Since Pulp installs properly on Fedora 24, it sounds like we have a problem with how we provision our development environment. Modifying the ansible facts is the right approach for resolving this problem. Did you file an issue in Redmine for this?    

> What do you all think?
> Michael
> _______________________________________________
> Pulp-dev mailing list
> Pulp-dev at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-dev

More information about the Pulp-dev mailing list