I have a yum repo:


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
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
  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 ??



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 using exclude and includepkgs.

Priorities is a plugin in older distros, so you might have to install it.

| improve this answer | |
  • you were right ! fixed it by purging the duplicates RPMs in pulp, then it worked. – exeral May 2 '17 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.