Hi,

I'm currently trying to get Continuum working standalone on a Debian system and it seems that the documented instructions[1] are severely flawed.

If you follow the instructions directly

ln -s /usr/local/continuum-[VERSION]/bin/linux/run.sh /etc/init.d/continuum

update-rc.d continuum defaults 80

Then testing this on the shell

> invoke-rc.d continuum start

things appear to work fine, however, when you let the system try and start continuum at boot it fails. There are 2 reasons for this failing.

The first reason is that the symlinks created by update-rc.d are relative causing the loop to resolve the destination of the link to fail.

Personally I have resolved this by replacing the loop with the readlink command. This is part of gnu coreutils so I believe it should be available on pretty much any system.

Once that is fixed the wrapper dies because it can't find the JAVA_HOME environment variable. There is no way to set an environment variable so that it is available in the init scripts. In line with the debian guidelines[2] I would recommend adding a default JAVA_HOME in the script if one is not present, currently you only seem to do this for OS X. A sensible default could be something along the lines of

> JAVA_EXE=`which java`
> REAL_JAVA_EXE=`readlink -fn $JAVA_EXE`
> export JAVA_HOME=`dirname $REAL_JAVA_EXE`/../../

2 questions;
1) How did the current documentation end up on the site if it could never have worked as intended? Have I missed something obvious?
2) Do you want me to submit a patch for my proposed changes?

Regards,

Jon

[1] http://maven.apache.org/continuum/docs/1.1/installation/standalone.html#In_a_Debian-based_system
[2] http://www.debian.org/doc/debian-policy/ch-opersys.html#s9.9

Reply via email to