Package: tomcat10 Version: 10.1.6-1 Dear maintainers, the tomcat10 package does not ship a sysvinit script for use with traditional init. Please consider adding such a script to the package since it will make things simpler for users of sysvinit. I have attached a possible implementation of such a script to this mail. (Derived from tomcat9 package with some cleanup) I can offer to support/maintain this script in future if desired.
Best regards, Andreas Messer -- gnuPG keyid: 8C2BAF51 fingerprint: 28EE 8438 E688 D992 3661 C753 90B3 BAAA 8C2B AF51
#!/bin/sh ### BEGIN INIT INFO # Provides: tomcat10 # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Tomcat 10 # Description: The Tomcat 10 servlet engine runs Java Web Archives. ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC='Tomcat 10 servlet engine' NAME=tomcat10 readonly DESC NAME # exit cleanly if disabled or not installed test -x /usr/libexec/tomcat10/tomcat-update-policy.sh || exit 0 test -x /usr/libexec/tomcat10/tomcat-start.sh || exit 0 test -x /usr/libexec/tomcat10/tomcat-locate-java.sh || exit 0 . /lib/init/vars.sh test -t 0 && VERBOSE=yes # set defaults for options CATALINA_HOME=/usr/share/tomcat10 CATALINA_BASE=/var/lib/tomcat10 CATALINA_TMPDIR=/tmp/tomcat10-tmp export CATALINA_HOME CATALINA_BASE CATALINA_TMPDIR JAVA_OPTS=-Djava.awt.headless=true JSP_COMPILER= # only used if nonempty SECURITY_MANAGER=false UMASK=022 export JAVA_HOME JAVA_OPTS JSP_COMPILER SECURITY_MANAGER UMASK [ -r /etc/default/tomcat10 ] && . /etc/default/tomcat10 . /lib/lsb/init-functions # somewhat LSB-compliant exit with failure if test x"$1" = x"status"; then exit_failure_msg() { log_failure_msg "$@" exit 4 } else exit_failure_msg() { log_failure_msg "$@" exit 1 } fi # figure out the JRE executable catalina.sh will use # (we need it for start-stop-daemon --exec for reliability) [ x"${JAVA_HOME}" = x ] && \ JAVA_HOME=$(su tomcat -s /bin/sh -c ". /usr/libexec/tomcat10/tomcat-locate-java.sh; echo \${JAVA_HOME}") [ x"${JAVA_HOME}" != x ] || exit_failure_msg "could not determine JRE" JAVA="${JAVA_HOME}/bin/java" [ -x "${JAVA}" ] || exit_failure_msg "could not find java executable ${JAVA}" # prepare for actions case $1 in (start|stop|restart|force-reload) # handled below ;; (try-restart|status) start-stop-daemon --status --quiet \ --pidfile /var/run/tomcat10.pid \ --exec "$JAVA" --user tomcat rv=$? # clean up stale pidfile if necessary (test x"$rv" = x"1" && rm -f /var/run/tomcat10.pid || :) # process status result case $1 in (try-restart) test x"$rv" = x"0" || { # service is not running, or status is unknown log_success_msg "$NAME is not running" exit 0 } # service running, restart it ;; (status) case $rv in (0) log_success_msg "$NAME is running" ;; (4) log_failure_msg "could not access PID file for $NAME" ;; (*) log_failure_msg "$NAME is not running" ;; esac exit $rv ;; esac ;; (reload|*) # not supported echo >&2 "Usage: $0 {start|stop|restart|try-restart|force-reload|status}" exit 3 ;; esac # handle stopping/starting rv=0 case $1 in (stop|restart|try-restart|force-reload) test x"$VERBOSE" = x"no" || log_daemon_msg "Stopping $DESC" "$NAME" start-stop-daemon --stop --quiet \ --retry=10 --oknodo --remove-pidfile \ --pidfile /var/run/tomcat10.pid \ --exec "$JAVA" --user tomcat rv=$? test x"$VERBOSE" = x"no" || log_end_msg $rv ;; esac test x"$rv" = x"0" || exit $rv case $1 in (start|restart|try-restart|force-reload) # ensure the temporary directory exist and change to it rm -rf "$CATALINA_TMPDIR" mkdir "$CATALINA_TMPDIR" || \ exit_failure_msg 'could not create JVM temporary directory' chown -h tomcat "$CATALINA_TMPDIR" cd "$CATALINA_TMPDIR" # create log directory if not exists [ -d /var/log/tomcat10 ] || mkdir -p /var/log/tomcat10 /usr/libexec/tomcat10/tomcat-update-policy.sh || \ exit_failure_msg 'could not regenerating catalina.policy file' rm -f /var/run/tomcat10.pid test x"$VERBOSE" = x"no" || log_daemon_msg "Starting $DESC" "$NAME" start-stop-daemon --start --quiet \ --chuid tomcat --umask "$UMASK" \ --startas /usr/libexec/tomcat10/tomcat-start.sh \ --background --make-pidfile \ --pidfile /var/run/tomcat10.pid \ --output /var/log/tomcat10/catalina.out \ --exec "$JAVA" --user tomcat rv=$? test x"$VERBOSE" = x"no" || log_end_msg $rv ;; esac exit $rv
signature.asc
Description: PGP signature
__ This is the maintainer address of Debian's Java team <https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-java-maintainers>. Please use debian-j...@lists.debian.org for discussions and questions.