Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 13912 - compile mysql only as client
Summary: compile mysql only as client
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Donny Davies (RETIRED)
URL: http://www.mysql.com/documentation/my...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-14 08:23 UTC by Stephan Wentz
Modified: 2003-02-04 19:42 UTC (History)
1 user (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 Stephan Wentz 2003-01-14 08:23:05 UTC
mysql's configure-script has the option --without-server, i think this should be
made configurable through a make-variable...

i have several machines here that act only as client to another machine with the
mysql-server, and i have to compile the whole server on the client-machines to
get client-functionality...

or maybe create a new ebuild mysqlclient that builds only the client, either way!

bye, stephan
Comment 1 Donny Davies (RETIRED) gentoo-dev 2003-01-14 11:24:07 UTC
nope, not going to do this.

1) this is not the gentoo way
2) where do you draw the line?  you realize that several other packages
   can also do this (client + server component)
3) im not going to make an exception just for mysql
4) if you realy want this, then i suggest you start a crusade to do this
   to -ALL- packages in the portage tree that can support it.  And by
   this I mean you submit fixes and patches to make this happen, you do
   not just submit a bug report: "please enable client + server for ALL
   packages in the portage tree please"
5) you can alraedy do this yourself.

I suggest you edit your ebuild file.  And before you begin to complain,
I suggest you realize that the ebuilds are not meant to be not edited.
Do you really think nobody edits their ebuild files before merging them?

Lots of people customise their ebuilds to fit their own needs.  Since
this is so simple, why dont you just take the 20 seconds to edit
your own local ebuild file.

Regards.
Comment 2 SpanKY gentoo-dev 2003-01-17 20:23:44 UTC
plus, this functionality is coming (so that you dont have to edit every ebuild
for every upgrade ...)
Comment 3 Paul Slinski 2003-01-20 07:59:40 UTC
Currently I appreciate the availability of the ebuild for mysql -but- it is a
trivial task to make another ebuild file for client only is it not?

We used redhat here for a while and got used to not having to install mysql
server if we only needed libs or clients.

I would like to think that the 'Gentoo way' is not to bloat systems with
unneeded packages but instead provide best functionality. If my workstation only
needs the MySQL-libs then that's all I want.

IMHO comments like that tend to cause people to loose faith in the developers
that work on these projects.

Please consider changing your view on this issue.

-Paul
Comment 4 Stephan Wentz 2003-01-20 09:45:25 UTC
i'd be happy if someone told what exactly the gentoo way _is_... noone answered 
me on my personal reply! i really thought that the gentoo way is, like mentioned in 
the prior post, to have a system that fits perfectly to one's needs, but i guess i was 
wrong...  
and like i wrote in the personal mail i think that this could have been told in a far 
less aggressive mail... 
Comment 5 Donny Davies (RETIRED) gentoo-dev 2003-01-20 10:20:33 UTC
Ok I just lost 30mins worth of comments I wrote up about this.  That sucks and 
I dont feel like recreating them all again.

I'll give you the very short version now:

Are you even aware that subpackages in the RPM world are all defined from a 
single .spec file?  According to your solution, we should create additional
-EBUILDS- for client, server, dev-libs, docs, manpages, etc, etc.

Well, that solution, quite frankly, sucks.

BUT.  Your -end result- is noble.  Let me be perfectly clear about that.  I too 
would like to be able to get only the server portion, or only the client 
portion, etc, etc.  But not at the expense of bloating the entire portage tree.

What about postgresql?  What about SAMBA?  What about bind?  How many packages 
could take advantage of this?  Dozens?  Hundreds?  Thousands?  *Shudder*

Sorry pal, but I'm not going to bloat the portage tree with 4-5 ebuilds *per* 
package.  If you want bloat, then there you go, witness your proposed "trivial 
solution".  I imagine you wont be around to update the 5 MySQL ebuilds when a 
fix or new release is made, right?  But you'll find it awful convenient to send 
in a new "please update all 5 ebuilds, theres a new release".  Right?

Ok, so what do we do ...

Well, portage should get some added functionality.  A -single- ebuild file 
should be able to define subpackages for client, server, maybe docs, manpages, 
etc.  This is the -only- sane way to do this.  There used to be comments at the 
top of portage.py hinting to the proposed implementation strategy of 
subpackages.  I dont know if they're there anymore, why dont you go take a look.

I dont hack on portage, so I dont know the best way to implement it.

All I know is, once that functionality is in place, then -ALL- ebuilds in the 
portage tree could define the subpackages, and our developers wouldnt have to 
use your proposed nonsensical solution of creating/maintaining 5 separate 
ebuilds for -each- package that could take advantage.

I hope you're on my page now.  I'll definately write the subpackage definitions 
for MySQL, etc, ONCE portage is taught about them.  But to bloat the portage 
tree with 5 ebuilds for each package is completely nonsense.

Comment 6 Stephan Wentz 2003-01-20 10:29:55 UTC
ok, you're right. accepted. 
what you say is reasonable, and maybe there will be extra functionality for 
subpackages, and we're all happy. 
so please take my apologize! 
but please, when someone else who isn't writing ebuilds on his own, or hacking the 
portage tree, asks for something that he thinks is great, but in your eyes doesn't 
make sense, tell him that. don't be so angry about him, just because he doesn't 
know better. doesn't really help to get gentoo (or linux) spread by 
not-so-experienced users... 
Comment 7 Paul Slinski 2003-01-20 10:58:31 UTC
All valid points.

I've used the spec files to help with ebuilds locally, it's trivial. As far as
there being 100's of seperate ebuilds for libs/clients/servers etc. well, there
are only a couple I can really think of off-hand that are done that way namely
Samba and MySQL (both maintained by you?)

This is not a huge issue and I apologize if my comments were upsetting to you,
if this functionality is not an option because of the number of builds then I'll
just maintain my own ebuilds at this location for my systems (20+).

Thanks for your time and keep up the good work.
Comment 8 Donny Davies (RETIRED) gentoo-dev 2003-01-20 11:55:21 UTC
Sorry, but consider this:  I can almost -gaurantee- you that by the time 
subpackages are implemented on a portage level, I'll receive more requests for 
this very thing.  And then I'll have to explain it  a l l  o v e r  a g a i n.

Which is completely frustrating because I've been maintaining these packages 
for way more than a year now and have already danced to this tune several times 
before.  The most frustrating part for me, is getting a snotty request for this 
from somebody who thinks they're so smart, that to not implement their proposed 
idea must indicate me being a dickhead or just being stupid.

Well sorry, but as I say, I've been over this too many times and have all but 
given up hope that people will -think- before they use bugs.gentoo.org as 
either their own personal source for technical support, or a place to dump 
suggestions without hardly -any- thought into the greater picture of what's 
going on.  No, they just want what they want, and want it now.

And I'm not going to play along.  

I appreciate your latter comments, both of you, very generous of you to accept 
my position whilst being bitched at by me at the same time.  Believe me, I know 
it might not be pleasant to be on the other side of this exchange.  But trust 
me, I'm a nice guy.  I dont receive a dime for all over the work I've done on 
this distribution for the last two years.  Not a free video card.  No 
sponsorship.  Nothing.  So personally whatever keeps the workload down while 
being a sane implementation idea gets my vote.

Comment 9 Paul Slinski 2003-01-20 11:59:56 UTC
Understood.

Not even a video card? ;-)
Take care

-Paul
Comment 10 Stephan Wentz 2003-01-20 12:22:32 UTC
ok, your point. i know what you're talking about, i'm developing web-applications for 
a big german car-producer, and i have to give support for all these idiotic little 
questions that are mainly wrong usage... 
but like i stated before, i agree with you that if it's against the gentoo way it 
shouldn't even be considered, but _what is_ the gentoo way? why not explain it on 
the gentoo.org frontpage? 
also, when you've received stuff like this again and again, why not make it a theme 
for the weekly newsletter? a news-entry on the frontpage? or even put it in the 
ebuild as a comment? 
i really searched for info's about this on the forums, and in the bug-database but 
couldn't find a thing. and it _could_ have been (yes, of course, the chances are 
low...) that knoone thought about this, and because of that i entered a bug-report. 
so please spread these information, and i'll bet these request will get less over time 
(of course there are always moron's that post before researching... but don't count 
me in ;-) ) 
chapter closed (for my side) 
 
Comment 11 Donny Davies (RETIRED) gentoo-dev 2003-01-20 13:40:40 UTC
When I say the "Gentoo way" I'm simply referring to the fact that we don't
currently have the split like several other RPM-based distributions:

samba-client
samba-common
samba-doc
samba-server
samba-swat
samba-winbind

MySQL
MySQL-Max
MySQL-bench
MySQL-client

What a mess.  Basically, currently, in Gentoo you have -ONE- ebuild file which
you merge and you get -everything-.  Simple.  Sweet.  Easy to manage.

Now we're getting to the point where we almost have to do the same thing (split
subpackages like other distros) because Gentoo is getting more and more users. 
One of the reasons for sure why we've grown so fast, and been ported to so many
different architectures is definately because the build recipes (ebuilds) are
very simple.  Easy to extend.  Easy to maintain.  Easy to learn.  Etc.

So to do the -devel, -server, -client, -doc stuff is not really "The Gentoo"
way.  That's all I was saying.  Look at Mandrake's PHP packages.  If I log into
their FTP server and do:  dir php*  i get back about 20 packages!

I see both sides of the issue.  Easier and lighter weight to just get the
portions of a package you desire, but also waaay more confusing.  How do you
know which subpackages you _really_ need?  If there is only -1- package for
mysql then you install that package and you have it all.  No guessing required.

Which is why I've offered no implementation ideas or proposals.  I really dont
know what the best way to implement the subpackages idea is ... hopefully
somebody will come up with something good.  At any rate, they really need to be
defined in a single ebuild file, similar to how everybody else defines their
subpackages in the other distributions in a single .spec file or rules file etc.

Yuck!