From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([69.77.167.62] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from <gentoo-dev+bounces-31786-garchives=archives.gentoo.org@lists.gentoo.org>) id 1KDVGH-0000jF-EF for garchives@archives.gentoo.org; Tue, 01 Jul 2008 02:06:29 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 94DDEE03FC; Tue, 1 Jul 2008 02:06:27 +0000 (UTC) Received: from smtp-out.neti.ee (smtp-out.neti.ee [194.126.126.35]) by pigeon.gentoo.org (Postfix) with ESMTP id 4F4EDE03FC for <gentoo-dev@lists.gentoo.org>; Tue, 1 Jul 2008 02:06:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by MXR-13.estpak.ee (Postfix) with ESMTP id 11E8926ACB for <gentoo-dev@lists.gentoo.org>; Tue, 1 Jul 2008 05:06:26 +0300 (EEST) X-Virus-Scanned: amavisd-new at !change-mydomain-variable!.example.com Received: from smtp-out.neti.ee ([127.0.0.1]) by localhost (MXR-1.estpak.ee [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0hJUAdMtmAek for <gentoo-dev@lists.gentoo.org>; Tue, 1 Jul 2008 05:06:23 +0300 (EEST) Received: from Relayhost3.neti.ee (relayhost3.estpak.ee [88.196.174.169]) by MXR-13.estpak.ee (Postfix) with ESMTP id DF43B26AA9 for <gentoo-dev@lists.gentoo.org>; Tue, 1 Jul 2008 05:06:22 +0300 (EEST) Subject: [gentoo-dev] RFC: Installation of static libraries, USE=static-libs proposal From: Mart Raudsepp <leio@gentoo.org> To: gentoo devs <gentoo-dev@lists.gentoo.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-tHrDThokyjIinz5vRMHk" Date: Tue, 01 Jul 2008 05:05:51 +0300 Message-Id: <1214877951.29224.54.camel@localhost> Precedence: bulk List-Post: <mailto:gentoo-dev@lists.gentoo.org> List-Help: <mailto:gentoo-dev+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org> X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 X-Mailer: Evolution 2.22.0 X-Archives-Salt: d4eeeab8-c9cd-4992-8de6-4f4ffd2f6810 X-Archives-Hash: 1f8c66a51e033250a7aaf416a09da3f3 --=-tHrDThokyjIinz5vRMHk Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello again, Over a year or two ago, it was communicated that it supposedly a policy that USE=3Dstatic should only control if a package installs static libraries INSTEAD of shared libraries, and never to be used to control if static libraries are installed in _addition_ to shared ones or not. Packages were coerced to stop using USE=3Dstatic for controlling that, and most of them ended up unconditionally installing both static and shared libraries. What's worse - they were told that if a package can provide both shared libraries and static libraries at once, it just MUST (or SHOULD) install them both instead of choosing to not ship the static libraries. End result that affects me: GNOME does not fit on LiveCD installation media anymore. So I'm proposing a USE=3Dstatic-libs or similar to get out of this problem, and a lifting of the supposed (I wasn't around as a dev that long ago to know for sure) policy of having to install both instead of choosing to never install static libraries. I am quite sure that absolutely nothing whatsoever uses about 97% of the static GNOME libraries we are now installing as an end result. How can I be sure? Because everything worked just fine when static libraries weren't installed in the past thanks to that not happening from USE=3Dstatic missing on most systems for years, and you'd have to be quite crazy if you required static version of desktop libraries with well established and followed ABI guarantees. Those that aren't absolutely sure that there is no use case for static libraries, could then use a USE=3Dstatic-libs or similar to not unnecessarily install static libraries that are not going to ever be used. And LiveCD media could avoid all these static libraries, that it currently has to ship just because the packages by default install that cruft for no real technical reason (and it has to follow that due to GRPs). I would use USE=3Dstatic-libs on packages like gtkmm, that have good reasons to provide a static version - it allows Gentoo users that would like to do commercial or universal C++ based development against Gentoo system packages, as it avoids feared libstdc++ ABI breaks (there's even a request for it in bugzilla). There are packages in the tree that are required to install static libraries, or something else in the system breaks. So INSTALL_MASK=3D*.a is not a solution in my eyes. Useful comments, thoughts, agreements? I have had some additional ideas for handling static libraries better at a package manager level, but those still need to be fleshed out and put into writing. Things like possibility to rebuild all packages that link to a static library that was now upgraded, so the higher level package could use a relinking to benefit from the bug fixes from the new library; optional ability to install only the type of library currently needed - shared or static, etc. Much of it goes to blue-sky ideas though with minimal benefit for normal desktop/server systems and potentially high maintenance effort, so I haven't put much effort into putting it into writing. But maybe someone interested wants to chat on IRC on the topic. --=20 Mart Raudsepp Gentoo Developer Mail: leio@gentoo.org Weblog: http://planet.gentoo.org/developers/leio --=-tHrDThokyjIinz5vRMHk Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.8 (GNU/Linux) iEYEABECAAYFAkhpkP8ACgkQkeYb6olFHJfK/gCdGcrJj9hpmPO0yU7M/oPLEno1 /aoAnR2pDLYVfOCjJGy0qeqn0lQNZXHS =YKGm -----END PGP SIGNATURE----- --=-tHrDThokyjIinz5vRMHk-- -- gentoo-dev@lists.gentoo.org mailing list