On 08/12/2018 10:50 AM, Igor Gnatenko wrote:
On Sat, Aug 11, 2018 at 10:01 PM Robert Marcano
<robert@xxxxxxxxxxxxxxxxx <mailto: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
This is weird, before I forced with --nodeps I got this, after a "dnf
remove openssl-devel" (thanks dnf.log for logging even not accepted
transactions), any ideas why? DNF bug?
==========================================================================================================================================================================================
Package Arch Version Repository Size
==========================================================================================================================================================================================
Removing:
openssl-devel x86_64 1:1.1.0h-3.fc28 @fedora 2.9 M
Removing dependent packages:
krb5-devel x86_64 1.16.1-13.fc28 @updates 1.0 M
nodejs-devel x86_64 1:8.11.3-1.fc28 @updates 31 M
Removing unused dependencies:
http-parser-devel x86_64 2.8.0-1.fc28 @fedora 18 k
keyutils-libs-devel x86_64 1.5.10-6.fc28 @fedora 33 k
libcom_err-devel x86_64 1.44.2-0.fc28 @updates 17 k
libselinux-devel x86_64 2.8-1.fc28 @updates 187 k
libsepol-devel x86_64 2.8-1.fc28 @updates 127 k
libuv-devel x86_64 1:1.22.0-1.fc28 @updates 90 k
libverto-devel x86_64 0.3.0-5.fc28 @fedora 26 k
nodejs-packaging noarch 17-1.fc28 @updates 27 k
pcre2-devel x86_64 10.31-8.fc28 @updates 1.8 M
pcre2-utf32 x86_64 10.31-8.fc28 @updates 550 k
zlib-devel x86_64 1.2.11-8.fc28 @updates 138 k
Transaction Summary
==========================================================================================================================================================================================
Remove 14 Packages
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/
_______________________________________________
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/JE6PZTKQLUYC4HB3SG4CHGY7DHZXTK2G/