diff --git a/README.md b/README.md index d2745b43f..d476c9616 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,8 @@ The Node.js version of your Linux repository might be too old/new. Please compil 2. Install npm `curl http://npmjs.org/install.sh | sh` 3. Ensure you have installed the sqlite develob libraries, gzip and git `apt-get install libsqlite3-dev gzip git-core` 4. Clone the git repository `git clone 'git://github.com/Pita/etherpad-lite.git'` -5. Install the dependencies `cd etherpad-lite && npm install` -6. Start it with `bin/run.sh` -7. Open your web browser and visit +5. Start it with `bin/run.sh` (the first run will install all dependencies) +6. Open your web browser and visit # Next Steps You can modify the settings in the file settings.json @@ -60,4 +59,4 @@ You can join the [mailinglist](http://groups.google.com/group/etherpad-lite-dev) You also help the project, if you only host a ep-lite instance and share your experience with us. # License -[Apache License v2](http://www.apache.org/licenses/LICENSE-2.0.html) \ No newline at end of file +[Apache License v2](http://www.apache.org/licenses/LICENSE-2.0.html) diff --git a/bin/debugRun.sh b/bin/debugRun.sh index 014d11cda..fede0b50b 100755 --- a/bin/debugRun.sh +++ b/bin/debugRun.sh @@ -1,5 +1,17 @@ #!/bin/sh +#Move to the folder where ep-lite is installed +FOLDER=$(dirname $(readlink -f $0)) +cd $FOLDER + +#Was this script started in the bin folder? if yes move out +if [ -d "../bin" ]; then + cd "../" +fi + +#prepare the enviroment +bin/installDeps.sh || exit 1 + hash node-inspector > /dev/null 2>&1 || { echo "You need to install node-inspector to run the tests!" >&2 echo "You can install it with npm" >&2 @@ -11,9 +23,8 @@ node-inspector & echo "If you new to node-inspector, take a look at this video: http://youtu.be/AOnK3NVnxL8" -if [ -d "../bin" ]; then - cd "../" -fi - cd "node" node --debug server.js + +#kill node-inspector before ending +kill $! diff --git a/bin/installDeps.sh b/bin/installDeps.sh new file mode 100755 index 000000000..feff219e5 --- /dev/null +++ b/bin/installDeps.sh @@ -0,0 +1,56 @@ +#Move to the folder where ep-lite is installed +FOLDER=$(dirname $(readlink -f $0)) +cd $FOLDER + +#Was this script started in the bin folder? if yes move out +if [ -d "../bin" ]; then + cd "../" +fi + +#Is wget installed? +hash wget > /dev/null 2>&1 || { + echo "Please install wget" >&2 + exit 1 +} + +#Is node installed? +hash node > /dev/null 2>&1 || { + echo "Please install node.js ( http://nodesjs.org )" >&2 + exit 1 +} + +#Is npm installed? +hash npm > /dev/null 2>&1 || { + echo "Please install npm ( http://npmjs.org )" >&2 + exit 1 +} + +#Does a settings.json exist? if no copy the template +if [ ! -f "settings.json" ]; then + echo "Copy the settings template to settings.json..." + cp -v settings.json.template settings.json || exit 1 +fi + +echo "Ensure that all dependencies are up to date..." +npm install || exit 1 + +echo "Ensure jQuery is downloaded and up to date..." +DOWNLOAD_JQUERY="true" +NEEDED_VERSION="1.6.2" +if [ -f "static/js/jquery.min.js" ]; then + VERSION=$(cat static/js/jquery.min.js | head -n 2 | tail -n 1 | grep -o "v[0-9]*\.[0-9]*\.[0-9]*"); + + if [ ${VERSION#v} = $NEEDED_VERSION ]; then + DOWNLOAD_JQUERY="false" + fi +fi + +if [ $DOWNLOAD_JQUERY = "true" ]; then + wget -O static/js/jquery.min.js http://code.jquery.com/jquery-$NEEDED_VERSION.min.js || exit 1 +fi + +#Remove all minified data to force node creating it new +echo "Clear minfified cache..." +rm -f var/minified* + +exit 0 diff --git a/bin/run.sh b/bin/run.sh index 3256d0fd9..e89e3af95 100755 --- a/bin/run.sh +++ b/bin/run.sh @@ -16,45 +16,8 @@ if [ "$(id -u)" -eq 0 ]; then exit 1 fi -#Is node installed? -hash node > /dev/null 2>&1 || { - echo "You need to install node to run Etherpad-Lite!" >&2 - exit 1 -} - -#Is npm installed? -hash npm > /dev/null 2>&1 || { - echo "You need to install npm to run Etherpad-Lite!" >&2 - exit 1 -} - -#Does a settings.json exist? if no copy the template -if [ ! -f "settings.json" ]; then - echo "Copy the settings template to settings.json..." - cp -v settings.json.template settings.json -fi - -echo "Ensure that all dependencies are up to date..." -npm install - -echo "Ensure jQuery is downloaded and up to date..." -DOWNLOAD_JQUERY="true" -NEEDED_VERSION="1.6.2" -if [ -f "static/js/jquery.min.js" ]; then - VERSION=$(cat static/js/jquery.min.js | head -n 2 | tail -n 1 | grep -o "v[0-9]*\.[0-9]*\.[0-9]*"); - - if [ ${VERSION#v} = $NEEDED_VERSION ]; then - DOWNLOAD_JQUERY="false" - fi -fi - -if [ $DOWNLOAD_JQUERY = "true" ]; then - wget -O static/js/jquery.min.js http://code.jquery.com/jquery-$NEEDED_VERSION.min.js -fi - -#Remove all minified data to force node creating it new -echo "Clear minfified cache..." -rm var/minified* 2> /dev/null +#prepare the enviroment +bin/installDeps.sh || exit 1 #Move to the node folder and start echo "start..."