1

I'm new here and am debugging something I've never seen before, so I'm hoping someone can show me where I'm going wrong.

I've created a local yum repo for all my servers. The idea is to distribute any custom built internal RPMs (our application) or other packages that aren't in other external repos. The first external package I'm testing is nxlog. I downloaded the RPM from the download page and dropped it into my repo.

The problem I'm hitting is that when I try to install the package via yum, one of the dependencies is checked differently vs. installing via RPM from the HTTP URL to the RPM itself.

Here's what happens via yum:

$ yum -q deplist nxlog-ce|grep pcre
dependency: pcre
provider: pcre.i686 7.8-6.el6
provider: pcre.x86_64 7.8-6.el6
dependency: libpcre.so.1()(64bit)

Here's what happens via rpm:

$ rpm -qpR https://repo.mydomain.com/packages/nxlog/nxlog-ce-2.9.1347-1_rhel6.x86_64.rpm|grep pcre
libpcre.so.0()(64bit)
pcre

Notice that the libpcre check is different between yum and rpm. This causes the yum installation to fail and the rpm installation to succeed. This would be fine, but I want to use the ansible yum module to install all my local packages.

All the normal searching hasn't turned up anything useful and I'm not keen to create symlinks or anything as that's never going to be good for future operations.

Has anyone seen something like this before? What would cause it? The dependencies are defined in the RPM spec file, so I can't think of a reason the tools would do something different.

  • Are you sure you're looking at the same packages? – Michael Hampton Apr 24 '15 at 16:56
  • Yum is going to wrap rpm. There is some other explanation for what you're seeing, although the obvious answer is that with yum you are specifying a name that yum is resolving from its configuration of active repos, rather than a specific url. You can use yum to install an RPM by specifying the full path to the rpm. Is that what you're doing? – gview Apr 24 '15 at 17:03
  • @michael-hampton I'm as close to 100% sure I'm looking at the same packages as I can be. Running a yum info nxlog-ce shows that the package is in my repo. It's the only package in the repo at the moment. – Jeff Thompson Apr 24 '15 at 17:12
  • @gview Knowing that yum wraps rpm is what makes this so frustrating, it should be the same. I'm not using yum to install via the full URL, I'm running yum install nxlog-ce. – Jeff Thompson Apr 24 '15 at 17:14
  • Even more strange, I've tested installing via yum using the full URL to the package and it worked fine. I wonder if yum is overriding the package dependency somehow. – Jeff Thompson Apr 24 '15 at 17:29
  • Yes, perhaps you missed my point. Without the url, yum is using whatever repos you have configured to find the package. Clearly that package is different from the rpm you are specifying. Yum repo's are the purpose and value of Yum -- that people have groups of rpm's that are organized by OS version/platform and/or other criteria, and remove the concerns as to where the actual rpm is stored. – gview Apr 24 '15 at 18:48
  • No, I didn't miss your point, and no, the package is not different from the RPM I've specified. The package is only in my repo. If I remove my repo and do a yum search, the package is not found. If I add it back, and perform the steps outlined originally, I get the problem I see. Updating original post with details. – Jeff Thompson Apr 30 '15 at 12:55

0 Answers0