[rdo-dev] Rocky RPM dependency issue - pyparsing
iain MacDonnell
rdo-list at dseven.org
Tue Jul 31 19:06:38 UTC 2018
Hi All,
Kicking the t[yi]res on Rocky a bit, and I've run into an(other) RPM
dependency issue. The symptom, when attempting to install
openstack-keystone, is:
Transaction check error:
file /usr/lib/python2.7/site-packages/pyparsing.py from install of
python2-pyparsing-2.1.10-3.el7.noarch conflicts with file from package
pyparsing-1.5.6-9.el7.noarch
...etc..
It appears that the RPM name changed from "pyparsing" to
"python2-pyparsing" somewhere along the way, and there's a kludgy
empty "pyparsing" RPM that "requires" "python2-pyparsing":
# rpm -qRlp /var/cache/yum/x86_64/7Server/centos7-master/packages/pyparsing-2.1.10-3.el7.noarch.rpm
python-pyparsing = 2.1.10-3.el7
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsXz) <= 5.2-1
(contains no files)
#
This worked OK before because the "python-cmd2" RPM delivered in the
openstack-queens repo "requires" "pyparsing":
# rpm -qRp openstack-queens/python-cmd2-0.6.8-8.el7.noarch.rpm | grep parsing
pyparsing >= 2.0.1
#
but the version in centos7-master "requires" "python2-pyparsing":
# rpm -qRp /var/cache/yum/x86_64/7Server/centos7-master/packages/python2-cmd2-0.8.8-5.el7.noarch.rpm
| grep parsing
python2-pyparsing >= 2.0.1
#
and, unfortunately, that does not obsolete "pyparsing", so we end up
with the conflict.
Not sure why they didn't just have python2-pyparsing "provide" and
"obsolete" "pyparsing".
This would probably not be an issue if the OS had been installed with
centos7-master to begin with, but I don't think that that can be
assumed - 7.5 comes with pyparsing-1.5.6-9.el7.noarch.
Will openstack-rocky be delivered with a version of python2-cmd that
"requires" "pyparsing", or does this need to be fixed in
centos7-master, or ..... ? Seems it will need to provide something,
since the pyparsing in currently-shipping el7 is too old ....
~iain
More information about the dev
mailing list