commit 1d43d6d8f2bf9a7f7e98471a851b3083fb5f2a573906dfca0585238f158eb618 Author: OBS User unknown Date: Fri Feb 1 03:35:57 2008 +0000 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gpsd?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/gpsd-2.36.tar.bz2 b/gpsd-2.36.tar.bz2 new file mode 100644 index 0000000..226342f --- /dev/null +++ b/gpsd-2.36.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b3a9c385f821a462441e8c409201b297963eeabd09008fa9ef23abfde45a14f +size 586666 diff --git a/gpsd.changes b/gpsd.changes new file mode 100644 index 0000000..b334a64 --- /dev/null +++ b/gpsd.changes @@ -0,0 +1,52 @@ +------------------------------------------------------------------- +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..b1ce89e --- /dev/null +++ b/gpsd.spec @@ -0,0 +1,237 @@ +# +# spec file for package gpsd (Version 2.36) +# +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: gpsd +License: BSD 3-Clause +Url: http://gpsd.berlios.de/ +Group: Hardware/Other +Version: 2.36 +Release: 1 +Summary: Service daemon for mediating access to a GPS +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: udev +Source: %{name}-%{version}.tar.bz2 +Source1: rules.gpsd +Source2: udev.gpsd +Source3: sysconfig.gpsd +Patch: undeffix.diff +BuildRequires: gcc-c++ ncurses-devel openmotif openmotif-devel python-devel udev xmlto +#B#uildRequires: dbus-1-devel dbus-1-glib-devel + +%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 -n gpsd-devel +Summary: Client libraries in C and Python for talking to a running gpsd or GPS +Group: Hardware/Other +Requires: gpsd + +%description -n gpsd-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 +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 gpsd-clients +Summary: Clients for gpsd with an X interface +Group: Hardware/Other + +%description -n gpsd-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 +%patch -p0 + +%build +%configure +#%#configure --enable-dbus +%__make + +%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}%py_sitedir +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}%{py_sitedir} +install -m 755 gps.py %{buildroot}%{py_sitedir} + +%clean + +%post +%fillup_only -n gpsd +%run_ldconfig + +%postun +%run_ldconfig + +%files +%defattr(-,root,root) +%doc README INSTALL COPYING gpsd.php +/lib/udev/gpsd.sh +%config(noreplace) /etc/udev/rules.d/* +%{_sbindir}/gpsd +%{_bindir}/gpsctl +%{_bindir}/gpsprof +%{_bindir}/sirfmon +%{_libdir}/libgps.so.* +%{_mandir}/man?/gpsd.* +%{_mandir}/man?/gpsprof.* +%{_mandir}/man?/gpsctl.* +%{_mandir}/man?/sirfmon.* +%{py_sitedir}/gps.py* +/var/adm/fillup-templates/sysconfig.gpsd + +%files -n gpsd-devel +%defattr(-,root,root) +%doc README INSTALL COPYING TODO +%{_bindir}/gpsfake +%{_bindir}/rtcmdecode +%{_bindir}/gpsflash +%{_bindir}/gpscat +%{_includedir}/gps.h +%{_includedir}/libgpsmm.h +%{_includedir}/gpsd.h +%{_mandir}/man?/gpsfake.* +%{_mandir}/man?/gpscat.* +%{_mandir}/man?/gpspipe.* +%{_mandir}/man?/libgps*.* +%{_mandir}/man?/rtcmdecode.* +%{_mandir}/man?/gpsflash.* +%{_mandir}/man?/rtcm-104.* +%{_mandir}/man?/srec.* +%{py_sitedir}/gpsfake.py* +%{py_sitedir}/gpspacket.so* +%{_libdir}/libgps.so +%{_libdir}/libgps.la +%{_libdir}/libgps.a +%{_libdir}/pkgconfig/libgps*.pc + +%files -n gpsd-clients +%defattr(-,root,root) +%{_bindir}/xgps +%{_bindir}/xgpsspeed +%{_bindir}/cgps +%{_bindir}/cgpxlogger +%{_bindir}/gpspipe +%{_mandir}/man?/gps.* +%{_mandir}/man?/cgps.* +%{_mandir}/man?/xgps.* +%{_mandir}/man?/xgpsspeed.* +%{_mandir}/man?/gpspipe.* +%{_mandir}/man?/cgpxlogger.* + +%changelog +* Fri Jan 18 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 2007 opensuse@dstoecker.de +- updated to 2.35 +* Tue Nov 20 2007 anschneider@suse.de +- update udev rules and script +* Fri Jun 29 2007 anschneider@suse.de +- Spec file cleanup +* Sun Dec 17 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 2006 anschneider@suse.de +- Initial package diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 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..5ee9ac8 --- /dev/null +++ b/sysconfig.gpsd @@ -0,0 +1,9 @@ +## Path: Hardware/GPS +## Description: GPS Daemon + +## Type: integer +## Default: 2947 +# +# Use another port for the deamon +# +PORT= diff --git a/udev.gpsd b/udev.gpsd new file mode 100644 index 0000000..b2b401b --- /dev/null +++ b/udev.gpsd @@ -0,0 +1,48 @@ +#!/bin/bash +CTRL_SOCK="/var/run/gpsd.socket" +DEV_NAME="/var/run/gpsd.device" + + +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" + + . /etc/sysconfig/gpsd + + if [ -n "$PORT" ]; then + options="$options -S $PORT" + else + PORT=2947 + fi + + echo "Action '${ACTION}' Launch GPSD to $TTYDEV with $options" + + /usr/sbin/gpsd $options ${TTYDEV} + + echo "${TTYDEV}" > ${DEV_NAME} + echo "F=$TTYDEV" >/dev/tcp/localhost/$PORT + ;; +esac +fi 2>&1 | /bin/logger -t gpsd + diff --git a/undeffix.diff b/undeffix.diff new file mode 100644 index 0000000..e5ed226 --- /dev/null +++ b/undeffix.diff @@ -0,0 +1,28 @@ +--- libgpsd_core.c.orig 2007-12-13 15:00:33.000000000 +0000 ++++ libgpsd_core.c 2007-12-13 15:06:54.000000000 +0000 +@@ -404,7 +404,7 @@ + #define ZEROIZE(x) (isnan(x)!=0 ? 0.0 : x) + ZEROIZE(session->gpsdata.fix.speed * MPS_TO_KNOTS), + ZEROIZE(session->gpsdata.fix.track), +-#undef ZEROIZE ++/*#undef ZEROIZE*/ + tm.tm_mday, + tm.tm_mon, + tm.tm_year); +@@ -414,6 +414,7 @@ + + static void gpsd_binary_fix_dump(struct gps_device_t *session, + char bufp[], size_t len) ++ + { + gpsd_position_fix_dump(session, bufp, len); + gpsd_transit_fix_dump(session, bufp + strlen(bufp), len - strlen(bufp)); +@@ -514,7 +515,7 @@ + ZEROIZE(session->gpsdata.epe * (CEP50_SIGMA/GPSD_CONFIDENCE))); + nmea_add_checksum(bufp); + } +-#undef ZEROIZE ++/*#undef ZEROIZE*/ + } + + static void gpsd_binary_dump(struct gps_device_t *session,