summaryrefslogtreecommitdiff
path: root/dev-ros/roslaunch/files/roslaunch.initd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-ros/roslaunch/files/roslaunch.initd
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-ros/roslaunch/files/roslaunch.initd')
-rwxr-xr-xdev-ros/roslaunch/files/roslaunch.initd37
1 files changed, 37 insertions, 0 deletions
diff --git a/dev-ros/roslaunch/files/roslaunch.initd b/dev-ros/roslaunch/files/roslaunch.initd
new file mode 100755
index 000000000000..af38d2abbe68
--- /dev/null
+++ b/dev-ros/roslaunch/files/roslaunch.initd
@@ -0,0 +1,37 @@
+#!/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"
+}