]> git.pld-linux.org Git - packages/lirc.git/blob - lirc.spec
up to 0.10.2
[packages/lirc.git] / lirc.spec
1 # TODO
2 # - regenerate plugindocs index when installing plugin with plugindocs
3 # - separate lirc-remotes.spec, update remotes configs from lirc-remotes project
4 #   (http://lirc-remotes.sourceforge.net/ incl. remotes-table.html)
5 #
6 # Conditional build:
7 %bcond_without  portaudio       # Portaudio based audio driver
8 %bcond_without  static_libs     # static libraries
9 %bcond_without  x               # without X11-based utilitied
10
11 Summary:        Linux Infrared Remote Control daemons
12 Summary(pl.UTF-8):      Demony do zdalnego sterowania Linuksem za pomocą podczerwieni
13 Name:           lirc
14 Version:        0.10.2
15 Release:        1
16 License:        GPL v2+
17 Group:          Daemons
18 Source0:        http://downloads.sourceforge.net/lirc/%{name}-%{version}.tar.bz2
19 # Source0-md5:  cb96cfb0af8067c0062e2f5a100f426a
20 Source1:        http://lirc.sourceforge.net/remotes.tar.bz2
21 # Source1-md5:  10f2fbb1b5190d5635ebe2761c479deb
22 Source2:        %{name}d.sysconfig
23 Source3:        %{name}d.init
24 Source4:        %{name}md.init
25 Source5:        %{name}.tmpfiles
26 Patch0:         %{name}-tmp.patch
27 Patch1:         %{name}-remotes.patch
28 Patch2:         %{name}-link.patch
29 Patch3:         no-python-shebang-munge.patch
30 URL:            http://www.lirc.org/
31 BuildRequires:  alsa-lib-devel
32 BuildRequires:  autoconf >= 2.50
33 BuildRequires:  automake
34 BuildRequires:  doxygen
35 BuildRequires:  libftdi1-devel >= 1.0
36 BuildRequires:  libtool >= 2:2
37 BuildRequires:  libusb-compat-devel >= 0.1.0
38 BuildRequires:  libxslt-progs
39 BuildRequires:  pkgconfig
40 %{?with_portaudio:BuildRequires:        portaudio-devel >= 19}
41 BuildRequires:  python3 >= 1:3.5
42 BuildRequires:  python3-PyYAML
43 BuildRequires:  rpmbuild(macros) >= 1.701
44 BuildRequires:  rpm-pythonprov
45 BuildRequires:  systemd-devel
46 BuildRequires:  udev-devel
47 %{?with_x:BuildRequires:        xorg-lib-libX11-devel}
48 Requires(post,preun):   /sbin/chkconfig
49 BuildRequires:  rpmbuild(macros) >= 1.268
50 Requires:       %{name}-libs = %{version}-%{release}
51 Requires:       libftdi1 >= 1.0
52 Requires:       rc-scripts
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 # liblirc_driver expects curr_driver to be defined by user
56 %define         skip_post_check_so      liblirc_driver.so.*
57
58 %description
59 LIRC is a package that allows you to decode and send infra-red signals
60 of many (but not all) commonly used remote controls.
61
62 %description -l pl.UTF-8
63 LIRC to program pozwalający na dekodowanie nadchodzących oraz
64 wysyłanie sygnałów w podczerwieni za pomocą wielu (ale nie wszystkich)
65 popularnych urządzeń do zdalnego sterowania.
66
67 %package remotes
68 Summary:        Lirc remotes database
69 Summary(pl.UTF-8):      Baza pilotów obsługiwanych przez lirc
70 Group:          Documentation
71 Requires:       %{name} = %{version}-%{release}
72
73 %description remotes
74 This package contains configuration files for many remotes supported
75 by lirc.
76
77 %description remotes -l pl.UTF-8
78 Ten pakiet zawiera pliki konfiguracyjne dla wielu pilotów
79 obsługiwanych przez lirc.
80
81 %package X11
82 Summary:        Linux Infrared Remote Control - X11 utilities
83 Summary(pl.UTF-8):      Zdalne sterowanie Linuksem za pomocą podczerwieni - narzędzia X11
84 Group:          X11/Applications
85 Requires:       %{name}-libs = %{version}-%{release}
86
87 %description X11
88 Linux Infrared Remote Control - X11 utilities.
89
90 %description X11 -l pl.UTF-8
91 Zdalne sterowanie Linuksem za pomocą podczerwieni - narzędzia X11.
92
93 %package libs
94 Summary:        LIRC libraries
95 Summary(pl.UTF-8):      Biblioteki LIRC
96 Group:          Libraries
97 Obsoletes:      lirc-svga
98 # didn't use /tmp/.lircd
99 Conflicts:      lirc < 0.6.3-3
100
101 %description libs
102 This package provides the libraries necessary to run lirc client
103 programs.
104
105 %description libs -l pl.UTF-8
106 Ten pakiet zawiera biblioteki niezbędne do działania klientów LIRC.
107
108 %package devel
109 Summary:        Header files for LIRC development
110 Summary(pl.UTF-8):      Pliki nagłówkowe do tworzenia programów z obsługą LIRC
111 Group:          Development/Libraries
112 Requires:       %{name}-libs = %{version}-%{release}
113
114 %description devel
115 This package provides the files necessary to develop LIRC-based
116 programs.
117
118 %description devel -l pl.UTF-8
119 Ten pakiet zawiera pliki niezbędne do tworzenia programów opartych na
120 LIRC.
121
122 %package static
123 Summary:        Static library for LIRC development
124 Summary(pl.UTF-8):      Biblioteka statyczna LIRC
125 Group:          Development/Libraries
126 Requires:       %{name}-devel = %{version}-%{release}
127
128 %description static
129 The files necessary for development of statically-linked lirc-based
130 programs.
131
132 %description static -l pl.UTF-8
133 Pliki potrzebne do tworzenia łączonych statycznie programów opartych
134 na LIRC.
135
136 %package doc
137 Summary:        Documentation for LIRC
138 Summary(pl.UTF-8):      Dokumentacja LIRC-a
139 Group:          Documentation
140
141 %description doc
142 Documentation for LIRC.
143
144 %description doc -l pl.UTF-8
145 Dokumentacja LIRC-a.
146
147 %prep
148 %setup -q -a1
149 %patch0 -p1
150 %patch1 -p1
151 %patch2 -p1
152 %patch3 -p1
153
154 grep -rl /usr/bin/env tools | xargs sed -i -e '1{
155         s,^#!.*bin/env .*python3,#!%{__python3},
156         s,^#!.*bin/env bash,#!%{__bash},
157 }'
158
159 %build
160 %{__libtoolize}
161 %{__aclocal}
162 %{__autoconf}
163 %{__autoheader}
164 %{__automake}
165
166 %configure \
167         %{!?with_portaudio:ac_cv_header_portaudio_h=no} \
168         am_cv_python_pythondir=%{py3_sitescriptdir} \
169         --enable-devinput \
170         %{?with_static_libs:--enable-static} \
171         --enable-uinput \
172         %{?with_x:--with-x}
173
174 %{__make} -j1
175
176 %install
177 rm -rf $RPM_BUILD_ROOT
178
179 install -d $RPM_BUILD_ROOT{%{_bindir},/dev,/var/{log,run/lirc}} \
180         $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,lirc} \
181         $RPM_BUILD_ROOT%{systemdtmpfilesdir}
182
183 %{__make} -j1 install \
184         DESTDIR=$RPM_BUILD_ROOT
185
186 :> $RPM_BUILD_ROOT/var/log/lircd
187
188 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lircd
189 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/lircd
190 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/lircmd
191 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
192
193 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lirc/plugins/*.la \
194         $RPM_BUILD_ROOT%{py3_sitedir}/lirc/_client.la
195 %if %{with static_libs}
196 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lirc/plugins/*.a \
197         $RPM_BUILD_ROOT%{py3_sitedir}/lirc/_client.a
198 %endif
199
200 # nothing useful
201 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/lirc/contrib
202 # dist packages
203 %{__rm} $RPM_BUILD_ROOT%{_datadir}/lirc/lirc-%{version}.tar.gz
204 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/lirc/python-pkg
205 # packaged as %doc
206 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/lirc/lircd.conf.d/README.conf.d
207 # useless
208 %{__rm} $RPM_BUILD_ROOT%{_docdir}/lirc/VERSION
209 # packaged as %doc in -X11 package
210 %{__rm} $RPM_BUILD_ROOT%{_docdir}/lirc/irxevent.keys
211
212 %clean
213 rm -rf $RPM_BUILD_ROOT
214
215 %post   libs -p /sbin/ldconfig
216 %postun libs -p /sbin/ldconfig
217
218 %post
219 /sbin/chkconfig --add lircd
220 /sbin/chkconfig --add lircmd
221 %service lircd restart
222 %service lircmd restart
223
224 %preun
225 if [ "$1" = "0" ]; then
226         %service lircd stop
227         %service lircmd stop
228         /sbin/chkconfig --del lircd
229         /sbin/chkconfig --del lircmd
230 fi
231
232 %triggerpostun -- %{name} < 0.8.6-8
233 if [ -f %{_sysconfdir}/lircd.conf.rpmsave ]; then
234         mv -f %{_sysconfdir}/lircd.conf.rpmsave %{_sysconfdir}/lirc/lircd.conf
235 fi
236 if [ -f %{_sysconfdir}/lircmd.conf.rpmsave ]; then
237         mv -f %{_sysconfdir}/lircmd.conf.rpmsave %{_sysconfdir}/lirc/lircmd.conf
238 fi
239
240 %files
241 %defattr(644,root,root,755)
242 %doc AUTHORS ChangeLog NEWS README README.conf.d contrib/lircrc
243 %attr(755,root,root) %{_bindir}/ircat
244 %attr(755,root,root) %{_bindir}/irexec
245 %attr(755,root,root) %{_bindir}/irpipe
246 %attr(755,root,root) %{_bindir}/irpty
247 %attr(755,root,root) %{_bindir}/irrecord
248 %attr(755,root,root) %{_bindir}/irsend
249 %attr(755,root,root) %{_bindir}/irsimreceive
250 %attr(755,root,root) %{_bindir}/irsimsend
251 %attr(755,root,root) %{_bindir}/irtestcase
252 %attr(755,root,root) %{_bindir}/irtext2udp
253 %attr(755,root,root) %{_bindir}/irw
254 %attr(755,root,root) %{_bindir}/lirc-config-tool
255 %attr(755,root,root) %{_bindir}/lirc-data2table
256 %attr(755,root,root) %{_bindir}/lirc-init-db
257 %attr(755,root,root) %{_bindir}/lirc-lsremotes
258 %attr(755,root,root) %{_bindir}/lirc-make-devinput
259 %attr(755,root,root) %{_bindir}/lircrcd
260 %attr(755,root,root) %{_bindir}/mode2
261 %attr(755,root,root) %{_bindir}/pronto2lirc
262 %attr(755,root,root) %{_sbindir}/lirc-lsplugins
263 %attr(755,root,root) %{_sbindir}/lircd
264 %attr(755,root,root) %{_sbindir}/lircd-setup
265 %attr(755,root,root) %{_sbindir}/lircd-uinput
266 %attr(755,root,root) %{_sbindir}/lircmd
267 %dir %{_libdir}/lirc
268 %dir %{_libdir}/lirc/plugins
269 %attr(755,root,root) %{_libdir}/lirc/plugins/accent.so
270 %attr(755,root,root) %{_libdir}/lirc/plugins/alsa_usb.so
271 %attr(755,root,root) %{_libdir}/lirc/plugins/atilibusb.so
272 %attr(755,root,root) %{_libdir}/lirc/plugins/atwf83.so
273 %{?with_portaudio:%attr(755,root,root) %{_libdir}/lirc/plugins/audio.so}
274 %attr(755,root,root) %{_libdir}/lirc/plugins/audio_alsa.so
275 %attr(755,root,root) %{_libdir}/lirc/plugins/awlibusb.so
276 %attr(755,root,root) %{_libdir}/lirc/plugins/bte.so
277 %attr(755,root,root) %{_libdir}/lirc/plugins/commandir.so
278 %attr(755,root,root) %{_libdir}/lirc/plugins/creative.so
279 %attr(755,root,root) %{_libdir}/lirc/plugins/creative_infracd.so
280 %attr(755,root,root) %{_libdir}/lirc/plugins/default.so
281 %attr(755,root,root) %{_libdir}/lirc/plugins/devinput.so
282 %attr(755,root,root) %{_libdir}/lirc/plugins/dfclibusb.so
283 %attr(755,root,root) %{_libdir}/lirc/plugins/dsp.so
284 %attr(755,root,root) %{_libdir}/lirc/plugins/ea65.so
285 %attr(755,root,root) %{_libdir}/lirc/plugins/file.so
286 %attr(755,root,root) %{_libdir}/lirc/plugins/ftdi.so
287 %attr(755,root,root) %{_libdir}/lirc/plugins/girs.so
288 %attr(755,root,root) %{_libdir}/lirc/plugins/hiddev.so
289 %attr(755,root,root) %{_libdir}/lirc/plugins/i2cuser.so
290 %attr(755,root,root) %{_libdir}/lirc/plugins/irlink.so
291 %attr(755,root,root) %{_libdir}/lirc/plugins/irtoy.so
292 %attr(755,root,root) %{_libdir}/lirc/plugins/livedrive_midi.so
293 %attr(755,root,root) %{_libdir}/lirc/plugins/livedrive_seq.so
294 %attr(755,root,root) %{_libdir}/lirc/plugins/logitech.so
295 %attr(755,root,root) %{_libdir}/lirc/plugins/mouseremote.so
296 %attr(755,root,root) %{_libdir}/lirc/plugins/mp3anywhere.so
297 %attr(755,root,root) %{_libdir}/lirc/plugins/mplay.so
298 %attr(755,root,root) %{_libdir}/lirc/plugins/pcmak.so
299 %attr(755,root,root) %{_libdir}/lirc/plugins/pinsys.so
300 %attr(755,root,root) %{_libdir}/lirc/plugins/pixelview.so
301 %attr(755,root,root) %{_libdir}/lirc/plugins/silitek.so
302 %attr(755,root,root) %{_libdir}/lirc/plugins/srm7500libusb.so
303 %attr(755,root,root) %{_libdir}/lirc/plugins/tira.so
304 %attr(755,root,root) %{_libdir}/lirc/plugins/udp.so
305 %attr(755,root,root) %{_libdir}/lirc/plugins/uirt2.so
306 %attr(755,root,root) %{_libdir}/lirc/plugins/uirt2_raw.so
307 %attr(755,root,root) %{_libdir}/lirc/plugins/usbx.so
308 %attr(755,root,root) %{_libdir}/lirc/plugins/zotac.so
309 %attr(754,root,root) /etc/rc.d/init.d/lircd
310 %attr(754,root,root) /etc/rc.d/init.d/lircmd
311 %{systemdunitdir}/irexec.service
312 %{systemdunitdir}/lircd.service
313 %{systemdunitdir}/lircd.socket
314 %{systemdunitdir}/lircd-setup.service
315 %{systemdunitdir}/lircd-uinput.service
316 %{systemdunitdir}/lircmd.service
317 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lircd
318 %dir %{_sysconfdir}/lirc
319 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lirc/irexec.lircrc
320 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lirc/lirc_options.conf
321 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lirc/lircd.conf
322 %{_sysconfdir}/lirc/lircd.conf.d
323 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lirc/lircmd.conf
324 %dir %{_datadir}/lirc
325 %{_datadir}/lirc/configs
326 %dir %{_docdir}/lirc
327 %dir %{_docdir}/lirc/plugindocs
328 %{_mandir}/man1/ircat.1*
329 %{_mandir}/man1/irexec.1*
330 %{_mandir}/man1/irpipe.1*
331 %{_mandir}/man1/irpty.1*
332 %{_mandir}/man1/irrecord.1*
333 %{_mandir}/man1/irsend.1*
334 %{_mandir}/man1/irsimreceive.1*
335 %{_mandir}/man1/irsimsend.1*
336 %{_mandir}/man1/irtestcase.1*
337 %{_mandir}/man1/irtext2udp.1*
338 %{_mandir}/man1/irw.1*
339 %{_mandir}/man1/lirc-config-tool.1*
340 %{_mandir}/man1/lirc-lsplugins.1*
341 %{_mandir}/man1/lirc-lsremotes.1*
342 %{_mandir}/man1/lirc-make-devinput.1*
343 %{_mandir}/man1/mode2.1*
344 %{_mandir}/man1/pronto2lirc.1*
345 %{_mandir}/man5/lircd.conf.5*
346 %{_mandir}/man5/lircrc.5*
347 %{_mandir}/man8/lircd.8*
348 %{_mandir}/man8/lircd-setup.8*
349 %{_mandir}/man8/lircd-uinput.8*
350 %{_mandir}/man8/lircmd.8*
351 %{_mandir}/man8/lircrcd.8*
352 %attr(600,root,root) %ghost /var/log/lircd
353 %dir /var/run/lirc
354 %{systemdtmpfilesdir}/%{name}.conf
355
356 %attr(755,root,root) %{_bindir}/irdb-get
357 %attr(755,root,root) %{_bindir}/lirc-setup
358 %{_mandir}/man1/irdb-get.1*
359 %{_mandir}/man1/lirc-setup.1*
360
361 %dir %{py3_sitedir}/lirc
362 %{py3_sitedir}/lirc/__pycache__
363 %{py3_sitedir}/lirc/*.py
364 %attr(755,root,root) %{py3_sitedir}/lirc/_client.so
365
366 %dir %{py3_sitedir}/lirc-setup
367 %{py3_sitedir}/lirc-setup/__pycache__
368 %{py3_sitedir}/lirc-setup/*.py
369 %{py3_sitedir}/lirc-setup/configs
370 %{py3_sitedir}/lirc-setup/lirc-setup
371 %{py3_sitedir}/lirc-setup/lirc-setup.ui
372
373 %files remotes
374 %defattr(644,root,root,755)
375 # XXX: are jpegs in docs (remotes) a good idea?
376 %doc remotes
377
378 %if %{with x}
379 %files X11
380 %defattr(644,root,root,755)
381 %doc doc/irxevent.keys
382 %attr(755,root,root) %{_bindir}/irxevent
383 %attr(755,root,root) %{_bindir}/xmode2
384 %{_mandir}/man1/irxevent.1*
385 %{_mandir}/man1/xmode2.1*
386 %endif
387
388 %files libs
389 %defattr(644,root,root,755)
390 %attr(755,root,root) %{_libdir}/libirrecord.so.*.*.*
391 %attr(755,root,root) %ghost %{_libdir}/libirrecord.so.0
392 %attr(755,root,root) %{_libdir}/liblirc.so.*.*.*
393 %attr(755,root,root) %ghost %{_libdir}/liblirc.so.0
394 %attr(755,root,root) %{_libdir}/liblirc_client.so.*.*.*
395 %attr(755,root,root) %ghost %{_libdir}/liblirc_client.so.0
396 %attr(755,root,root) %{_libdir}/liblirc_driver.so.*.*.*
397 %attr(755,root,root) %ghost %{_libdir}/liblirc_driver.so.0
398
399 %files devel
400 %defattr(644,root,root,755)
401 %attr(755,root,root) %{_libdir}/libirrecord.so
402 %attr(755,root,root) %{_libdir}/liblirc.so
403 %attr(755,root,root) %{_libdir}/liblirc_client.so
404 %attr(755,root,root) %{_libdir}/liblirc_driver.so
405 %{_libdir}/libirrecord.la
406 %{_libdir}/liblirc.la
407 %{_libdir}/liblirc_client.la
408 %{_libdir}/liblirc_driver.la
409 %{_includedir}/lirc
410 %{_includedir}/lirc_client.h
411 %{_includedir}/lirc_driver.h
412 %{_includedir}/lirc_private.h
413 %{_pkgconfigdir}/lirc.pc
414 %{_pkgconfigdir}/lirc-driver.pc
415
416 %if %{with static_libs}
417 %files static
418 %defattr(644,root,root,755)
419 %{_libdir}/libirrecord.a
420 %{_libdir}/liblirc.a
421 %{_libdir}/liblirc_client.a
422 %{_libdir}/liblirc_driver.a
423 %endif
424
425 %files doc
426 %defattr(644,root,root,755)
427 %dir %{_docdir}/lirc
428 %{_docdir}/lirc/html
429 %{_docdir}/lirc/images
430 %{_docdir}/lirc/lirc.org
431 %dir %{_docdir}/lirc/plugindocs
432 %{_docdir}/lirc/plugindocs/README
433 %{_docdir}/lirc/plugindocs/Makefile
434 %{_docdir}/lirc/plugindocs/lirc.css
435 %attr(755,root,root) %{_docdir}/lirc/plugindocs/make-ext-driver-toc.sh
436 %{_docdir}/lirc/plugindocs/*.tmpl
437 %{_docdir}/lirc/plugindocs/*.xsl
438 %{_docdir}/lirc/plugindocs/var
439 # upstream decided to use /var because index can be regenerated after adding more plugins docs
440 %dir /var/lib/lirc
441 /var/lib/lirc/images
442 %dir /var/lib/lirc/plugins
443 # can be regenerated
444 %verify(not md5 mtime size) /var/lib/lirc/plugins/index.html
445 /var/lib/lirc/plugins/lirc.css
This page took 0.122807 seconds and 3 git commands to generate.