On 2023-01-29 00:00, Zbigniew Jędrzejewski-Szmek wrote:
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.
OK, it sounds like something worth doing.


OK.  For discussion, I opened https://github.com/rpm-software-management/rpm/pull/2372

I tested it by rebuilding libsoup3 in a mock build root that included a version of rpm with (basically) that patch, and then installing the resulting package.  It looks like it functions correctly, so this seems like a sensible place to start.

$ podman run --rm -it fedora:37
[root@ae5c590fa03a /]# rpm -qp --requires /var/tmp/libsoup3-3.2.2-3.fc37.x86_64.rpm
(libnghttp2.so.14()(64bit) with libnghttp2 >= 1.51.0)
...
[root@ae5c590fa03a /]# dnf install /var/tmp/libsoup3-3.2.2-3.fc37.x86_64.rpm
Dependencies resolved.
===================================================================================================================================================================================================================
 Package Architecture Version Repository                                      Size
===================================================================================================================================================================================================================
Installing:
 libsoup3 x86_64 3.2.2-3.fc37 @commandline                                   373 k
Upgrading:
 libnghttp2 x86_64 1.51.0-1.fc37 updates                                         74 k
...
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to