On Tuesday 22 July 2003 19:58, Olivier Thauvin wrote: > Le Mardi 22 Juillet 2003 04:48, Andi Payn a �crit : > > On Monday 21 July 2003 18:24, Olivier Thauvin wrote: > > > Le Mardi 22 Juillet 2003 02:41, Andi Payn a �crit : > > But if there are packages that don't provide %name but do obsolete %name, > > that's an indication that someone's possibly thought it through correctly > > and did this for a reason. > > > > Am I making myself clear, or just more confusing? > > Useally you provides and obsoletes the old package (rpmlint warn if not). > But someetimes, for somes reason, you must only obsoletes the old packages. > I haven't example at time (maybe %libname%major), but I allready found this > case.
I'm talking about packages that obsolete their _own_ %name. If they also provide their own %name%, this is probably a mistake; if they don't, then those are the examples I'm looking for.... Remember, the original question that got us off on this long side track: If we're going to lint for packages that obsolete other packages in the distribution (either directly, or through their provides), what should be do with packages that obsolete themselves? So, we were looking for examples of packages that obsolete their self through their own %name, in order to make sure we know why this would occur. We found one package that both provided and obsoleted its own %name (actually, a -devel package that provided and obsoletes %name-devel, but it's the same thing). We agreed that this is probably a mistake. So, now I'm trying to see if there's a package that obsoletes its own %name, but doesn't also provide its own %name. > > foo neither provides nor obsoletes %name; you have foo and bar. > > foo provides %name; exactly the same (because foo automatically provides > > %name whether you specify it or not). > > foo obsoletes %name; you have only foo, you can keep packages requiring > > foo (because foo automatically provides foo), but not packages requiring > > bar. foo provides and obsoletes %name; exactly the same. > > > > Right? > > hum which %name ? I talking about foo providing and/or obsoleting its own %name, foo (either by using "Provides: %name" or "Provides: foo"), when bar (which you've already installed) also provides foo. I think I got all four possible cases right. Since provides has no effect, this reduces to two cases. And the only issue that matters is this: If foo obsoletes foo, then if rpm -Uvh foo replaces a package bar which provided foo, it will let you keep packages that depended on foo (that you were able to install because you had bar). If not, those packages will be removed. If I have this right, then the question is, is this useful behavior? If so, we should not flag packages which obsolete themselves. If not, we should.
