Red Hat Bugzilla – Bug 484739
yum install [filename] can pick an old package and fail
Last modified: 2014-01-21 18:08:16 EST
assume foo-1.0 provides [filename] and is available in repo |A|
assume foo-2.0 does NOT provide [filename] but foo-bar-2.0 does. Both are available in repo |B|
If both repo |A| and |B| are enabled and you run yum install [filename] yum will choose to install foo-1.0 from repo |A| to satisfy your request. yum then realizes that you have a newer version of foo already installed and does nothing. This leaves you with yum thinking everything is good, but in reality it didn't install a package which provides [filename]
yum should find foo-bar in repo |B| and install that package to satisfy the request.
Ok, so if the obsoletes are there then "yum update /path/to/file" works atm. As the simple update will install foo-bar as well. However doing the update of just foo and not foo-bar, and then doing a "yum install /path/to/file" fails (it prefers the old foo over foo-bar, because a version of foo is installed). This is fixed in upstream commit: