Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 12499 - increasing flexibility with two new USE flags: "server" and "client"
Summary: increasing flexibility with two new USE flags: "server" and "client"
Status: RESOLVED LATER
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 22219 24212 30157 40465 46485 81565 88891 98063 (view as bug list)
Depends on:
Blocks: 33752 33791 55073
  Show dependency tree
 
Reported: 2002-12-20 18:10 UTC by Maurizio Disimino
Modified: 2006-11-05 00:59 UTC (History)
19 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maurizio Disimino 2002-12-20 18:10:54 UTC
Well, I know this has already been brought up on -core by seemant ...
... anyway, here's what I'd like to see in the near(?) future (especially when 
portage will handle "sticky" USE) :

In the portage tree, in a per client/server basis, we already have packets 
"splitted" (such as bind (server) and bind-tools
(clients), or that needs to be splitted (of course, that's not a complete list 
yet):

- gkrellm2
- netkit-*
- openssh
- tightvnc

Wouldn't be easier and more convenient if we had a "server" and 
a "client" USE flag ?
Example:
1) `USE="client" emerge bind' would install the clients (the query tools), 
i.e. dig,bind,nslookup
2) `USE="server" emerge bind' would install the server part (init scripts, the 
named executable, configs, etc)
3) `USE="server client" emerge bind' would install both server and client stuff.
4) If nor "client" neither "server" is defined both server and client stuff will
 be installed.

Doesn't all this sound cool? That way we would:

- offer a dramatically increased flexibility. (i.e. you will be able to install 
*exactly* what you need)
- reduce the number of ebuilds (to avoid contributing to increase the stuff to 
rsync)

Please lemme know what you guys thinks about that.

- maurizio
Comment 1 Thomas Raschbacher gentoo-dev 2002-12-21 09:58:18 UTC
sounds nice to me :)
definitely wort a though . ;)
Comment 2 Marius Mauch (RETIRED) gentoo-dev 2003-05-09 04:03:06 UTC
Just my thought, I'll check this with the ebuild review thread on the forums (they are reviewing ebuilds for better USE flag support).
Comment 3 Seemant Kulleen (RETIRED) gentoo-dev 2003-06-07 21:55:29 UTC
I think it would be ok, if we added a non-default USE flag called "expert"

I'm planning on adding an "expert" like USE flag to xfree ebuilds soon, so maybe that can be extended from local to global.  That way, if "expert" is not set, then you get both server and client.

Specifically:

"-expert server -client" builds server and client
"expert server client" also builds server and client
"expert server -client" server only
"expert -server client" client only

Thoughts?
Comment 4 Marius Mauch (RETIRED) gentoo-dev 2003-06-21 00:12:11 UTC
I don't think that a client USE flag is necessary and it would be difficult to implement as many packages have switches to disable server support but not client support. Also it would dependency checking difficult as packages might depend on client-libraries and -tools but unlikely depend on server binaries.
Comment 5 squeeze 2003-08-06 18:03:59 UTC
Ok my thoughts... (after reading http://bugs.gentoo.org/show_bug.cgi?id=22219) 
 
I don't think that server/client should be set in the USE flag. The ebuilds will be very 
complicated. There *will* be different dependencies for the client and the server. The 
server might be masked but the client might work. A concrete example is subversion. 
The client could be created but not the server (needed apache2) but there was only 
one ebuild so the package was masked (~x86) and can't make it into a stable gentoo 
installation. I think it is easier to see that there is a client and a server implementation 
of an application if the packages are splitted, that is the only thing I really like with 
RedHat packages. Another thing is that it is very common to have a 'common' 
package when splitting a package. Example (just a theory): 
 
openssh is three packages, openssh-common, openssh-client, openssh-server. 
where common might install libs etc, client the client part (ssh and sftp) and server 
the server part (sshd). If I don't want a ssh-server I don't need to compile it. 
 
This will be to complicated for the developer of the ebuild to put in one ebuild and for 
the user to KNOW about this feature for every 'split' package. 
 
The USE flag gives me the power to add/remove gtk, qt, X, perl etc feature to 
application, but if I develop a database application I can't install the mysql lib, and only 
the lib! All I want to do is "%>  emerge mysql-devel" and it will pull in the 
mysql-common also. If I later decide to install mysql-server I don't need to compile the 
client  and maybe some other parts depending on the build system. USE="client" 
would not helped me here, I wanted the devel package :) 
 
Well, maybe I'm just too borred of having to compile to much stuff all the time... :) 
 
Comment 6 Marius Mauch (RETIRED) gentoo-dev 2003-09-21 10:32:27 UTC
*** Bug 22219 has been marked as a duplicate of this bug. ***
Comment 7 Marius Mauch (RETIRED) gentoo-dev 2003-09-29 00:57:34 UTC
*** Bug 24212 has been marked as a duplicate of this bug. ***
Comment 8 SpanKY gentoo-dev 2003-10-02 06:28:01 UTC
*** Bug 30157 has been marked as a duplicate of this bug. ***
Comment 9 mathias stearn 2003-11-04 19:18:02 UTC
Mabey there could be a more advanced DEPEND system that could parse some
files from /var/db/pkg/. If it need to recompile or emrege a new package,
it could add server to the USE flag.This would need per-package USE flags.
It would then get a different color in emerge -pv <pkg-name>. Perhaps even
have a feature flag that will propm the user at the begining of the build,
if it is adding a USE flag.
Comment 10 Martin Schlemmer (RETIRED) gentoo-dev 2003-11-06 12:49:11 UTC
I do not see splitting packages up as very productive (ie, there are more
important things to do, and it will require a lot of hacking to not have
duplicate compiles).  This is for source at least.

For binary packages, it might be more possible if portage support a .server.tbz2
and .client.tbz2, as to just specify say two variables that have files specifically
just server/client will be easier, and during building packages you usually
do it for many boxen, so having both binary packages is not an issue.

It will also however increase amount of maintainence needed, something that
always loose out (IMHO) if it do not improve stability, but rather have an
chance of undermining it.
Comment 11 Martin Schlemmer (RETIRED) gentoo-dev 2003-11-06 12:50:44 UTC
Also maybe a not on the 'more advance DEPEND system' - _more_advance_ usually
means _take_a_lot_longer_ for something like portage's DEPEND system.
Comment 12 Martin Schlemmer (RETIRED) gentoo-dev 2003-11-06 12:51:23 UTC
Make that:

Also maybe a *note* on the 'more advance DEPEND system' - _more_advance_
usually
means _take_a_lot_longer_ for something like portage's DEPEND system.
Comment 13 SpanKY gentoo-dev 2004-02-05 19:49:41 UTC
*** Bug 40465 has been marked as a duplicate of this bug. ***
Comment 14 SpanKY gentoo-dev 2004-04-02 20:21:42 UTC
*** Bug 46485 has been marked as a duplicate of this bug. ***
Comment 15 Benjamin Judas (RETIRED) gentoo-dev 2004-08-25 01:00:42 UTC
I know this is one of the most favourite topics discussed - what's the status of this actually?
Comment 16 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-02-13 17:21:04 UTC
*** Bug 81565 has been marked as a duplicate of this bug. ***
Comment 17 SpanKY gentoo-dev 2005-04-13 06:10:56 UTC
*** Bug 88891 has been marked as a duplicate of this bug. ***
Comment 18 Jakub Moc (RETIRED) gentoo-dev 2005-07-05 16:14:23 UTC
*** Bug 98063 has been marked as a duplicate of this bug. ***
Comment 19 SpanKY gentoo-dev 2006-11-05 00:59:58 UTC
nothing to be done at this point