Subject: Re: mysqld on Cygwin
From: "Gerrit P. Haase" <[email-masked]>
To: Andrew DeFaria <[email-masked]>
Cc: [email-masked]
Date: Wed, 14 Jan 2004 11:29:12 +0100

Hello Andrew,

[...]

>> No, no, it compiles out of the box besides the patch because of the
>> #pragma problem.

> Not sure that parsed for me. It does compile out of the box or it 
> doesn't? What's "the patch"? Also, I assume that #pragma is still a problem.

The patch is also at this site:
http://anfaenger.de/cygwin-1.5/mysql/

The #pragma defines are a problem when building the server executable,
reults in linker errors, the parser doesn't complain.

[...]

>> To make it into a Cygwin package, a little more work needs to be done:
>> 1. Try to get it to compiled with the generic build-script out of the
>> source tree.

> I assume this means "get around/fix the #pragma problem" and "apply 
> patch (if needed)"  and resolve "really large".

The #pragma problem needs to be fixed in gcc which is my job, priority 1
on my task list.

>> 2. Figure out how to install it as a service, write a setup-script to
>> do it for Joe User.

> Wouldn't the following work (doable in the post install scripts):

> $ cygrunsrv -I MySQL -p /usr/mysql/bin/mysqld -f "MySQL for Cygwin"

> Hmmm... I guess not. Two things I noticed:

>    1. If you start mysqld by typing in mysqld you can't stop it! If you
>       try mysqladm shutdown that doesn't work. If you kill it in
>       TaskManager it restarts!

The startup script needs to be killed at first.  If you call mysqld
directly it shouldn't be a problem to kill it.

mysqladmin --shutdown works for me also when the server is started via
the safe-mysqld startup script, well it lasts about a minute to finish
the shutdown.

>    2. There doesn't appear to be an option for mysqld to use with
>       cygrunsrv so that it will go into daemon mode properly.

> So I guess that that's what you mean by the above. We need an option to
> mysqld to tell it that it's running as a service and to respond to 
> shutdown without it restarting itself. Then it can be put into the 
> "Cygwin environment" properly as a Windows service via cygrunsrv.

I didn't tried to run it as a service, so I don't know, however I would
be interested if it is possible or not with the unmodified source.

>> 3. Discuss which path layout to use.

> Personally I'd like to see it such that if the vanilla user types mysql
> it works. This, to me, suggests that type -p mysql yields 
> /usr/bin/mysql. I would install it under /usr/mysql and then symlink 
> /usr/mysql/bin/<app> -> /usr/bin (e.g. ln -s /usr/mysql/bin/mysql 
> /usr/bin/mysql). Of course we could say that things like mysqld might 
> probably be better placed in /usr/sbin.

Since the actual database may be installed everywhere it may be enough
to say --prefix=/usr --localstatedir=/var --sysconfdir=/etc for the
binaries and the pid/log files?

>> 4. ...
>> 5. ...
>> 6. ...
>> 7. Volunteer to maintain it, MySQL is popular and there will be lots 
>> of questions at the list (there are already lots of question, though 
>> it is not included in the distribution).

> I think the questions should be limited to how to get MySQL for Cygwin
> up and running. As with other tools such as bash, for example, questions
> about it's usage would be considered off topic and questioners should be
> directed to places like http://mysql.com.

You are an optimist?

Gerrit
-- 
=^..^=                                     http://nyckelpiga.de/donate.html

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/