From 152b3d8ac1ea3590dd87d6165ecaa7cb22a0c1b9 Mon Sep 17 00:00:00 2001 From: "Douglas E. Warner" Date: Thu, 19 Mar 2009 18:32:51 +0000 Subject: [PATCH] - updating to 2.39 - fixed potential core dump in C client handling of "K" responses - Made device hotplugging work again; had been broken by changes in udev - Introduced major and minor API version symbols into the public interfaces - The sirfmon utility is gone, replaced by gpsmon which does the same job for multiple GPS types - Fixed a two-year old error in NMEA parsing that nobody noticed because its only effect was to trash VDOP values from GSA sentences, and gpsd computes those with an internal error model when they look wonky - cgpxlogger has been merged into gpxlogger - Speed-setting commands now allow parity and stop-bit setting if the GPS chipset and adaptor can support it - Specfile and other packaging paraphenalia now live in a packaging subdirectory - rtcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets - The client library now work correctly in locales where the decimal separator is not a period --- .cvsignore | 2 +- gpsd.rules | 41 -------------------------------- gpsd.spec | 68 +++++++++++++++++++++++++++++++++++++++--------------- sources | 2 +- 4 files changed, 52 insertions(+), 61 deletions(-) delete mode 100644 gpsd.rules diff --git a/.cvsignore b/.cvsignore index 5af95f3..708c6b4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gpsd-2.38.tar.gz +gpsd-2.39.tar.gz diff --git a/gpsd.rules b/gpsd.rules deleted file mode 100644 index 2b8e743..0000000 --- a/gpsd.rules +++ /dev/null @@ -1,41 +0,0 @@ -# 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 d956c4b..d58493b 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.38 -Release: 2%{?dist} +Version: 2.39 +Release: 1%{?dist} Summary: Service daemon for mediating access to a GPS Group: System Environment/Daemons @@ -14,7 +14,6 @@ Source2: xgpsspeed.desktop Source3: gpsd-logo.png 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) @@ -25,6 +24,9 @@ BuildRequires: python Requires: udev Requires(post): /sbin/ldconfig +Requires(post): /sbin/chkconfig +Requires(preun): initscripts +Requires(preun): /sbin/chkconfig Requires(postun): /sbin/ldconfig %description @@ -89,7 +91,7 @@ make DESTDIR=%{buildroot} install # init scripts %{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/init.d -%{__install} -p -m 0644 %{SOURCE10} \ +%{__install} -p -m 0755 %{SOURCE10} \ %{buildroot}%{_sysconfdir}/init.d/gpsd %{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig @@ -98,7 +100,7 @@ make DESTDIR=%{buildroot} install # udev rules %{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/udev/rules.d -%{__install} -p -m 0644 %{SOURCE20} \ +%{__install} -p -m 0644 gpsd.rules \ %{buildroot}%{_sysconfdir}/udev/rules.d/99-gpsd.rules # hotplug script @@ -106,11 +108,14 @@ make DESTDIR=%{buildroot} install %{__install} -p -m 0755 gpsd.hotplug %{SOURCE21} \ %{buildroot}/lib/udev +# create new gpxlogger man page +%{__cp} -p %{buildroot}%{_mandir}/man1/cgpxlogger.1 \ + %{buildroot}%{_mandir}/man1/gpxlogger.1 + # remove .la files rm -f %{buildroot}%{_libdir}/libgps.la # fix non-executable libraries -%{__chmod} +x %{buildroot}%{_libdir}/libgps.so.17.0.0 %{__chmod} +x %{buildroot}%{python_sitearch}/gpspacket.so # fix non-executable python script @@ -135,7 +140,15 @@ desktop-file-install --vendor fedora \ rm -rf %{buildroot} -%post -p /sbin/ldconfig +%post +/sbin/ldconfig +/sbin/chkconfig --add %{name} + +%preun +if [ $1 = 0 ]; then + /sbin/service %{name} stop > /dev/null 2>&1 || true + /sbin/chkconfig --del %{name} +fi %postun -p /sbin/ldconfig @@ -148,7 +161,7 @@ rm -rf %{buildroot} %config(noreplace) %{_sysconfdir}/udev/rules.d/* %{_sbindir}/gpsd %{_bindir}/gpsprof -%{_bindir}/sirfmon +%{_bindir}/gpsmon %{_bindir}/gpsctl %{_libdir}/libgps.so.* /lib/udev/gpsd* @@ -158,14 +171,13 @@ rm -rf %{buildroot} %{python_sitearch}/gpspacket.so %{_mandir}/man8/gpsd.8* %{_mandir}/man1/gpsprof.1* -%{_mandir}/man1/sirfmon.1* +%{_mandir}/man1/gpsmon.1* %{_mandir}/man1/gpsctl.1* %files devel %defattr(-,root,root,-) %doc TODO %{_bindir}/gpsfake -%{_bindir}/rtcmdecode %{_bindir}/gpsflash %{_libdir}/libgps.so %{_libdir}/pkgconfig/*.pc @@ -174,7 +186,6 @@ rm -rf %{buildroot} %{_includedir}/libgpsmm.h %{_includedir}/gpsd.h %{_mandir}/man1/gpsfake.1* -%{_mandir}/man1/rtcmdecode.1* %{_mandir}/man1/gpsflash.1* %{_mandir}/man3/libgps.3* %{_mandir}/man3/libgpsmm.3* @@ -184,21 +195,23 @@ rm -rf %{buildroot} %files clients %defattr(-,root,root,-) -%{_bindir}/xgps -%{_bindir}/xgpsspeed %{_bindir}/cgps -%{_bindir}/gpsdlcdd +%{_bindir}/gpscat +%{_bindir}/gpsdecode %{_bindir}/gpspipe %{_bindir}/gpxlogger -%{_bindir}/cgpxlogger -%{_bindir}/gpscat +%{_bindir}/lcdgps +%{_bindir}/xgps +%{_bindir}/xgpsspeed +%{_mandir}/man1/cgpxlogger.1* %{_mandir}/man1/gps.1* +%{_mandir}/man1/gpsdecode.1* %{_mandir}/man1/gpspipe.1* +%{_mandir}/man1/gpxlogger.1* %{_mandir}/man1/xgps.1* %{_mandir}/man1/xgpsspeed.1* %{_mandir}/man1/cgps.1* %{_mandir}/man1/gpscat.1* -%{_mandir}/man1/cgpxlogger.1* %{_datadir}/X11/app-defaults/xgps %{_datadir}/X11/app-defaults/xgpsspeed %{_datadir}/applications/*.desktop @@ -207,7 +220,26 @@ rm -rf %{buildroot} %changelog -* Mon Mar 16 2009 Douglas E. Warner - 2.38-2 +* Thu Mar 19 2009 Douglas E. Warner - 2.39-1 +- updating to 2.39 +- fixed potential core dump in C client handling of "K" responses +- Made device hotplugging work again; had been broken by changes in udev +- Introduced major and minor API version symbols into the public interfaces +- The sirfmon utility is gone, replaced by gpsmon which does the same job + for multiple GPS types +- Fixed a two-year old error in NMEA parsing that nobody noticed because its + only effect was to trash VDOP values from GSA sentences, and gpsd computes + those with an internal error model when they look wonky +- cgpxlogger has been merged into gpxlogger +- Speed-setting commands now allow parity and stop-bit setting if the GPS + chipset and adaptor can support it +- Specfile and other packaging paraphenalia now live in a packaging + subdirectory +- rtcmdecode becomes gpsdecode and can now de-armor and dump AIDVM packets +- The client library now work correctly in locales where the decimal separator + is not a period + +* Thu Feb 12 2009 Douglas E. Warner - 2.38-1 - updating to 2.38 - creating init script and sysconfig files - migrating hotplug rules to udev + hotplug wrapper script from svn r5147 diff --git a/sources b/sources index da5315e..97c1e51 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -725c320ca6fa35bcdaa1de2d8908f392 gpsd-2.38.tar.gz +3db437196a6840c252fca99b6c19d4d0 gpsd-2.39.tar.gz