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/