Re: Wow.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 07, 2008 at 08:38:43PM -0700, john wendel wrote:
> Kevin Kofler wrote:
>>
>> If packages A and B both depend on library L and if Rawhide has a newer 
>> version of L with a different soname major version (the number which 
>> indicates which versions of a library are binary-compatible with each 
>> other), 
>
> Isn't it possible to have multiple versions of a library installed? This  
>  would let you install A and L.new and keep B and L.old, and everything  
> should be fine. Or am I just confused? Is this a limitation of RPM or  
> just a problem with the way things get packaged?
>
It's more like policy than a problem. Libraries have two interfaces of
interest, their API (Application Programming Interface) and their ABI
(Application Binary Interface). In a nutshell the API is a source code
interface, the ABI a binary. Often a package will be updated in a way
that changes it's ABI, meaning that thing built against it won't work
any more, but without changing the API. In that case the broken apps can
be fixed simply by rebuilding them against the newer version of the
library. That's easily done, so it's not worth carrying multiple
versions of the library. 

Sometimes the API changes, and applications need source changes to work
with the new version, sometimes they're minor source changes, and
sometimes it's a major upheaval. In that case it may be worth carrying
two versions of the library; for example Fedora has gtk+ and gtk2+.

The best way of pulling in something like a newer Subversion from
rawhide onto an F9 system is generally to ignore the binary RPM and grab
the src.rpm source code package and rebuild it against the libraries on
the target distribution. That often works straight off, sometimes needs
a bit of work.

Ewan

Attachment: pgpSULo6ydG8D.pgp
Description: PGP signature

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux