From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8706 invoked by uid 1002); 4 Nov 2003 03:30:45 -0000 Mailing-List: contact gentoo-dev-help@gentoo.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@gentoo.org Received: (qmail 16498 invoked from network); 4 Nov 2003 03:30:44 -0000 Date: Tue, 04 Nov 2003 04:30:37 +0100 Message-ID: <87llqw3j4y.wl%mattam@altern.org> From: Matthieu Sozeau To: Gentoo Dev In-Reply-To: <20031104021815.53c40bd5.genone@gentoo.org> References: <20031104002017.71d91fc0.genone@gentoo.org> <20031104001715.GA10702@breccia.escarpment> <1067906575.26979.254.camel@cytherea.office.gossamer-threads.com> <20031104021815.53c40bd5.genone@gentoo.org> User-Agent: Wanderlust/2.11.18 (Wonderwall) Emacs/21.3 Mule/5.0 (SAKAKI) Organization: /home MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Subject: Re: [gentoo-dev] [IMPORTANT] server/client USE flags X-Archives-Salt: b3db652a-8006-4486-86e8-51b6c09ef4ae X-Archives-Hash: f5824622a2ee80d80fff8a5c69d75614 Hi all, At Tue, 4 Nov 2003 02:18:15 +0100, Marius Mauch wrote: > > [1 ] > On 11/03/03 Jason Rhinelander wrote: > > > On Mon, 2003-11-03 at 16:17, Donny Davies wrote: > > > Further, you are overloading the intended function of USE variables. > > > Instead of controlling optional build-time functionality, now you > > > are abusing them to control optional install-time bits. > > > > > > It is not natural to stop at "client" and "server" flags either. > > > What about "dev" for .a and .h things? This is really going down > > > the slipperly slope in my opinion. > > > > Not to mention the fact that you could easily want the MySQL server & > > client, but only the Samba client. Does this mean you'd have to have > > "mysqlserver", "sambaclient", "sambadoc", etc. USE flags? Or would > > you juggle around with your use flags for various packages, preventing > > you from being able to emerge -u world? This is actually a greater > > problem- per-package USE flags would be wonderfully USEful (pardon the > > pun) in many other situations. > > That's bug 13616, to be included in portage-2.0.50. > > > The only logical way I can see to do this is splitting everything up > > into multiple packages, i.e. mysql-server mysql-client, mysql-docs, > > samba-server, samba-client, samba-docs, etc. - and I really dislike > > that approach (I'm against the vim-core/vim/gvim split as well), for > > the reasons mentioned above (and the fact that "updating portage > > cache" after an emerge sync takes long enough as is without shattering > > packages 7 or 8 ways each). > > There are several reasons why I'm against package splits: > - redundant code: most times the ebuilds for the subpackages will be > very similar > - maintenance: if a new version is out you have to update n packages > instead of one, if there is a new bug you to fix it in all packages > - space overhead: the portage tree has about 80% filesystem overhead for > most people, coming from a lot of small files (digests, Manifests, > metadata.xml). Each new package makes this worse. > - slower portage: the more packages we have the slower portage will be. > One package won't do much, but a few hundred new packages can make a > noticable difference. I do not think server or client (or doc in some way) fits well in USE flags either, so i was thinking of another way to parametrize ebuilds. Why not add a new variable for ebuilds that could be set when you use a particular extra name. My idea is: in samba-*.ebuild: FLAVORS="client server" src_compile () { flavor client && ... } Then if you emerge samba you get all flavors, if samba-1.2#client then only client and common code etc... There would be virtually 3 packages but only one file, which could avoid much of the problems you mention. Just my 0.02 (euro) cents. -- Matthieu Sozeau www: http://mattam.ath.cx -- gentoo-dev@gentoo.org mailing list