summaryrefslogtreecommitdiff
path: root/kernel-misc-tp_smapi.spec
blob: 44e1af9c88df09603cbe6f0aa9164fc7380e1bb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# TODO:
#  - make it build
#  - wouldn't it be better to replace this spec with a kernel patch ?
##
# Conditional build:
%bcond_without	dist_kernel	# allow non-distribution kernel
%bcond_without	smp		# don't build SMP module
%bcond_with	verbose		# verbose build (V=1)

%if %{without kernel}
%undefine	with_dist_kernel
%endif

#
# main package.
#
%define		_rel	0.1
Summary:	sysfs interface to access ThinkPad's SMAPI functionality
Summary(pl):	Interfejs sysfs do funkcjonalności SMAPI ThinkPadów
Name:		kernel-misc-tp_smapi
Version:	0.19
Release:	%{_rel}
License:	GPL
Group:		Applications
Source0:	http://dl.sourceforge.net/tpctl/tp_smapi-%{version}.tgz
# Source0-md5:	fdb192b59e05bb826c4ca05a39b42649
URL:		http://tpctl.sourceforge.net/
%{?with_dist_kernel:BuildRequires:	kernel-module-build >= 3:2.6.14}
BuildRequires:	rpmbuild(macros) >= 1.286
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
sysfs interface to access ThinkPad's SMAPI functionality.

This package contains Linux kernel module.

%description -l pl
Interfejs sysfs do funkcjonalności SMAPI ThinkPadów.

Ten pakiet zawiera moduł jądra Linuksa.

%package -n kernel-smp-misc-tp_smapi
Summary:	Linux SMP driver for tp_smapi
Summary(pl):	Sterownik dla Linuksa SMP do tp_smapi
Release:	%{_rel}@%{_kernel_ver_str}
Group:		Base/Kernel
Requires(post,postun):	/sbin/depmod
%if %{with dist_kernel}
%requires_releq_kernel_smp
Requires(postun):	%releq_kernel_smp
%endif

%description -n kernel-smp-misc-tp_smapi
sysfs interface to access ThinkPad's SMAPI functionality.

This package contains Linux SMP module.

%description -n kernel-smp-misc-tp_smapi -l pl
Interfejs sysfs do funkcjonalności SMAPI ThinkPadów.

Ten pakiet zawiera moduł jądra Linuksa SMP.

%prep
%setup -q -n tp_smapi-%{version}

%build
# kernel module(s)
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
#
#	patching/creating makefile(s) (optional)
#
	%{__make} -C %{_kernelsrcdir} \
		TP_VER="%{version}" \
		CFLAGS="%{rpmcflags} -Iinclude/" \
		RCS_FIND_IGNORE="-name '*.ko' -o" \
		SYSSRC=%{_kernelsrcdir} \
		SYSOUT=$PWD/o \
		M=$PWD O=$PWD/o \
		%{?with_verbose:V=1}
	%{__make} -C %{_kernelsrcdir} modules \
		CFLAGS="%{rpmcflags} -Iinclude/" \
		CC="%{__cc}" CPP="%{__cpp}" \
		SYSSRC=%{_kernelsrcdir} \
		SYSOUT=$PWD/o \
		M=$PWD O=$PWD/o \
		%{?with_verbose:V=1}

	mv tp_smapi{,-$cfg}.ko
done

%install
rm -rf $RPM_BUILD_ROOT

install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
install tp_smapi-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
	$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/tp_smapi.ko
%if %{with smp} && %{with dist_kernel}
install tp_smapi-smp.ko \
	$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/tp_smapi.ko
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post	-n kernel-misc-tp_smapi
%depmod %{_kernel_ver}

%postun	-n kernel-misc-tp_smapi
%depmod %{_kernel_ver}

%post	-n kernel-smp-misc-tp_smapi
%depmod %{_kernel_ver}smp

%postun	-n kernel-smp-misc-tp_smapi
%depmod %{_kernel_ver}smp

%files -n kernel-misc-tp_smapi
%defattr(644,root,root,755)
/lib/modules/%{_kernel_ver}/misc/*.ko*

%if %{with smp} && %{with dist_kernel}
%files -n kernel-smp-misc-tp_smapi
%defattr(644,root,root,755)
/lib/modules/%{_kernel_ver}smp/misc/*.ko*
%endif