FC3 -> FC4 Upgrade? (was Re: reducing distribution CD count)

Sean Middleditch elanthis at awesomeplay.com
Fri Feb 25 15:05:00 UTC 2005

On Fri, 2005-02-25 at 08:53 -0600, Chris Adams wrote:
>Once upon a time, David Woodhouse <dwmw2 at infradead.org> said:
>> If it's built against
>> versions of shared libraries which are no longer present, then I believe
>> the installer will have removed the old version of those libraries and
>> will have left the package in question broken.
>Do you have evidence to back that up?  Does anaconda somehow disable the
>normal dependency checking?  Normally, rpm would refuse to remove a
>library that is still required by another installed RPM.
>I can see that you would be unable to upgrade if:
>- existing RPM xyzzy required libfoo.so.1
>- existing RPM libfoo-1.0 provides libfoo.so.1
>- RPM xyzzy was moved from Core to Extras (so unavailable for FC4 install)
>- new RPM libfoo-2.0 provides libfoo.so.2
>- new RPM system-config-bar requires libfoo.so.2 and is in the default install

Unfortunately, most library packages in Fedora aren't packaged nearly so
intelligently.  Worse, many library packages aren't even split from
applications (curl utility vs libcurl, for example - both come in a
single package) so all sorts of unfortunate situations arise when you
use a package not in Core (or Extras, once that's fully integrated) that
depends on a library that gets upgraded in the next release.  And,
unfortunately, real people generally do need or want a package or three
not supplied by Fedora, so these issues pop up regularly.

Every bug I've filed pointing out the problem caused by poorly packaged
libraries gets closed with a message that's the equivalent of, "This
isn't worth our time, you must eat babies if you use packages outside of
Core, and there's no real advantage at all to not breaking stuff, so go

Kind of frustrating, to say the least...

>If there isn't a compat-libfoo that provides libfoo.so.1, you would be
>stuck.  The question is: what would anaconda do in that case?  Would it

Or what happens in FC+2 where compat-libfoo doesn't provide libfoo.so.1
anymore, but now only provides libfoo.so.2?  The entire compat-* is so
incredibly brain damaged and poorly conceived that I am honestly shocked
it's actually lived this long.  If you're going to have multiple
packages provide multiple versions of a library, name the package
according to the version it supplies, so you can actually have *many*
versions of a library installed (if you need it) without needing to do
manual rpm -i foo-hackery that tends to break all sorts of useful things
(like upgrades).

>abort installation because dependencies cannot be satisfied, or would it
>attempt to upgrade anyway (and break either RPM xyzzy or RPM
>Chris Adams <cmadams at hiwaay.net>
>Systems and Network Administrator - HiWAAY Internet Services
>I don't speak for anybody but myself - that's enough trouble.
Sean Middleditch <elanthis at awesomeplay.com>

More information about the fedora-devel-list mailing list