[Buildroot] [PATCH 2/5] package/ser2net: add startup script and template config file

Yann E. MORIN yann.morin.1998 at free.fr
Tue Nov 5 23:28:17 UTC 2013


From: "Yann E. MORIN" <yann.morin.1998 at free.fr>

The default config file we install is intentionally limited, but given
the number of possible configurations (port number, method, serial
port...) it is not posible to provide a simple one-fits-all config file.

Instead, just provide a minimalistic one, that the user may customise
with a post-build script, or a rootfs overlay.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
---
 package/ser2net/S50ser2net   | 48 ++++++++++++++++++++++++++++++++++++++++++++
 package/ser2net/ser2net.conf |  3 +++
 package/ser2net/ser2net.mk   |  9 +++++++++
 3 files changed, 60 insertions(+)
 create mode 100644 package/ser2net/S50ser2net
 create mode 100644 package/ser2net/ser2net.conf

diff --git a/package/ser2net/S50ser2net b/package/ser2net/S50ser2net
new file mode 100644
index 0000000..58a98fc
--- /dev/null
+++ b/package/ser2net/S50ser2net
@@ -0,0 +1,48 @@
+#! /bin/sh
+# ser2net startup script
+
+# Author: Yann E. MORIN <yann.morin.1998 at free.fr>
+
+PATH=/usr/sbin:/usr/bin:/sbin:/bin
+NAME=ser2net
+DAEMON=/usr/bin/$NAME
+PIDFILE=/var/run/$NAME.pid
+
+[ -f "${DAEMON}" -a -x "${DAEMON}" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r "/etc/default/${NAME}" ] && . "/etc/default/${NAME}"
+
+ARGS="-c /etc/ser2net.conf -P ${PIDFILE}"
+[ -z "${CONTROLPORT}" ] || ARGS="${ARGS} -p ${CONTROLPORT}"
+
+case "$1" in
+    start)
+        printf "Starting ser2net daemon: "
+        if start-stop-daemon -S -q -p ${PIDFILE} -m --exec "${DAEMON}" -- ${ARGS}; then
+            printf "OK\n"
+        else
+            printf "failed\n"
+        fi
+        ;;
+    stop)
+        printf "Stoping ser2net daemon: "
+        start-stop-daemon -K -q -p ${PIDFILE} -s TERM
+        sleep 2
+        if start-stop-daemon -K -q -p ${PIDFILE} -t; then
+            printf "failed, killing: "
+            start-stop-daemon -K -q -p ${PIDFILE} -s KILL -o
+        fi
+        rm -f "${PIDFILE}"
+        printf "OK\n"
+        ;;
+    restart|force-reload)
+        "${0}" stop
+        sleep 2
+        "${0}" start
+        ;;
+    *)
+        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+        exit 1
+        ;;
+esac
diff --git a/package/ser2net/ser2net.conf b/package/ser2net/ser2net.conf
new file mode 100644
index 0000000..ba6fd43
--- /dev/null
+++ b/package/ser2net/ser2net.conf
@@ -0,0 +1,3 @@
+#CONTROLPORT:1000
+BANNER:buildroot:Welcome to ser2net, running on Buildroot\r\n
+2000:raw:600:/dev/ttyS1:9600 8DATABITS NONE 1STOPBIT buildroot
diff --git a/package/ser2net/ser2net.mk b/package/ser2net/ser2net.mk
index 5e77d36..a6f1cbb 100644
--- a/package/ser2net/ser2net.mk
+++ b/package/ser2net/ser2net.mk
@@ -9,4 +9,13 @@ SER2NET_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net
 SER2NET_LICENSE = GPLv2+
 SER2NET_LICENSE_FILES = COPYING
 
+define SER2NET_INSTALL_INIT_SYSV
+	$(INSTALL) -m 0755 -D package/ser2net/S50ser2net $(TARGET_DIR)/etc/init.d/S50ser2net
+endef
+
+define SER2NET_INSTALL_CONF
+	$(INSTALL) -m 0644 -D package/ser2net/ser2net.conf $(TARGET_DIR)/etc/ser2net.conf
+endef
+SER2NET_POST_INSTALL_TARGET_HOOKS += SER2NET_INSTALL_CONF
+
 $(eval $(autotools-package))
-- 
1.8.1.2



More information about the buildroot mailing list