summaryrefslogtreecommitdiff
path: root/recipes/gpsd
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/gpsd
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/gpsd')
-rw-r--r--recipes/gpsd/files/gps-hardware2
-rwxr-xr-xrecipes/gpsd/files/gpsd87
-rw-r--r--recipes/gpsd/files/gpsd-default3
-rw-r--r--recipes/gpsd/files/om-gta01/gps-hardware41
-rw-r--r--recipes/gpsd/files/om-gta01/gpsd-default3
-rw-r--r--recipes/gpsd/files/om-gta01/restart_gllin.sh6
-rw-r--r--recipes/gpsd/files/om-gta02/gpsd-default3
-rw-r--r--recipes/gpsd/gpsd.inc91
-rw-r--r--recipes/gpsd/gpsd_2.38.bb3
9 files changed, 239 insertions, 0 deletions
diff --git a/recipes/gpsd/files/gps-hardware b/recipes/gpsd/files/gps-hardware
new file mode 100644
index 0000000000..ff2ddb3650
--- /dev/null
+++ b/recipes/gpsd/files/gps-hardware
@@ -0,0 +1,2 @@
+# This is a dummy file. Some machines use it to bring up integrated GPS
+# devices on demand.
diff --git a/recipes/gpsd/files/gpsd b/recipes/gpsd/files/gpsd
new file mode 100755
index 0000000000..91f09c1b75
--- /dev/null
+++ b/recipes/gpsd/files/gpsd
@@ -0,0 +1,87 @@
+#!/bin/sh
+#
+# gpsd This shell script starts and stops gpsd.
+#
+# chkconfig: 345 90 40
+# description: Gpsd manages access to a serial- or USB-connected GPS
+# processname: gpsd
+
+# Source function library.
+#. /etc/rc.d/init.d/functions
+
+RETVAL=0
+DAEMON=/usr/sbin/gpsd
+prog="gpsd"
+
+test -f /etc/default/$prog && . /etc/default/$prog
+
+start() {
+ # Start daemons.
+ echo -n "Starting $prog: "
+ # We don't use the daemon function here because of a known bug
+ # in initlog -- it spuriously returns a nonzero status when
+ # starting daemons that fork themselves. See
+ # http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130629
+ # for discussion. Fortunately:
+ #
+ # 1. gpsd startup can't fail, or at least not in the absence of
+ # much larger resource-exhaustion problems that would be very obvious.
+ #
+ # 2. We don't need all the logging crud that daemon/initlog sets
+ # up -- gpsd does its own syslog calls.
+ #
+
+ if test -x /etc/init.d/gps-hardware
+ then
+ if ! ( /etc/init.d/gps-hardware status | grep -q "ready" )
+ then
+ /etc/init.d/gps-hardware start
+ fi
+ fi
+
+ if [ -e "${GPS_DEV}" ]
+ then
+ start-stop-daemon -S -x ${DAEMON} -- ${GPSD_OPTS} ${GPS_DEV}
+ echo "success"
+ else
+ # User needs to symlink ${GPS_DEV} to the right thing
+ echo "No ${GPS_DEV} GPS device, aborting gpsd startup. Check /etc/default/$prog"
+ fi
+ RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+stop() {
+ # Stop daemons.
+ echo -n "Shutting down $prog: "
+ start-stop-daemon -K -x ${DAEMON}
+# killproc gpsd
+ RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ status)
+# status gpsd
+# RETVAL=$?
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+esac
+
+exit $RETVAL
diff --git a/recipes/gpsd/files/gpsd-default b/recipes/gpsd/files/gpsd-default
new file mode 100644
index 0000000000..c345edf974
--- /dev/null
+++ b/recipes/gpsd/files/gpsd-default
@@ -0,0 +1,3 @@
+# If you must specify a non-NMEA driver, uncomment and modify the next line
+#GPSD_OPTS=
+GPS_DEV="/dev/ttyS3"
diff --git a/recipes/gpsd/files/om-gta01/gps-hardware b/recipes/gpsd/files/om-gta01/gps-hardware
new file mode 100644
index 0000000000..6490f52c27
--- /dev/null
+++ b/recipes/gpsd/files/om-gta01/gps-hardware
@@ -0,0 +1,41 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2008
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: gps-hardware
+# Date: 20080103 (YMD)
+#
+#################################################################################
+#
+# 20080103 - v0.0.1 - Initial release
+
+if ! test -e /home/root/gllin/gllin
+then
+ echo -e "\n\ngllin GPS driver for Neo1973 not found,"
+ echo "please install the gllin package from"
+ echo "http://3rdparty.downloads.openmoko.org/gllin/"
+ echo ""
+ exit 1
+fi
+
+
+do_start() {
+ /home/root/gllin/gllin >/var/log/gllin.log 2>&1 &
+ sleep 1
+}
+
+do_stop() {
+ gllin_PIDs="`ps ax | grep "/home/root/gllin" | grep -v grep | awk '{print $1}'`"
+ test -n "$gllin_PIDs" && kill $gllin_PIDs
+}
+
+do_status() {
+ ps ax | grep -v grep | grep -q gllin && echo "ready" || echo "unknown"
+}
+
+case "$1" in
+ start) do_start ;;
+ stop) do_stop ;;
+ status) do_status ;;
+esac
diff --git a/recipes/gpsd/files/om-gta01/gpsd-default b/recipes/gpsd/files/om-gta01/gpsd-default
new file mode 100644
index 0000000000..abd35927e5
--- /dev/null
+++ b/recipes/gpsd/files/om-gta01/gpsd-default
@@ -0,0 +1,3 @@
+# If you must specify a non-NMEA driver, uncomment and modify the next line
+#GPSD_OPTS=
+GPS_DEV="/tmp/nmeaNP"
diff --git a/recipes/gpsd/files/om-gta01/restart_gllin.sh b/recipes/gpsd/files/om-gta01/restart_gllin.sh
new file mode 100644
index 0000000000..50810c3583
--- /dev/null
+++ b/recipes/gpsd/files/om-gta01/restart_gllin.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+/etc/init.d/gps-hardware stop
+sleep 1
+/etc/init.d/gps-hardware start
+
diff --git a/recipes/gpsd/files/om-gta02/gpsd-default b/recipes/gpsd/files/om-gta02/gpsd-default
new file mode 100644
index 0000000000..be43103412
--- /dev/null
+++ b/recipes/gpsd/files/om-gta02/gpsd-default
@@ -0,0 +1,3 @@
+# If you must specify a non-NMEA driver, uncomment and modify the next line
+#GPSD_OPTS=
+GPS_DEV="/dev/ttySAC1"
diff --git a/recipes/gpsd/gpsd.inc b/recipes/gpsd/gpsd.inc
new file mode 100644
index 0000000000..1022091c6c
--- /dev/null
+++ b/recipes/gpsd/gpsd.inc
@@ -0,0 +1,91 @@
+DESCRIPTION = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "dbus-glib ncurses python"
+PROVIDES = "virtual/gpsd"
+
+EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \
+ --x-libraries=${STAGING_LIBDIR} \
+ --enable-dbus \
+ --enable-python"
+
+SRC_URI = "http://download.berlios.de/gpsd/gpsd-${PV}.tar.gz \
+ file://gpsd-default \
+ file://gps-hardware \
+ file://gpsd"
+
+SRC_URI_append_om-gta01 = " \
+ file://restart_gllin.sh \
+"
+
+inherit autotools update-rc.d
+
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 35"
+
+LDFLAGS += "-L${STAGING_LIBDIR} -lm"
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+do_compile_prepend() {
+ export BUILD_SYS="${BUILD_SYS}"
+ export HOST_SYS="${HOST_SYS}"
+ find ${S} -name "*.so" -exec rm -f {} \;
+}
+
+do_install_prepend() {
+ export BUILD_SYS="${BUILD_SYS}"
+ export HOST_SYS="${HOST_SYS}"
+}
+
+do_stage() {
+ oe_libinstall -so libgps ${STAGING_LIBDIR}
+ install -m 0644 ${S}/gps.h ${STAGING_INCDIR}
+ install -m 0644 ${S}/gpsd.h ${STAGING_INCDIR}
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -d ${D}/dev
+ install -m 0755 ${WORKDIR}/gpsd ${D}/${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/gps-hardware ${D}/${sysconfdir}/init.d/gps-hardware.default
+ install -d ${D}/${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/gpsd-default ${D}/${sysconfdir}/default/gpsd.default
+}
+
+do_install_append_om-gta01() {
+ install -d ${D}/${sysconfdir}/apm/resume.d
+ install -m 755 ${WORKDIR}/restart_gllin.sh ${D}/${sysconfdir}/apm/resume.d
+}
+
+pkg_postinst_${PN}-conf() {
+ update-alternatives --install ${sysconfdir}/default/gpsd gpsd-defaults ${sysconfdir}/default/gpsd.default 10
+ update-alternatives --install ${sysconfdir}/init.d/gps-hardware gps-hardware ${sysconfdir}/init.d/gps-hardware.default 10
+}
+
+pkg_postrm_${PN}-conf() {
+ update-alternatives --remove gpsd-defaults ${sysconfdir}/default/gpsd.default
+ update-alternatives --remove gps-hardware ${sysconfdir}/init.d/gps-hardware.default
+}
+
+SRC_URI_OVERRIDES_PACKAGE_ARCH = "0"
+
+PACKAGES =+ "libgps python-pygps gpsd-conf gpsd-gpsctl gps-utils"
+
+PACKAGE_ARCH_gpsd-conf = "${MACHINE_ARCH}"
+
+RDEPENDS_${PN} = "gpsd-conf gpsd-gpsctl"
+
+FILES_libgps = "${libdir}/*.so.*"
+FILES_gpsd-conf = "${sysconfdir}"
+FILES_gpsd-gpsctl = "${bindir}/gpsctl"
+FILES_gps-utils = "${bindir}/*"
+
+# might split them up even more fine granular
+RDEPENDS_gps-utils = "python-pygps"
+
+DESCRIPTION_python-pygps = "Python bindings to gpsd"
+FILES_python-pygps = "${libdir}/*/site-packages/*"
+RDEPENDS_python-pygps = "python-core python-curses gpsd"
+
diff --git a/recipes/gpsd/gpsd_2.38.bb b/recipes/gpsd/gpsd_2.38.bb
new file mode 100644
index 0000000000..58e9ebeee2
--- /dev/null
+++ b/recipes/gpsd/gpsd_2.38.bb
@@ -0,0 +1,3 @@
+require gpsd.inc
+
+PR = "r0"