Resolving dependency during RPM upgrade

Issues related to applications and software problems
Post Reply
tsrini
Posts: 24
Joined: 2018/04/06 13:25:09

Resolving dependency during RPM upgrade

Post by tsrini » 2020/08/05 17:10:12

Hi Team,

We face some problem in picking dependency during RPM upgrade for our product.

Our product is bundled as ISO (Customized CentOS RPMs + our software RPMs).

During upgrade, a local repo is created using the ISO and used by "yum upgrade" to upgrade the product.

Here is the issue,

Older version of our box has below packages already installed (no openssl 32 bit already installed):
myproduct-V7.18.0.R-2.i386
openssl-1.0.1e-42.Our-Custom-6_5.4.R3.10.1.x86_64

New ISO has below (trying to move to el6 version of openssl 64 bit and additionally requires openssl el6 32 bit this time):
myproduct-V7.18.0.R-3.i386
openssl-1.0.1e-42.el6_7.4.i686
openssl-1.0.1e-42.el6_7.4.x86_64

Above myproduct RPM is built with below in RPM spec,

Code: Select all

Requires: openssl(x86-64)
Requires: openssl-1.0.1e-42.el6_7.4.i686
When trying to do "yum upgrade", error thrown for openssl 32 bit.

Code: Select all

Checking deps for myproduct.i386 0:V7.18.0.R-3 - u
looking for ('openssl-1.0.1e-42.el6_7.4.i686', None, (None, None, None)) as a requirement of myproduct.i386 0:V7.18.0.R-3 - u
looking for ('openssl(x86-64)', None, (None, None, None)) as a requirement of myproduct.i386 0:V7.18.0.R-3 - u
myproduct-V7.18.0.R-3.i386 requires: openssl-1.0.1e-42.el6_7.4.i686
--> Processing Dependency: openssl-1.0.1e-42.el6_7.4.i686 for package: myproduct-V7.18.0.R-3.i386
Searching pkgSack for dep: openssl-1.0.1e-42.el6_7.4.i686
...

---> Package openssl.x86_64 0:1.0.1e-42.Our-Custom-6_5.4.R3.10.1.x86_64 will be updated
Checking deps for openssl.x86_64 0:1.0.1e-42.Our-Custom-6_5.4.R3.10.1.x86_64 - ud
---> Package openssl.x86_64 0:1.0.1e-42.el6_7.4 will be an update
Checking deps for openssl.x86_64 0:1.0.1e-42.el6_7.4 - u
--> Finished Dependency Resolution
...
and finally it throws,

Code: Select all

Error: Package: myproduct-V7.18.0.R-3.i386 (local-repo-name)
           Requires: openssl-1.0.1e-42.el6_7.4.i686
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Can anyone help to resolve this issue on why the additional 32 bit dependency (openssl) is not picked during product rpm upgrade.

Thanks in advance.

Regards,
Srini

User avatar
TrevorH
Site Admin
Posts: 33202
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Resolving dependency during RPM upgrade

Post by TrevorH » 2020/08/05 18:21:05

First question: why on earth are you developing for CentOS 6? It goes EOL at the end of November, in approximately 4 months time. It is not a long term solution to anything. Do not deploy new CentOS 6 instances at this stage in its life.

Dual arches are complicated. The i686 amd x86_64 packages need to be built at the time, and match in all respects down to the entire version/release string. Also, an i386 package is 32 bit so I am not sure why you would need to depend on the 64 bit package. It won't be used.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

Post Reply