Package: lsyncd Version: 2.0.7-1 Severity: important When lsyncd starts by default it forks a child to do the work, and the parent exits.
This does not work with the init script as supplied in the debain package, as start-stop-daemon is recording the PID of the process it started, instead of the PID of the forked of worker. lsyncd has a -pidfile <filename> command line option. I have hacked the init script on my install to add that cmd line option so it is now correctly storing the PID. (hacked script is attached) NB: I am running Debian 6.0 Squeeze, but I installed the latest lsyncd from Wheezey to get the latest version. I don't think using the wrong version for the distro will affect this bug, but it might. -- System Information: Debian Release: 6.0.5 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: armel (armv5tel) Kernel: Linux 2.6.32-5-kirkwood Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages lsyncd depends on: ii libc6 2.11.3-3 Embedded GNU C Library: Shared lib ii liblua5.1-0 5.1.4-5 Simple, extensible, embeddable pro ii lua5.1 5.1.4-5 Simple, extensible, embeddable pro ii rsync 3.0.7-2 fast remote file copy program (lik lsyncd recommends no packages. lsyncd suggests no packages. -- Configuration Files: /etc/init.d/lsyncd changed: PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="synchronization daemon" NAME=lsyncd DAEMON=/usr/bin/$NAME CONFIG=/etc/lsyncd/lsyncd.conf.lua PIDFILE=/var/run/$NAME.pid DAEMON_ARGS="-pidfile ${PIDFILE} ${CONFIG}" SCRIPTNAME=/etc/init.d/$NAME [ -x "$DAEMON" ] || exit 0 [ -r "$CONFIG" ] || exit 0 [ -r /etc/default/$NAME ] && . /etc/default/$NAME . /lib/init/vars.sh . /lib/lsb/init-functions do_start() { start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ --test > /dev/null \ || return 1 start-stop-daemon --start --quiet --make-pidfile --pidfile $PIDFILE \ --exec $DAEMON -- \ $DAEMON_ARGS \ || return 2 } do_stop() { start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 start-stop-daemon --stop --quiet --oknodo --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } do_reload() { start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME 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 $DAEMON $NAME && exit 0 || exit $? ;; restart|force-reload) 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|force-reload}" >&2 exit 3 ;; esac : -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org