rpms/lesstif/devel lesstif.spec,1.4,1.5

Michael Schwendt bugs.michael at gmx.net
Mon Jan 1 16:21:23 UTC 2007


On Mon, 1 Jan 2007 16:38:07 +0100, Patrice Dumas wrote:

> On Mon, Jan 01, 2007 at 04:14:12PM +0100, Michael Schwendt wrote:
> > > -#Conflicts: openmotif-devel
> > > +# Conflicts with openmotif found in older fedora releases
> > > +Conflicts: openmotif-devel <=  2.3.0-0.2.1
> > 
> > Now you're back at Aug 31 2006, bug 208380. Old releases of Fedora Core
> 
> No, because the conflict is now versionned, with the version corresponding
> to the latest openmotif shipped in fedora. So now it is possible to 
> package newer openmotif-devel versions non conflicting with lesstif-devel,
> and there is abetter erroring for those who try to upgrade from older 
> FC releases and have openmotif-devel installed. It is still bad, though, 
> see below.

I mean you now have a wrong, highly questionable, explicit Conflict in
your package *again*.

Explicit *non-versioned* Conflicts are worse. No doubt about that.

Strictly speaking, the explicit conflict with openmotif-devel is bad in
general.  Why? Because first of all, what has happened at Fedora is that
we've replaced OpenMotif with Lesstif. And hence we need a mechanism to
get rid of the obsolete packages in user's installation, which have been
dropped from the distribution and which are not updated anymore. Even if
the main "openmotif" package does not conflict with the main "lesstif"
package, it remains installed, is available to dlopen and other forms of
linking. Lesstif ships the same SONAMEs, just with lower versions. The
*.so symlinks in the -devel package may point to the wrong package when
lesstif, openmotif and old openmotif-devel are installed. Worse than that,
an upgrade blocks lesstif-devel from replacing openmotif-devel. This is
not just inconvenient, it is ugly. It makes users, who perform an upgrade,
think "WTF?". Conflicts are *bad*.

> > come with openmotif. Installs of FC <= 5 have openmotif installed.
> > Lesstif is an API-compatible replacement for Motif. Packages are rebuilt
> > against lesstif. An explicit conflict will break an upgrade, since lesstif
> > cannot be installed. You really want proper "Obsoletes" tags [and no
> > "Provides"].
> 
> It will only break if lesstif-devel is installed.

Bad enough.

> lesstif and openmotif 
> packages do not conflict. I would like to avoid having lesstif-devel obsolete
> openmotif-devel, since it is not true,

It *is* true. In the Fedora distribution, lesstif-devel replaces
openmotif-devel. Source-compatible, API-compatible, dependencies built
against Lesstif, ...

> and I don't want to play bad with
> third party repo packaging newer openmotif versions. Maybe a versioned 
> obsolete would be less problematic, but even that is dubious.

> If somebody has openmotif-devel installed and also a package depending on 
> lesstif-devel there's trouble for upgrade path. Hrm. Maybe a versioned 
> Obsolete, like
> 
> Obsoletes: openmotif-devel <=  2.3.0-0.2.1
> 
> I really dislikes that, 

Incomplete. Ought to be:

  Obsoletes: openmotif <= 2.3.0-0.2.1
  Obsoletes: openmotif-devel <=  2.3.0-0.2.1

I like it, FWIW. ;-)

> but there may not be another solution.

Huhu, FESCO! :-D




More information about the fedora-extras-list mailing list