From 532b77d09cd8c004d3dce66f007d3b022098e0c9 Mon Sep 17 00:00:00 2001 From: "Douglas E. Warner" Date: Mon, 16 Mar 2009 13:54:41 +0000 Subject: [PATCH] - updating to 2.38 - creating init script and sysconfig files - migrating hotplug rules to udev + hotplug wrapper script from svn r5147 - updating pyexecdir patch - fixing udev rule subsystem match - Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added - Scaling on E error-estimate fields fixed to match O - Listen on localhost only by default to avoid security problems; this can be overridden with the -G command-line option - The packet-state machine can now recognize RTCM3 packets, though support is not yet complete - Added support for ublox5 and mkt-3301 devices - Add a wrapper around gpsd_hexdump to save CPU - Lots of little fixes to various packet parsers - Always keep the device open: "-n" is not optional any more - xgpsspeed no longer depends on Motif - gpsctl can now ship arbitrary payloads to a device; It's possible to send binary through the control channel with the new "&" command - Experimental new driver for Novatel SuperStarII - The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather than 'rtcm104'; this is design forward for when RTCM104v2 is fully working --- .cvsignore | 3 +- gpsd-logo.png | Bin 0 -> 16518 bytes gpsd.hotplug.wrapper | 28 ++++++ gpsd.init | 91 ++++++++++++++++++ gpsd.rules | 41 ++++++++ gpsd.spec | 67 ++++++++++--- gpsd.sysconfig | 2 + ...> python-pyexecdir-install-gpsd-2.38.patch | 28 +++--- sources | 4 +- zero.patch | 26 ----- 10 files changed, 234 insertions(+), 56 deletions(-) create mode 100644 gpsd-logo.png create mode 100644 gpsd.hotplug.wrapper create mode 100644 gpsd.init create mode 100644 gpsd.rules create mode 100644 gpsd.sysconfig rename python-pyexecdir-install-gpsd-2.37.patch => python-pyexecdir-install-gpsd-2.38.patch (87%) delete mode 100644 zero.patch diff --git a/.cvsignore b/.cvsignore index f1b773d..5af95f3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1 @@ -gpsd-2.37.tar.gz -gpsd-logo.png +gpsd-2.38.tar.gz diff --git a/gpsd-logo.png b/gpsd-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..83ca308013ba016901c96ec21dfb7bf4face5128 GIT binary patch literal 16518 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 UQ?XPA{vb$BT1l!_!X)(n06ryC9smFU literal 0 HcmV?d00001 diff --git a/gpsd.hotplug.wrapper b/gpsd.hotplug.wrapper new file mode 100644 index 0000000..3c68cab --- /dev/null +++ b/gpsd.hotplug.wrapper @@ -0,0 +1,28 @@ +#! /bin/bash +# $Id$ + +if [ "$ACTION" == "remove" ] ; then + if [ $(echo $DEVLINKS | grep -q /dev/gps) ] ; then + exec /lib/udev/gpsd.hotplug "$ACTION" "$DEVNAME" + fi + exit 0 +fi + +# This was formerly in /lib/udev/hotplug.functions +wait_for_file() { + [ -e "$1" ] && return 0 + local count=0 + while sleep 1; do + let count=count+1 + [ -e "$1" ] && return 0 + if [ $count -gt 60 ]; then + return 1 + fi + done +} + +# wait for /usr & /var to be mounted +wait_for_file /usr/bin/python && \ +wait_for_file /var/run && \ + exec /lib/udev/gpsd.hotplug "$ACTION" "$DEVNAME" + diff --git a/gpsd.init b/gpsd.init new file mode 100644 index 0000000..305ccb3 --- /dev/null +++ b/gpsd.init @@ -0,0 +1,91 @@ +#!/bin/sh +# +# gpsd Service daemon for mediating access to a GPS +# +# chkconfig: - 44 66 +# description: gpsd is a service daemon that mediates access to a GPS sensor \ +# connected to the host computer by serial or USB interface, \ +# making its data on the location/course/velocity of the sensor \ +# available to be queried on TCP port 2947 of the host computer. +# processname: gpsd +# pidfile: /var/run/gpsd.pid + +# http://fedoraproject.org/wiki/FCNewInit/Initscripts +### BEGIN INIT INFO +# Provides: gpsd +# Required-Start: network +# Required-Stop: network +# Should-Start: +# Should-Stop: +# Default-Start: +# Default-Stop: +# Short-Description: Service daemon for mediating access to a GPS +# Description: gpsd is a service daemon that mediates access to a GPS sensor +# connected to the host computer by serial or USB interface, making its +# data on the location/course/velocity of the sensor available to be +# queried on TCP port 2947 of the host computer. +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +exec="/usr/bin/gpsd" +prog=$(basename $exec) +PIDFILE=/var/run/gpsd.pid +CONTROL_SOCKET=/var/run/gpsd.sock + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog +OPTIONS="-n" +DEVICE="/dev/ttyUSB0" + +lockfile=/var/lock/subsys/$prog + +start() { + echo -n $"Starting $prog: " + daemon $exec -p $PIDFILE -F $CONTROL_SOCKET $OPTIONS $DEVICE + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + +stop() { + echo -n $"Stopping $prog: " + killproc $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart) + $1 + ;; + force-reload) + restart + ;; + status) + status $prog + ;; + try-restart|condrestart) + if status $prog >/dev/null ; then + restart + fi + ;; + reload) + status $prog >/dev/null || exit 7 + # If config can be reloaded without restarting, implement it here, + # remove the "exit", and add "reload" to the usage message below. + action $"Service $prog does not support the reload action: " /bin/false + exit 3 + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}" + exit 2 +esac diff --git a/gpsd.rules b/gpsd.rules new file mode 100644 index 0000000..2b8e743 --- /dev/null +++ b/gpsd.rules @@ -0,0 +1,41 @@ +# udev rules for gpsd +# $Id$ +# +# GPSes don't have their own USB device class. They're serial-over-USB +# devices, so what you see is actually the ID of the serial-over-USB chip. +# Fortunately, just two of these account for over 80% of consumer-grade +# GPS sensors. The gpsd.hotplug.wrapper script will tell a running gpsd +# that it should look at the device that just went active, because it +# might be a GPS. +# +# The following setup works on Debian - something similar will apply on +# other distributions: +# +# /etc/udev/gpsd.rules +# /etc/udev/rules.d/025_gpsd.rules -> ../gpsd.rules +# /lib/udev/gpsd.hotplug.wrapper +# /lib/udev/gpsd.hotplug +# +# Setting the link in /etc/udev/rules.d activates the rule and determines +# when to run it on boot (similar to init.d processing). + +SUBSYSTEM!="usb", GOTO="gpsd_rules_end" + +# Prolific Technology, Inc. PL2303 Serial Port +SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2303", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# ATEN International Co., Ltd UC-232A Serial Port [pl2303] +SYSFS{idVendor}=="0557", SYSFS{idProduct}=="2008", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# FTDI 8U232AM +SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6001", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# Cypress M8/CY7C64013 (DeLorme uses these) +SYSFS{idVendor}=="1163", SYSFS{idProduct}=="0100", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# PS-360 OEM (Microsoft GPS sold with Street and Trips 2005) +SYSFS{idVendor}=="067b", SYSFS{idProduct}=="aaa0", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# Garmin International GPSmap, various models (tested with Garmin GPS 18 USB) +SYSFS{idVendor}=="091e", SYSFS{idProduct}=="0003", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# Cygnal Integrated Products, Inc. CP210x Composite Device (Used by Holux m241) +SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" + +ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug.wrapper" + +LABEL="gpsd_rules_end" diff --git a/gpsd.spec b/gpsd.spec index f223e43..d956c4b 100644 --- a/gpsd.spec +++ b/gpsd.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: gpsd -Version: 2.37 -Release: 4%{?dist} +Version: 2.38 +Release: 2%{?dist} Summary: Service daemon for mediating access to a GPS Group: System Environment/Daemons @@ -12,14 +12,18 @@ Source0: http://download.berlios.de/gpsd/%{name}-%{version}.tar.gz Source1: xgps.desktop Source2: xgpsspeed.desktop Source3: gpsd-logo.png -Patch0: python-pyexecdir-install-gpsd-2.37.patch -Patch1: zero.patch +Source10: gpsd.init +Source11: gpsd.sysconfig +Source20: gpsd.rules +Source21: gpsd.hotplug.wrapper +Patch0: python-pyexecdir-install-gpsd-2.38.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: dbus-devel dbus-glib-devel ncurses-devel xmlto python-devel BuildRequires: lesstif-devel libXaw-devel desktop-file-utils BuildRequires: python +Requires: udev Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -64,7 +68,6 @@ can run on a serial terminal or terminal emulator. %prep %setup -q %patch0 -p1 -%patch1 -p0 %build @@ -84,10 +87,24 @@ make DESTDIR=%{buildroot} install %{__install} -p -m 0644 xgpsspeed.ad \ %{buildroot}%{_datadir}/X11/app-defaults/xgpsspeed +# init scripts +%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/init.d +%{__install} -p -m 0644 %{SOURCE10} \ + %{buildroot}%{_sysconfdir}/init.d/gpsd + +%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig +%{__install} -p -m 0644 %{SOURCE11} \ + %{buildroot}%{_sysconfdir}/sysconfig/gpsd + +# udev rules +%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/udev/rules.d +%{__install} -p -m 0644 %{SOURCE20} \ + %{buildroot}%{_sysconfdir}/udev/rules.d/99-gpsd.rules + # hotplug script -%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/hotplug.d/usb -%{__install} -p -m 0644 gpsd.hotplug gpsd.usermap \ - %{buildroot}%{_sysconfdir}/hotplug.d/usb/ +%{__install} -d -m 0755 %{buildroot}/lib/udev +%{__install} -p -m 0755 gpsd.hotplug %{SOURCE21} \ + %{buildroot}/lib/udev # remove .la files rm -f %{buildroot}%{_libdir}/libgps.la @@ -126,19 +143,23 @@ rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc README INSTALL COPYING +%config(noreplace) %{_sysconfdir}/init.d/%{name} +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} +%config(noreplace) %{_sysconfdir}/udev/rules.d/* %{_sbindir}/gpsd %{_bindir}/gpsprof %{_bindir}/sirfmon %{_bindir}/gpsctl %{_libdir}/libgps.so.* +/lib/udev/gpsd* %{python_sitearch}/gps.py* +%{python_sitearch}/gpscap.py* +%{python_sitearch}/gpslib.so %{python_sitearch}/gpspacket.so %{_mandir}/man8/gpsd.8* %{_mandir}/man1/gpsprof.1* %{_mandir}/man1/sirfmon.1* %{_mandir}/man1/gpsctl.1* -%{_sysconfdir}/hotplug.d/usb/gpsd.hotplug -%{_sysconfdir}/hotplug.d/usb/gpsd.usermap %files devel %defattr(-,root,root,-) @@ -166,6 +187,7 @@ rm -rf %{buildroot} %{_bindir}/xgps %{_bindir}/xgpsspeed %{_bindir}/cgps +%{_bindir}/gpsdlcdd %{_bindir}/gpspipe %{_bindir}/gpxlogger %{_bindir}/cgpxlogger @@ -185,6 +207,30 @@ rm -rf %{buildroot} %changelog +* Mon Mar 16 2009 Douglas E. Warner - 2.38-2 +- updating to 2.38 +- creating init script and sysconfig files +- migrating hotplug rules to udev + hotplug wrapper script from svn r5147 +- updating pyexecdir patch +- fixing udev rule subsystem match +- Regression test load for RoyalTek RGM3800 and Blumax GPS-009 added +- Scaling on E error-estimate fields fixed to match O +- Listen on localhost only by default to avoid security problems; this can be + overridden with the -G command-line option +- The packet-state machine can now recognize RTCM3 packets, though support is + not yet complete +- Added support for ublox5 and mkt-3301 devices +- Add a wrapper around gpsd_hexdump to save CPU +- Lots of little fixes to various packet parsers +- Always keep the device open: "-n" is not optional any more +- xgpsspeed no longer depends on Motif +- gpsctl can now ship arbitrary payloads to a device; + It's possible to send binary through the control channel with the + new "&" command +- Experimental new driver for Novatel SuperStarII +- The 'g' mode switch command now requires, and returns, 'rtcm104v2' rather + than 'rtcm104'; this is design forward for when RTCM104v2 is fully working + * Tue Feb 24 2009 Fedora Release Engineering - 2.37-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild @@ -193,7 +239,6 @@ rm -rf %{buildroot} * Wed Mar 19 2008 Douglas E. Warner - 2.37-2 - moving gpspacket.so python lib to main package -- adding zero.patch to make ZEROIZE error go away on fedora 7 * Wed Feb 27 2008 Douglas E. Warner - 2.37-1 - update to 2.37 diff --git a/gpsd.sysconfig b/gpsd.sysconfig new file mode 100644 index 0000000..1f7b1f6 --- /dev/null +++ b/gpsd.sysconfig @@ -0,0 +1,2 @@ +OPTIONS="-n" +DEVICE="/dev/ttyUSB0" diff --git a/python-pyexecdir-install-gpsd-2.37.patch b/python-pyexecdir-install-gpsd-2.38.patch similarity index 87% rename from python-pyexecdir-install-gpsd-2.37.patch rename to python-pyexecdir-install-gpsd-2.38.patch index 90df748..e24c83a 100644 --- a/python-pyexecdir-install-gpsd-2.37.patch +++ b/python-pyexecdir-install-gpsd-2.38.patch @@ -1,7 +1,7 @@ -diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in ---- gpsd-2.37/Makefile.in 2008-02-17 12:41:06.000000000 -0500 -+++ gpsd-2.37-new/Makefile.in 2008-02-28 11:45:00.000000000 -0500 -@@ -77,7 +77,7 @@ +diff -ruN gpsd-2.38-orig/Makefile.in gpsd-2.38/Makefile.in +--- gpsd-2.38-orig/Makefile.in 2009-02-10 15:44:43.000000000 -0500 ++++ gpsd-2.38/Makefile.in 2009-02-12 11:04:18.000000000 -0500 +@@ -75,7 +75,7 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" \ @@ -10,12 +10,12 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" \ "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" \ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" \ -@@ -966,21 +966,21 @@ - uninstall-info-am: +@@ -1005,21 +1005,21 @@ + -rm -f libtool install-nodist_pythonPYTHON: $(nodist_python_PYTHON) @$(NORMAL_INSTALL) -- test -z "$(pythondir)" || $(mkdir_p) "$(DESTDIR)$(pythondir)" -+ test -z "$(pyexecdir)" || $(mkdir_p) "$(DESTDIR)$(pyexecdir)" +- test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)" ++ test -z "$(pyexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pyexecdir)" @list='$(nodist_python_PYTHON)'; dlist=''; for p in $$list; do\ if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ if test -f $$b$$p; then \ @@ -37,7 +37,7 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in fi; \ else :; fi -@@ -988,27 +988,27 @@ +@@ -1027,27 +1027,27 @@ @$(NORMAL_UNINSTALL) @list='$(nodist_python_PYTHON)'; dlist=''; for p in $$list; do\ f=$(am__strip_dir) \ @@ -50,8 +50,8 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in done install-pythonPYTHON: $(python_PYTHON) @$(NORMAL_INSTALL) -- test -z "$(pythondir)" || $(mkdir_p) "$(DESTDIR)$(pythondir)" -+ test -z "$(pyexecdir)" || $(mkdir_p) "$(DESTDIR)$(pyexecdir)" +- test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)" ++ test -z "$(pyexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pyexecdir)" @list='$(python_PYTHON)'; dlist=''; for p in $$list; do\ if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ if test -f $$b$$p; then \ @@ -73,7 +73,7 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in fi; \ else :; fi -@@ -1016,9 +1016,9 @@ +@@ -1055,9 +1055,9 @@ @$(NORMAL_UNINSTALL) @list='$(python_PYTHON)'; dlist=''; for p in $$list; do\ f=$(am__strip_dir) \ @@ -86,12 +86,12 @@ diff -ruN gpsd-2.37/Makefile.in gpsd-2.37-new/Makefile.in done install-man1: $(man1_MANS) $(man_MANS) @$(NORMAL_INSTALL) -@@ -1436,7 +1436,7 @@ +@@ -1478,7 +1478,7 @@ install-binPROGRAMS: install-libLTLIBRARIES installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(pythondir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(pyexecdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) diff --git a/sources b/sources index ba86350..da5315e 100644 --- a/sources +++ b/sources @@ -1,3 +1 @@ -6c96cc0b2df0279cb7baac1ebc5881d3 gpsd-2.37.tar.gz -f742145dff43d607f7014aa387835738 gpsd-logo.png - +725c320ca6fa35bcdaa1de2d8908f392 gpsd-2.38.tar.gz diff --git a/zero.patch b/zero.patch deleted file mode 100644 index 41923a2..0000000 --- a/zero.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- libgpsd_core.c.orig 2008-03-19 12:11:55.000000000 -0700 -+++ libgpsd_core.c 2008-03-19 12:14:28.000000000 -0700 -@@ -415,6 +415,7 @@ - tm.tm_mon++; - tm.tm_year %= 100; - } -+#define ZEROIZE(x) (isnan(x)!=0 ? 0.0 : x) - /*@ -usedef @*/ - (void)snprintf(bufp, len, - "$GPRMC,%02d%02d%02d,%c,%09.4f,%c,%010.4f,%c,%.4f,%.3f,%02d%02d%02d,,", -@@ -426,14 +427,13 @@ - ((session->gpsdata.fix.latitude > 0) ? 'N' : 'S'), - degtodm(fabs(session->gpsdata.fix.longitude)), - ((session->gpsdata.fix.longitude > 0) ? 'E' : 'W'), --#define ZEROIZE(x) (isnan(x)!=0 ? 0.0 : x) - ZEROIZE(session->gpsdata.fix.speed * MPS_TO_KNOTS), - ZEROIZE(session->gpsdata.fix.track), --#undef ZEROIZE - tm.tm_mday, - tm.tm_mon, - tm.tm_year); - /*@ +usedef @*/ -+#undef ZEROIZE - nmea_add_checksum(bufp); - } -