On 13/11/2009 8:22 PM, Juhani Ränkimies wrote:
On Thu, Nov 12, 2009 at 7:11 PM, Brunjes, Lee (lmb7s)
<[email protected]> wrote:
I wanted to discuss two things
first is any one else doing something similar?
Yes.
And second would adding a .net dependency to things be a bad idea in
the long term.
I think it would be undesirable in this case for a number of reasons:
* The windows service API is native and not particularly complex. .NET
adds a layer of complexity for no good reason. People hacking on
couchdb itself must currently have some understanding of C (as it is
already used) but may not be familiar with whatever language is used for
the service impl.
* It adds a build-time dependency; additional compilers must be
available and presumably hacked into the autoconf support. The target
.NET version may need to be installed on the developer's box,
potentially making "buildbot" installations more difficult.
* It add a runtime dependency; there are no existing requirements for
.NET and presumably the installer would need to either bundle and
install the .NET runtime, or accept a limitation in the Windows versions
it works on.
Which isn't to say I'm anti-.NET - I'd have the same reservations about
building the service support around Python which (a) would be much
easier than either .NET or custom C, and (b) I'm intimately familiar
with :) or anything else which isn't erlang or C(++) :)
I don't know, but erlang comes with a tool for installing a windows service.
Yay - this is obviously the killer reason. I'd seen vague references to
this, but this is the first time I've seen a concrete example.
erts-5.7.3\bin\erlsrv.exe add CouchDBProd -i couchdbprod -w
D:\couch_service\prod\bin -ar "-sasl errlog_type error -s couch"
sc.exe config couchdbprod obj= .\\imaginarycouchdbuser password=
evenmoreimaginarypasswordforcouchdbuser
That's cool - I imagine there is also a way to configure for the
LocalSystem user, meaning a password needn't be specified, meaning the
installation process is fairly easy. I'll play a little more with this...
Thanks,
Mark