Patchwork [2/2] gypsy: Added init script

login
register
mail settings
Submitter eu@felipetonello.com
Date Sept. 19, 2013, 7:09 p.m.
Message ID <1379617754-6342-3-git-send-email-eu@felipetonello.com>
Download mbox | patch
Permalink /patch/58391/
State Accepted, archived
Commit 13f540c5a98d3a64b41117db9cf554956eebafe9
Headers show

Comments

eu@felipetonello.com - Sept. 19, 2013, 7:09 p.m.
From: "Felipe F. Tonello" <eu@felipetonello.com>

Added a modified version of the example init script, gypsy-example-initscript,
from the gypsy repository to be compatible with OE based distros.

Signed-off-by: Felipe F. Tonello <eu@felipetonello.com>
---
 .../gypsy/files/gypsy-initscript                   | 61 ++++++++++++++++++++++
 meta-oe/recipes-navigation/gypsy/gypsy.inc         | 13 ++++-
 2 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100755 meta-oe/recipes-navigation/gypsy/files/gypsy-initscript
eu@felipetonello.com - Sept. 20, 2013, 12:26 a.m.
On Thu, Sep 19, 2013 at 12:09 PM, Felipe F. Tonello
<eu@felipetonello.com> wrote:
> From: "Felipe F. Tonello" <eu@felipetonello.com>
>
> Added a modified version of the example init script, gypsy-example-initscript,
> from the gypsy repository to be compatible with OE based distros.
>

Actually I just realized that the daemon is called by dbus when
clients connect to it. So I believe this patch is not necessary,
unless we separate in a different package.

Felipe Tonello

Patch

diff --git a/meta-oe/recipes-navigation/gypsy/files/gypsy-initscript b/meta-oe/recipes-navigation/gypsy/files/gypsy-initscript
new file mode 100755
index 0000000..c3c94e5
--- /dev/null
+++ b/meta-oe/recipes-navigation/gypsy/files/gypsy-initscript
@@ -0,0 +1,61 @@ 
+#! /bin/sh
+#
+# based on gypsy-example-initscript in gypsy repository
+# there are some little modifications to work with OE based distros
+# []' Felipe Tonello eu@felipetonello.com
+#
+
+set -e
+
+DESC="Gypsy daemon"
+NAME="gypsy-daemon"
+DAEMON=/usr/lib/gypsy/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+USER=root
+
+# Gracefully exit if the package has been removed.
+test -x $DAEMON || exit 0
+
+#
+#	Function that starts the daemon/service.
+#
+d_start() {
+	start-stop-daemon --start --quiet --pidfile $PIDFILE \
+		--user $USER --exec $DAEMON -- $DAEMON_OPTS
+}
+
+#
+#	Function that stops the daemon/service.
+#
+d_stop() {
+	start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+		 --oknodo --user $USER --exec $DAEMON
+}
+
+
+case "$1" in
+  start)
+	echo -n "Starting $DESC: $NAME"
+	d_start
+	echo "."
+	;;
+  stop)
+	echo -n "Stopping $DESC: $NAME"
+	d_stop
+	echo "."
+	;;
+  restart|force-reload)
+	echo -n "Restarting $DESC: $NAME"
+	d_stop
+	sleep 1
+	d_start
+	echo "."
+	;;
+  *)
+	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+	exit 1
+	;;
+esac
+
+exit 0
diff --git a/meta-oe/recipes-navigation/gypsy/gypsy.inc b/meta-oe/recipes-navigation/gypsy/gypsy.inc
index 747b61d..1f50d79 100644
--- a/meta-oe/recipes-navigation/gypsy/gypsy.inc
+++ b/meta-oe/recipes-navigation/gypsy/gypsy.inc
@@ -8,13 +8,20 @@  LICENSE = "GPLv2.0 & LGPLv2.1"
 SECTION = "console/network"
 DEPENDS = "glib-2.0 dbus bluez4 dbus-glib libxslt-native libxslt"
 
-inherit autotools pkgconfig gtk-doc
 PACKAGES += "libgypsy"
+SRC_URI = "file://gypsy-initscript"
+
+inherit autotools pkgconfig gtk-doc update-rc.d
+
+INITSCRIPT_NAME = "gypsy-daemon"
+# make sure it starts after X
+INITSCRIPT_PARAMS = "start 10 5 3 2 . stop 20 0 1 6 ."
 
 EXTRA_OECONF += "--with-distro=debian"
 
 FILES_${PN} = " \
   ${sysconfdir}/gypsy.conf \
+  ${sysconfdir}/init.d/gypsy-daemon \
   ${sysconfdir}/dbus-1 \
   ${libexecdir}/gypsy-daemon \
   ${datadir}/dbus-1 \
@@ -23,3 +30,7 @@  FILES_${PN} = " \
 FILES_libgypsy = " \
   ${libdir}/libgypsy${SOLIBS} \
 "
+
+do_install_append() {
+  install -D ${WORKDIR}/gypsy-initscript ${D}/${sysconfdir}/init.d/gypsy-daemon
+}