#!/sbin/openrc-run # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 depend() { need roscore } checkconfig() { [ -f "${ROSLAUNCH_FILE}" ] eend $? "You need to define ROSLAUNCH_FILE and point it to a correct location (${ROSLAUNCH_FILE} does not exist)" } start() { checkconfig || exit 1 ebegin "Waiting for roscore" val=${ROS_MASTER_URI#http://} dest=$(echo ${val%/} | tr ':' ' ') while ! echo exit | nc ${dest} &> /dev/null; do sleep 1; done ebegin "Starting ROS via roslaunch" start-stop-daemon --start \ --user ros --group ros \ -m --pidfile /var/run/roslaunch.pid \ --exec "/usr/bin/roslaunch" --background \ -- ${ROSLAUNCH_FILE} eend $? "Failed to start ROS" } stop() { ebegin "Stopping roslaunch" start-stop-daemon --stop \ --pidfile /var/run/roslaunch.pid \ --exec "/usr/bin/roslaunch" eend $? "Failed to stop roslaunch" }