From c6c9281b939ca20b351a9c178254f05e69ced28b Mon Sep 17 00:00:00 2001 From: Egil Moeller Date: Wed, 28 Apr 2010 22:14:31 +0200 Subject: git-buildpackage-converted debian packaging --- bin/build.sh | 39 +++++++++++ bin/etherpad.init.d | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++++ bin/run.sh | 15 +++++ 3 files changed, 235 insertions(+) create mode 100755 bin/build.sh create mode 100755 bin/etherpad.init.d create mode 100755 bin/run.sh (limited to 'bin') diff --git a/bin/build.sh b/bin/build.sh new file mode 100755 index 0000000..3e42c96 --- /dev/null +++ b/bin/build.sh @@ -0,0 +1,39 @@ +#! /bin/bash + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# Copyright (c) 2010 Egil Möller +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + +##### +# You have to change following lines to your requirements: +# +export JAVA_HOME="/usr/lib/jvm/java-6-sun/" +export SCALA_HOME=/usr/share/java +export MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar +export JAVA="/usr/lib/jvm/java-6-sun/bin/java" +export SCALA="/usr/bin/scala" +export PATH="/usr/lib/jvm/java-6-sun/bin:$PATH" +##### + +# Rebuild jar +( cd infrastructure; ./bin/makejar.sh; ) +( cd infrastructure/ace; bin/make normal etherpad; ) +cp infrastructure/build/appjet.jar etherpad/appjet-eth-dev.jar +rm -rf infrastructure/{appjet,build,buildjs,buildcache} diff --git a/bin/etherpad.init.d b/bin/etherpad.init.d new file mode 100755 index 0000000..5881b70 --- /dev/null +++ b/bin/etherpad.init.d @@ -0,0 +1,181 @@ +#! /bin/bash + +### BEGIN INIT INFO +# Provides: etherpad +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: S 0 1 6 +# Short-Description: etherpad initscript +# Description: EtherPad is the only web-based word processor that allows +# people to work together in really real-time. +# . +# When multiple people edit the same document simultaneously, +# any changes are instantly reflected on everyone's screen. +# The result is a new and productive way to collaborate on +# text documents, useful for meeting notes, drafting +# sessions, education, team programming, and more. +### END INIT INFO + +# Author: penSec.IT UG (haftungsbeschränkt) + +################################################################################ +# +# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) +# http://www.pensec.it +# mail@pensec.it +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +################################################################################ + +# Do NOT "set -e" + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/usr/sbin:/usr/bin:/sbin:/bin +DESC="etherpad daemon" +NAME="etherpad" +DAEMON_BASE="/usr/share/etherpad" +DAEMON=$DAEMON_BASE/bin/run.sh +DAEMON_ARGS="" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +[ -f /etc/default/rcS ] && . /etc/default/rcS + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test \ + || return 1 + start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name java + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec java + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name java + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: + diff --git a/bin/run.sh b/bin/run.sh new file mode 100755 index 0000000..bd46b79 --- /dev/null +++ b/bin/run.sh @@ -0,0 +1,15 @@ +#! /bin/bash + +##### +# You have to change following lines to your requirements: +# +export JAVA_HOME="/usr/lib/jvm/java-6-sun/" +export SCALA_HOME=/usr/share/java +export MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar +export JAVA="/usr/lib/jvm/java-6-sun/bin/java" +export SCALA="/usr/bin/scala" +export PATH="/usr/lib/jvm/java-6-sun/bin:$PATH" +##### + +cd etherpad +exec bin/run-local.sh -- cgit v1.2.3 From 9c31a14b268b4e7c42d7302d7b3830faacc0b45a Mon Sep 17 00:00:00 2001 From: Mikko Rantalainen Date: Tue, 4 May 2010 16:19:38 +0300 Subject: Fixed init.d/etherpad script for debian/ubuntu For some reason that I cannot yet understand, there are two init.d scripts with different content. The files are: bin/etherpad.init.d etherpad/bin/etherpad.init I rewrote bin/etherpad.init.d to make start, stop and status functions to work pretty much as intended. The status message currently says "could not access PID file for etherpad" instead of "etherpad is not running", when status is queried when etherpad is not running. This needs to be fixed later. This change has been tested with Ubuntu 9.10. --- bin/etherpad.init.d | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'bin') diff --git a/bin/etherpad.init.d b/bin/etherpad.init.d index 5881b70..ef77fc6 100755 --- a/bin/etherpad.init.d +++ b/bin/etherpad.init.d @@ -2,13 +2,13 @@ ### BEGIN INIT INFO # Provides: etherpad -# Required-Start: $local_fs $remote_fs -# Required-Stop: $local_fs $remote_fs +# Required-Start: $networking $syslog +# Required-Stop: $networking $syslog # Default-Start: 2 3 4 5 # Default-Stop: S 0 1 6 # Short-Description: etherpad initscript -# Description: EtherPad is the only web-based word processor that allows -# people to work together in really real-time. +# Description: EtherPad is a web-based word processor that allows +# people to work together in real-time. # . # When multiple people edit the same document simultaneously, # any changes are instantly reflected on everyone's screen. @@ -18,6 +18,8 @@ ### END INIT INFO # Author: penSec.IT UG (haftungsbeschränkt) +# Author: Per Andersson +# Author: Mikko Rantalainen ################################################################################ # @@ -42,8 +44,8 @@ # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/usr/sbin:/usr/bin:/sbin:/bin -DESC="etherpad daemon" +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Collaborative real-time editor" NAME="etherpad" DAEMON_BASE="/usr/share/etherpad" DAEMON=$DAEMON_BASE/bin/run.sh @@ -93,7 +95,7 @@ do_stop() # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name java + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks @@ -102,7 +104,7 @@ do_stop() # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. - start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec java + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE @@ -118,7 +120,7 @@ do_reload() { # restarting (for example, when it is sent a SIGHUP), # then implement that here. # - start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name java + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE return 0 } @@ -139,6 +141,9 @@ case "$1" in 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; + status) + status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $? + ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out @@ -172,7 +177,7 @@ case "$1" in ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 exit 3 ;; esac -- cgit v1.2.3 From 7951bb92074d58feef3682e9ee89237b0dc8440f Mon Sep 17 00:00:00 2001 From: Mikko Rantalainen Date: Wed, 5 May 2010 16:51:40 +0300 Subject: Make scala library JAR location configurable scala-library.jar may be in $SCALA_HOME/lib or in $SCALA_HOME. Make it possible to point directly to scala-library.jar anywhere. --- bin/build.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/build.sh b/bin/build.sh index 3e42c96..7aa70e3 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -25,8 +25,9 @@ # You have to change following lines to your requirements: # export JAVA_HOME="/usr/lib/jvm/java-6-sun/" -export SCALA_HOME=/usr/share/java -export MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar +export SCALA_HOME="/usr/share/java" +export SCALA_LIBRARY_JAR="/usr/share/java/scala-library.jar" +export MYSQL_CONNECTOR_JAR="/usr/share/java/mysql-connector-java.jar" export JAVA="/usr/lib/jvm/java-6-sun/bin/java" export SCALA="/usr/bin/scala" export PATH="/usr/lib/jvm/java-6-sun/bin:$PATH" -- cgit v1.2.3 From 2a18a9a2c2e034467e177baa6dc9d485c2ae5f7f Mon Sep 17 00:00:00 2001 From: Mikko Rantalainen Date: Thu, 6 May 2010 09:42:23 +0300 Subject: Added debian/etherpad.init As far as I know, this is the correct way to do init.d scripts in a debian package. --- bin/etherpad.init.d | 186 ---------------------------------------------------- 1 file changed, 186 deletions(-) delete mode 100755 bin/etherpad.init.d (limited to 'bin') diff --git a/bin/etherpad.init.d b/bin/etherpad.init.d deleted file mode 100755 index ef77fc6..0000000 --- a/bin/etherpad.init.d +++ /dev/null @@ -1,186 +0,0 @@ -#! /bin/bash - -### BEGIN INIT INFO -# Provides: etherpad -# Required-Start: $networking $syslog -# Required-Stop: $networking $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: S 0 1 6 -# Short-Description: etherpad initscript -# Description: EtherPad is a web-based word processor that allows -# people to work together in real-time. -# . -# When multiple people edit the same document simultaneously, -# any changes are instantly reflected on everyone's screen. -# The result is a new and productive way to collaborate on -# text documents, useful for meeting notes, drafting -# sessions, education, team programming, and more. -### END INIT INFO - -# Author: penSec.IT UG (haftungsbeschränkt) -# Author: Per Andersson -# Author: Mikko Rantalainen - -################################################################################ -# -# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt) -# http://www.pensec.it -# mail@pensec.it -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may not -# use this file except in compliance with the License. You may obtain a copy of -# the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations under -# the License. -# -################################################################################ - -# Do NOT "set -e" - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="Collaborative real-time editor" -NAME="etherpad" -DAEMON_BASE="/usr/share/etherpad" -DAEMON=$DAEMON_BASE/bin/run.sh -DAEMON_ARGS="" -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME - -# Exit if the package is not installed -[ -x "$DAEMON" ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/$NAME ] && . /etc/default/$NAME - -# Load the VERBOSE setting and other rcS variables -[ -f /etc/default/rcS ] && . /etc/default/rcS - -# Define LSB log_* functions. -# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. -. /lib/lsb/init-functions - -# -# Function that starts the daemon/service -# -do_start() -{ - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test \ - || return 1 - start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \ - $DAEMON_ARGS \ - || return 2 - # Add code here, if necessary, that waits for the process to be ready - # to handle requests from services started subsequently which depend - # on this one. As a last resort, sleep for some time. -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # Wait for children to finish too if this is a daemon that forks - # and if the daemon is only ever run from this initscript. - # If the above conditions are not satisfied then add some other code - # that waits for the process to drop all resources that could be - # needed by services started subsequently. A last resort is to - # sleep for some time. - start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON - [ "$?" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - # - # If the daemon can reload its configuration without - # restarting (for example, when it is sent a SIGHUP), - # then implement that here. - # - start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE - return 0 -} - -case "$1" in - start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" - do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - status) - status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $? - ;; - #reload|force-reload) - # - # If do_reload() is not implemented then leave this commented out - # and leave 'force-reload' as an alias for 'restart'. - # - #log_daemon_msg "Reloading $DESC" "$NAME" - #do_reload - #log_end_msg $? - #;; - restart|force-reload) - # - # If the "reload" option is implemented then remove the - # 'force-reload' alias - # - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac - ;; - *) - #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 - exit 3 - ;; -esac - -: - -- cgit v1.2.3