Question

I'm working on a Java project were each module creates individual rpm packages that always have a 1.0 Version tag, but the Release tag adopts the build number injected by Jenkins CI.

Each component uses the maven-rpm-plugin.

There's also a main rpm package were we specify the exact version of the deployed modules as requirements in the spec file, as a requirement example:

Requires: module1 = 1.0-10

Requires: module2 = 1.0-123

The packages are deployed to the company's repository and are made available to our development machines that run CentOS 6.

So the issue is:

On one dev machine, the previous main package installed module1-1.0-9

When I install the current main package version using yum, module1 does not get upgraded, even though I specified an exact package version requirement, down to the Release tag.

After removing all packages and trying to install the current main package, module1-1.0-12 get's installed! Another module build was deployed in the meantime.

I've been looking for any kind of documentation about this but haven't had any luck.

Is this normal behavior or a bug?

Any ideas? - even changing versioning strategy would be welcome, if it's indeed not a bug.

Was it helpful?

Solution 2

After another day trying to get to the bottom of this I finally stumbled across this bug report in bugzilla.

I also took a look at the yum related source code and found a comment on the depsolve.py module that explains how dependencies are resolved and corroborates the previously reported behavior in CentOS 6:

  1. If you're installing a package and a required packaged is found, the latest version is installed
  2. If you're updating a package and a required package is already installed, there is no dependency upgrade

OTHER TIPS

Is the package name changing somehow? Yum uses the name, version and the release. So if you are packaging with a different name then yum is not going to see the newer package as an update to the old one.

Do an rpm -qip *your-rpm-file-name.rpm* and compare the output of the name. I've seen in the past some people get confused with the file name of the RPM and actual name of the RPM that yum/rpm uses.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top