On Wed, Sep 08, 2010 at 09:23:49AM +0200, Tomasz Pala wrote: > On Tue, Sep 07, 2010 at 19:55:25 +0200, Jakub Bogusz wrote: > > >> %files static > >> %defattr(644,root,root,755) > >> %{_libdir}/libcairo.a > >> +%{_libdir}/libcairo-gobject.a > >> +%{_libdir}/libcairo-gobject.la > > > > Too baaad... this causes that *.la of libs/modules using > > libcairo-gobject would have different dependencies (-lcairo-gobject or > > libcairo-gobject.la) depending on presence of cairo-static. > > All those .la files should be moved to their -static as well. As for > generated dependencies builders don't have *-static installed, so > pkgconfig would be used and in resoult -lcairo-gobject should be put. > > Or maybe building *-static _should_ require -static and not only -devel?
Presence of *.a doesn't serve anything for -static building (just occuping disk space and hiding some errors in package configure scripts/makefiles). > > Either move this .la to -devel, or remove at all. > > Regular .la are part of _static_ building, so there's no place in -devel > for them. It only causes troubles. Well, unfortunately libtool didn't change its mind and uses dependency_libs during shared linking too. Maybe this is the only thing that should be changed... > There was a discussion (well, not too many of 'discussion' were there) > recently, please read this and continue there. Also: > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=581352 > > In short: instead removing I've suggested repackaging into *-static, > just because in contrary to other distros we support this kind of build. > Without .la files there we might remove all the *-static too, as in > general they would be useless. Packaging *.la in -static has several faults: - content of new .la file depends on presence of *.la files from dependent libraries, so the rule on their precence on builders must be strict. - we can't forbid installing _any_ static library on builders - in some rare cases they are used. - we don't want to install all *-static on builders from the reasons mentioned above. Plus: keeping all *-static containing *.la files on builders is in no way better than preevailing situation: *.la files are still "poisoned" by obsolete libraries (and thus rebuilding would be still required in case of transition like libpng12 -> libpng14 or dropping some dependency), and they affect on shared library building (-as-needed still needs to be enforced). -- Jakub Bogusz http://qboosh.pl/ _______________________________________________ pld-devel-en mailing list pld-devel-en@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-en