The bin.diff fixes 3 occurrences like this, where an "if ! something" is done. Sadly, that doesn't work on solaris /bin/sh:

if ! echo 2> /dev/null >> $PID_FILE; then

Replaced by:

echo 2> /dev/null >> $PID_FILE
if [ $? -gt 0 ]; then

The second is for etc/init/couchdb.tpl.in and is a one liner. $(executable) doesn't work in sh, so replaced it with `executable`. 

Otherwise, no problems - it does seem as if care was taken to be shell agnostic. I've had to send along heavier fixes than this to maintainers :).

As for the tests: I was hit by the bug that Chris & Adam mentioned. After upgrading the Makefile the tests showed up and all of them run successfully.

Thanks for the swift replies!

--
maarten


On Nov 19, 2008, at 9:41 AM, Noah Slater wrote:

On Wed, Nov 19, 2008 at 05:24:59AM +0100, Maarten Thibaut wrote:
* The scripts - such as bin/couchdb and bin/couchjs and etc/init.d/
couchdb seem to be written for the bash dialect, but mention /bin/sh at
the top instead of /bin/bash. Could you fix that?

If the do not work with a POSIX shell, that is a bug. Could you mention
specifically what the problem is though?

[info] [<0.59.0>] 127.0.0.1 - - 'GET' /_utils/script/couch_test_runner.js 404

404 is bad. Is this on your file system?

Can you check under PREFIX/usr/share/couchdb please?

[info] [<0.56.0>] 127.0.0.1 - - 'GET' /_utils/image/run.gif 304

304 is not an error condition.

[info] [<0.52.0>] 127.0.0.1 - - "GET /_utils/couch_tests.html" 304
...
[info] [<0.54.0>] 127.0.0.1 - - "GET /_utils/image/test_failure.gif" 304

See above, 304 is a normal result.

Exception raised: {"message":"Invalid
argument","fileName":"http://localhost:5981/_utils/script/couch_tests.js
","lineNumber":1230,"stack":"patchTest((function (debug) {var db = new
...

Yeah, doesn't look good.

I would be interested to know the contents of your PREFIX/usr/share/couchdb
directory before trying to figure much else out.

Thanks for the full and detailed bug report, by the way!

Best,

--
Noah Slater, http://tumbolia.org/nslater