source: projects/specs/trunk/l/lirc/lirc-vl.spec @ 547

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

fix Group: System Environment/Kernel? for dkms-lirc

Line 
1Summary:        The Linux Infrared Remote Control package.
2Summary(ja):    赤外線リモートコントロールパッケージ
3Name:           lirc
4Version:        0.8.6
5Release:        3%{?_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# http://sourceforge.net/mailarchive/forum.php?thread_name=453E54B8-5C11-41E1-84E9-5EFF3CF9B3F1%40wilsonet.com&forum_name=lirc-list
19Patch3:         lirc-0.8.6-linux-2.6.32.patch
20# Vine patch
21Patch100:       lirc-0.8.6-mceusb-GV-MC7_RCKIT.patch
22
23BuildRequires:  perl
24BuildRequires:  libusb-devel, python-devel
25BuildRequires:  automake libtool
26BuildRequires:  alsa-lib-devel
27BuildRequires:  libXt-devel
28## Currently not supportd (yet) for Vine Linux
29#BuildRequires: libftdi-devel, libirman-devel
30Requires(post): /sbin/chkconfig
31Requires(post): /sbin/ldconfig
32Requires(preun): /sbin/chkconfig
33Requires(postun): /sbin/ldconfig
34
35BuildRoot:      %{_tmppath}/%{name}-%{version}-root
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%patch3 -p1 -b .kcompat
112%patch100 -p1 -b .rckit
113
114%{__chmod} 644 contrib/*
115%{__chmod} +x contrib/hal
116%{__sed} -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc
117%{__sed} -i -e 's/\r//' remotes/hercules/lircd.conf.smarttv_stereo \
118                remotes/adstech/lircd.conf.usbx-707
119%{__sed} -i -e 's|/sbin/init.d/lircd|%{_initdir}/lirc|' contrib/lircs
120for f in remotes/chronos/lircd.conf.chronos \
121         remotes/creative/lircd.conf.livedrive \
122         remotes/atiusb/lircd.conf.atiusb \
123         NEWS ChangeLog AUTHORS contrib/lircrc ; do
124    iconv -f iso-8859-1 -t utf-8 $f > $f.utf8 ; mv $f.utf8 $f
125done
126
127# use /dev/lirc0 by default instead of /dev/lirc
128%{__sed} -i -e 's|#define DEV_LIRC      "lirc"|#define DEV_LIRC "lirc0"|' config.h.in
129
130# use fixed instead of Courier w/xmode2, should be more prevalent on linux boxen
131%{__sed} -i -e 's|char.*font1_name.*Courier.*$|char             font1_name[]="-misc-fixed-*-r-*-*-12-*-*-*-*-*-iso8859-1";|g' tools/xmode2.c
132
133# lib64 rpath
134%{__sed} -i -e 's|"/lib /usr/lib |"/%{_lib} %{_libdir} |' configure
135
136# *cough* I wish there was a good way to disable portaudio/svgalib...
137%{__sed} -i -e 's/portaudio.h/PORTAUDIO_DISABLED/g' configure*
138%{__sed} -i -e 's/vga.h/SVGALIB_DISABLED/g' configure*
139
140# avoid autofoo re-run
141touch -r aclocal.m4 configure.ac
142
143# Do this after, as we're touching the remote definitions earlier
144# Don't create a backup, or the original definitions will get installed
145%patch1 -p1 -b .keycode
146%patch2 -p1 -b .uniq
147
148%build
149%configure \
150         --disable-static \
151         --disable-manage-devices \
152         --enable-sandboxed \
153         --with-x \
154         --with-transmitter \
155        --with-driver=userspace \
156        --with-kerneldir=$(pwd)
157
158%{__make}
159
160
161%install
162%{__rm} -rf $RPM_BUILD_ROOT __docs
163%{__make} install DESTDIR=$RPM_BUILD_ROOT
164
165%{__install} -Dpm 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initdir}/lirc
166%{__perl} -pi -e \
167  's|/etc/|%{_sysconfdir}/|g ;
168   s|/var/|%{_localstatedir}/|g ;
169   s|/usr/sbin/|%{_sbindir}/|g' \
170  $RPM_BUILD_ROOT%{_initdir}/lirc
171#%{__install} -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT/etc/logrotate.d/lircd
172%{__install} -Dpm 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/lirc
173
174%{__install} -Dpm 644 doc/lirc.hwdb $RPM_BUILD_ROOT%{_datadir}/lirc/lirc.hwdb
175
176%{__install} -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/lirc
177touch $RPM_BUILD_ROOT%{_sysconfdir}/lirc/lirc{d,md}.conf
178
179%{__install} -dm 755 $RPM_BUILD_ROOT%{_localstatedir}/run/lirc/
180touch $RPM_BUILD_ROOT%{_localstatedir}/run/lirc/lirc{d,m}
181
182# Put remote definitions in place
183cp -ar remotes $RPM_BUILD_ROOT%{_datadir}/lirc-remotes
184
185# Remove unpacked file
186%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblirc_client.la
187
188# Remove unnecessary documents
189%{__mkdir} __docs
190%{__cp} -pR doc contrib __docs
191pushd __docs
192%{__rm} -rf doc/Makefile* doc/.libs doc/man* doc/lirc.hwdb
193%{__rm} -rf contrib/irman2lirc contrib/lirc.* contrib/sendxevent.c
194popd
195
196
197## For DKMS sub packagtes
198#
199#for lircsrcdir in %{name} %{name}-parallel %{name}-gpio; do
200for lircsrcdir in %{name}; do
201
202install -d -m755 $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}
203cp -a Makefile Makefile.in Makefile.am acinclude.m4 \
204        configure.ac config.status config.h \
205        $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}
206
207# Makefiles call there to unnecessarily regenerate files
208echo '#!/bin/true' > $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}/configure
209chmod +x $RPM_BUILD_ROOT/usr/src/$lircsrcdir-%{version}-%{release}/configure
210
211done
212
213cp -a drivers $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}
214
215#for drivername in parallel gpio; do
216#install -d -m755 $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers
217#mv $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/drivers/lirc_$drivername \
218#       $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers/
219#cp -a drivers/*.h drivers/Makefile* drivers/lirc_dev \
220#       $RPM_BUILD_ROOT/usr/src/%{name}-$drivername-%{version}-%{release}/drivers/
221#
222#done
223
224# get modulelist
225pushd drivers
226drivers=$(echo lirc_* | sed "s/lirc_parallel //" | sed "s/lirc_gpio //")
227popd
228
229# Anssi 2009-03 empty directory
230drivers="${drivers/lirc_cmdir /}"
231
232cat > $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/dkms.conf <<EOF
233PACKAGE_NAME="%{name}"
234PACKAGE_VERSION="%{version}-%{release}"
235MAKE[0]="droot=\\\$(pwd); for driver in $drivers; do cd \\\$droot/drivers/\\\$driver; make \
236        KERNEL_LOCATION=\$kernel_source_dir AUTOMAKE=true AUTOCONF=true ACLOCAL=true; done"
237CLEAN="droot=\\\$(pwd); for driver in $drivers; do cd \\\$droot/drivers/\\\$driver; make \
238        clean AUTOMAKE=true AUTOCONF=true ACLOCAL=true; done"
239AUTOINSTALL=yes
240EOF
241
242i=0
243for module in $drivers; do
244        cat >> $RPM_BUILD_ROOT/usr/src/%{name}-%{version}-%{release}/dkms.conf <<-EOF
245        BUILT_MODULE_NAME[$i]="$module"
246        BUILT_MODULE_LOCATION[$i]="drivers/$module"
247        DEST_MODULE_LOCATION[$i]="/kernel/drivers/input/misc"
248        EOF
249        i=$((i+1))
250done
251
252#for drivername in parallel gpio; do
253#cat > %{buildroot}/usr/src/%{name}-$drivername-%{version}-%{release}/dkms.conf <<EOF
254#PACKAGE_NAME="%{name}-$drivername"
255#PACKAGE_VERSION="%{version}-%{release}"
256#MAKE[0]="cd drivers/lirc_$drivername; make \
257#       KERNEL_LOCATION=\$kernel_source_dir AUTOMAKE=true AUTOCONF=true ACLOCAL=true"
258#CLEAN="cd drivers/lirc_$drivername; make \
259#       clean AUTOMAKE=true AUTOCONF=true ACLOCAL=true"
260#AUTOINSTALL=yes
261#BUILT_MODULE_NAME[0]="lirc_$drivername"
262#BUILT_MODULE_LOCATION[0]="drivers/lirc_$drivername"
263#DEST_MODULE_LOCATION[0]="/kernel/drivers/input/misc"
264#EOF
265#
266#done
267
268
269%post
270/sbin/chkconfig --add lirc
271# If we're upgrading, move config files into their new location, if need be
272if [ $1 -ge 2 ] ; then
273  if [ -e %{_sysconfdir}/lircd.conf -a ! -e %{_sysconfdir}/lirc/lircd.conf ]; then
274    mv %{_sysconfdir}/lircd.conf %{_sysconfdir}/lirc/lircd.conf
275  fi
276  if [ -e %{_sysconfdir}/lircmd.conf -a ! -e %{_sysconfdir}/lirc/lircmd.conf ]; then
277    mv %{_sysconfdir}/lircmd.conf %{_sysconfdir}/lirc/lircmd.conf
278  fi
279fi
280/sbin/ldconfig
281
282%preun
283if [ $1 -eq 0 ] ; then
284  /sbin/service lirc stop || :
285  /sbin/chkconfig --del lirc || :
286fi
287/sbin/ldconfig
288
289%postun
290if [ "$1" -ge "1" ]; then
291  /sbin/service lirc condrestart || :
292fi
293
294%post -n dkms-%{name}
295dkms add     -m %{name} -v %{version}-%{release} --rpm_safe_upgrade &&
296dkms build   -m %{name} -v %{version}-%{release} --rpm_safe_upgrade &&
297dkms install -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --force || :
298
299%preun -n dkms-%{name}
300dkms remove  -m %{name} -v %{version}-%{release} --rpm_safe_upgrade --all || :
301
302#%post -n dkms-%{name}-parallel
303#dkms add     -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade &&
304#dkms build   -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade &&
305#dkms install -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade --force || :
306#
307#%preun -n dkms-%{name}-parallel
308#dkms remove  -m %{name}-parallel -v %{version}-%{release} --rpm_safe_upgrade --all || :
309
310#%post -n dkms-%{name}-gpio
311#dkms add     -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade &&
312#dkms build   -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade &&
313#dkms install -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade --force || :
314#
315#%preun -n dkms-%{name}-gpio
316#dkms remove  -m %{name}-gpio -v %{version}-%{release} --rpm_safe_upgrade --all || :
317
318
319%clean
320%{__rm} -rf $RPM_BUILD_ROOT
321
322
323%files
324%defattr(-, root, root)
325%doc ANNOUNCE AUTHORS ChangeLog COPYING NEWS README TODO
326%doc __docs/*
327%{_initdir}/lirc
328#/etc/logrotate.d/lircd
329%ghost %config(noreplace) %{_sysconfdir}/lirc/lirc*d.conf
330%config(noreplace) %{_sysconfdir}/sysconfig/lirc
331%{_bindir}/*
332%{_sbindir}/*
333%{_includedir}/lirc
334%{_libdir}/liblirc_*
335%{_datadir}/lirc/
336%{_datadir}/lirc-remotes/
337%{_mandir}/man?/*
338%ghost %{_localstatedir}/run/lirc/lirc*
339
340%files -n dkms-%{name}
341%defattr(-,root,root)
342/usr/src/%{name}-%{version}-%{release}
343
344#%files -n dkms-%{name}-parallel
345#%defattr(-,root,root)
346#/usr/src/%{name}-parallel-%{version}-%{release}
347
348#%files -n dkms-%{name}-gpio
349#%defattr(-,root,root)
350#/usr/src/%{name}-gpio-%{version}-%{release}
351
352
353%changelog
354* Fri Feb 05 2010 Shu KONNO <owa@bg.wakwak.com> 0.8.6-3
355- rebuilt with python-2.6.4-3
356
357* Wed Dec 23 2009 Kazutaka HARADA <kazutaka@vinelinux.org> 0.8.6-2
358- add Patch3 to fix compilation error against kernel-2.6.32
359
360* Sat Nov 14 2009 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 0.8.6-1
361- new upstream release
362- drop obsolete patches
363- add new patches and configuration files from fedora package
364- rewrite spec
365- add dkms-lirc sub packages refer to mandriva package
366  (but we don't build lirc-paralle and lirc-gpio sub packages)
367
368* Sat Aug 09 2008 Shu KONNO <owa@bg.wakwak.com> 0.6.5-1vl5
369- added lirc-0.6.5-config.patch for x86_64
370- applied new versioning policy
371- spec in utf-8
372
373* Mon Feb 16 2004 Daisuke SUZUKI <daisuke@linux.or.jp> 0.6.5-0vl1
374- initial build for Vine Linux
375
Note: See TracBrowser for help on using the repository browser.