summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1
-rwxr-xr-xgpsd.hotplug57
-rw-r--r--gpsd.spec.in3
3 files changed, 17 insertions, 44 deletions
diff --git a/Makefile.am b/Makefile.am
index 2631d332..d87b0239 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -130,6 +130,7 @@ EXTRA_DIST = \
gpsprof \
gpsfake \
gpsd.hotplug \
+ gpsd.usermap \
logextract
# These are not distributed
diff --git a/gpsd.hotplug b/gpsd.hotplug
index b9b4e810..5cc0f864 100755
--- a/gpsd.hotplug
+++ b/gpsd.hotplug
@@ -1,12 +1,6 @@
-#!/usr/bin/env python
-#
-# gpsd.hotplug -- hotplug script for gpsd
-#
-# This script will tell a running gpsd that it should look at the
-# device that just went active, because it might be a GPS.
-#
-# This script is part of the gpsd distrbution: see http://gpsd.berlios.de
-# Written by Eric S. Raymond, March 2005.
+#!/usr/bin/python
+# Hotplug script for gpsd by Eric S. Raymond, March 2005
+# This script is part of the gpsd distribution: see http://gpsd.berlios.de
import os, syslog, glob, socket
def gpsd_connect():
@@ -31,11 +25,9 @@ def gpsd_connect():
syslog.syslog("gpsd is not running or is unreachable")
return None
else:
- syslog.syslog("found gpsd.")
return sockfile
def wake_up_gpsd(devpath):
- # First, discover the device
subnodes = glob.glob("/sys" + devpath + "/*")
subnodes = map(os.path.basename, subnodes)
subnodes = filter(lambda s: s.startswith("ttyUSB"), subnodes)
@@ -48,13 +40,6 @@ def wake_up_gpsd(devpath):
else:
tty = "/dev/" + subnodes[0]
syslog.syslog(tty + " has gone active")
- # Cope with a race condition
- i = 0
- while not os.path.exists(tty):
- syslog.syslog("but " + tty + " does not actually exist (" + `i` +")")
- time.sleep(1)
- i += 1
- syslog.syslog(tty + "created")
# Next get a connection to gpsd; start one if not already running
connect = gpsd_connect()
@@ -74,32 +59,18 @@ def wake_up_gpsd(devpath):
connect.close()
return
-# 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 Prolific Technology 2303 (commonly in tandem with SiRF chips)
-# FTDI 8U232AM
-# Cypress M8/CY7C64013 (DeLorme uses these)
-supported_products = ("67B/2303", "403/6001", "1163/100")
-
-if __name__ == '__main__':
- action = os.getenv("ACTION")
- devpath = os.getenv("DEVPATH")
- product = os.getenv("PRODUCT")
- syslog.openlog('gpsdplug', 0, syslog.LOG_DAEMON)
- syslog.syslog("gpsdplug begins with action %s" % action)
- syslog.syslog("PRODUCT = %s, DEVPATH = %s" % (product, devpath))
- if not devpath or not action:
- pass
- elif not filter(lambda x: product.startswith(x + "/"), supported_products):
- pass
- elif action == "add":
- wake_up_gpsd(devpath)
- syslog.syslog("gpsdplug ends")
- syslog.closelog()
+syslog.openlog('gpsdplug', 0, syslog.LOG_DAEMON)
+syslog.syslog("gpsdplug begins with action: %s" % os.getenv("ACTION"))
+devpath = os.getenv("DEVPATH")
+if not devpath:
+ syslog.syslog("No DEVPATH")
+else:
+ # First, discover the device
+ #syslog.syslog("DEVPATH = %s" % devpath)
+ wake_up_gpsd(devpath)
+syslog.syslog("gpsdplug ends")
+syslog.closelog()
diff --git a/gpsd.spec.in b/gpsd.spec.in
index ac6e7eb5..04653de1 100644
--- a/gpsd.spec.in
+++ b/gpsd.spec.in
@@ -56,7 +56,7 @@ cp xgpsspeed.ad "$RPM_BUILD_ROOT"%{_libdir}/X11/app-defaults/xgpsspeed
mkdir -p "$RPM_BUILD_ROOT"%{_sysconfdir}/init.d/
cp gpsd.init "$RPM_BUILD_ROOT"%{_sysconfdir}/init.d/gpsd
mkdir -p "$RPM_BUILD_ROOT"%{_sysconfdir}/hotplug.d/usb
-cp gpsd.hotplug "$RPM_BUILD_ROOT"%{_sysconfdir}/hotplug.d/usb/
+cp gpsd.hotplug gpsd.usermap "$RPM_BUILD_ROOT"%{_sysconfdir}/hotplug/usb/
# additional gpsd-devel files
PYVERSION=`python -c "import sys; print sys.version[:3]"`
mkdir -p "$RPM_BUILD_ROOT"%{_libdir}/python${PYVERSION}/site-packages
@@ -86,6 +86,7 @@ cp gps.py gpsd.py "$RPM_BUILD_ROOT"%{_libdir}/python${PYVERSION}/site-packages
%{_mandir}/man1/gpsprobe.1*
%{_mandir}/man1/gpsprof.1*
%{_sysconfdir}/hotplug.d/usb/gpsd.hotplug
+%{_sysconfdir}/hotplug.d/usb/gpsd.usermap
%{_libdir}/X11/app-defaults/xgps
%{_libdir}/X11/app-defaults/xgpsspeed