diff --git a/.gitattributes b/.gitattributes index 9b03811..4c1a495 100644 --- a/.gitattributes +++ b/.gitattributes @@ -21,3 +21,5 @@ *.xz filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text +## Specific LFS patterns +gpsd.xpm filter=lfs diff=lfs merge=lfs -text diff --git a/gpsd.changes b/gpsd.changes new file mode 100644 index 0000000..0884034 --- /dev/null +++ b/gpsd.changes @@ -0,0 +1,127 @@ +------------------------------------------------------------------- +Tue Dec 8 14:13:09 UTC 2009 - jreuter@novell.com + +- Upgrade to gpsd-2.90, from the upstream change log: + - GPSD-NG, the new JSON-based command protocol, is now deployed + - Detection of end of a fix-reporting cycle is now reliable + - Abandone gpsflash subproject + - Increase major version of shared library due to significant API change + - Add new driver for Motorola Oncore receivers + - gpsfake can now accept multiple logfiles, interleaving test sentences + from each. + - gpsd now accepts error estimates from the NMEA $GPGBS sentence. + - Fix potential core dump in C client handling of "K" responses + - Introduce major and minor API version symbols into the public interfaces + - The sirfmon utility is gone, replaced by gpsmon + - Fix an old error in NMEA parsing + - cgpxlogger has been merged into gpxlogger. + - Speed-setting commands now allow parity and stop-bit setting + - tcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets + - The clientlibrary now works correctly in locales where the decimal + separator is not a period. +- Typo in sirfmon / gpsmon has been fixed silently by upstream (#bnc513037) +- Make libgps and python modules subpackages + +------------------------------------------------------------------- +Sun Aug 9 12:43:26 CEST 2009 - coolo@novell.com + +- use new python macros + +------------------------------------------------------------------- +Mon Nov 24 12:05:49 CET 2008 - jreuter@suse.de + +- Disable TrueNorth Technologies device support, it breaks + autodection (bnc#448002) +- Fix udev script again: must not kill running gpsd if disabled, + missing quotes in test, indention, add parameter to set additional + command line options for gpsd. + +------------------------------------------------------------------- +Wed Nov 19 12:14:42 CET 2008 - jreuter@suse.de + +- Sleep a second before setting the default device in udev + script to give gpsd some time to set up the TCP socket + +------------------------------------------------------------------- +Thu Oct 23 15:06:28 CEST 2008 - jreuter@suse.de + +- Disable start of gpsd by udev rule by default and add sysconfig + variable to enable it if desired (bnc#432420) + +------------------------------------------------------------------- +Thu Apr 24 13:24:50 CEST 2008 - jreuter@suse.de + +- Fix RPM group tag for devel package +- Cleanup spec file + +------------------------------------------------------------------- +Sat Mar 22 20:02:15 CET 2008 - lrupp@suse.de + +- update to 2.37 + Fixes: + + C++ bindings + + Garmin USB support + + multiple instances of ntp pps thread starting + + better handling of odd PPS signals + + eye candy in the php visualizers +- enable Garmin Simple Text support +- enable True North Technologies support +- disable static +- mark man files as %doc +- added desktop entries +- fix ldconfig calls +- clean buildroot +- PreReq coreutils and fillup_prereq for postinstall + +------------------------------------------------------------------- +Fri Jan 18 16:41:27 CET 2008 - jreuter@suse.de + +- updated to 2.36 + * Integrated Garmin Simple Text Protocol driver from Peter Slansky. + * Stabilize the Trimble regression tests. + * Remove the wired-in NTP time offset from the NMEA driver + * Integrate Ashtech driver from Chris Kuethe. +- Submit to STABLE for 11.0 + +------------------------------------------------------------------- +Thu Dec 13 15:05:00 CET 2007 - opensuse@dstoecker.de + +- updated to 2.35 + +------------------------------------------------------------------- +Tue Nov 20 14:38:48 CET 2007 - anschneider@suse.de + +- update udev rules and script + +------------------------------------------------------------------- +Fri Jun 29 16:31:27 CEST 2007 - anschneider@suse.de + +- Spec file cleanup + +------------------------------------------------------------------- +Sun Dec 17 13:21:22 CEST 2006 - anschneider@suse.de + +- update to version 2.34: + * Fix for byte-swapping of Zodiac control messages on big-endian hardware. + * Disable iTalk by default and note that it needs to be tested. + * Command line arguments can now be DGPSIP or NTRIP URLs; -d is + deprecated. + * Added udev rules. + * Address excessive processor and memory utilization on SBCs; it's now + possible to configure compile-time limits on the number of devices and + client sessions. + * Eliminate use of fuser(1) in gpsfake. + * Get gpsd working with EarthMates again, this had been broken since 2.15. + Massive string safety audit and OpenBSD port by Chris Kuethe. + * J command added. + * The gpsctl and gpscat tools and the gpsd.phps script were added. + * Switched to lesstif from openmotif. + * Better autodetection of DLE-led packet protocols (notably TSIP and Garmin + binary) and of SiRFStar I and III devices. + * Fixed buggy parsing and generation of PGRME. + +------------------------------------------------------------------- +Mon Jun 05 10:44:57 CEST 2006 - anschneider@suse.de + +- Initial package + diff --git a/gpsd.spec b/gpsd.spec new file mode 100644 index 0000000..f90076a --- /dev/null +++ b/gpsd.spec @@ -0,0 +1,295 @@ +# +# spec file for package gpsd (Version 2.90) +# +# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + + +Name: gpsd +Summary: Service daemon for mediating access to a GPS +License: BSD 3-clause (or similar) +Url: http://gpsd.berlios.de/ +Group: Hardware/Other +Version: 2.90 +Release: 0 +%define libgps libgps19 +Requires: udev +PreReq: coreutils %fillup_prereq +BuildRequires: gcc-c++ ncurses-devel openmotif openmotif-devel python-devel udev update-desktop-files xmlto +%if 0%{?suse_version} > 1020 +BuildRequires: dbus-1-glib-devel +BuildRequires: fdupes +%endif +Source: %{name}-%{version}.tar.bz2 +Source1: rules.gpsd +Source2: udev.gpsd +Source3: sysconfig.gpsd +Source4: gpsd.xpm +Source5: xgps.desktop +Source6: xgpsspeed.desktop +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%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. With gpsd, multiple GPS client +applications (such as navigational and wardriving software) can share +access to a GPS without contention or loss of data. Also, gpsd +responds to queries with a format that is substantially easier to parse +than NMEA 0183. A client library is provided for applications. + +After installing this RPM, gpsd will automatically connect to USB GPSes +when they are plugged in and requires no configuration. For serial +GPSes, you will need to start gpsd by hand. Once connected, the daemon +automatically discovers the correct baudrate, stop bits, and protocol. +The daemon will be quiescent when there are no clients asking for +location information, and copes gracefully when the GPS is unplugged +and replugged. + + + +Authors: +-------- + Remco Treffkorn + Derrick J. Brashear + Russ Nelson + Eric S. Raymond + Gary E. Miller + Jeff Francis + Amaury Jacquot + Chris Kuethe + Ville Nuorvala + +%package devel +License: BSD 3-clause (or similar) +Summary: Client libraries in C and Python for talking to a running gpsd or GPS +Group: Development/Libraries +Requires: %name = %version +Requires: pkgconfig + +%description devel +This package provides C header files for the gpsd shared libraries that +manage access to a GPS for applications and debugging tools. You will +need to have gpsd installed for it to work. + + +Authors: +-------- + Remco Treffkorn + Derrick J. Brashear + Russ Nelson + Eric S. Raymond + Gary E. Miller + Jeff Francis + Amaury Jacquot + Chris Kuethe + Ville Nuorvala + + +%package -n %libgps +License: BSD 3-clause (or similar) +Summary: Shared library for GPS applications +Group: Development/Libraries/Python +Requires: %name = %version +%{py_requires} + +%description -n %libgps +This package provides the shared library for gpsd and other GPS aware +applications + +Authors: +-------- + Remco Treffkorn + Derrick J. Brashear + Russ Nelson + Eric S. Raymond + Gary E. Miller + Jeff Francis + Amaury Jacquot + Chris Kuethe + Ville Nuorvala + + +%package -n python-gpsd +License: BSD 3-clause (or similar) +Summary: Client libraries in C and Python for talking to a running gpsd or GPS +Group: Development/Libraries/Python +Requires: %name = %version +%{py_requires} + +%description -n python-gpsd +This package provides python modules and tools for the gpsd shared +You will need to have gpsd installed for it to work. + +Authors: +-------- + Remco Treffkorn + Derrick J. Brashear + Russ Nelson + Eric S. Raymond + Gary E. Miller + Jeff Francis + Amaury Jacquot + Chris Kuethe + Ville Nuorvala + +%package clients +License: BSD 3-clause (or similar) +Summary: Clients for gpsd with an X interface +Group: Hardware/Other + +%description clients +xgps is a simple test client for gpsd with an X interface. It displays +current GPS position/time/velocity information and (for GPSes that +support the feature) the locations of accessible satellites. + +xgpsspeed is a speedometer that uses position information from the GPS. +It accepts an -h option and optional argument as for gps, or a -v +option to dump the package version and exit. Additionally, it accepts +-rv (reverse video) and -nc (needle color) options. + +cgps resembles xgps, but without the pictorial satellite display. It +can run on a serial terminal or terminal emulator. + + + +Authors: +-------- + Remco Treffkorn + Derrick J. Brashear + Russ Nelson + Eric S. Raymond + Gary E. Miller + Jeff Francis + Amaury Jacquot + Chris Kuethe + Ville Nuorvala + +%prep +%setup -q + +%build +%configure --disable-static \ +%if 0%{?suse_version} > 1020 + --enable-dbus \ +%endif + --enable-garmintxt +%__make %{?jobs:-j%jobs} + +%install +%makeinstall +install -d -m 755 %{buildroot}/lib/udev +install -d -m 755 %{buildroot}/etc/udev/rules.d +install -d -m 755 %{buildroot}/var/adm/fillup-templates +install -d -m 755 %{buildroot}%{python_sitelib} +install -d -m 755 %{buildroot}%{_datadir}/{applications,pixmaps} +install -m 644 %{SOURCE1} %{buildroot}/etc/udev/rules.d/51-gpsd.rules +install -m 755 %{SOURCE2} %{buildroot}/lib/udev/gpsd.sh +install -m 644 %{SOURCE3} %{buildroot}/var/adm/fillup-templates +install -m 644 gpsfake.py %{buildroot}%{python_sitelib} +install -m 755 gps.py %{buildroot}%{python_sitelib} +# remove /usr/bin/env call +sed -i "s|/usr/bin/env python|/usr/bin/python|g" %{buildroot}%{python_sitelib}/gps.py +# remove .la files +rm -f %{buildroot}%{_libdir}/libgps.la +strip %{buildroot}%{_bindir}/{cgps,gpsctl,gpsdecode,gpsmon,gpspipe,gpxlogger,lcdgps,xgps,xgpsspeed} +strip %{buildroot}%{_sbindir}/gpsd +strip %{buildroot}%{_libdir}/*so %{buildroot}%{python_sitelib}/*so +# install desktop entries +install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/pixmaps/%{name}.xpm +install -m 644 %{SOURCE5} %{buildroot}%{_datadir}/applications/ +install -m 644 %{SOURCE6} %{buildroot}%{_datadir}/applications/ +%suse_update_desktop_file xgpsspeed +%suse_update_desktop_file xgps +# save some space, create symlinks +%if 0%{?suse_version} > 1020 +%fdupes -s %buildroot +%endif + +%clean +rm -rf %{buildroot} + +%post +%fillup_only -n gpsd + +%post -n %libgps -p /sbin/ldconfig +%postun -n %libgps -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%doc README INSTALL COPYING gpsd.php +%{_mandir}/man?/gpsd.* +%{_mandir}/man?/gpsctl.* +/lib/udev/gpsd.sh +%config(noreplace) /etc/udev/rules.d/* +%{_sbindir}/gpsd +%{_bindir}/gpsctl +/var/adm/fillup-templates/sysconfig.gpsd + +%files -n %libgps +%defattr(-,root,root) +%{_libdir}/libgps.so.* + +%files devel +%defattr(-,root,root) +%doc README INSTALL COPYING TODO +%{_mandir}/man?/gpsfake.* +%{_mandir}/man?/gpscat.* +%{_mandir}/man?/libgps*.* +%{_mandir}/man?/rtcm-104.* +%{_mandir}/man?/srec.* +%{_mandir}/man?/gpsdecode.* +%{_mandir}/man?/gpsprof.* +%{_bindir}/gpsfake +%{_bindir}/gpscat +%{_bindir}/gpsdecode +%{_bindir}/gpsprof +%{_includedir}/gps.h +%{_includedir}/libgpsmm.h +%{_includedir}/gpsd.h +%{_libdir}/libgps.so +%{_libdir}/pkgconfig/libgps*.pc + +%files -n python-gpsd +%defattr(-,root,root) +%{python_sitelib}/gps*.py* +%{python_sitelib}/gpslib.so +%{python_sitelib}/gpspacket.so* + +%files clients +%defattr(-,root,root) +%{_mandir}/man?/gps.* +%{_mandir}/man?/cgps.* +%{_mandir}/man?/lcdgps.1.gz +%{_mandir}/man?/xgps.* +%{_mandir}/man?/xgpsspeed.* +%{_mandir}/man?/gpspipe.* +%{_mandir}/man?/gpsmon.* +%{_mandir}/man?/cgpxlogger.* +%{_bindir}/xgps +%{_bindir}/xgpsspeed +%{_bindir}/cgps +%{_bindir}/lcdgps +%{_bindir}/gpsmon +%{_bindir}/gpspipe +%if 0%{?suse_version} > 1020 +%{_bindir}/gpxlogger +%endif +%{_datadir}/applications/*.desktop +%{_datadir}/pixmaps/*.xpm + +%changelog diff --git a/gpsd.xpm b/gpsd.xpm new file mode 100644 index 0000000..450796f --- /dev/null +++ b/gpsd.xpm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5800f770af55c42163f20094ee35b873126a8976a929571ae9f14f23a788b9b0 +size 31165 diff --git a/project.diff b/project.diff deleted file mode 100644 index e6971e6..0000000 --- a/project.diff +++ /dev/null @@ -1,215 +0,0 @@ ---- gpsd.changes.orig -+++ gpsd.changes -@@ -1,7 +1,26 @@ - ------------------------------------------------------------------- --Sun Dec 8 12:00:00 CET 2009 - opensuse@dstoecker.de -+Tue Dec 8 14:13:09 UTC 2009 - jreuter@novell.com - --- use new python macros -+- Upgrade to gpsd-2.90, from the upstream change log: -+ - GPSD-NG, the new JSON-based command protocol, is now deployed -+ - Detection of end of a fix-reporting cycle is now reliable -+ - Abandone gpsflash subproject -+ - Increase major version of shared library due to significant API change -+ - Add new driver for Motorola Oncore receivers -+ - gpsfake can now accept multiple logfiles, interleaving test sentences -+ from each. -+ - gpsd now accepts error estimates from the NMEA $GPGBS sentence. -+ - Fix potential core dump in C client handling of "K" responses -+ - Introduce major and minor API version symbols into the public interfaces -+ - The sirfmon utility is gone, replaced by gpsmon -+ - Fix an old error in NMEA parsing -+ - cgpxlogger has been merged into gpxlogger. -+ - Speed-setting commands now allow parity and stop-bit setting -+ - tcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets -+ - The clientlibrary now works correctly in locales where the decimal -+ separator is not a period. -+- Typo in sirfmon / gpsmon has been fixed silently by upstream (#bnc513037) -+- Make libgps and python modules subpackages - - ------------------------------------------------------------------- - Fri Dec 4 12:08:31 UTC 2009 - jreuter@novell.com ---- gpsd.spec.orig -+++ gpsd.spec -@@ -1,5 +1,5 @@ - # --# spec file for package gpsd (Version 2.37) -+# spec file for package gpsd (Version 2.90) - # - # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. - # -@@ -24,7 +24,8 @@ License: BSD 3-clause (or similar - Url: http://gpsd.berlios.de/ - Group: Hardware/Other - Version: 2.90 --Release: 1 -+Release: 0 -+%define libgps libgps19 - Requires: udev - PreReq: coreutils %fillup_prereq - BuildRequires: gcc-c++ ncurses-devel openmotif openmotif-devel python-devel udev update-desktop-files xmlto -@@ -76,16 +77,63 @@ Authors: - %package devel - License: BSD 3-clause (or similar) - Summary: Client libraries in C and Python for talking to a running gpsd or GPS --Group: Hardware/Other -+Group: Development/Libraries - Requires: %name = %version - Requires: pkgconfig - - %description devel - This package provides C header files for the gpsd shared libraries that --manage access to a GPS for applications; also Python modules. You will -+manage access to a GPS for applications and debugging tools. You will - need to have gpsd installed for it to work. - - -+Authors: -+-------- -+ Remco Treffkorn -+ Derrick J. Brashear -+ Russ Nelson -+ Eric S. Raymond -+ Gary E. Miller -+ Jeff Francis -+ Amaury Jacquot -+ Chris Kuethe -+ Ville Nuorvala -+ -+ -+%package -n %libgps -+License: BSD 3-clause (or similar) -+Summary: Shared library for GPS applications -+Group: Development/Libraries/Python -+Requires: %name = %version -+%{py_requires} -+ -+%description -n %libgps -+This package provides the shared library for gpsd and other GPS aware -+applications -+ -+Authors: -+-------- -+ Remco Treffkorn -+ Derrick J. Brashear -+ Russ Nelson -+ Eric S. Raymond -+ Gary E. Miller -+ Jeff Francis -+ Amaury Jacquot -+ Chris Kuethe -+ Ville Nuorvala -+ -+ -+%package -n python-gpsd -+License: BSD 3-clause (or similar) -+Summary: Client libraries in C and Python for talking to a running gpsd or GPS -+Group: Development/Libraries/Python -+Requires: %name = %version -+%{py_requires} -+ -+%description -n python-gpsd -+This package provides python modules and tools for the gpsd shared -+You will need to have gpsd installed for it to work. - - Authors: - -------- -@@ -155,12 +203,12 @@ install -m 644 %{SOURCE3} %{buildroot}/v - install -m 644 gpsfake.py %{buildroot}%{python_sitelib} - install -m 755 gps.py %{buildroot}%{python_sitelib} - # remove /usr/bin/env call --for i in gpscat gpsfake gpsprof; do -- sed -i "s|/usr/bin/env python|/usr/bin/python|g" %{buildroot}%{_bindir}/$i --done - sed -i "s|/usr/bin/env python|/usr/bin/python|g" %{buildroot}%{python_sitelib}/gps.py - # remove .la files - rm -f %{buildroot}%{_libdir}/libgps.la -+strip %{buildroot}%{_bindir}/{cgps,gpsctl,gpsdecode,gpsmon,gpspipe,gpxlogger,lcdgps,xgps,xgpsspeed} -+strip %{buildroot}%{_sbindir}/gpsd -+strip %{buildroot}%{_libdir}/*so %{buildroot}%{python_sitelib}/*so - # install desktop entries - install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/pixmaps/%{name}.xpm - install -m 644 %{SOURCE5} %{buildroot}%{_datadir}/applications/ -@@ -176,63 +224,67 @@ install -m 644 %{SOURCE6} %{buildroot}%{ - rm -rf %{buildroot} - - %post --/sbin/ldconfig - %fillup_only -n gpsd - --%postun -p /sbin/ldconfig -+%post -n %libgps -p /sbin/ldconfig -+%postun -n %libgps -p /sbin/ldconfig - - %files - %defattr(-,root,root) - %doc README INSTALL COPYING gpsd.php - %{_mandir}/man?/gpsd.* --%{_mandir}/man?/gpsprof.* - %{_mandir}/man?/gpsctl.* - /lib/udev/gpsd.sh - %config(noreplace) /etc/udev/rules.d/* - %{_sbindir}/gpsd - %{_bindir}/gpsctl --%{_bindir}/gpsprof --%{_libdir}/libgps.so.* --%{python_sitelib}/gps.py* --%{python_sitelib}/gpslib.so - /var/adm/fillup-templates/sysconfig.gpsd - -+%files -n %libgps -+%defattr(-,root,root) -+%{_libdir}/libgps.so.* -+ - %files devel - %defattr(-,root,root) - %doc README INSTALL COPYING TODO --%{_mandir}/man?/gpsdecode.* - %{_mandir}/man?/gpsfake.* - %{_mandir}/man?/gpscat.* --%{_mandir}/man?/gpsmon.* --%{_mandir}/man?/lcdgps.* - %{_mandir}/man?/libgps*.* - %{_mandir}/man?/rtcm-104.* - %{_mandir}/man?/srec.* -+%{_mandir}/man?/gpsdecode.* -+%{_mandir}/man?/gpsprof.* - %{_bindir}/gpsfake - %{_bindir}/gpscat - %{_bindir}/gpsdecode --%{_bindir}/gpsmon --%{_bindir}/lcdgps -+%{_bindir}/gpsprof - %{_includedir}/gps.h - %{_includedir}/libgpsmm.h - %{_includedir}/gpsd.h --%{python_sitelib}/gpscap.py* --%{python_sitelib}/gpsfake.py* --%{python_sitelib}/gpspacket.so* - %{_libdir}/libgps.so - %{_libdir}/pkgconfig/libgps*.pc - -+%files -n python-gpsd -+%defattr(-,root,root) -+%{python_sitelib}/gps*.py* -+%{python_sitelib}/gpslib.so -+%{python_sitelib}/gpspacket.so* -+ - %files clients - %defattr(-,root,root) - %{_mandir}/man?/gps.* - %{_mandir}/man?/cgps.* -+%{_mandir}/man?/lcdgps.1.gz - %{_mandir}/man?/xgps.* - %{_mandir}/man?/xgpsspeed.* - %{_mandir}/man?/gpspipe.* -+%{_mandir}/man?/gpsmon.* - %{_mandir}/man?/cgpxlogger.* - %{_bindir}/xgps - %{_bindir}/xgpsspeed - %{_bindir}/cgps -+%{_bindir}/lcdgps -+%{_bindir}/gpsmon - %{_bindir}/gpspipe - %if 0%{?suse_version} > 1020 - %{_bindir}/gpxlogger diff --git a/rules.gpsd b/rules.gpsd new file mode 100644 index 0000000..7cd8d07 --- /dev/null +++ b/rules.gpsd @@ -0,0 +1,20 @@ +SUBSYSTEM != "tty", GOTO="gpsd_end" + +ACTION != "remove, GOTO="gpsd_add" +KERNEL=="ttyUSB*", RUN="/lib/udev/gpsd.sh" + +LABEL="gpsd_add" +ACTION != "add", GOTO="gpsd_end" + +# "Prolific Technology 2303 (commonly in tandem with SiRF chips)" +KERNEL=="ttyUSB*", SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2303", RUN="/lib/udev/gpsd.sh" +# "FTDI 8U232AM" +KERNEL=="ttyUSB*", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6001", RUN="/lib/udev/gpsd.sh" +# "Cypress M8/CY7C64013 (DeLorme uses these)" +KERNEL=="ttyUSB*", SYSFS{idVendor}=="1163", SYSFS{idProduct}=="0100", RUN="/lib/udev/gpsd.sh" +# "PS-360 OEM (Microsoft GPS sold with Street and Trips 2005)" +KERNEL=="ttyUSB*", SYSFS{idVendor}=="067b", SYSFS{idProduct}=="aaa0", RUN="/lib/udev/gpsd.sh" +# SiRF Star III 20ch Gmouse GPS (a.k.a Cygnal Integrated Products, Inc.) +KERNEL=="ttyUSB*", SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", RUN="/lib/udev/gpsd.sh" + +LABEL="gpsd_end" diff --git a/sysconfig.gpsd b/sysconfig.gpsd new file mode 100644 index 0000000..c429d7a --- /dev/null +++ b/sysconfig.gpsd @@ -0,0 +1,24 @@ +## Path: Hardware/GPS +## Description: GPS Daemon + +## Type: yesno +## Default: no +# +# Whether or not to start gpsd automatically on plugin event +# +GPSD_STARTBYUDEV="no" + +## Type: integer +## Default: 2947 +# +# Use different port for the daemon +# +GPSD_PORT= + +## Type: string +## Default: "" +# +# Further options to gpsd +# +GPSD_OPTIONS="" + diff --git a/udev.gpsd b/udev.gpsd new file mode 100644 index 0000000..cdcb107 --- /dev/null +++ b/udev.gpsd @@ -0,0 +1,47 @@ +#!/bin/bash +CTRL_SOCK="/var/run/gpsd.socket" +DEV_NAME="/var/run/gpsd.device" + +. /etc/sysconfig/gpsd + +if [ "$GPSD_STARTBYUDEV" != "yes" ]; then + exit 1 +fi + +if [ "${ACTION}" = "remove" ]; then + GPSD_PID=$(pidof gpsd) + + if [ -z "$GPSD_PID" ]; then + echo "Can't find gpsd!" + else + echo "Remove gpsd from pid: ${GPSD_PID}" + TTYDEV="/dev/$(basename $DEVPATH)" + TTYDEV_SAVE=$(cat ${DEV_NAME}) + + if [ "${TTYDEV}" = "${TTYDEV_SAVE}" ]; then + # send TERM signal + kill -15 ${GPSD_PID} + rm -f ${DEV_NAME} + fi + fi +else + case "$DEVPATH" in + *tty*) + TTYDEV="/dev/$(basename $DEVPATH)" + options="-F $CTRL_SOCK $GPSD_OPTIONS" + + if [ -n "$GPSD_PORT" ]; then + options="$options -S $GPSD_PORT" + else + GPSD_PORT=2947 + fi + + echo "Action '${ACTION}' Launch gpsd to $TTYDEV with $options" + + /usr/sbin/gpsd $options ${TTYDEV} + echo "${TTYDEV}" > ${DEV_NAME} + (sleep 1 && echo "F=$TTYDEV" >/dev/tcp/localhost/$GPSD_PORT) & + ;; + esac +fi 2>&1 | /bin/logger -t gpsd + diff --git a/xgps.desktop b/xgps.desktop new file mode 100644 index 0000000..b399f93 --- /dev/null +++ b/xgps.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=xgps +GenericName=GPS information +Comment=Display GPS information from a gpsd daemon +Exec=xgps +Icon=gpsd +Terminal=false +Type=Application +Categories=System;Monitor; diff --git a/xgpsspeed.desktop b/xgpsspeed.desktop new file mode 100644 index 0000000..fdffca3 --- /dev/null +++ b/xgpsspeed.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=xgpsspeed +GenericName=GPS speedometer +Comment=Display GPS speed from a gpsd daemon +Exec=xgpsspeed +Icon=gpsd +Terminal=false +Type=Application +Categories=System;Monitor;