Package kernel-modules-lirc-std-srv: Specfile

%define module_name	lirc
%define module_version	0.8.3
%define module_release	alt3.cvs20080313

%define kversion	2.6.27
%define krelease	alt16
%define flavour		std-srv

%define module_dir /lib/modules/%kversion-%flavour-%krelease/%module_name

Summary:	Drivers for LIRC devices
Name:		kernel-modules-%module_name-%flavour
Version:	1.0.%module_version
Release:	%module_release.132635.16
License:	GPL
Group:		System/Kernel and hardware

Packager:       Kernel Maintainer Team <kernel@packages.altlinux.org>

Patch1:		lirc-0.7.0-i2c_fixes-revert.patch
# see http://www.mail-archive.com/users@openvz.org/msg00004.html
Patch2:		lirc-0.8.1-alt-openvz.patch
Patch3:		lirc-0.8.3rc1-imon-pad.patch
Patch4:		lirc-0.8.3-alt-kernel-2.6.27.patch

ExclusiveOS:	Linux
URL:		http://www.lirc.org/
BuildRequires(pre): rpm-build-kernel
BuildRequires: kernel-headers-modules-%flavour = %kversion-%krelease
BuildRequires: kernel-source-%module_name = %module_version

Provides:  kernel-modules-%module_name-%kversion-%flavour-%krelease = %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease < %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease > %version-%release

Prereq:		coreutils
Prereq:         kernel-image-%flavour = %kversion-%krelease
Requires(postun): kernel-image-%flavour = %kversion-%krelease

ExclusiveArch:	%ix86 x86_64 

%description
Support for LIRC devices.

%prep
rm -rf kernel-source-%module_name-%module_version
tar -jxvf %kernel_src/kernel-source-%module_name-%module_version.tar.bz2
%setup -D -T -n kernel-source-%module_name-%module_version
%if "%flavour" == "ovz-smp"
%patch2 -p1
%endif
%patch3 -p1
%if "%kversion" >= "2.6.27"
%patch4 -p1 
%endif

%build
. %_usrsrc/linux-%kversion-%flavour/gcc_version.inc

cd drivers
%ifarch %ix86
CC="gcc-$GCC_VERSION -m32"
%else
CC="gcc-$GCC_VERSION"
%endif
KERNEL_PATCHLEVEL="2.6" 
KSRC=%_usrsrc/linux-%kversion-%flavour/
%if "%kversion" < "2.6.18"
subst "s|\"../drivers/media/video/bttv\(p\?\)\.h\"|<bttv\\1\.h>|" */*
%else
subst "s|\"../drivers/media/video/bttv\(p\?\)\.h\"|<bt8xx/bttv\\1\.h>|" */*
%endif
for f in $(ls | grep lirc_| sort -u); do
    [ "$f" == "lirc_parallel" -a -n "$(echo '%flavour'|egrep '(smp|pae|def|se|srv|ll)')" ] && continue
%if "%kversion" > "2.6.20"
    [ "$f" == "lirc_gpio" ] && continue
%endif
    [ "$f" != "lirc_dev" ] && module_obj=$(printf 'lirc_dev.o %%s' $f.o) || module_obj=$f.o
    [ "$f" == "lirc_cmdir" ] && module_obj=$(printf 'lirc_dev.o commandir.o %%s' $f.o)
    cd "$f"
    [ "$f" != "lirc_dev" ] && %__ln_s ../lirc_dev/*.{c,h} .
    %__ln_s ../Makefile.kernel Makefile
    %make_build -C %_usrsrc/linux-%kversion-%flavour/ \
    KERNEL_LOCATION="$KSRC" \
    KERNEL_SRC_DIR="$KSRC" \
    KERNEL_PATCHLEVEL="$KERNEL_PATCHLEVEL" \
    obj-m="$module_obj" \
    MI_OBJS="$f.o" \
    LIRC_EXTRA_CFLAGS="-DHAVE_CONFIG_H -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -I%_usrsrc/linux-%kversion-%flavour/drivers/media/video/ -I$(pwd)/../ -I$(pwd)/../.." \
    CC="$CC" SUBDIRS=$(pwd) modules
    cd ../
done
cd ../

%install
mkdir -p $RPM_BUILD_ROOT/%module_dir
cd drivers
for f in lirc_dev $(ls | grep lirc_| sort -u | sed -e '/lirc_dev/d'); do

    [ "$f" == "lirc_parallel" -a -n "$(echo '%flavour'|egrep '(smp|pae|def|se|srv|ll)')" ] && continue
%if "%kversion" > "2.6.20"
    [ "$f" == "lirc_gpio" ] && continue
%endif
    [ "$f" == "lirc_cmdir" ] && cp "$f/commandir.ko" $RPM_BUILD_ROOT/%module_dir/
    cp "$f/$f.ko" $RPM_BUILD_ROOT/%module_dir/
done

%post
%post_kernel_modules %kversion-%flavour-%krelease

%postun
%postun_kernel_modules %kversion-%flavour-%krelease

%files
%defattr(644,root,root,755)
%module_dir

%changelog
* Tue Apr 21 2009 Michail Yakushin <silicium@altlinux.ru> 1.0.0.8.3-alt3.cvs20080313.132635.16
- Build for kernel-image-std-srv-2.6.27-alt16.

* Tue Dec 23 2008 Michail Yakushin <silicium@altlinux.ru> 1.0.0.8.3-alt3.cvs20080313
- fix build for 2.6.27 (thank to tosick@)

* Tue Apr 08 2008 Anton Farygin <rider@altlinux.ru> 1.0.0.8.3-alt2.cvs20080313
- add iMon Pad support 

* Fri Mar 14 2008 L.A. Kostis <lakostis@altlinux.ru> 1.0.0.8.3-alt1.cvs20080313
- 2008-03-13 CVS snapshot.
- Add some hacks for skip compile on broken modules.

* Sun Nov 04 2007 L.A. Kostis <lakostis@altlinux.ru> 1.0.0.8.2-alt1
- Version 0.8.2.

* Sat Feb 17 2007 L.A. Kostis <lakostis@altlinux.ru> 1.0.0.8.1-alt1
- Version 0.8.1.
- Commandir driver version 1.4.2.
- Don't build parallel module for -pae.
- Fix unresolved symbols in lirc_dev with OpenVZ patch.
- Fix unresolved symbols in modules during modpost.
- Removed 2.4 kernel support.

* Mon Jan 29 2007 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.8.0-alt6
- Removed unneeded "Prereq: modutils".

* Sun Nov 19 2006 L.A. Kostis <lakostis@altlinux.org> 1.0.0.8.0-alt5
- Fix compile w/ 2.6.18+ kernels.

* Fri Oct 27 2006 L.A. Kostis <lakostis@altlinux.org> 1.0.0.8.0-alt4
- add hack for %%ix86 cross-build on x86_64 host.

* Sat Apr 29 2006 LAKostis <lakostis at altlinux.ru> 1.0.0.8.0-alt3
- Added CommandIR driver v1.4.1. 

* Mon Apr 03 2006 LAKostis <lakostis at altlinux.ru> 1.0.0.8.0-alt2
- Rebuild with updated kernel-source-lirc.

* Tue Feb 14 2006 LAKostis <lakostis at altlinux.ru> 1.0.0.8.0-alt1
- New 0.8.0 version.
- update .spec for 2.6/2.4 kernels.

* Sun Dec 25 2005 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt15
- Fixed broken '%%' usage in spec which caused RPM to complain.

* Wed Jan 26 2005 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt14
- Added lirc-0.7.0-i2c_fixes-revert.patch: revert i2c "fixes" made for
  i2c-2.8.x which are incompatible with i2c-2.9.x.

* Sun Dec 26 2004 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt13
- Rebuild for kernel 2.4.28.

* Sun Oct 17 2004 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt12
- Rebuild for kernel 2.4.27.

* Tue Aug 03 2004 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt11
- Use %%post_kernel_modules and %%postun_kernel_modules macros in scripts.

* Thu May 13 2004 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt10
- Rebuild for kernel 2.4.26.

* Sun Apr 04 2004 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt9
- Rebuild with updated kernel-modules-v4l.

* Fri Feb 27 2004 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt8
- Updated for the new compiler version selection scheme (GCC_VERSION).

* Fri Nov 28 2003 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt7
- Added Provides/Conflicts to make sure that only one version of the package
  can be installed for each kernel version.

* Tue Nov 18 2003 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt6
- Rebuild with updated kernel-modules-v4l.
- Fixed spec file name.
- Fixed %%module_dir definition.
- Avoid %%postun failure when this package is removed after
  kernel-image-%%flavour (currently rpm cannot prevent this).

* Thu Oct 30 2003 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt5
- Rebuild with updated kernel-modules-v4l.

* Tue Oct 14 2003 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt4
- Added PreReq for appropriate version of kernel-modules-v4l.

* Tue Oct 07 2003 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt3
- BuildRequires changed for new w4l

* Tue Sep 30 2003 Sergey Vlasov <vsu@altlinux.ru> 1.0.0.7.0-alt2
- fixed compilation options (problems with MODVERSIONS)

* Fri Sep 19 2003 Kachalov Anton <mouse@altlinux.ru> 1.0.0.7.0-alt1
- first build