RPM Community Forums

Mailing List Message of <rpm-devel>

Re: Should Obsoletes: become persistent?

From: Michael Jennings <mej@kainx.org>
Date: Wed 06 May 2009 - 23:58:04 CEST
Message-ID: <20090506215804.GC7254@kainx.org>
On Wednesday, 06 May 2009, at 13:43:36 (-0400),
Jeff Johnson wrote:

> (aside)
> I ask this question (and other questions like whether SRPM
> installs should be tracked) periodically, have for years.
> This bug report triggers the duty/obligation to ask Yet Again:
>
>      https://bugzilla.redhat.com/show_bug.cgi?id=499239
>
> Obsoletes: are applied once, when the package that carries
> the Obsoletes: is upgraded.
>
> Basically that leaves a back-door where a later install/upgrade
> of the Obsolete:'d package(s) is permitted. The issue is periodically
> re-discovered and invariably leads to
> 	RPM sux!
> conclusions.
>
> The proper "fix" is to make Obsoletes: persistent like Conflicts:,
> with a semantic that any Obsolete:'d package added to a transaction
> is automagically discarded (with or without warning with all the usual
> enablers/disablers for the warm/fuzzy bikeshed discusssions).
>
> Should I make Obsoletes: in RPM persistent?

No.  Obsoletes *should* be transactional.  There have been far too
many cases where supposedly "obsolete" package (or subpackage) naming
schemes have been revived or where unversioned Obsoletes from careless
packagers caused enough trouble as transactional elements.  Permanence
would only compound the problem.

This really goes back to previous discussions about Epoch and how to
properly handle changes in package lifecycle involving the
presumed-invariant continuum of name-version-release.  What we need is
a good way to define delta points on the continuum (i.e., that foo
0.9.8-4 is the next point on the continuum after 0.9.9-1 because
upstream screwed the pooch, or that spiffy-20010101 is actually older
than spiffy-1.0, or that FreeGOAT-2.0 has evolved into OpenGOAT-1.0),
not to silently and permanently discard transaction elements.  That
will cause WAY more support spew.

Michael

-- 
Michael Jennings (a.k.a. KainX)  http://www.kainx.org/  <mej@kainx.org>
Linux Server/Cluster Admin, LBL.gov       Author, Eterm (www.eterm.org)
-----------------------------------------------------------------------
 "Greatness is never appreciated in youth, called pride in mid-life,
  dismissed in old age, and reconsidered in death.  Because we cannot
  tolerate greatness in our midst, we do all we can do destroy it."
           -- Lady Morella (Majel Barrett Roddenberry), "Babylon Five"
Received on Wed May 6 23:58:25 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.