ClusterLabs / crmsh

Command-line interface for High-Availability cluster management on GNU/Linux systems.
GNU General Public License v2.0
131 stars 94 forks source link

Yum el7 crmsh package depends on missing /bin/python #161

Open phemmer opened 8 years ago

phemmer commented 8 years ago

I'm trying to upgrade python on an CentOS/7 system which has crmsh & python-parallax installed from the opensuse repo, and am getting the following:

# yum update python
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * atomic: www6.atomicorp.com
 * base: mirror.trouble-free.net
 * epel: mirror.cs.princeton.edu
 * extras: cosmos.illinois.edu
 * updates: repos.mia.quadranet.com
Resolving Dependencies
--> Running transaction check
---> Package python.x86_64 0:2.7.5-38.el7_2 will be updated
---> Package python.x86_64 0:2.7.5-39.el7_2 will be an update
--> Processing Dependency: python-libs(x86-64) = 2.7.5-39.el7_2 for package: python-2.7.5-39.el7_2.x86_64
--> Running transaction check
---> Package python-libs.x86_64 0:2.7.5-38.el7_2 will be updated
---> Package python-libs.x86_64 0:2.7.5-39.el7_2 will be an update
--> Processing Dependency: /bin/python for package: python-parallax-1.0.1-14.1.noarch
--> Processing Dependency: /bin/python for package: crmsh-2.3.1-1.2.noarch
--> Finished Dependency Resolution
Error: Package: crmsh-2.3.1-1.2.noarch (@opensuse-ha-clustering)
           Requires: /bin/python
           Removing: python-2.7.5-38.el7_2.x86_64 (@updates)
               Not found
           Updated By: python-2.7.5-39.el7_2.x86_64 (updates)
               Not found
Error: Package: python-parallax-1.0.1-14.1.noarch (@opensuse-ha-clustering)
           Requires: /bin/python
           Removing: python-2.7.5-38.el7_2.x86_64 (@updates)
               Not found
           Updated By: python-2.7.5-39.el7_2.x86_64 (updates)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Removing the crmsh & python-parallax packages before attempting to upgrade python solves the issue.

On EL7, /bin is a symlink to /usr/bin, and I'm guessing this is what's causing the issue, as oddly the RPM depends on both /bin/python and /usr/bin/python:

# rpm -qpR crmsh-2.3.1-1.2.noarch.rpm | grep /python
warning: crmsh-2.3.1-1.2.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 17280ddf: NOKEY
/bin/python
/usr/bin/python
krig commented 8 years ago

Hrm, that does seem broken. It should be depending only on /usr/bin/python...

krig commented 8 years ago

Can you reinstall crmsh and python-parallax after the update?

I'll have to check with the OBS people to see how to fix this.

phemmer commented 8 years ago

sorry I wasn't clear on that, yes, reinstalling after the update works just fine.

GLaN1K commented 7 years ago

Got this too. Because of that, we can't use crmsh as default cluster management tool. :( Broken spacewalk updates and stuff.

Got this rpm from:

http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/noarch/

root@someserver ~# rpm -q --requires  crmsh
/bin/python
/bin/sh
/usr/bin/env
/usr/bin/python
...

It would be just great, if there is any way to fix this.

krig commented 7 years ago

Agreed, it's a real problem. I'm investigating to see what I can do.

krig commented 7 years ago

I've updated the packages in network:ha-clustering:Stable with what seems to be a fix for this issue. Please help me verify that it actually solves the problem! Thank you for your patience.

GLaN1K commented 7 years ago

Thanks! But seems like issue still persists: (Got this from http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/noarch/)

root@live[20170815 11:16:28]:~# rpm -qpR crmsh-3.0.0-6.1.noarch.rpm 
warning: crmsh-3.0.0-6.1.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 17280ddf: NOKEY
/bin/python
/bin/sh
/usr/bin/python
/usr/bin/which
config(crmsh) = 3.0.0-6.1
crmsh-scripts >= 3.0.0-6.1
python >= 2.6
python(abi) = 2.7
python-dateutil
python-lxml
python-parallax
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
krig commented 7 years ago

Yeah, I got things to work on my local build, but it seems like the rpm produced by the build service is different. I'm discussing the problem on the mailing list, hopefully there will be progress soon.

wintel2006 commented 7 years ago

I got the similar problem too when I try to run yum update, Error: Package: crmsh-3.0.0-6.2.noarch (@opensuse-ha-clustering) Requires: /bin/python Removing: python-2.7.5-48.el7_2.x86_64 (@updates) Not found Updated By: python-2.7.5-58.el7_2.x86_64 (updates) Not found instead, you could upgrade python first: yum install python, and upgrade python to 2.7.5-58,

and then run yum update, it should finish update process.

wintel2006@hotmail.com

BrotherLavarius commented 6 years ago

Still persists for crmsh-3.0.0-6.2.noarch.rpm in OpenSuse repo