Re: Proposal: dnf should offer to update all of the dependencies of any package installed or updated

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

 



On 2023-01-28 13:03, Zbigniew Jędrzejewski-Szmek wrote:
...or "(libfoo.so.2()(64bit) with foo-libs >= x.y.z)", where x.y.z is the
version of the package that provides libfoo.so.2 in the build root, which is
an idea that's growing on me.
This is indeed a shortcoming in the rpm symbol dependency generation scheme.
But there's a problem with the proposed approach: versioning as major.minor.micro
is just a convention, and not all upstream follow it.


The version doesn't have to be major.minor.micro, though.  The dependency generator only needs to get the version of the package that provides the .so, and use that version.  As long as changes within a so version are always backward compatible, and the so version is bumped when breaking changes are made (which are already constraints on the existing system), then the proposed solution is reliable.  It's sometimes too strict -- it might require 1.4.3 when 1.4.0 is compatible -- but it's reliable.


There is an alternative scheme that is supported by our rpm tooling already:
symbol versioning.


Yes, the enhanced rpm dependencies would only be necessary for libraries that don't provide versioned symbols (which seems to be the vast majority of them).

I don't think convincing hundreds or thousands of developers to add symbol versioning to their libraries is a viable solution. I'd love to see it happen, but rpm/dnf should be more reliable in the meantime.

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux