Re: Proposal: Reduce *-devel packages dependencies on other unneeded *-devel packages

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

 



On Sat, Aug 11, 2018 at 10:01 PM Robert Marcano <robert@xxxxxxxxxxxxxxxxx> wrote:
Greetings.

Hello,
 
Current *-devel packages tend to pull a lot of dependencies, probably to
make developers life easier, but I think some of them are not needed.

For example, someone developing against krb5-devel for a GSSAPI client,
probably doesn't need openssl-devel installed, that they are linking
against Kerberos doesn't means they use the same crypto library
directly, they could use nss for example.

⋊> ~ rpm -qR krb5-devel | grep openssl | wc -l                                                                                      16:47:02
0

Do you have better example?

This is somewhat related to the remove excessive linking change [1]. We
could help developers detect they are over linking by not installing
unnecessary *-devel dependencies. So in summary, the proposal is to
reduce inter *-devel packages dependencies, and only add them when one
module exports symbols, data structures or other stuff that make linking
against the other library necessary.

Auto-generated pkgconfig() dependencies take Requires.private into account which adds quite some dependencies which are needed only when you are using pkg-config --static, but if you don't ship static library - it is just useless.

In order to solve this problem, we need to change dependency generator to produce something like:
Provides: pkgconfig(foo)
Requires: (pkgconfig(foo) if pkgconfig-static(foo))

And ask packagers to manually put Provides: pkgconfig-static(foo) into their -static subpackages.

Does above sound reasonable?

Note: this all started with bug 1613852 [2], where nodejs-devel is
pulling compat-openssl10-devel and my NodeJS development needs don't
require to link to OpenSSL (the native module being built doesn't do
crypto), but for others projects I really need openssl-devel (not
compat*) and both, openssl-devel and compat-openssl10-devel conflicts


[1] https://fedoraproject.org/wiki/Changes/RemoveExcessiveLinking
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1613852
 
--

-Igor Gnatenko

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/KCFXB2GD3PGY6M6MADOXKUNPNWXASDRY/

[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