aboutsummaryrefslogtreecommitdiffstats
path: root/packages/gpsd
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gpsd')
-rw-r--r--packages/gpsd/files/fic-gta01/gps-hardware41
-rwxr-xr-xpackages/gpsd/files/fic-gta01/gpsd105
-rw-r--r--packages/gpsd/files/fic-gta01/restart_gllin.sh6
-rw-r--r--packages/gpsd/files/gps-hardware2
-rwxr-xr-xpackages/gpsd/files/gpsd11
-rw-r--r--packages/gpsd/gpsd-2.35/.mtn2git_empty0
-rw-r--r--packages/gpsd/gpsd-2.35/gpsd_dbus.patch11
-rw-r--r--packages/gpsd/gpsd.inc40
-rw-r--r--packages/gpsd/gpsd_2.28.bb2
-rw-r--r--packages/gpsd/gpsd_2.34.bb2
-rw-r--r--packages/gpsd/gpsd_2.35.bb8
-rw-r--r--packages/gpsd/gpsd_2.36.bb3
12 files changed, 96 insertions, 135 deletions
diff --git a/packages/gpsd/files/fic-gta01/gps-hardware b/packages/gpsd/files/fic-gta01/gps-hardware
new file mode 100644
index 0000000000..6490f52c27
--- /dev/null
+++ b/packages/gpsd/files/fic-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/packages/gpsd/files/fic-gta01/gpsd b/packages/gpsd/files/fic-gta01/gpsd
deleted file mode 100755
index 113f43dd20..0000000000
--- a/packages/gpsd/files/fic-gta01/gpsd
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/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
-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 -e /home/root/gllin/gllin
- then
- /home/root/gllin/gllin >/var/log/gllin.log 2>&1 &
- else
- 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
-
- if [ -e "${GPS_DEV}" ]
- then
- gpsd ${GPSD_OPTS} -p ${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
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gpsd
- return $RETVAL
-}
-
-stop() {
- # Stop daemons.
- echo -n "Shutting down $prog: "
-
- gllin_PIDs="`ps ax | grep "/home/root/gllin" | grep -v grep | awk '{print $1}'`"
- test -n "$gllin_PIDs" && kill $gllin_PIDs
-
- killall gpsd
- killproc gpsd
- RETVAL=$?
- echo
- if [ $RETVAL -eq 0 ]
- then
- rm -f /var/lock/subsys/gpsd;
- fi
- return $RETVAL
-}
-
-# See how we were called.
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart|reload)
- stop
- start
- RETVAL=$?
- ;;
- condrestart)
- if [ -f /var/lock/subsys/gpsd ]; then
- stop
- start
- RETVAL=$?
- fi
- ;;
- status)
-# status gpsd
-# RETVAL=$?
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|condrestart|status}"
- exit 1
-esac
-
-exit $RETVAL
diff --git a/packages/gpsd/files/fic-gta01/restart_gllin.sh b/packages/gpsd/files/fic-gta01/restart_gllin.sh
new file mode 100644
index 0000000000..50810c3583
--- /dev/null
+++ b/packages/gpsd/files/fic-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/packages/gpsd/files/gps-hardware b/packages/gpsd/files/gps-hardware
new file mode 100644
index 0000000000..ff2ddb3650
--- /dev/null
+++ b/packages/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/packages/gpsd/files/gpsd b/packages/gpsd/files/gpsd
index 3a14867f8a..e536837e1c 100755
--- a/packages/gpsd/files/gpsd
+++ b/packages/gpsd/files/gpsd
@@ -29,9 +29,18 @@ start() {
# 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
- gpsd ${GPSD_OPTS} -p ${GPS_DEV}
+ gpsd ${GPSD_OPTS} ${GPS_DEV}
echo "success"
else
# User needs to symlink ${GPS_DEV} to the right thing
diff --git a/packages/gpsd/gpsd-2.35/.mtn2git_empty b/packages/gpsd/gpsd-2.35/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/packages/gpsd/gpsd-2.35/.mtn2git_empty
+++ /dev/null
diff --git a/packages/gpsd/gpsd-2.35/gpsd_dbus.patch b/packages/gpsd/gpsd-2.35/gpsd_dbus.patch
deleted file mode 100644
index 215b0ecce9..0000000000
--- a/packages/gpsd/gpsd-2.35/gpsd_dbus.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpsd-2.35/gpsd_dbus.h.old 2008-01-02 20:54:33.000000000 -0600
-+++ gpsd-2.35/gpsd_dbus.h 2008-01-02 20:55:35.000000000 -0600
-@@ -6,6 +6,8 @@
-
- #include <dbus/dbus.h>
-
-+#include "gpsd.h"
-+
- int initialize_dbus_connection (void);
- void send_dbus_fix (struct gps_device_t* channel);
-
diff --git a/packages/gpsd/gpsd.inc b/packages/gpsd/gpsd.inc
index d493b2bca7..237971c9c7 100644
--- a/packages/gpsd/gpsd.inc
+++ b/packages/gpsd/gpsd.inc
@@ -3,6 +3,7 @@ SECTION = "console/network"
PRIORITY = "optional"
LICENSE = "GPL"
DEPENDS = "dbus-glib ncurses python"
+RDEPENDS = "gpsd-conf"
EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \
--x-libraries=${STAGING_LIBDIR} \
@@ -11,8 +12,13 @@ EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \
SRC_URI = "http://download.berlios.de/gpsd/gpsd-${PV}.tar.gz \
file://gpsd-default \
+ file://gps-hardware \
file://gpsd"
+SRC_URI_append_fic-gta01 = " \
+ file://restart_gllin.sh \
+ "
+
inherit autotools update-rc.d
INITSCRIPT_NAME = "gpsd"
@@ -32,25 +38,43 @@ do_install_prepend() {
}
do_stage() {
- oe_libinstall -so -C ${S}/.libs libgps ${STAGING_LIBDIR}
- install -m 0655 ${S}/libgps.la ${STAGING_LIBDIR}
- install -m 0655 ${S}/gps.h ${STAGING_INCDIR}
- install -m 0655 ${S}/gpsd.h ${STAGING_INCDIR}
+ 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
+ install -m 0644 ${WORKDIR}/gpsd-default ${D}/${sysconfdir}/default/gpsd.default
}
-PACKAGES =+ "libgps python-pygps"
+do_install_append_fic-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"
+
+PACKAGE_ARCH_gpsd-conf = "${MACHINE_ARCH}"
-FILES_${PN} += "${sysconfdir}"
FILES_libgps = "${libdir}/*.so.*"
-CONFFILES_${PN} = "${sysconfdir}/default/gpsd"
+FILES_gpsd-conf = "${sysconfdir}"
DESCRIPTION_python-pygps = "Python bindings to gpsd"
FILES_python-pygps = "${libdir}/*/site-packages/*"
diff --git a/packages/gpsd/gpsd_2.28.bb b/packages/gpsd/gpsd_2.28.bb
index c16de2e951..7094893b99 100644
--- a/packages/gpsd/gpsd_2.28.bb
+++ b/packages/gpsd/gpsd_2.28.bb
@@ -1,2 +1,2 @@
require gpsd.inc
-PR = "r4"
+PR = "r8"
diff --git a/packages/gpsd/gpsd_2.34.bb b/packages/gpsd/gpsd_2.34.bb
index 8472eb1c15..ea9fe4f550 100644
--- a/packages/gpsd/gpsd_2.34.bb
+++ b/packages/gpsd/gpsd_2.34.bb
@@ -1,4 +1,4 @@
require gpsd.inc
-PR = "r6"
+PR = "r8"
diff --git a/packages/gpsd/gpsd_2.35.bb b/packages/gpsd/gpsd_2.35.bb
deleted file mode 100644
index fcc5c76070..0000000000
--- a/packages/gpsd/gpsd_2.35.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require gpsd.inc
-
-SRC_URI = "http://download.berlios.de/gpsd/gpsd-${PV}.tar.gz \
- file://gpsd-default \
- file://gpsd \
- file://gpsd_dbus.patch;patch=1 "
-
-PR = "r0"
diff --git a/packages/gpsd/gpsd_2.36.bb b/packages/gpsd/gpsd_2.36.bb
new file mode 100644
index 0000000000..726ba42481
--- /dev/null
+++ b/packages/gpsd/gpsd_2.36.bb
@@ -0,0 +1,3 @@
+require gpsd.inc
+
+PR = "r2"