gpsd/gpsd.spec

305 lines
9.8 KiB
RPMSpec

#
# spec file for package gpsd (Version 2.37)
#
# Copyright (c) 2008 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
Url: http://gpsd.berlios.de/
Group: Hardware/Other
Version: 2.37
Release: 69
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
Patch: gpsd-undeffix.patch
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 <remco@rvt.com>
Derrick J. Brashear <shadow@dementia.org>
Russ Nelson <nelson@crynwyr.com>
Eric S. Raymond <esr@thyrsus.com>
Gary E. Miller <gem@rellim.com>
Jeff Francis <jeff@gritch.org>
Amaury Jacquot <sxpert@esitcom.org>
Chris Kuethe <chris.kuethe@gmail.com>
Ville Nuorvala <vnuorval@tcs.hut.fi>
%package devel
License: BSD 3-Clause
Summary: Client libraries in C and Python for talking to a running gpsd or GPS
Group: Hardware/Other
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
need to have gpsd installed for it to work.
Authors:
--------
Remco Treffkorn <remco@rvt.com>
Derrick J. Brashear <shadow@dementia.org>
Russ Nelson <nelson@crynwyr.com>
Eric S. Raymond <esr@thyrsus.com>
Gary E. Miller <gem@rellim.com>
Jeff Francis <jeff@gritch.org>
Amaury Jacquot <sxpert@esitcom.org>
Chris Kuethe <chris.kuethe@gmail.com>
Ville Nuorvala <vnuorval@tcs.hut.fi>
%package clients
License: BSD 3-Clause
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 <remco@rvt.com>
Derrick J. Brashear <shadow@dementia.org>
Russ Nelson <nelson@crynwyr.com>
Eric S. Raymond <esr@thyrsus.com>
Gary E. Miller <gem@rellim.com>
Jeff Francis <jeff@gritch.org>
Amaury Jacquot <sxpert@esitcom.org>
Chris Kuethe <chris.kuethe@gmail.com>
Ville Nuorvala <vnuorval@tcs.hut.fi>
%prep
%setup -q
%patch -p0
%build
%configure --disable-static \
%if 0%{?suse_version} > 1020
--enable-dbus \
%endif
--enable-garmintxt \
--enable-tnt
%__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}%py_sitedir
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}%{py_sitedir}
install -m 755 gps.py %{buildroot}%{py_sitedir}
# 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}%{py_sitedir}/gps.py
# remove .la files
rm -f %{buildroot}%{_libdir}/libgps.la
# 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
/sbin/ldconfig
%fillup_only -n gpsd
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README INSTALL COPYING gpsd.php
%{_mandir}/man?/gpsd.*
%{_mandir}/man?/gpsprof.*
%{_mandir}/man?/gpsctl.*
%{_mandir}/man?/sirfmon.*
/lib/udev/gpsd.sh
%config(noreplace) /etc/udev/rules.d/*
%{_sbindir}/gpsd
%{_bindir}/gpsctl
%{_bindir}/gpsprof
%{_bindir}/sirfmon
%{_libdir}/libgps.so.*
%{py_sitedir}/gps.py*
/var/adm/fillup-templates/sysconfig.gpsd
%files devel
%defattr(-,root,root)
%doc README INSTALL COPYING TODO
%{_mandir}/man?/gpsfake.*
%{_mandir}/man?/gpscat.*
%{_mandir}/man?/libgps*.*
%{_mandir}/man?/rtcmdecode.*
%{_mandir}/man?/gpsflash.*
%{_mandir}/man?/rtcm-104.*
%{_mandir}/man?/srec.*
%{_bindir}/gpsfake
%{_bindir}/rtcmdecode
%{_bindir}/gpsflash
%{_bindir}/gpscat
%{_includedir}/gps.h
%{_includedir}/libgpsmm.h
%{_includedir}/gpsd.h
%{py_sitedir}/gpsfake.py*
%{py_sitedir}/gpspacket.so*
%{_libdir}/libgps.so
%{_libdir}/pkgconfig/libgps*.pc
%files clients
%defattr(-,root,root)
%{_mandir}/man?/gps.*
%{_mandir}/man?/cgps.*
%{_mandir}/man?/xgps.*
%{_mandir}/man?/xgpsspeed.*
%{_mandir}/man?/gpspipe.*
%{_mandir}/man?/cgpxlogger.*
%{_bindir}/xgps
%{_bindir}/xgpsspeed
%{_bindir}/cgps
%{_bindir}/cgpxlogger
%{_bindir}/gpspipe
%if 0%{?suse_version} > 1020
%{_bindir}/gpxlogger
%endif
%{_datadir}/applications/*.desktop
%{_datadir}/pixmaps/*.xpm
%changelog
* Wed Nov 19 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 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 2008 jreuter@suse.de
- Fix RPM group tag for devel package
- Cleanup spec file
* Sat Mar 22 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 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