X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=em8300.spec;h=51d33a9ccfb5f92bcf88fdfcdaecad137ba5a2da;hb=6edd535dfb193080116eb7dc0d1c77a167bcd94e;hp=9581247e3c45fbed6409fc1d0d0a22c9ff47be1f;hpb=1a65fe2bbdbb9426d72ef940bb9db649128a90d2;p=packages%2Fem8300.git diff --git a/em8300.spec b/em8300.spec index 9581247..51d33a9 100644 --- a/em8300.spec +++ b/em8300.spec @@ -1,35 +1,47 @@ +# TODO +# - cc # # Conditional build: -%bcond_without dist_kernel # without distribution kernel +%bcond_without dist_kernel # allow non-distribution kernel %bcond_without kernel # don't build kernel modules +%bcond_without smp # don't build SMP module %bcond_without userspace # don't build userspace tools -%define snap 20040919 -# +%bcond_with verbose # verbose build (V=1) + +%ifarch sparc +# kernel modules won't build on sparc32, no I2C in kernel +%undefine with_kernel +%endif + +%if !%{with kernel} +%undefine with_dist_kernel +%endif + Summary: DXR3 and H+ driver Summary(pl): Sterowniki dla DXR3 i H+ Name: em8300 Version: 0.15.2 -Release: 0.1 +Release: 2 License: GPL Group: Applications/System Source0: http://dl.sourceforge.net/dxr3/%{name}-%{version}.tar.gz # Source0-md5: c203eade5e6002d279d50cae4a947964 Source1: %{name}.init Source2: %{name}.sysconf -Patch0: %{name}-automake.patch +Patch0: %{name}-make.patch URL: http://dxr3.sourceforge.net/ %if %{with userspace} BuildRequires: autoconf BuildRequires: automake BuildRequires: gtk+-devel >= 1.2.0 -BuildRequires: libtool %endif -%if %{with kernel} && %{with dist_kernel} -BuildRequires: kernel-headers -BuildRequires: rpmbuild(macros) >= 1.118 +%if %{with kernel} +%{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.14} +BuildRequires: rpmbuild(macros) >= 1.286 %endif Requires(post,preun): /sbin/chkconfig Provides: dxr3 +Obsoletes: em8300-libs BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -48,17 +60,16 @@ telewizyjne tych kart nie tylko w/w format formatów video, które te programy rozpoznaj±. %package devel -Summary: Files required to develop programs using em8300 -Summary(pl): Pliki potrzebne do tworzenia programów korzystaj±cych z em8300 +Summary: Header file to communicate with em8300 Linux kernel modules +Summary(pl): Plik nag³ówkowy do komunikacji z modu³ami j±dra Linuksa em8300 Group: Development/Libraries +Obsoletes: em8300-static %description devel -Header files and additional scripts useful for developers of em8300 -apps. +Header file to communicate with em8300 Linux kernel modules. %description devel -l pl -Pliki nag³ówkowe i skrypty przydatne dla autorów aplikacji -korzystaj±cych z em8300. +Plik nag³ówkowy do komunikacji z modu³ami j±dra Linuksa em8300. %package gtk Summary: Utility programs for em8300 using GTK+ @@ -76,8 +87,11 @@ Programy u Summary: em8300 Linux kernel modules Summary(pl): Modu³y j±dra Linuksa em8300 Group: Base/Kernel -%{?with_dist_kernel:%requires_releq_kernel_up} Requires(post,postun): /sbin/depmod +%if %{with dist_kernel} +%requires_releq_kernel_up +Requires(postun): %releq_kernel_up +%endif %description -n kernel-video-em8300 em8300 Linux kernel modules. @@ -89,8 +103,11 @@ Modu Summary: em8300 Linux SMP kernel modules Summary(pl): Modu³y j±dra Linuksa SMP em8300 Group: Base/Kernel -%{?with_dist_kernel:%requires_releq_kernel_smp} Requires(post,postun): /sbin/depmod +%if %{with dist_kernel} +%requires_releq_kernel_smp +Requires(postun): %releq_kernel_smp +%endif %description -n kernel-smp-video-em8300 em8300 Linux SMP kernel modules. @@ -99,12 +116,11 @@ em8300 Linux SMP kernel modules. Modu³y j±dra Linuksa SMP em8300. %prep -%setup -q -n %{name} -%patch0 -p1 +%setup -q +%patch0 -p0 %build %if %{with userspace} -%{__libtoolize} %{__aclocal} -I autotools %{__autoconf} %{__autoheader} @@ -115,26 +131,40 @@ Modu %if %{with kernel} cd modules -rm -rf include -install -d include/{linux,config} -ln -sf %{_kernelsrcdir}/config-smp .config -ln -sf %{_kernelsrcdir}/include/linux/autoconf-up.h include/linux/autoconf.h -ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm -touch include/config/MARKER - -%{__make} -C %{_kernelsrcdir} \ - KERNEL_LOCATION="%{_kernelsrcdir}" M=$PWD O=$PWD \ - EM8300_DEBUG="%{rpmcflags} -D__KERNEL_SMP" modules - -for f in em8300.ko adv717x.ko bt865.ko; do - mv -f $f $f.smp +for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do + if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then + exit 1 + fi + install -d o/include/linux + ln -sf %{_kernelsrcdir}/config-$cfg o/.config + ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers + ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h +%if %{with dist_kernel} + %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts +%endif + install -d o/include/config + touch o/include/config/MARKER + ln -sf %{_kernelsrcdir}/scripts o/scripts + + cp ../include/linux/em8300.h o/include/linux/em8300.h + + %{__make} -C %{_kernelsrcdir} clean \ + RCS_FIND_IGNORE="-name '*.ko' -o" \ + SYSSRC=%{_kernelsrcdir} \ + SYSOUT=$PWD/o \ + M=$PWD O=$PWD/o \ + %{?with_verbose:V=1} + %{__make} -C %{_kernelsrcdir} modules \ + CC="%{__cc}" CPP="%{__cpp}" \ + SYSSRC=%{_kernelsrcdir} \ + SYSOUT=$PWD/o \ + M=$PWD O=$PWD/o \ + %{?with_verbose:V=1} + + for i in em8300 adv717x bt865; do + mv $i{,-$cfg}.ko + done done - -%{__make} clean - -%{__make} \ - KERNEL_LOCATION="%{_kernelsrcdir}" \ - EM8300_DEBUG="%{rpmcflags}" %endif %install @@ -144,26 +174,22 @@ rm -rf $RPM_BUILD_ROOT %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -mv -f modules/{INSTALL,INSTALL.modules} - -install -D modules/em8300.uc $RPM_BUILD_ROOT%{_datadir}/misc/em8300.uc - -install scripts/microcode_upload.pl $RPM_BUILD_ROOT%{_bindir}/em8300_microcode_upload - install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name} - -rm -f $RPM_BUILD_ROOT%{_datadir}/em8300/{modules.tar.gz,em8300.sysv} %endif %if %{with kernel} install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/drivers/video -for f in em8300.ko adv717x.ko bt865.ko; do - install modules/$f \ - $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/video/$f - install modules/$f.smp \ - $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/video/$f +for i in adv717x bt865 em8300; do + install modules/$i-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/video/$i.ko done +%if %{with smp} && %{with dist_kernel} +for i in adv717x bt865 em8300; do + install modules/$i-smp.ko \ + $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/drivers/video/$i.ko +done +%endif %endif %clean @@ -200,12 +226,13 @@ fi %if %{with userspace} %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog README modules/{README*,INSTALL*,devices.sh,devfs_symlinks} -%attr(755,root,root) %{_bindir}/em8300_microcode_upload -%{_datadir}/misc/em8300.uc +%doc AUTHORS ChangeLog README modules/README* +%attr(755,root,root) %{_bindir}/em8300setup +/lib/firmware/em8300.bin %dir %{_datadir}/em8300 %{_datadir}/em8300/em8300.pm %attr(755,root,root) %{_datadir}/em8300/*.pl +%{_mandir}/man1/em8300setup.1* %attr(754,root,root) /etc/rc.d/init.d/%{name} %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} @@ -218,7 +245,6 @@ fi %attr(755,root,root) %{_bindir}/autocal %attr(755,root,root) %{_bindir}/dhc %attr(755,root,root) %{_bindir}/dxr3view -%attr(755,root,root) %{_bindir}/em8300setup %endif %if %{with kernel} @@ -226,7 +252,9 @@ fi %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}/kernel/drivers/video/*.ko* +%if %{with dist_kernel} && %{with smp} %files -n kernel-smp-video-em8300 %defattr(644,root,root,755) /lib/modules/%{_kernel_ver}smp/kernel/drivers/video/*.ko* %endif +%endif