Re: F29 System Wide Change: Remove Excessive Linking

2019-02-17 Thread Igor Gnatenko
In case if anybody is interested, after mass rebuild we've dropped roughly 27709 dependencies on libraries in RPM metadata which means that size of primary.xml has decreased by 1.3M which would be something like 100K in gzip archive.. Which is not very much, but it was never primary goal and still

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-04 Thread Andrew Lutomirski
> On Aug 2, 2018, at 2:57 AM, Jakub Jelinek wrote: > >> On Thu, Aug 02, 2018 at 11:45:00AM +0200, Dominique Martinet wrote: >> Wearing a lib developer hat, I don't see how you can make a .pc that >> doesn't overlink if you provide something a bit entangled with other >> libs. >> The problem is tha

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-04 Thread Neal Gompa
On Sat, Aug 4, 2018 at 12:53 PM wrote: > > On Thu, Aug 2, 2018 at 4:57 AM, Jakub Jelinek wrote: > > Changing the behavior of say -lpthread on the command line is a bad > > idea, > > many projects really expect it to mean that the mentioned library is > > linked > > in and if it no longer does, it

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-04 Thread mcatanzaro
On Thu, Aug 2, 2018 at 4:57 AM, Jakub Jelinek wrote: Changing the behavior of say -lpthread on the command line is a bad idea, many projects really expect it to mean that the mentioned library is linked in and if it no longer does, it causes silent breakage. Forcing users to do -Wl,--push-st

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-02 Thread Dominique Martinet
Rex Dieter wrote on Thu, Aug 02, 2018 at 10:14:13AM -0500: > Dominique Martinet wrote: > > In practice, `pkg-config --cflags foo` will only fetch cflags for > > dependencies listed in Requires, not Requires.private > > pkg-config --cflags foo > fetches cflags of Requires.private items in foo.pc fo

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-02 Thread Igor Gnatenko
The real problem here is when you have complex frameworks like gtk. pkg-config basically will link you against gdk, gdk-pixbuf, gtk and a lot of other stuff. But in practice, not every application need to link against all of them. On Thu, Aug 2, 2018 at 6:11 PM Rex Dieter wrote: > Dominique Mar

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-02 Thread Rex Dieter
Dominique Martinet wrote: > In practice, `pkg-config --cflags foo` will only fetch cflags for > dependencies listed in Requires, not Requires.private pkg-config --cflags foo fetches cflags of Requires.private items in foo.pc for me. I've patched many packages to use that feature, and haven't not

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-02 Thread Dominique Martinet
Rex Dieter wrote on Thu, Aug 02, 2018 at 08:37:34AM -0500: > > Wearing a lib developer hat, I don't see how you can make a .pc that > > doesn't overlink if you provide something a bit entangled with other > > libs. > > The problem is that if your headers use any sub-lib type you need to add > > tha

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-02 Thread Rex Dieter
Dominique Martinet wrote: > Karel Zak wrote on Wed, Aug 01, 2018 at 01:17:29PM +0200: >> Well, --as-needed is workaround and nothing else. The real problem is >> mess in makefiles and .pc (pkg-config) files. >> >> It would be better to use --as-needed for testing purpose only, and >> ask maintain

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-02 Thread Jakub Jelinek
On Thu, Aug 02, 2018 at 11:45:00AM +0200, Dominique Martinet wrote: > Wearing a lib developer hat, I don't see how you can make a .pc that > doesn't overlink if you provide something a bit entangled with other > libs. > The problem is that if your headers use any sub-lib type you need to add > that

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-02 Thread Dominique Martinet
Karel Zak wrote on Wed, Aug 01, 2018 at 01:17:29PM +0200: > Well, --as-needed is workaround and nothing else. The real problem is > mess in makefiles and .pc (pkg-config) files. > > It would be better to use --as-needed for testing purpose only, and > ask maintainers why the result with --as-nee

Re: F29 System Wide Change: Remove Excessive Linking

2018-08-01 Thread Karel Zak
On Tue, Jul 03, 2018 at 10:21:42AM +0200, Jan Kurik wrote: > Note from Change Wrangler: This Change Proposal requires mass rebuild. > However, two weeks ago (June 19th), we have already passed the > deadline for Change proposals requiring mass rebuild. I will leave the > decision whether this Chang

Re: F29 System Wide Change: Remove Excessive Linking

2018-07-07 Thread Jakub Jelinek
On Tue, Jul 03, 2018 at 10:21:42AM +0200, Jan Kurik wrote: > * Other developers: > Nothing should break, but immediate work-around would be to disable > this flag (will be provided in redhat-rpm-config) and fix real issue > later. That is not true, this option is quite dangerous and breaks a lot o

Re: F29 System Wide Change: Remove Excessive Linking

2018-07-07 Thread Igor Gnatenko
On Sat, Jul 7, 2018 at 11:27 AM Matthew Miller wrote: > On Tue, Jul 03, 2018 at 10:21:42AM +0200, Jan Kurik wrote: > > The use of the "--as-needed" flag allows the linker to avoid linking > > extra libraries in a binary. This not only improves startup times (as > > the loader does not have to loa

Re: F29 System Wide Change: Remove Excessive Linking

2018-07-07 Thread Neal Gompa
On Sat, Jul 7, 2018 at 5:18 AM Matthew Miller wrote: > > On Tue, Jul 03, 2018 at 10:21:42AM +0200, Jan Kurik wrote: > > The use of the "--as-needed" flag allows the linker to avoid linking > > extra libraries in a binary. This not only improves startup times (as > > the loader does not have to loa

Re: F29 System Wide Change: Remove Excessive Linking

2018-07-07 Thread Matthew Miller
On Tue, Jul 03, 2018 at 10:21:42AM +0200, Jan Kurik wrote: > The use of the "--as-needed" flag allows the linker to avoid linking > extra libraries in a binary. This not only improves startup times (as > the loader does not have to load all the libraries for every step) but > might avoid the full i

Re: F29 System Wide Change: Remove Excessive Linking

2018-07-06 Thread Stephen Gallagher
On Tue, Jul 3, 2018 at 4:23 AM Jan Kurik wrote: > Note from Change Wrangler: This Change Proposal requires mass rebuild. > However, two weeks ago (June 19th), we have already passed the > deadline for Change proposals requiring mass rebuild. I will leave the > decision whether this Change proposa

F29 System Wide Change: Remove Excessive Linking

2018-07-03 Thread Jan Kurik
Note from Change Wrangler: This Change Proposal requires mass rebuild. However, two weeks ago (June 19th), we have already passed the deadline for Change proposals requiring mass rebuild. I will leave the decision whether this Change proposal is accepted or not to RelEng and FESCo teams. = Propose