On Thu, Aug 18, 2005 at 11:37:05AM -0400, Chris Gianelloni wrote: > Other distributions are also binary-only, so there's no real comparison > here. While I think having "client" and "server" type USE-flags is > really a bad idea, I don't see a problem with providing a library. > > I 100% disagree with splitting the package into client and server, but > don't think it would be bad to have it like this: > > net-libs/libmysqlclient > dev-db/mysql > > You'll notice that there is no server package. The dev-db mysql package > should be the entire distribution. Splitting out a separate library for > client-only shouldn't be too bad, but I still disagree with it, for the > most part. Splitting it out is just as bad as breaking it into server/client chunks from the added QA and maintenance standpoint, thing is, in this case splitting out the lib *is* breaking it up into subpackages, so it's no better :)
Best solution in my opinon? Two use flags address this, client, and server. Regardless of the setting of the two, you get the library; from there, you just set client and server as defaulting to on, and packages use dep on whatever chunk of it they need (quite likely no use dep in this case, since they probably only need the lib). Better tweak to it is not the usual use.defaults addition, but specifying the default state of the USE flag in IUSE, as proposed by spanky/others. Kind of curious about people's opinion on the IUSE default use flag thing, initial syntax was (using the above example) IUSE="+client server" with client defaulting to on unless the user's config disables it- note, strictly enabling from IUSE, no auto-negation. I forgot to add this, but it's a 10 line change if people still view it as worthwhile. ~harring
pgp2ePYxRLr1q.pgp
Description: PGP signature