You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lirc/lirc.spec

264 lines
7.7 KiB

# 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
20 years ago
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
20 years ago
* Sun Apr 17 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.7.1-2
- 0.7.1.
* Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
- rebuilt
* Sun Dec 5 2004 Ville Skyttä <ville.skytta at iki.fi> - 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 <http://freshrpms.net/> 0.6.6-3
- Added missing /sbin/ldconfig calls.
* Wed May 19 2004 Matthias Saou <http://freshrpms.net/> 0.6.6-2
- Rebuild for Fedora Core 2... this spec file still _really_ needs reworking!
* Fri Nov 7 2003 Matthias Saou <http://freshrpms.net/> 0.6.6-2
- Rebuild for Fedora Core 1... this spec file _really_ needs reworking!
* Mon Mar 31 2003 Matthias Saou <http://freshrpms.net/>
- Rebuilt for Red Hat Linux 9... this spec file needs some reworking!
* Mon Oct 7 2002 Matthias Saou <http://freshrpms.net/>
- Update to 0.6.6 final.
* Mon Sep 16 2002 Matthias Saou <http://freshrpms.net/>
- Updated to latest pre-version.
- Kernel modules still need to be compiled separately and with a custom
kernel :-(
* Thu May 2 2002 Matthias Saou <http://freshrpms.net/>
- Update to 0.6.5.
- Rebuilt against Red Hat Linux 7.3.
- Added the %%{?_smp_mflags} expansion.
* Thu Oct 4 2001 Matthias Saou <http://freshrpms.net/>
- Initial RPM release.