mysql5 server and plain
Scott Haneda
talklists at newgeo.com
Wed Jan 6 19:57:58 PST 2010
I am top posting, because you went over my head a little in that, so I am at least going to go over the top on something :)
To be honest, I totally forgot that someone may want to instal just the mysql client, and may also do so without sudo involved.
On a side note, you mention the mysql directories, which need to be _mysql owned, which I also find to be the case, is this done in the port or is this something the user is supposed to do? The MAMP page has the user doing it, if the port already does it, the MAMP page is redundant.
You bring up great points, and I do not see any real perfect solutions to them. What about having a mysql-client port, that is obvious, then the mysql-server port, and that is it. That makes the most sense to me. I would make the server depend on the client, that is a liberty I would take, because they sort of go hand in hand.
I agree with your comments about Apache, add to this, none of the plists are set to run, so they just sit there, the user had to load them. I do not see any reason to avoid putting them in place. Disc space is cheap, I could literally afford to store the plists for every MacPorts user there is :)
There are a handful of softwares out there, seemingly the ones most people are going to be coming here for, that are just too hard for the average user to get up and running, I want to fix that. Have you seen a windows user get a AMP stack running, one download, one exe, and they are up and running, with a GUI app to go with it. This bothers me on so many levels, that they have this ease, on a platform that neither the A, the M, or the P were developed for when they first came out.
I have some questions about the mysql5-server port, I will post a new message. Thanks for your excellent thoughts on this.
P.S. that D-ports issue came up on the pure-ftpd mail list today. I had a user move over here to use MP for pure-ftpd, and he was confused. I have the emails flagged, and want to move back on that front again, but time is just not on my side these days. Just did not want you to think I flaked on your emails, they are all marked, and I will follow up on them eventually. Thanks Ryan.
On Jan 6, 2010, at 11:27 AM, Ryan Schmidt wrote:
> mysql5 installs the client and server software. mysql5-server installs the launchd plist and the directories a server would need. This mirrors the postgresql ports.
>
> There used to just be a mysql5 port with a +server variant, but this was awful because when installed as a dependency, or by someone who didn't yet understand variants, the port would be installed without the server launchd plist, and to get it, the user would have to recompile all of mysql5, which wasted a lot of time. *This* came up all the time for years and was worth discussion and resulted in what we have now.
>
> You might think just having a mysql5 port and making it always install the launchd plist would be better. But remember that it's not just the launchd plist: it's also the directories, which need to be owned by the mysql user. The user might be installing in a non-root prefix, might only need the client portion, and would not have permission to install the launchd plist nor to set the ownership of directories to a system user. Such a user could work around the launchd plist issue by setting startupitem_type to none in macports.conf, but the port would still have to know not to install the directories. Can a port query the startupitem type the user requested? If so, the port could do so and omit installing the server directories if ${startupitem.type} is none. In the end, however, you must admit this reduces transparency: Before, it was clear if you installed "mysql5 +server" you got a server, if you installed "mysql5" you didn't. Currently, if you install "mysql5-server" you get a server, if you just install "mysql5" you don't. But if we change the port to infer things based on the startupitem type, and you look at "port installed" and see "mysql5", you don't know whether it has server parts or not. I suppose (and I apologize, I'm thinking this through as I'm typing) the startupitem.type-based detection could lead to the port auto-selecting (or not) (using default_variants) the +server variant. Hmm..... You know, that might work.
>
> If we're thinking of removing mysql5-server, we should have similar thoughts about the postgresql and other ports that do this, and also about removing the +no_startupitem variant from ports like apache2, since a user who wants to install a purely server software like apache without a launchd plist is a) strange and apparently running with diminished privileges, and therefore b) must logically want the same for all other ports as well, and c) can achieve this in macports.conf.
--
Scott * If you contact me off list replace talklists@ with scott@ *
More information about the macports-dev
mailing list