YUM update dependency not found in RHEL7
I'm an issue when using 'yum update' in RHEL7 where if say the 'rpm' rpm needs to update I receive a Not Found message for an unrelated rpm (custom rpm).
The "conflicting" rpm is one that I have created named ejstestdeps-3.2-1.noarch that doesn't contain any files only that it has a dependency on /usr/bin/rpm (as I have other rpms that have this dep). The problem came to light when I attempted to patch the server; I'm going from rpm-4.11.3-17.el7.x86_64 to rpm-4.11.3-21.el7.x86_64 and the output received is:
Loaded plugins: product-id, rhnplugin, search-disabled-repos, subscription-manager
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package rpm.x86_64 0:4.11.3-17.el7 will be updated
--> Processing Dependency: rpm = 4.11.3-17.el7 for package: rpm-libs-4.11.3-17.el7.x86_64
--> Processing Dependency: rpm = 4.11.3-17.el7 for package: rpm-python-4.11.3-17.el7.x86_64
--> Processing Dependency: rpm = 4.11.3-17.el7 for package: rpm-build-4.11.3-17.el7.x86_64
---> Package rpm.x86_64 0:4.11.3-21.el7 will be an update
--> Running transaction check
---> Package rpm-build.x86_64 0:4.11.3-17.el7 will be updated
---> Package rpm-build.x86_64 0:4.11.3-21.el7 will be an update
---> Package rpm-libs.x86_64 0:4.11.3-17.el7 will be updated
--> Processing Dependency: rpm-libs(x86-64) = 4.11.3-17.el7 for package: rpm-build-libs-4.11.3-17.el7.x86_64
---> Package rpm-libs.x86_64 0:4.11.3-21.el7 will be an update
---> Package rpm-python.x86_64 0:4.11.3-17.el7 will be updated
---> Package rpm-python.x86_64 0:4.11.3-21.el7 will be an update
--> Running transaction check
---> Package rpm-build-libs.x86_64 0:4.11.3-17.el7 will be updated
---> Package rpm-build-libs.x86_64 0:4.11.3-21.el7 will be an update
--> Processing Dependency: /usr/bin/rpm for package: ejstestdeps-3.2-1.noarch
--> Finished Dependency Resolution
Error: Package: ejstestdeps-3.2-1.noarch (installed)
Requires: /usr/bin/rpm
Removing: rpm-4.11.3-17.el7.x86_64 (@ej-dev-rhel7-64-201610)
Not found
Updated By: rpm-4.11.3-21.el7.x86_64 (ej-dev-rhel7-64-201701)
Not found
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
For some reason yum is complaining about my ejstestdeps-3.2-1.noarch and it seems to want to remove the old version of rpm. This doesn't only happen for the 'rpm' rpm either b/c we're seeing for lspci, bash, and other commands. This behavior was never experienced on RHEL5/6.
Also using --skip-broken doesn't work nor does excluding the ejstestdeps (test rpm).
I also created another rpm that only requires /bin/bash and the 'rpm' rpm is updated as expected.
I realize the custom rpm should only require rpm and not be fully pathed unfortunately I have many rpms in this state and they all can't be rebuilt.
I'm looking for a solution or workaround or even understanding if this is a bug in RHEL7 yum.
Thank you.
--Ed
Responses