I have a yum repo:
[sensu-checks-prod]
name=sensu-checks-prod
baseurl=http://our.internal.repo/pulp/repos/Sensu_checks_el6-prod/
enabled=1
gpgcheck=0
Which is composed of gem to RPMs created with fpm
I have edited this package to change the version requirement of sensu-rubygem(rest-client) which was fixed to =1.8.0 to >=1.8.0
If I download the package from the repo
# wget http://our.internal.repo/pulp/repos/Sensu_checks_el6-prod/sensu-rubygem-sensu-plugins-jenkins-1.2.0-1.x86_64.rpm
and check with rpm
# rpm -qpR sensu-rubygem-sensu-plugins-jenkins-1.2.0-1.x86_64.rpm
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
ruby
rubygems
sensu-rubygem(chronic_duration) = 0.10.6
sensu-rubygem(jenkins_api_client) = 1.4.2
sensu-rubygem(rest-client) >= 1.8.0
sensu-rubygem(sensu-plugin) >= 1.2
sensu-rubygem(sensu-plugin) < 2.0
Version requirement is OK: sensu-rubygem(rest-client) >= 1.8.0
If I check with yum:
# yum deplist sensu-rubygem-sensu-plugins-jenkins
Modules complémentaires chargés : fastestmirror
Recherche de dépendances :
Determining fastest mirrors
sensu-checks-prod | 2.1 kB 00:00
sensu-checks-prod/primary | 17 kB 00:00
sensu-checks-prod 64/64
paquet : sensu-rubygem-sensu-plugins-jenkins.x86_64 1.2.0-1
dépendance : sensu-rubygem(jenkins_api_client) = 1.4.2
provider: sensu-rubygem-jenkins_api_client.x86_64 1.4.2-1
dépendance : sensu-rubygem(rest-client) = 1.8.0
Dépendance non satisfaite
dépendance : ruby
provider: ruby.x86_64 1.8.7.374-4.el6_6
dépendance : rubygems
provider: rubygems.noarch 1.3.7-1.el6
provider: rubygems.noarch 1.3.7-5.el6
dépendance : sensu-rubygem(sensu-plugin) < 2.0
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.4-1
provider: sensu-plugin.x86_64 1.0-1
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.5-1
dépendance : sensu-rubygem(chronic_duration) = 0.10.6
provider: sensu-rubygem-chronic_duration.x86_64 0.10.6-1
dépendance : sensu-rubygem(sensu-plugin) >= 1.2
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.4-1
provider: sensu-plugin.x86_64 1.0-1
provider: sensu-rubygem-sensu-plugin.x86_64 1.4.5-1
It is NOT ok: sensu-rubygem(rest-client) = 1.8.0
yum clean all has been done of course.
Why yum does not reflect the >= that rpm shows correctly ??
thanks
I'm gonna guess that yum is detecting the unmodified version of the RPM that doesn't have the '>' turned into '>='. If you do a
yum list
with the--show duplicates
flag, you can see if there is more than one out there.If that's what's going on, using repo priorities is probably what you want to do to fix it. You can also try
--enablerepo
,--disablerepo
, or setting filters per repo in the repo configs usingexclude
andincludepkgs
.Priorities is a plugin in older distros, so you might have to install it.