[oe-commits] Christopher Larson : rpcbind: add and use startup script, move binaries

git at git.openembedded.org git at git.openembedded.org
Fri Jun 8 10:44:05 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 8576575ce9a1be8f7bec4e7c018d9be5c3b247df
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=8576575ce9a1be8f7bec4e7c018d9be5c3b247df

Author: Christopher Larson <kergoth at gmail.com>
Date:   Thu Jun  7 16:36:52 2012 -0700

rpcbind: add and use startup script, move binaries

- Add init script from debian, tweaked for us
- Move binaries from bindir to sbindir, as debian does

Signed-off-by: Christopher Larson <kergoth at gmail.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-extended/rpcbind/rpcbind/init.d   |   85 ++++++++++++++++++++++++
 meta/recipes-extended/rpcbind/rpcbind_0.2.0.bb |   18 +++++-
 2 files changed, 101 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-extended/rpcbind/rpcbind/init.d b/meta/recipes-extended/rpcbind/rpcbind/init.d
new file mode 100644
index 0000000..5c756bb
--- /dev/null
+++ b/meta/recipes-extended/rpcbind/rpcbind/init.d
@@ -0,0 +1,85 @@
+#!/bin/sh
+#
+# start/stop rpcbind daemon.
+
+### BEGIN INIT INFO
+# Provides:          rpcbind
+# Required-Start:    $network
+# Required-Stop:     $network
+# Default-Start:     S 2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: RPC portmapper replacement
+# Description:       rpcbind is a server that converts RPC (Remote
+#                    Procedure Call) program numbers into DARPA
+#                    protocol port numbers. It must be running in
+#                    order to make RPC calls. Services that use
+#                    RPC include NFS and NIS.
+### END INIT INFO
+
+test -f /sbin/rpcbind || exit 0
+
+OPTIONS=""
+if [ -f /etc/default/rpcbind ]
+then
+    . /etc/default/rpcbind
+elif [ -f /etc/rpcbind.conf ]
+then
+    . /etc/rpcbind.conf
+fi
+
+start ()
+{
+    echo -n "Starting rpcbind daemon..."
+    if pidof /sbin/rpcbind >/dev/null; then
+        echo "already running."
+        exit 0
+    fi
+    start-stop-daemon --start --quiet --exec /sbin/rpcbind -- "$@"
+    if [ $? -eq 0 ]; then
+        echo "done."
+    else
+        echo "failed."
+    fi
+}
+
+stop ()
+{
+    echo "Stopping rpcbind daemon..."
+    if ! pidof /sbin/rpcbind >/dev/null; then
+        echo "not running."
+        exit 0
+    fi
+    start-stop-daemon --stop --quiet --exec /sbin/rpcbind
+    if [ $? -eq 0 ]; then
+        echo "done."
+    else
+        echo "failed."
+    fi
+}
+
+case "$1" in
+    start)
+        start $OPTIONS
+        ;;
+    stop)
+        stop
+        ;;
+    force-reload)
+        stop
+        start $OPTIONS
+        ;;
+    restart)
+        stop
+        start $OPTIONS
+        ;;
+    status)
+        pidof /sbin/rpcbind >/dev/null
+        exit $?
+        ;;
+    *)
+        echo "Usage: /etc/init.d/rpcbind {start|stop|force-reload|restart|status}"
+        exit 1
+        ;;
+esac
+
+exit 0
diff --git a/meta/recipes-extended/rpcbind/rpcbind_0.2.0.bb b/meta/recipes-extended/rpcbind/rpcbind_0.2.0.bb
index 62f6667..9fb4f51 100644
--- a/meta/recipes-extended/rpcbind/rpcbind_0.2.0.bb
+++ b/meta/recipes-extended/rpcbind/rpcbind_0.2.0.bb
@@ -11,12 +11,26 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \
                     file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
+           file://init.d \
            file://fix_host_path.patch \
           "
 
 SRC_URI[md5sum] = "1a77ddb1aaea8099ab19c351eeb26316"
 SRC_URI[sha256sum] = "c92f263e0353887f16379d7708ef1fb4c7eedcf20448bc1e4838f59497a00de3"
 
-PR = "r2"
+PR = "r3"
 
-inherit autotools
+inherit autotools update-rc.d
+
+INITSCRIPT_NAME = "rpcbind"
+INITSCRIPT_PARAMS = "start 43 S . start 32 0 6 . stop 81 1 ."
+
+do_install_append () {
+    mv ${D}${bindir} ${D}${sbindir}
+
+    install -d ${D}${sysconfdir}/init.d
+    sed -e 's,/etc/,${sysconfdir}/,g' \
+        -e 's,/sbin/,${sbindir}/,g' \
+        ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind
+    chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
+}





More information about the Openembedded-commits mailing list