Dne 11.9.2015 v 15:21 Neal Gompa napsal(a):
On Fri, Sep 11, 2015 at 9:03 AM, Zdenek Kabelac <zkabe...@redhat.com
<mailto:zkabe...@redhat.com>>wrote:

    Dne 11.9.2015 v 14:46 Germano Massullo napsal(a):

        I have read the whole discussion and I would like to share my opinion,
        even if I think it could be a bit off-topic.
        Given that Fedora community alone, cannot educate every upstream
        developer about unbundling, and considering that it is a problem that
        interests all main Linux distributions: I think that Fedora community
        could (and should) propose to other Linux distribution communities to
        make a general effort to kindly ask upstream devs to reconsider their
        work, enforcing unbundling.
        This will take years, but I think it is a way we should cover.


    How Fedora wants to educate 'upstream' when it rather fails on many levels
    when we talk about library handling.

    Fault #1

    Fedora badly supports multiple libraries of different version - i.e.
    typically full rebuild of whole repo is made when new library is
    introduced - which is typically quite bad idea (and this is not just
    because of simple version change requires reload of many GB of packages)
    (I've already complained that usage of rawhide & rpmfusion is getting silly)



    Fault #2

    Version of libraries is wrongly handled on packaging level as well as on
    build level and many library packages are not correctly versioned - so if
    someone believe there is some use of  libname.so.major.minor.patch - for
    RPM it's mostly useless and if symbols are not properly version inside
    library, dependency will simply not work -  and just adding 'constant'
    version string to every symbol inside library will not make this work

    Zdenek


​I get the feeling this is related to Fedora not aggressively using versioned
package names for libraries, or at least enabling some kind parallel
installing capability. SUSE used to follow a policy similar to our current
one, but switched due to the insanity and impracticality. Mageia also uses a
policy almost identical to SUSE's.

For an example, here's SUSE's policy:
https://en.opensuse.org/openSUSE:Shared_library_packaging_policy​

​I've been meaning to ask about why we don't do this for a while now, but it
seems like now is a good of a time as any...​


I found the idea of making packages purely dependent on versioned symbols as not so ideal plan either - as this way you will not be able handle any new flags supported by libraries which uses still same symbols - UNLESS you expected developer to be 'versioning'-fanatic - to maintain versioning of symbols at low-level and update 'version' for every tiny upgrade he does for a symbol - how many packages does that ?? (i.e. your existing API function will handle new 'enum flag' - change its version string)

So while 'versioned' symbols do have some logic - it still should not be forgotten that RPM should rather put in package dependency on the library being at least as good as the one used for compilation. Depending purely on provided 'symbols' is not exactly what one would expect....

Zdenek


--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Reply via email to