#
# Conditional build:
%bcond_without dist_kernel # without distribution kernel
-%bcond_without smp # don't build SMP module
#
-%define _rel 1
-%define _orig_name acerhk
-
+%define rel 50
Summary: Linux driver for Acer notebook special Hot Keys
-Summary(pl): Sterownik dla Linuksa obs³uguj±cy specjalne klawisze w notebookach Acer
-Name: kernel-misc-%{_orig_name}
-Version: 0.5.32
-Release: %{_rel}@%{_kernel_ver_str}
+Summary(pl.UTF-8): Sterownik dla Linuksa obsługujący specjalne klawisze w notebookach Acer
+Name: acerhk
+Version: 0.5.35
+Release: %{rel}
License: GPL
Group: Base/Kernel
-Source0: http://www.informatik.hu-berlin.de/~tauber/acerhk/archives/%{_orig_name}-%{version}.tgz
-# Source0-md5: 0bf2ae26bd2acaee72863bc9ee550f19
-URL: http://www.informatik.hu-berlin.de/~tauber/acerhk/
-%{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.0}
+Source0: http://www.cakey.de/acerhk/archives/%{name}-%{version}.tar.bz2
+# Source0-md5: 551285657c8ba338f23595af257d21df
+Patch0: %{name}-2.6.24.patch
+Patch1: %{name}-2.6.30.patch
+Patch2: https://launchpadlibrarian.net/63115172/acerhk-source_lp_bug555828-2.6.37.patch
+Patch3: https://launchpadlibrarian.net/71840570/acerhk-source_lp_bug555828-2.6.38.patch
+URL: http://www.cakey.de/acerhk/
BuildRequires: %{kgcc_package}
-BuildRequires: rpmbuild(macros) >= 1.118
-%{?with_dist_kernel:%requires_releq_kernel_up}
+%{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.20.2}
+BuildRequires: rpmbuild(macros) >= 1.379
Requires(post,postun): /sbin/depmod
+ExclusiveArch: %{x8664} %{ix86}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define modules acerhk
+
%description
This is a Linux driver for Acer notebook special Hot Keys.
-%description -l pl
-Sterownik dla Linuksa pozwalaj±cy uaktywniæ specjalne przyciski w
+%description -l pl.UTF-8
+Sterownik dla Linuksa pozwalający uaktywnić specjalne przyciski w
notebookach Acer.
-%package -n kernel-smp-misc-%{_orig_name}
-Summary: This is a Linux SMP driver for special Acer Hot Keys
-Summary(pl): Sterownik dla Linuksa SMP obs³uguj±cy specjalne przyciski w notebookach Acer
-Release: %{_rel}@%{_kernel_ver_str}
+%package -n kernel%{_alt_kernel}-misc-acerhk
+Summary: Linux driver for Acer notebook special Hot Keys
+Summary(pl.UTF-8): Sterownik dla Linuksa obsługujący specjalne klawisze w notebookach Acer
+Release: %{rel}@%{_kernel_ver_str}
Group: Base/Kernel
-%{?with_dist_kernel:%requires_releq_kernel_smp}
+%{?with_dist_kernel:%requires_releq_kernel}
Requires(post,postun): /sbin/depmod
-%description -n kernel-smp-misc-%{_orig_name}
-This is a Linux SMP driver for Acer notebook special Hot Keys.
+%description -n kernel%{_alt_kernel}-misc-acerhk
+This is a Linux driver for Acer notebook special Hot Keys.
-%description -n kernel-smp-misc-%{_orig_name} -l pl
-Sterownik dla Linuksa SMP pozwalaj±cy uaktywniæ specjalne przyciski w
+%description -n kernel%{_alt_kernel}-misc-acerhk -l pl.UTF-8
+Sterownik dla Linuksa pozwalający uaktywnić specjalne przyciski w
notebookach Acer.
%prep
-%setup -q -n %{_orig_name}-%{version}
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
-%build
-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} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
-%else
- install -d o/include/config
- touch o/include/config/MARKER
- ln -sf %{_kernelsrcdir}/scripts o/scripts
-%endif
- %{__make} -C %{_kernelsrcdir} clean \
- RCS_FIND_IGNORE="-name '*.ko' -o -name nv-kernel.o -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}
+cat > Makefile << EOF
+obj-m += acerhk.o
+%{?debug:CFLAGS += -DCONFIG_MODULE_NAME_DEBUG=1}
+EOF
- mv %{_orig_name}.ko %{_orig_name}-$cfg.ko
-done
+%build
+%build_kernel_modules -m %{modules}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
-install %{_orig_name}-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
- $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/%{_orig_name}.ko
-%if %{with smp} && %{with dist_kernel}
-install %{_orig_name}-smp.ko \
- $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/%{_orig_name}.ko
-%endif
+%install_kernel_modules -m %{modules} -d misc
%clean
rm -rf $RPM_BUILD_ROOT
-%post -n kernel-misc-%{_orig_name}
+%post -n kernel%{_alt_kernel}-misc-%{name}
%depmod %{_kernel_ver}
-%postun -n kernel-misc-%{_orig_name}
+%postun -n kernel%{_alt_kernel}-misc-%{name}
%depmod %{_kernel_ver}
-%post -n kernel-smp-misc-%{_orig_name}
-%depmod %{_kernel_ver}smp
-
-%postun -n kernel-smp-misc-%{_orig_name}
-%depmod %{_kernel_ver}smp
-
-%files
+%files -n kernel%{_alt_kernel}-misc-%{name}
%defattr(644,root,root,755)
%doc NEWS INSTALL README doc/*
/lib/modules/%{_kernel_ver}/misc/*.ko*
-
-%if %{with smp}
-%files -n kernel-smp-misc-%{_orig_name}
-%defattr(644,root,root,755)
-%doc NEWS INSTALL README doc/*
-/lib/modules/%{_kernel_ver}smp/misc/*.ko*
-%endif