[Rpm-maint] RPM <Obsoletes> tag not working

prashant tyagi prashant.2006tyagi at gmail.com
Tue Oct 15 11:13:24 UTC 2013

Hi Panu,

Thanks for quick reply.
It worked with 'rpm -U'. I have got another problem in <Provides:> tag.

Hi All,

Here is the complete scenario:

I have two packages pkgA 10.10.100, pkgB 10.10.100 and I want to merge
these into pkgC 20.00.000.
The thing I want to achieve If I install pkgC, it should remove pkgA
and pkgB. and if I try to install pkgA or pkgB higher version, it
should tell me "already higher version is installed'.
what I did to achieve this-
I used <Obsoletes> and <Provides> tags in spec file for pkgC like this :

Obsoletes: pkgA <= 10.10.100-1, pkgB <= 10.10.100
Provides: pkgA <=20.00.000-1, pkgB <20.00.000-1

when I use- rpm -U pkgC, it remove pkgA and pkgB (<Obsoletes>
working), but I install pkgA higher version (10.20.200),it got
installed ( <Provides> not working ).
Is there any other way to achieve this?


On Tue, Oct 15, 2013 at 2:26 PM, Panu Matilainen
<pmatilai at laiskiainen.org> wrote:
> On 10/14/2013 10:49 AM, prashant tyagi wrote:
>> Hi,
>> I have rpm documentation for renaming the package. I get to know about
>> <Obsoletes> tag. I am able to build a new package successfully after
>> adding this tag in spec file. For example:
>> Suppose there is a package PkgA , I want to rename it to PkgB...
>> For PkgB-
>> Obsoletes: PkgA <= 2.00.000-1
>> But When I install PkgB, it is not uninstalling PkgA. Instead PkgA and
>> PkgB are installed side by side.
> There are details missing here, but the most obvious reasons would be
> a) Obsoletion range not matching, for example because of an epoch
> b) Installing with 'rpm -i' instead of 'rpm -U', with -i rpm never removes
> anything and this includes obsoletion.
>         - Panu -

More information about the Rpm-maint mailing list