[hamradio-commits] [dump1090-mutability] 04/172: Add init script, defaults from /etc/default/, postinst to create a user to run as.

Matteo F. Vescovi mfv at moszumanska.debian.org
Sun Jan 28 13:45:40 UTC 2018


This is an automated email from the git hooks/post-receive script.

mfv pushed a commit to branch master
in repository dump1090-mutability.

commit a49e426a4cf3549b7351f7d10fc04ae44fcf459d
Author: Oliver Jowett <oliver at mutability.co.uk>
Date:   Fri Dec 5 22:37:33 2014 +0000

    Add init script, defaults from /etc/default/, postinst to create a user to run as.
---
 debian/dump1090-mr.default  |  89 +++++++++++++++++++++
 debian/dump1090-mr.init     | 185 ++++++++++++++++++++++++++++++++++++++++++++
 debian/dump1090-mr.postinst |  40 ++++++++++
 3 files changed, 314 insertions(+)

diff --git a/debian/dump1090-mr.default b/debian/dump1090-mr.default
new file mode 100644
index 0000000..8a96f0a
--- /dev/null
+++ b/debian/dump1090-mr.default
@@ -0,0 +1,89 @@
+# Defaults for dump1090-mr
+# This is a POSIX shell fragment
+
+# Set to "yes" to start dump1090 on boot.
+START_DUMP1090="no"
+
+# User to run dump1090 as.
+DUMP1090_USER="dump1090"
+
+#
+# The following options are all optional - defaults if not provided are
+# shown below.
+#
+
+#
+# Receiver options
+#
+
+# RTLSDR device index to use
+# If set to "none", dump1090 will be started in --net-only mode
+#DEVICE=0
+
+# RTLSDR gain in dB.
+# If set to "max" (the default) the maximum supported gain is used.
+# If set to "agc", the tuner AGC is used to set the gain.
+#GAIN=max
+
+# RTLSDR frequency correction in PPM
+#PPM=0
+
+#
+# Decoding options
+#
+
+# If yes, fixes messages with correctable CRC errors.
+# Otherwise, discards messages with errors.
+#FIX_CRC=no
+
+# If yes, enables phase-enhancement of messages that fail to decode
+# the first time around.
+#PHASE_ENHANCE=no
+
+# If yes, enables aggressive fixes to damaged messages.
+# Use with caution - it can increase the rate of undetected errors.
+#AGGRESSIVE=no
+
+# If set, supplies a reference location for local position decoding.
+#LAT=decimal.latitude.value
+#LON=decimal.longitude.value
+
+#
+# Networking options
+#
+
+# Port to listen on for HTTP connections. 0 disables.
+#HTTP_PORT=8080
+
+# Port to listen on for raw (AVR-format) input connections. 0 disables.
+#RAW_INPUT_PORT=30001
+
+# Port to listen on for raw (AVR-format) output connections. 0 disables.
+#RAW_OUTPUT_PORT=30002
+
+# Port to listen on for SBS-format output connections. 0 disables.
+#SBS_OUTPUT_PORT=30003
+
+# Port to listen on for Beast-format input connections. 0 disables.
+#BEAST_INPUT_PORT=30004
+
+# Port to listen on for Beast-format output connections. 0 disables.
+#BEAST_OUTPUT_PORT=30005
+
+# TCP heartbeat interval in seconds. 0 disables.
+#NET_HEARTBEAT=60
+
+# Minimum output buffer size per write, in bytes.
+#NET_OUTPUT_SIZE=5
+
+# Maximum buffering time before writing. In units of approx 64ms (don't ask..).
+#NET_OUTPUT_RATE=5
+
+# TCP buffer size order. Power-of-two based - buffer size is 2^(n+16).
+#NET_BUFFER=0
+
+# Bind ports on a particular address. If unset, binds to all interfaces.
+#BIND_ADDRESS=
+
+# Additional options that are passed to the Daemon.
+#EXTRA_ARGS=""
diff --git a/debian/dump1090-mr.init b/debian/dump1090-mr.init
new file mode 100644
index 0000000..bf526b3
--- /dev/null
+++ b/debian/dump1090-mr.init
@@ -0,0 +1,185 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          dump1090-mr
+# Required-Start:    $remote_fs
+# Required-Stop:     $remote_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: dump1090 daemon (MalcolmRobb variant)
+# Description:       Receives ADS-B messages from a RTLSDR dongle
+#                    and makes them available to other applications via
+#                    a variety of network protocols.
+### END INIT INFO
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="dump1090-mr daemon"
+NAME=dump1090-mr
+DAEMON=/usr/bin/$NAME
+ARGS="--quiet"
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Set defaults:
+START_DUMP1090=no
+DUMP1090_USER=dump1090
+DEVICE=0
+GAIN=max
+PPM=0
+FIX_CRC=no
+PHASE_ENHANCE=no
+AGGRESSIVE=no
+LAT=
+LON=
+HTTP_PORT=8080
+RAW_INPUT_PORT=30001
+RAW_OUTPUT_PORT=30002
+SBS_OUTPUT_PORT=30003
+BEAST_INPUT_PORT=30004
+BEAST_OUTPUT_PORT=30005
+NET_HEARTBEAT=60
+NET_OUTPUT_SIZE=5
+NET_OUTPUT_RATE=5
+NET_BUFFER=0
+BIND_ADDRESS=
+EXTRA_ARGS=
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# work out daemon args
+
+# receiver:
+case "x$DEVICE" in
+ x|x0) ARGS="$ARGS --net" ;;
+ xnone) ARGS="$ARGS --net-only" ;;
+ *) ARGS="$ARGS --net --device-index $DEVICE" ;;
+esac
+case "x$GAIN" in
+ x|xmax) ;;
+ xagc) ARGS="$ARGS --gain -10" ;;  
+ *) ARGS="$ARGS --gain $GAIN" ;;
+esac
+if [ "x$PPM" != "x0" ]; then ARGS="$ARGS --ppm $PPM"; fi
+
+# decoder:
+if [ "x$FIX_CRC" = "xyes" ]; then ARGS="$ARGS --fix"; fi
+if [ "x$PHASE_ENHANCE" = "xyes" ]; then ARGS="$ARGS --phase-enhance"; fi
+if [ "x$AGGRESSIVE" = "xyes" ]; then ARGS="$ARGS --aggressive"; fi
+if [ -n "$LAT" ]; then ARGS="$ARGS --lat $LAT"; fi
+if [ -n "$LON" ]; then ARGS="$ARGS --lon $LON"; fi
+
+# net:
+if [ "x$HTTP_PORT" != "x8080" ]; then ARGS="$ARGS --net-http-port $HTTP_PORT"; fi
+if [ "x$RAW_INPUT_PORT" != "x30001" ]; then ARGS="$ARGS --net-ri-port $RAW_INPUT_PORT"; fi
+if [ "x$RAW_OUTPUT_PORT" != "x30002" ]; then ARGS="$ARGS --net-ro-port $RAW_OUTPUT_PORT"; fi
+if [ "x$SBS_OUTPUT_PORT" != "x30003" ]; then ARGS="$ARGS --net-sbs-port $SBS_OUTPUT_PORT"; fi
+if [ "x$BEAST_INPUT_PORT" != "x30004" ]; then ARGS="$ARGS --net-bi-port $BEAST_INPUT_PORT"; fi
+if [ "x$BEAST_OUTPUT_PORT" != "x30005" ]; then ARGS="$ARGS --net-bo-port $BEAST_OUTPUT_PORT"; fi
+if [ "x$NET_HEARTBEAT" != "x60" ]; then ARGS="$ARGS --net-heartbeat $NET_HEARTBEAT"; fi
+if [ "x$NET_OUTPUT_SIZE" != "x0" ]; then ARGS="$ARGS --net-ro-size $NET_OUTPUT_SIZE"; fi
+if [ "x$NET_OUTPUT_RATE" != "x0" ]; then ARGS="$ARGS --net-ro-rate $NET_OUTPUT_RATE"; fi
+if [ "x$NET_BUFFER" != "x0" ]; then ARGS="$ARGS --net-buffer $NET_BUFFER"; fi
+if [ -n "$BIND_ADDRESS" ]; then ARGS="$ARGS --net-bind-address $BIND_ADDRESS"; fi
+if [ -n "$EXTRA_ARGS" ]; then ARGS="$ARGS $EXTRA_ARGS"; fi
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	# Return
+	#   0 if daemon has been started
+	#   1 if daemon was already running
+	#   2 if daemon could not be started
+
+        if [ "x$START_DUMP1090" != "xyes" ]; then
+            log_warning_msg "Not starting $NAME daemon, disabled via /etc/default/$NAME"
+            return 0
+        fi
+
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+		|| return 1
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $DUMP1090_USER --make-pidfile --background --exec $DAEMON -- \
+		$ARGS \
+		|| return 2
+        sleep 1
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+	#   0 if daemon has been stopped
+	#   1 if daemon was already stopped
+	#   2 if daemon could not be stopped
+	#   other if a failure occurred
+	start-stop-daemon --stop --retry=TERM/30/KILL/5 --pidfile $PIDFILE --user $DUMP1090_USER --name $NAME
+	RETVAL="$?"
+	[ "$RETVAL" = 2 ] && return 2
+        sleep 1
+	# Many daemons don't delete their pidfiles when they exit.
+	rm -f $PIDFILE
+	return "$RETVAL"
+}
+
+case "$1" in
+  start)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC:" "$NAME"
+	do_start
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  stop)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC:" "$NAME"
+	do_stop
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  status)
+	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+	;;
+  restart|force-reload)
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+		# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+  *)
+	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
diff --git a/debian/dump1090-mr.postinst b/debian/dump1090-mr.postinst
new file mode 100644
index 0000000..e727c02
--- /dev/null
+++ b/debian/dump1090-mr.postinst
@@ -0,0 +1,40 @@
+#!/bin/sh
+# postinst script for dump1090
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+        adduser --system --home /usr/share/dump1090-mr --no-create-home --quiet dump1090
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/dump1090-mutability.git



More information about the pkg-hamradio-commits mailing list