Subject: [alpine-devel] [PATCH] gpsd - interface daemon for GPS receivers

From: Nathan Angelacos <[email-masked]>
Date: Wed, 1 Aug 2012 03:42:51 +0000

testing/gpsd
 APKBUILD
 gpsd.confd
 gpsd.initd
---
 testing/gpsd/APKBUILD   | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
 testing/gpsd/gpsd.confd | 26 +++++++++++++++++++++++
 testing/gpsd/gpsd.initd | 36 ++++++++++++++++++++++++++++++++
 3 files changed, 117 insertions(+)
 create mode 100644 testing/gpsd/APKBUILD
 create mode 100644 testing/gpsd/gpsd.confd
 create mode 100644 testing/gpsd/gpsd.initd

diff --git a/testing/gpsd/APKBUILD b/testing/gpsd/APKBUILD
new file mode 100644
index 0000000..1a5526a
--- /dev/null
+++ b/testing/gpsd/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Nathan Angelacos <[email-masked]>
+# Maintainer: Nathan Angelacos <[email-masked]>
+pkgname=gpsd
+pkgver=3.7
+pkgrel=0
+pkgdesc="A GPS daemon"
+arch=all
+url="http://catb.org/gpsd/"
+license="BSD"
+depends="libcap"
+makedepends="scons python-dev libcap-dev"
+install=
+# subpackages="$pkgname-doc $pkgname-dev"
+source="http://download-mirror.savannah.gnu.org/releases/gpsd/$pkgname-$pkgver.tar.gz
+	gpsd.initd
+	gpsd.confd"
+
+_builddir="$srcdir"/$pkgname-$pkgver
+
+prepare() {
+	local i
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
+build() {
+	cd "$_builddir"
+	export CPPFLAGS=\"$CPPFLAGS\"
+	scons -j${JOBS:-2} \
+		prefix=/usr \
+		|| return 1
+}
+
+package() {
+    cd "$_builddir"
+
+    mkdir -p "$pkgdir"/usr/lib
+    cp "$_builddir"/libgps*.so* "$pkgdir"/usr/lib/
+
+    mkdir -p "$pkgdir"/usr/sbin
+    for a in gpsdecode gpsd gpsctl gpsdctl gpspipe; do
+     install -m755 -D "$_builddir/"$a "$pkgdir"/usr/sbin/
+    done 
+    
+    install -m755 -D "$srcdir"/gpsd.initd "$pkgdir"/etc/init.d/gpsd
+    install -m644 -D "$srcdir"/gpsd.confd "$pkgdir"/etc/conf.d/gpsd
+}
+
+md5sums="52d9785eaf1a51298bb8900dbde88f98  gpsd-3.7.tar.gz
+ac2c2a034c15df16c28c755d47d3dd74  gpsd.initd
+5ece6caa9e2202984fcf4853ecbe42e6  gpsd.confd"
diff --git a/testing/gpsd/gpsd.confd b/testing/gpsd/gpsd.confd
new file mode 100644
index 0000000..27bb332
--- /dev/null
+++ b/testing/gpsd/gpsd.confd
@@ -0,0 +1,26 @@
+# /etc/conf.d/gpsd
+
+# The GPS device (/dev/ttyUSB0, /dev/ttyS0, ...)
+ 
+DEVICE=""
+
+# Optional arguments
+#  Options include:
+#   -b                        = bluetooth-safe: open data sources read-only
+#   -n                        = don't wait for client connects to poll GPS
+#   -N                        = don't go into background
+#   -F sockfile               = specify control socket location
+#   -G                        = make gpsd listen on INADDR_ANY
+#   -D integer (default 0)    = set debug level
+#   -S integer (default 2947) = set port for daemon
+
+ARGS="-n "
+
+# Serial setup
+#
+# For serial interfaces, options such as low_latency are recommended
+# Uncomment the following line to set the /dev/ttySxx device options, if 
+# desired:
+
+# /bin/setserial ${DEVICE} low_latency
+
diff --git a/testing/gpsd/gpsd.initd b/testing/gpsd/gpsd.initd
new file mode 100644
index 0000000..985271f
--- /dev/null
+++ b/testing/gpsd/gpsd.initd
@@ -0,0 +1,36 @@
+#!/sbin/runscript
+# Copyright 2012 Nathan Angelacos 
+
+depend() {
+	need net
+	after firewall
+	use ntp-server
+}
+
+GPS=${SVCNAME#*.}
+if [ -n "${GPS}" ] && [ ${SVCNAME} != "gpsd" ]; then
+   GPSPID="/var/run/gpsd.${GPS}.pid"
+else
+   GPSPID="/var/run/gpsd.pid"
+fi
+
+start() {
+
+        if [ -z "${DEVICE}" ]; then
+		eerror "Specify a GPS device in /etc/conf.d/${SVCNAME}" 
+		return 1
+        fi
+
+	ebegin "Starting gpsd"
+	start-stop-daemon --start --quiet \
+		--exec /usr/sbin/gpsd \
+		--  ${ARGS} -P "${GPSPID}" ${DEVICE}
+	eend $? "Failed to start gpsd"
+}
+
+stop() {
+	ebegin "Stopping gpsd"
+	start-stop-daemon --stop --quiet \
+		--pidfile "${GPSPID}"
+	eend $? "Failed to stop gpsd"
+}
-- 
1.7.11.3

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---