# Driver TODO, sometime maybe: # - caraca (req: caraca, http://caraca.sf.net/) # - irman: (req: libirman, http://lirc.sf.net/software/snapshots/) # Other TODO: # - move to -devel (?): irw, *mode2, others? # note: xmode2 inflicts a dependency on X, and smode2 on svgalib # - don't run as root and/or create dedicated group, reduce fifo permissions? # - Fixup /etc/lirc(m)d.conf %%ghost'ification, existence after erase etc. # - Verify that the kernel modules work and correct /dev entries get created # automagically with proper permissions etc. %{!?kver: %{expand: %%define kver %(uname -r)}} %define ksrc %{_usrsrc}/kernels/%{kver}-%{_target_cpu} %define mdir /lib/modules/%{kver}/extra Name: lirc Version: 0.7.2 Release: 0.%{mysig} Summary: The Linux Infrared Remote Control package Group: System Environment/Daemons License: GPL URL: http://www.lirc.org/ Source0: http://download.sourceforge.net/lirc/%{name}-%{version}.tar.bz2 Source1: %{name}.init Source2: %{name}.sysconfig Patch0: %{name}-optflags.patch Patch1: %{name}-gpio.patch Patch2: %{name}-nomodules.patch Patch3: %{name}-nodev-crash.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if 0%{!?_with_modules:1} BuildRequires: %{__perl} BuildRequires: alsa-lib-devel BuildRequires: xorg-x11-devel BuildRequires: libusb-devel BuildRequires: portaudio-devel >= 18 BuildConflicts: svgalib-devel %endif Requires(post): /sbin/chkconfig Requires(post): /sbin/ldconfig Requires(preun): /sbin/chkconfig Requires(postun): /sbin/ldconfig %description LIRC is a package that allows you to decode and send infra-red and other signals of many (but not all) commonly used remote controls. Included applications include daemons which decode the received signals as well as user space applications which allow controlling a computer with a remote control. %package devel Summary: Development files for LIRC Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel %{summary}. %package -n kernel-module-%{name}-%{kver} Summary: Kernel modules for LIRC Group: System Environment/Kernel Provides: kernel-module Provides: kernel-module-%{name} = %{version} %if 0%{?_with_modules:1} BuildRequires: kernel-devel-%{_target_cpu} = %{kver} %endif Requires: %{name} = %{version} Requires: module-init-tools Requires: kernel-%{_target_cpu} = %{kver} Requires: udev %description -n kernel-module-%{name}-%{kver} LIRC kernel modules built for kernel %{kver} (%{_target_cpu}). %prep %setup -q %patch0 -p1 %patch1 -p1 # patch2 needs to be applied on top of patch1 %{!?_with_modules:%patch2 -p1} %patch3 -p0 chmod 644 contrib/* touch -r aclocal.m4 configure.in # avoid autofoo re-run %build %configure \ --disable-dependency-tracking \ --enable-debug \ --enable-sandboxed \ --with-syslog=LOG_DAEMON \ --with-kerneldir=%{ksrc} \ --with-moduledir=%{mdir}/%{name} \ --with-driver=any make %{?_smp_mflags} %{?_with_modules:-C drivers} %install rm -rf $RPM_BUILD_ROOT __docs %if 0%{?_with_modules:1} make install DESTDIR=$RPM_BUILD_ROOT -C drivers # executable here to allow stripping, fixed later in %%files chmod +x $RPM_BUILD_ROOT%{mdir}/%{name}/*.ko %else make install DESTDIR=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{_mandir}/man1/smode2.1* # if no svgalib install -Dpm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/lirc %{__perl} -pi -e \ 's|/etc/|%{_sysconfdir}/|g ; s|/var/|%{_localstatedir}/|g ; s|/usr/sbin/|%{_sbindir}/|g' \ $RPM_BUILD_ROOT%{_initrddir}/lirc install -Dpm 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/lirc mkdir __docs cp -pR doc contrib __docs cd __docs rm -rf doc/Makefile* doc/.libs doc/man* contrib/lirc.* contrib/sendxevent.c cd .. touch $RPM_BUILD_ROOT%{_sysconfdir}/lirc{d,md}.conf install -dm 755 $RPM_BUILD_ROOT/dev touch $RPM_BUILD_ROOT/dev/lirc{d,m} rm $RPM_BUILD_ROOT%{_libdir}/liblirc_client.la %endif %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig /sbin/chkconfig --add lirc # Backwards compatibility (init script lircd -> lirc rename), FC < 5 only. if [ $1 -gt 0 -a -x %{_initrddir}/lircd ] ; then %{_initrddir}/lircd status >/dev/null 2>&1 ret=$? %{_initrddir}/lircd stop >/dev/null || : /sbin/chkconfig --del lircd || : if [ $ret -eq 0 ] ; then %{_initrddir}/lirc start >/dev/null || : fi fi %post -n kernel-module-%{name}-%{kver} depmod -ae -F /boot/System.map-%{kver} %{kver} >/dev/null || : %preun if [ $1 -eq 0 ] ; then %{_initrddir}/lirc stop >/dev/null || : /sbin/chkconfig --del lirc || : fi %postun /sbin/ldconfig if [ $1 -gt 0 ] ; then %{_initrddir}/lirc try-restart >/dev/null || : fi %postun -n kernel-module-%{name}-%{kver} depmod -ae -F /boot/System.map-%{kver} %{kver} >/dev/null || : %if 0%{!?_with_modules:1} %files %defattr(-,root,root,-) %doc ANNOUNCE AUTHORS ChangeLog COPYING NEWS README TODO remotes __docs/* %ghost %config(noreplace) %{_sysconfdir}/lirc*d.conf %config(noreplace) %{_sysconfdir}/sysconfig/lirc %{_initrddir}/lirc %{_bindir}/ir* %{_bindir}/*mode2 %{_sbindir}/lirc*d %{_libdir}/liblirc_client.so.* %{_mandir}/man1/ir*.1* %{_mandir}/man1/*mode2*.1* %{_mandir}/man8/lirc*d.8* %ghost /dev/lirc* %files devel %defattr(-,root,root,-) %{_includedir}/lirc/ %{_libdir}/liblirc_client.a %{_libdir}/liblirc_client.so %endif %if 0%{?_with_modules:1} %files -n kernel-module-%{name}-%{kver} %defattr(644,root,root,755) %{mdir}/ %endif %changelog * Wed Sep 21 2005 Milan Kerslager 0.7.2-0.ker.rhel4 - rebuild for RHEL4 (package from FC4 Extras) * Sun Aug 14 2005 Ville Skyttä - 0.7.2-1 - 0.7.2, patch to fix crash at startup when no device is specified. - Enable audio input driver support (portaudio). - Improve package description. - Simplify module package build (still work in progress, disabled by default). - Other minor specfile cleanups and maintainability improvements. * Thu May 26 2005 Ville Skyttä - 0.7.1-3 - Adjust kernel module build for FC4 and add hauppauge, igorplugusb, imon, sasem, and streamzap to the list of modules to build. This stuff is still disabled by default, rebuild with "--with modules --target $arch" to enable. * Sun Apr 17 2005 Ville Skyttä - 0.7.1-2 - 0.7.1. * Fri Apr 7 2005 Michael Schwendt - rebuilt * Sun Dec 5 2004 Ville Skyttä - 0.7.0-1 - Update to 0.7.0; major rework of the package: - Change default driver to "any". - Add -devel subpackage. - Improve init script, add %%{_sysconfdir}/sysconfig/lirc for options. - Rename init script to "lirc" to follow upstream; the script is not only for lircd, but lircmd as well. - Log to syslog instead of separate log file. - %%ghost'ify /dev/lirc*. - Build kernel modules when rebuilt with "--with kmod". This stuff was mostly borrowed from Axel Thimm's packages, and is not really ready for FC3+ yet. - Enable debugging features. - Specfile cleanups. * Mon Aug 30 2004 Matthias Saou 0.6.6-3 - Added missing /sbin/ldconfig calls. * Wed May 19 2004 Matthias Saou 0.6.6-2 - Rebuild for Fedora Core 2... this spec file still _really_ needs reworking! * Fri Nov 7 2003 Matthias Saou 0.6.6-2 - Rebuild for Fedora Core 1... this spec file _really_ needs reworking! * Mon Mar 31 2003 Matthias Saou - Rebuilt for Red Hat Linux 9... this spec file needs some reworking! * Mon Oct 7 2002 Matthias Saou - Update to 0.6.6 final. * Mon Sep 16 2002 Matthias Saou - Updated to latest pre-version. - Kernel modules still need to be compiled separately and with a custom kernel :-( * Thu May 2 2002 Matthias Saou - Update to 0.6.5. - Rebuilt against Red Hat Linux 7.3. - Added the %%{?_smp_mflags} expansion. * Thu Oct 4 2001 Matthias Saou - Initial RPM release.