# Driver TODO, sometime maybe: # - audio (req: portaudio) # - caraca (req: caraca_client) # - irman: (req: libirman) # - drivers that need drivers/media/video/bttv*.h (not in kernel-module-devel) # - gpio: flyvideo avermedia avermedia98 # - i2c: hauppauge # Other TODO: # - move to -devel (?): irw, *mode2, others? # - 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. # - kernel modules: Figure out sane permissions for /dev/lirc, use # console.perms/udev, general FC3 adjustments. %{!?kernel: %{expand: %%define kernel %(uname -r)}} %define ksrc %{_libdir}/kernel-module-devel/%{kernel}-%{_target_cpu} # Kernel module drivers %define drivers sir_com3 it87 tekram_bt829 com1 atiusb mceusb lpt1 Name: lirc Version: 0.7.1 Release: 2 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 Source3: %{name}.makedev BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{__perl} %if 0%{!?_with_kmod:1} BuildRequires: alsa-lib-devel XFree86-devel libusb-devel BuildConflicts: svgalib-devel %endif Requires(post): /sbin/chkconfig /sbin/ldconfig Requires(preun): /sbin/chkconfig Requires(postun): /sbin/ldconfig %description LIRC is the Linux Infrared Remote Control package. %package devel Summary: Development files for LIRC Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel %{summary}. %package -n kernel-module-%{name}-%{kernel} Summary: Kernel modules for LIRC Group: System Environment/Kernel Provides: kernel-module Provides: kernel-module-%{name} = %{version} %if 0%{?_with_kmod:1} BuildRequires: %{ksrc} MAKEDEV %endif Requires: modutils %{name} = %{version} Requires: /boot/vmlinuz-%{kernel} %description -n kernel-module-%{name}-%{kernel} LIRC kernel modules built for kernel %{kernel} (%{_target_cpu}). %prep %setup -q %{__perl} -pi -e 's|^CFLAGS="-O2 -g -Wall"|CFLAGS="\$CFLAGS -Wall"|' configure chmod 644 contrib/* %build %if 0%{?_with_kmod:1} for driver in %{drivers} ; do # lpt1 is not smp safe @@@ TODO: verify this? test $driver = lpt1 && grep -q '^CONFIG_SMP=y' %{ksrc}/.config && continue mkdir -p buildroot/"$driver" %configure \ --enable-sandboxed \ --enable-debug \ --disable-dependency-tracking \ --with-kerneldir=%{ksrc} \ --with-moduledir=/tmp \ --with-driver=$driver make %{?_smp_mflags} -C drivers make -C drivers install DESTDIR=$PWD/buildroot/$driver done %else %configure \ --with-syslog=LOG_DAEMON \ --enable-sandboxed \ --enable-debug \ --disable-dependency-tracking \ --with-driver=any make %{?_smp_mflags} %endif %install rm -rf $RPM_BUILD_ROOT __docs %if 0%{?_with_kmod:1} for driver in %{drivers} ; do # lpt1 is not SMP safe @@@ TODO: verify this? test $driver = lpt1 && grep -q '^CONFIG_SMP=y' %{ksrc}/.config && continue install -dm 755 $RPM_BUILD_ROOT/lib/modules/%{kernel}/updates/lirc # 0755 here to allow stripping, fixed later in %%files install -pm 755 buildroot/$driver/tmp/* \ $RPM_BUILD_ROOT/lib/modules/%{kernel}/updates/lirc done install -Dpm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/makedev.d/lirc cp -p %{_sysconfdir}/makedev.d/00macros $RPM_BUILD_ROOT%{_sysconfdir}/makedev.d /dev/MAKEDEV -M \ -c $RPM_BUILD_ROOT%{_sysconfdir}/makedev.d \ -d $RPM_BUILD_ROOT/dev lirc \ | sed "s|$RPM_BUILD_ROOT||g" \ | grep -v ' /dev$' \ > devices.list rm -f $RPM_BUILD_ROOT%{_sysconfdir}/makedev.d/00macros %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} %endif %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig /sbin/chkconfig --add lirc # Backwards compatibility (init script lircd -> lirc rename): 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}-%{kernel} depmod -ae -F /boot/System.map-%{kernel} %{kernel} >/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}-%{kernel} depmod -ae -F /boot/System.map-%{kernel} %{kernel} >/dev/null || : %if 0%{!?_with_kmod: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 %config %{_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 %exclude %{_libdir}/liblirc_client.la %endif %if 0%{?_with_kmod:1} %files -n kernel-module-%{name}-%{kernel} -f devices.list %defattr(644,root,root,755) %config %{_sysconfdir}/makedev.d /lib/modules/%{kernel}/updates %endif %changelog * 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.