source: projects/specs/branches/6/l/lirc/lirc-vl.spec @ 2092

Revision 2092, 12.3 KB checked in by kazutaka, 14 years ago (diff)

0.8.7 に更新

Line 
1Summary:        The Linux Infrared Remote Control package.
2Summary(ja):    赤外線リモートコントロールパッケージ
3Name:           lirc
4Version:        0.8.7
5Release:        1%{?_dist_release}
6License:        GPL
7Group:          System Environment/Daemons
8URL:            http://www.lirc.org/
9Source0:        http://prdownloads.sourceforge.net/lirc/%{name}-%{version}.tar.bz2
10Source1:        lirc.init
11Source2:        lircd.logrotate
12Source3:        lirc.sysconfig
13Patch0:         lirc-use-new-instead-of-conf-as-filename-suffix.patch
14# https://bugzilla.redhat.com/show_bug.cgi?id=457273
15# http://thread.gmane.org/gmane.comp.hardware.lirc/6884
16Patch1:         lirc-0.8.6-standardized-remote-keycodes.patch
17Patch2:         lirc-0.8.4-make-remote-names-all-unique.patch
18# Vine patch
19Patch100:       lirc-0.8.7-mceusb-GV-MC7_RCKIT.patch
20
21BuildRequires:  perl
22BuildRequires:  libusb-devel, python-devel
23BuildRequires:  automake libtool
24BuildRequires:  alsa-lib-devel
25BuildRequires:  libXt-devel
26## Currently not supportd (yet) for Vine Linux
27#BuildRequires: libftdi-devel, libirman-devel
28Requires(post): /sbin/chkconfig
29Requires(post): /sbin/ldconfig
30Requires(preun): /sbin/chkconfig
31Requires(postun): /sbin/ldconfig
32
33BuildRoot:      %{_tmppath}/%{name}-%{version}-root
34
35Packager:       owa, kazutaka
36
37%description
38LIRC stands for 'Linux Infra-red Remote Control'.
39
40This package provides the daemons and some utilities to support
41infra-red remote controls under Linux.
42
43%description -l ja
44LIRC は 'Linux Infra-red Remote Control' の略です。
45
46このパッケージには Linux で赤外線リモコンをサポートする為に
47必要なデーモンといくつかのユーティリティが含まれています。
48
49%package -n dkms-%{name}
50Summary:        Kernel modules for LIRC
51Group:          System Environment/Kernel
52Requires(post): dkms
53Requires(preun):dkms
54
55%description -n dkms-%{name}
56This package provides the kernel modules for LIRC.
57
58Install this package if the LIRC driver you are using requires
59them and your kernel doesn't include them.
60
61Note that lirc_gpio and lirc_parallel are in packages of their own.
62
63%description -n dkms-%{name} -l ja
64このパッケージには LIRC 用のカーネルモジュールが含まれています。
65
66もしあなたが使っている赤外線リモコン用のドライバがカーネルに
67含まれていない場合は、このパッケージをインストールしてください。
68
69注記: lirc_gpio と lirc_parallel は別のパッケージになっています。
70
71## This package up (uni processor) kernel, but only smp kernel is supplied officially.
72## So we don't create this sub package.
73#%package -n dkms-%{name}-parallel
74#Summary:       Parallel port module for LIRC
75#Group:         System/Kernel and hardware
76#Requires:      dkms-%{name} = %version
77#Requires(post):        dkms
78#Requires(preun):dkms
79#
80#%description -n dkms-%{name}-parallel
81#This package provides the parallel port module for LIRC.
82#
83#This module requires a non-SMP kernel.
84#
85#%description -n dkms-%{name}-parallel -l ja
86#このパッケージにはパラレルポート接続の LIRC 用のカーネル
87#モジュールが含まれています。
88#
89#このモジュールは SMP カーネルでは使用できません。
90
91## Required header files (bttv.h ...) are not included in kernel-devel.
92## So we can't build this package (now?).
93#%package -n dkms-%{name}-gpio
94#Summary:       GPIO module for LIRC
95#Group:         System/Kernel and hardware
96#Requires:      dkms-%{name} = %version
97#Requires(post):        dkms
98#Requires(preun):dkms
99#
100#%description -n        dkms-%{name}-gpio
101#This package provides the GPIO module for LIRC.
102#
103#%description -n        dkms-%{name}-gpio -l ja
104#このパッケージには GPIO 接続の LIRC 用のカーネルモジュールが
105#含まれています。
106
107
108%prep
109%setup -q
110%patch0 -p1 -b .suffix
111%patch100 -p1 -b .rckit
112
113%{__chmod} 644 contrib/*
114%{__chmod} +x contrib/hal
115%{__sed} -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc
116%{__sed} -i -e 's/\r//' remotes/hercules/lircd.conf.smarttv_stereo \
117                remotes/adstech/lircd.conf.usbx-707
118%{__sed} -i -e 's|/sbin/init.d/lircd|%{_initdir}/lirc|' contrib/lircs
119for f in remotes/chronos/lircd.conf.chronos \
120         remotes/creative/lircd.conf.livedrive \
121         remotes/atiusb/lircd.conf.atiusb \
122         NEWS ChangeLog AUTHORS contrib/lircrc ; do
123    iconv -f iso-8859-1 -t utf-8 $f > $f.utf8 ; mv $f.utf8 $f
124done
125
126# use /dev/lirc0 by default instead of /dev/lirc
127%{__sed} -i -e 's|#define DEV_LIRC      "lirc"|#define DEV_LIRC "lirc0"|' config.h.in
128
129# use fixed instead of Courier w/xmode2, should be more prevalent on linux boxen
130%{__sed} -i -e 's|char.*font1_name.*Courier.*$|char             font1_name[]="-misc-fixed-*-r-*-*-12-*-*-*-*-*-iso8859-1";|g' tools/xmode2.c
131
132# lib64 rpath
133%{__sed} -i -e 's|"/lib /usr/lib |"/%{_lib} %{_libdir} |' configure
134
135# *cough* I wish there was a good way to disable portaudio/svgalib...
136%{__sed} -i -e 's/portaudio.h/PORTAUDIO_DISABLED/g' configure*
137%{__sed} -i -e 's/vga.h/SVGALIB_DISABLED/g' configure*
138
139# avoid autofoo re-run
140touch -r aclocal.m4 configure.ac
141
142# Do this after, as we're touching the remote definitions earlier
143# Don't create a backup, or the original definitions will get installed
144%patch1 -p1 -b .keycode
145%patch2 -p1 -b .uniq
146
147%build
148%configure \
149         --disable-static \
150         --disable-manage-devices \
151         --enable-sandboxed \
152         --with-x \
153         --with-transmitter \
154        --with-driver=userspace \
155        --with-kerneldir=$(pwd)
156
157%{__make}
158
159
160%install
161%{__rm} -rf $RPM_BUILD_ROOT __docs
162%{__make} install DESTDIR=$RPM_BUILD_ROOT
163
164%{__install} -Dpm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initdir}/lirc
165%{__perl} -pi -e \
166  's|/etc/|%{_sysconfdir}/|g ;
167   s|/var/|%{_localstatedir}/|g ;
168   s|/usr/sbin/|%{_sbindir}/|g' \
169  $RPM_BUILD_ROOT%{_initdir}/lirc
170#%{__install} -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/lircd
171%{__install} -Dpm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/lirc
172
173%{__install} -Dpm 644 doc/lirc.hwdb $RPM_BUILD_ROOT%{_datadir}/lirc/lirc.hwdb
174
175%{__install} -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/lirc
176touch $RPM_BUILD_ROOT%{_sysconfdir}/lirc/lirc{d,md}.conf
177
178%{__install} -dm 755 $RPM_BUILD_ROOT%{_localstatedir}/run/lirc/
179touch $RPM_BUILD_ROOT%{_localstatedir}/run/lirc/lirc{d,m}
180
181# Put remote definitions in place
182cp -ar remotes $RPM_BUILD_ROOT%{_datadir}/lirc-remotes
183
184# Remove unpacked file
185%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblirc_client.la
186
187# Remove unnecessary documents
188%{__mkdir} __docs
189%{__cp} -pR doc contrib __docs
190pushd __docs
191%{__rm} -rf doc/Makefile* doc/.libs doc/man* doc/lirc.hwdb
192%{__rm} -rf contrib/irman2lirc contrib/lirc.* contrib/sendxevent.c
193popd
194
195
196## For DKMS sub packagtes
197#
198#for lircsrcdir in %{name} %{name}-parallel %{name}-gpio; do
199for lircsrcdir in %{name}; do
200
201install -d -m755 $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}
202cp -a Makefile Makefile.in Makefile.am acinclude.m4 \
203        configure.ac config.status config.h \
204        $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}
205
206# Makefiles call there to unnecessarily regenerate files
207echo '#!/bin/true' > $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}/configure
208chmod +x $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}/configure
209
210done
211
212cp -a drivers $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}
213
214#for drivername in parallel gpio; do
215#install -d -m755 $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers
216#mv $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/drivers/lirc_$drivername \
217#       $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers/
218#cp -a drivers/*.h drivers/Makefile* drivers/lirc_dev \
219#       $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers/
220#
221#done
222
223# get modulelist
224pushd drivers
225drivers=$(echo lirc_* | sed "s/lirc_parallel //" | sed "s/lirc_gpio //")
226popd
227
228# Anssi 2009-03 empty directory
229drivers="${drivers/lirc_cmdir /}"
230
231cat > $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/dkms.conf <<EOF
232PACKAGE_NAME="%{name}"
233PACKAGE_VERSION="%{version}-%{release}"
234MAKE[0]="droot=\\\$(pwd); for driver in $drivers; do cd \\\$droot/drivers/\\\$driver; make \
235        KERNEL_LOCATION=\$kernel_source_dir AUTOMAKE=true AUTOCONF=true ACLOCAL=true; done"
236CLEAN="droot=\\\$(pwd); for driver in $drivers; do cd \\\$droot/drivers/\\\$driver; make \
237        clean AUTOMAKE=true AUTOCONF=true ACLOCAL=true; done"
238AUTOINSTALL=yes
239EOF
240
241i=0
242for module in $drivers; do
243        cat >> $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/dkms.conf <<-EOF
244        BUILT_MODULE_NAME[$i]="$module"
245        BUILT_MODULE_LOCATION[$i]="drivers/$module"
246        DEST_MODULE_LOCATION[$i]="/kernel/drivers/input/misc"
247        EOF
248        i=$((i+1))
249done
250
251#for drivername in parallel gpio; do
252#cat > %{buildroot}/usr/src/%{name}-$drivername-%{version}-%{release}/dkms.conf <<EOF
253#PACKAGE_NAME="%{name}-$drivername"
254#PACKAGE_VERSION="%{version}-%{release}"
255#MAKE[0]="cd drivers/lirc_$drivername; make \
256#       KERNEL_LOCATION=\$kernel_source_dir AUTOMAKE=true AUTOCONF=true ACLOCAL=true"
257#CLEAN="cd drivers/lirc_$drivername; make \
258#       clean AUTOMAKE=true AUTOCONF=true ACLOCAL=true"
259#AUTOINSTALL=yes
260#BUILT_MODULE_NAME[0]="lirc_$drivername"
261#BUILT_MODULE_LOCATION[0]="drivers/lirc_$drivername"
262#DEST_MODULE_LOCATION[0]="/kernel/drivers/input/misc"
263#EOF
264#
265#done
266
267
268%post
269/sbin/chkconfig --add lirc
270# If we're upgrading, move config files into their new location, if need be
271if [ $1 -ge 2 ] ; then
272  if [ -e %{_sysconfdir}/lircd.conf -a ! -e %{_sysconfdir}/lirc/lircd.conf ]; then
273    mv %{_sysconfdir}/lircd.conf %{_sysconfdir}/lirc/lircd.conf
274  fi
275  if [ -e %{_sysconfdir}/lircmd.conf -a ! -e %{_sysconfdir}/lirc/lircmd.conf ]; then
276    mv %{_sysconfdir}/lircmd.conf %{_sysconfdir}/lirc/lircmd.conf
277  fi
278fi
279/sbin/ldconfig
280
281%preun
282if [ $1 -eq 0 ] ; then
283  /sbin/service lirc stop || :
284  /sbin/chkconfig --del lirc || :
285fi
286/sbin/ldconfig
287
288%postun
289if [ "$1" -ge "1" ]; then
290  /sbin/service lirc condrestart || :
291fi
292
293%post -n dkms-%{name}
294dkms add     -m %{name} -v %{version}-%{release} --rpm_safe_upgrade &&
295dkms build   -m %{name} -v %{version}-%{release} --rpm_safe_upgrade &&
296dkms install -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --force || :
297
298%preun -n dkms-%{name}
299dkms remove  -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --all || :
300
301#%post -n dkms-%{name}-parallel
302#dkms add     -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade &&
303#dkms build   -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade &&
304#dkms install -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade --force || :
305#
306#%preun -n dkms-%{name}-parallel
307#dkms remove  -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade --all || :
308
309#%post -n dkms-%{name}-gpio
310#dkms add     -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade &&
311#dkms build   -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade &&
312#dkms install -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade --force || :
313#
314#%preun -n dkms-%{name}-gpio
315#dkms remove  -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade --all || :
316
317
318%clean
319%{__rm} -rf $RPM_BUILD_ROOT
320
321
322%files
323%defattr(-, root, root)
324%doc ANNOUNCE AUTHORS ChangeLog COPYING NEWS README TODO
325%doc __docs/*
326%{_initdir}/lirc
327#/etc/logrotate.d/lircd
328%ghost %config(noreplace) %{_sysconfdir}/lirc/lirc*d.conf
329%config(noreplace) %{_sysconfdir}/sysconfig/lirc
330%{_bindir}/*
331%{_sbindir}/*
332%{_includedir}/lirc
333%{_libdir}/liblirc_*
334%{_datadir}/lirc/
335%{_datadir}/lirc-remotes/
336%{_mandir}/man?/*
337%ghost %{_localstatedir}/run/lirc/lirc*
338
339%files -n dkms-%{name}
340%defattr(-,root,root)
341/usr/src/%{name}-%{version}-%{release}
342
343#%files -n dkms-%{name}-parallel
344#%defattr(-,root,root)
345#/usr/src/%{name}-parallel-%{version}-%{release}
346
347#%files -n dkms-%{name}-gpio
348#%defattr(-,root,root)
349#/usr/src/%{name}-gpio-%{version}-%{release}
350
351
352%changelog
353* Sun Oct 17 2010 Kazutaka HARADA <kazutaka@vinelinux.org> 0.8.7-1
354- new upstream release
355- update Patch1, 2 and 100
356- drop Patch3 (already merged by upstream)
357
358* Fri Feb 05 2010 Shu KONNO <owa@bg.wakwak.com> 0.8.6-3
359- rebuilt with python-2.6.4-3
360
361* Wed Dec 23 2009 Kazutaka HARADA <kazutaka@vinelinux.org> 0.8.6-2
362- add Patch3 to fix compilation error against kernel-2.6.32
363
364* Sat Nov 14 2009 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 0.8.6-1
365- new upstream release
366- drop obsolete patches
367- add new patches and configuration files from fedora package
368- rewrite spec
369- add dkms-lirc sub packages refer to mandriva package
370  (but we don't build lirc-paralle and lirc-gpio sub packages)
371
372* Sat Aug 09 2008 Shu KONNO <owa@bg.wakwak.com> 0.6.5-1vl5
373- added lirc-0.6.5-config.patch for x86_64
374- applied new versioning policy
375- spec in utf-8
376
377* Mon Feb 16 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 0.6.5-0vl1
378- initial build for Vine Linux
379
Note: See TracBrowser for help on using the repository browser.