]> git.pld-linux.org Git - packages/gpsd.git/blob - gpsd.spec
- apply desktop patch
[packages/gpsd.git] / gpsd.spec
1 #
2 # Conditional build:
3 %bcond_without  dbus    # build without dbus support
4 %bcond_without  bluez   # build without Bluetooth support
5 #
6 Summary:        Service daemon for mediating access to a GPS
7 Summary(pl.UTF-8):      Oprogramowanie komunikujące się z GPS-em
8 Name:           gpsd
9 Version:        3.9
10 Release:        1
11 License:        BSD
12 Group:          Daemons
13 Source0:        http://download-mirror.savannah.gnu.org/releases/gpsd/%{name}-%{version}.tar.gz
14 # Source0-md5:  53a88f24a0973d23427e82e9a8914f19
15 Patch0:         %{name}-link.patch
16 Patch1:         %{name}-qt.patch
17 Patch2:         %{name}-desktop.patch
18 URL:            http://www.catb.org/gpsd/
19 BuildRequires:  QtNetwork-devel >= 4.4
20 %if %{with dbus}
21 BuildRequires:  dbus-devel
22 BuildRequires:  dbus-glib-devel
23 %endif
24 %{?with_bluez:BuildRequires:    bluez-libs-devel}
25 BuildRequires:  docbook-dtd412-xml
26 BuildRequires:  docbook-style-xsl
27 BuildRequires:  libcap-devel
28 BuildRequires:  libstdc++-devel
29 BuildRequires:  libusb-devel >= 1.0.0
30 BuildRequires:  libxslt-progs
31 BuildRequires:  ncurses-devel
32 BuildRequires:  pkgconfig
33 BuildRequires:  python-devel >= 1:2.5
34 BuildRequires:  qt4-qmake >= 4.4
35 BuildRequires:  rpm-pythonprov
36 BuildRequires:  scons >= 2.0.1
37 BuildRequires:  sed >= 4.0
38 BuildRequires:  xmlto
39 Requires:       %{name}-libs = %{version}-%{release}
40 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41
42 # libgpsd expects gpsd_report() defined by user
43 %define         skip_post_check_so      libgpsd\.so.*
44
45 # note: to avoid recompiling/relinking on scons install, whole environment
46 # needs to be the same in both build and install sections
47 %define scons_env \
48         CC="%{__cc}" \\\
49         CXX="%{__cxx}" \\\
50         CFLAGS="%{rpmcflags}" \\\
51         CXXFLAGS="%{rpmcxxflags}" \\\
52         CPPFLAGS="%{rpmcppflags}" \\\
53         LDFLAGS="%{rpmldflags}"
54
55 %description
56 gpsd is a service daemon that mediates access to a GPS sensor
57 connected to the host computer by serial or USB interface, making its
58 data on the location/course/velocity of the sensor available to be
59 queried on TCP port 2947 of the host computer. With gpsd, multiple GPS
60 client applications (such as navigational and wardriving software) can
61 share access to a GPS without contention or loss of data. Also, gpsd
62 responds to queries with a format that is substantially easier to
63 parse than NMEA 0183. A client library is provided for applications.
64
65 After installing this RPM, gpsd will automatically connect to USB
66 GPSes when they are plugged in and requires no configuration. For
67 serial GPSes, you will need to start gpsd by hand. Once connected, the
68 daemon automatically discovers the correct baudrate, stop bits, and
69 protocol. The daemon will be quiescent when there are no clients
70 asking for location information, and copes gracefully when the GPS is
71 unplugged and replugged.
72
73 %description -l pl.UTF-8
74 gpsd to demon usługi pośredniczącej w dostępie do sensora GPS
75 połączonego z komputerem poprzez interfejs szeregowy lub USB,
76 udostępniający dane o położeniu, kierunku ruchu i prędkości z sensora
77 na porcie TCP 2947 komputera. Przy użyciu gpsd wiele aplikacji
78 klienckich GPS (takich jak oprogramowanie nawigacyjne) może
79 współdzielić dostęp do GPS-a bez utraty danych. Ponadto gpsd odpowiada
80 na zapytania w formacie znacznie łatwiejszym do przetworzenia niż NMEA
81 0183. Dostarczona jest biblioteka kliencka dla aplikacji.
82
83 Po zainstalowaniu tego pakietu gpsd będzie się automatycznie łączył z
84 GPS-ami USB po podłączeniu ich. Dla GPS-ów szeregowych trzeba
85 uruchomić gpsd ręcznie. Po poączeniu demon automatycznie wykrywa
86 właściwą prędkość, liczbę bitów stopu i protokół. Demon oczekuje
87 spokojnie kiedy nie ma klientów i radzi sobie dobrze z odłączaniem i
88 ponownym podłączaniem GPS-a.
89
90 %package -n udev-gpsd
91 Summary:        UDEV support for GPS hotplugging
92 Summary(pl.UTF-8):      Obsługa UDEV-a do podłączania urządzeń GPS
93 Group:          Applications/System
94 Requires:       %{name} = %{version}-%{release}
95 Requires:       udev-core >= 1:127
96
97 %description -n udev-gpsd
98 UDEV support for GPS hotplugging.
99
100 %description -n udev-gpsd -l pl.UTF-8
101 Obsługa UDEV-a do podłączania urządzeń GPS.
102
103 %package libs
104 Summary:        GPSd client library
105 Summary(pl.UTF-8):      Biblioteka kliencka GPSd
106 Group:          Libraries
107
108 %description libs
109 GPSd client library.
110
111 %description libs -l pl.UTF-8
112 Biblioteka kliencka GPSd.
113
114 %package devel
115 Summary:        Client libraries in C and Python for talking to a running gpsd or GPS
116 Summary(pl.UTF-8):      Biblioteki klienckie dla C i Pythona do komunikacji z gpsd lub GPS-em
117 Group:          Development/Libraries
118 Requires:       %{name}-libs = %{version}-%{release}
119 Requires:       libstdc++-devel
120 Obsoletes:      gpsd-static
121
122 %description devel
123 This package provides C header files for the gpsd shared libraries
124 that manage access to a GPS for applications; also Python modules. You
125 will need to have gpsd installed for it to work.
126
127 %description devel -l pl.UTF-8
128 Ten pakiet zawiera pliki nagłówkowe C dla bibliotek współdzielonych
129 gpsd zarządzających dostępem do GPS-a dla aplikacji, a także moduły
130 Pythona. Do działania bibliotek potrzebny jest gpsd.
131
132 %package qt-libs
133 Summary:        GPS Qt4 integration library
134 Summary(pl.UTF-8):      Biblioteka integrująca GPS z Qt4
135 Group:          X11/Libraries
136 Requires:       %{name}-libs = %{version}-%{release}
137 Requires:       QtNetwork >= 4.4
138
139 %description qt-libs
140 GPS Qt4 integration library.
141
142 %description qt-libs -l pl.UTF-8
143 Biblioteka integrująca GPS z Qt4.
144
145 %package qt-devel
146 Summary:        Development files for GPS Qt4 integration library
147 Summary(pl.UTF-8):      Pliki programistyczne biblioteki integrującej GPS z Qt4
148 Group:          X11/Development/Libraries
149 Requires:       %{name}-devel = %{version}-%{release}
150 Requires:       %{name}-qt-libs = %{version}-%{release}
151 Requires:       QtNetwork-devel >= 4.4
152
153 %description qt-devel
154 Development files for GPS Qt4 integration library.
155
156 %description qt-devel -l pl.UTF-8
157 Pliki programistyczne biblioteki integrującej GPS z Qt4.
158
159 %package -n python-gps
160 Summary:        Python GPSd client library
161 Summary(pl.UTF-8):      Biblioteka kliencka GPSd dla Pythona
162 Group:          Libraries/Python
163 Requires:       %{name}-libs = %{version}-%{release}
164
165 %description -n python-gps
166 GPSd client library for Python.
167
168 %description -n python-gps -l pl.UTF-8
169 Biblioteka kliencka GPSd dla Pythona.
170
171 %package clients
172 Summary:        Clients for gpsd
173 Summary(pl.UTF-8):      Aplikacje klienckie dla gpsd
174 Group:          Applications/System
175 Requires:       %{name}-libs = %{version}-%{release}
176
177 %description clients
178 cgps is a simple test client for gpsd. It displays current GPS
179 position/time/velocity information and (for GPSes that support the
180 feature) the locations of accessible satellites. cgps resembles xgps,
181 but without the pictorial satellite display. It can run on a serial
182 terminal or terminal emulator.
183
184 %description clients -l pl.UTF-8
185 cgps to prosty klient testowy dla gpsd. Wyświetla bieżące informacje
186 GPS o położeniu, czasie i prędkości oraz (w przypadku GPS-ów
187 obsługujących to) położenia dostępnych satelitów. Jest podobny do
188 xgps, ale nie ma rysunkowego przedstawiania satelitów. Może działać na
189 terminalu szeregowym lub emulatorze terminala.
190
191 %package clients-gui
192 Summary:        Clients for gpsd with an X interface
193 Summary(pl.UTF-8):      Aplikacje klienckie z interfejsem X
194 Group:          Applications/System
195 Requires:       %{name}-libs = %{version}-%{release}
196 Requires:       python-gps = %{version}-%{release}
197 Requires:       python-pygtk-gtk >= 2:2.0
198
199 %description clients-gui
200 xgps is a simple test client for gpsd with an X interface. It displays
201 current GPS position/time/velocity information and (for GPSes that
202 support the feature) the locations of accessible satellites.
203
204 xgpsspeed is a speedometer that uses position information from the
205 GPS.
206
207 %description clients-gui -l pl.UTF-8
208 xgps to prosty klient testowy dla gpsd z interfejsem X. Wyświetla
209 bieżące informacje GPS o położeniu, czasie i prędkości oraz (w
210 przypadku GPS-ów obsługujących to) położenia dostępnych satelitów.
211
212 xgpsspeed to prędkościomierz używający informacji o położeniu z GPS-a.
213
214 %prep
215 %setup -q
216 %patch0 -p1
217 %patch1 -p1
218 %patch2 -p1
219
220 %build
221 %scons_env \
222 %scons \
223         libdir=%{_lib} \
224         chrpath=False \
225         shared=True \
226         strip=False \
227         systemd=True \
228         ncurses=True \
229         usb=True \
230         %{!?with_bluez:bluez=False} \
231         %{?with_dbus:dbus_export=True}
232
233
234 %install
235 rm -rf $RPM_BUILD_ROOT
236
237 %scons_env \
238 DESTDIR=$RPM_BUILD_ROOT \
239 %scons udev-install
240
241 # fix buggy libdir, kill -L/usr/* from qt Libs
242 %{__sed} -i -e 's,^libdir=.*,libdir=%{_libdir},' \
243         -e 's,-L/[^ ]* *,,' \
244         $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
245
246 # invoke python directly
247 %{__sed} -i -e '1s,/usr/bin/env python,/usr/bin/python,' \
248         $RPM_BUILD_ROOT%{_bindir}/{gpscat,gpsfake,gpsprof,xgps,xgpsspeed,gegps}
249
250 # omitted from make install
251 install gpsinit $RPM_BUILD_ROOT%{_sbindir}
252 install -Dp dgpsip-servers $RPM_BUILD_ROOT%{_datadir}/gpsd/dgpsip-servers
253 cp -p gpsd.h $RPM_BUILD_ROOT%{_includedir}
254
255 #install packaging/rpm/gpsd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/gpsd
256 #install packaging/rpm/gpsd.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/gpsd
257 install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
258 cp -p packaging/X11/{xgps,xgpsspeed}.desktop $RPM_BUILD_ROOT%{_desktopdir}
259 cp -p packaging/X11/gpsd-logo.png $RPM_BUILD_ROOT%{_pixmapsdir}
260
261 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
262 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
263 %py_postclean
264
265 # symlinks not needed
266 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.so.??.0
267
268 %clean
269 rm -rf $RPM_BUILD_ROOT
270
271 %post   libs -p /sbin/ldconfig
272 %postun libs -p /sbin/ldconfig
273
274 %post   qt-libs -p /sbin/ldconfig
275 %postun qt-libs -p /sbin/ldconfig
276
277 %files
278 %defattr(644,root,root,755)
279 %doc README INSTALL COPYING TODO AUTHORS
280 %attr(755,root,root) %{_bindir}/gpsmon
281 %attr(755,root,root) %{_sbindir}/gpsd
282 %attr(755,root,root) %{_sbindir}/gpsdctl
283 %attr(755,root,root) %{_sbindir}/gpsinit
284 %{_mandir}/man1/gpsmon.1*
285 %{_mandir}/man8/gpsd.8*
286 %{_mandir}/man8/gpsdctl.8*
287 %{_mandir}/man8/gpsinit.8*
288 %dir %{_datadir}/gpsd
289 %{_datadir}/gpsd/dgpsip-servers
290
291 %files -n udev-gpsd
292 %defattr(644,root,root,755)
293 %attr(755,root,root) /lib/udev/gpsd.hotplug
294 /lib/udev/rules.d/25-gpsd.rules
295 #%attr(754,root,root) /etc/rc.d/init.d/gpsd
296 #%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gpsd
297
298 %files libs
299 %defattr(644,root,root,755)
300 %attr(755,root,root) %{_libdir}/libgpsd.so.*.*.*
301 %attr(755,root,root) %ghost %{_libdir}/libgpsd.so.21
302 %attr(755,root,root) %{_libdir}/libgps.so.*.*.*
303 %attr(755,root,root) %ghost %{_libdir}/libgps.so.20
304
305 %files devel
306 %defattr(644,root,root,755)
307 %attr(755,root,root) %{_bindir}/gpsdecode
308 %attr(755,root,root) %{_libdir}/libgps.so
309 %attr(755,root,root) %{_libdir}/libgpsd.so
310 %{_includedir}/gps.h
311 %{_includedir}/gpsd.h
312 %{_includedir}/libgpsmm.h
313 %{_pkgconfigdir}/libgps.pc
314 %{_pkgconfigdir}/libgpsd.pc
315 %{_mandir}/man1/gpsdecode.1*
316 %{_mandir}/man3/libgps.3*
317 %{_mandir}/man3/libgpsd.3*
318 %{_mandir}/man3/libgpsmm.3*
319 %{_mandir}/man5/gpsd_json.5*
320 %{_mandir}/man5/srec.5*
321
322 %files qt-libs
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/libQgpsmm.so.*.*.*
325 %attr(755,root,root) %ghost %{_libdir}/libQgpsmm.so.20
326
327 %files qt-devel
328 %defattr(644,root,root,755)
329 %attr(755,root,root) %{_libdir}/libQgpsmm.so
330 %{_mandir}/man3/libQgpsmm.3*
331 %{_libdir}/libQgpsmm.prl
332 %{_pkgconfigdir}/Qgpsmm.pc
333
334 %files -n python-gps
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_bindir}/gegps
337 %attr(755,root,root) %{_bindir}/gpscat
338 %attr(755,root,root) %{_bindir}/gpsfake
339 %attr(755,root,root) %{_bindir}/gpsprof
340 %dir %{py_sitedir}/gps
341 %attr(755,root,root) %{py_sitedir}/gps/*.so
342 %{py_sitedir}/gps/*.py[co]
343 %{py_sitedir}/gps-%{version}.egg-info
344 %{_mandir}/man1/gegps.1*
345 %{_mandir}/man1/gpscat.1*
346 %{_mandir}/man1/gpsfake.1*
347 %{_mandir}/man1/gpsprof.1*
348
349 %files clients
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_bindir}/gpsctl
352 %attr(755,root,root) %{_bindir}/cgps
353 %attr(755,root,root) %{_bindir}/gpspipe
354 %{?with_dbus:%attr(755,root,root) %{_bindir}/gpxlogger}
355 %{_mandir}/man1/gpsctl.1*
356 %{_mandir}/man1/cgps.1*
357 %{_mandir}/man1/gps.1*
358 %{_mandir}/man1/gpspipe.1*
359
360 %files clients-gui
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_bindir}/lcdgps
363 %attr(755,root,root) %{_bindir}/xgps
364 %attr(755,root,root) %{_bindir}/xgpsspeed
365 %{_mandir}/man1/lcdgps.1*
366 %{_mandir}/man1/xgps.1*
367 %{_mandir}/man1/xgpsspeed.1*
368 %{_desktopdir}/xgps.desktop
369 %{_desktopdir}/xgpsspeed.desktop
370 %{_pixmapsdir}/gpsd-logo.png
This page took 0.100366 seconds and 3 git commands to generate.