]> git.pld-linux.org Git - projects/template-specs.git/blob - kernel-module.spec
- clarification
[projects/template-specs.git] / kernel-module.spec
1 #
2 # Replace MODULE_NAME with real module name and MODULE_DIR
3 # with required directory name.
4 #
5 # Conditional build:
6 %bcond_without  dist_kernel     # allow non-distribution kernel
7 %bcond_without  kernel          # don't build kernel modules
8 %bcond_without  smp             # don't build SMP module
9 %bcond_without  userspace       # don't build userspace module
10 %bcond_with     verbose         # verbose build (V=1)
11
12 #
13 # main package.
14 #
15 %if %{with kernel}
16 %{?with_dist_kernel:BuildRequires:      kernel-module-build >= 2.6.7}
17 BuildRequires:  rpmbuild(macros) >= 1.153
18 %endif
19
20 # kernel subpackages.
21
22 %package -n kernel-...
23 Summary:        Linux driver for ...
24 Summary(pl):    Sterownik dla Linuksa do ...
25 Release:        %{_rel}@%{_kernel_ver_str}
26 Group:          Base/Kernel
27 %{?with_dist_kernel:%requires_releq_kernel_up}
28 Requires(post,postun):  /sbin/depmod
29
30 %description -n kernel-smp-...
31 This is driver for ... for Linux.
32
33 This package contains Linux module.
34
35 %description -n kernel-smp-... -l pl
36 Sterownik dla Linuksa do ...
37
38 Ten pakiet zawiera modu³ j±dra Linuksa.
39
40 %package -n kernel-smp-...
41 Summary:        Linux SMP driver for ...
42 Summary(pl):    Sterownik dla Linuksa SMP do ...
43 Release:        %{_rel}@%{_kernel_ver_str}
44 Group:          Base/Kernel
45 %{?with_dist_kernel:%requires_releq_kernel_smp}
46 Requires(post,postun):  /sbin/depmod
47
48 %description -n kernel-smp-...
49 This is driver for ... for Linux.
50
51 This package contains Linux SMP module.
52
53 %description -n kernel-smp-... -l pl
54 Sterownik dla Linuksa do ...
55
56 Ten pakiet zawiera modu³ j±dra Linuksa SMP.
57
58 %build
59 %if %{with userspace}
60
61
62 %endif
63
64 %if %{with kernel}
65 # kernel module(s)
66 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
67     if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
68         exit 1
69     fi
70     rm -rf include
71     install -d include/{linux,config}
72     ln -sf %{_kernelsrcdir}/config-$cfg .config
73     ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
74     ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
75     touch include/config/MARKER
76 #
77 #       patching/creating makefile(s) (optional)
78 #
79     %{__make} -C %{_kernelsrcdir} clean \
80         RCS_FIND_IGNORE="-name '*.ko' -o" \
81         M=$PWD O=$PWD \
82         %{?with_verbose:V=1}
83     %{__make} -C %{_kernelsrcdir} modules \
84         CC="%{__cc}" CPP="%{__cpp}" \
85         M=$PWD O=$PWD \
86         %{?with_verbose:V=1}
87     
88     mv MODULE_NAME{,-$cfg}.ko
89 done
90 %endif
91
92 %install
93 rm -rf $RPM_BUILD_ROOT
94
95 %if %{with userspace}
96
97
98 %endif
99
100 %if %{with kernel}
101 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/MODULE_DIR
102 install MODULE_NAME-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
103         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/MODULE_DIR/MODULE_NAME.ko
104 %if %{with smp} && %{with dist_kernel}
105 install MODULE_NAME-smp.ko \
106         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/MODULE_DIR/MODULE_NAME.ko
107 %endif
108 %endif
109
110 %clean
111 rm -rf $RPM_BUILD_ROOT
112
113 %post
114 %depmod %{_kernel_ver}
115
116 %postun
117 %depmod %{_kernel_ver}
118
119 %post -n kernel-smp-...
120 %depmod %{_kernel_ver}smp
121
122 %postun -n kernel-smp-...
123 %depmod %{_kernel_ver}smp
124
125 %if %{with kernel}
126 %files -n kernel-...
127 %defattr(644,root,root,755)
128 /lib/modules/%{_kernel_ver}/MODULE_DIR/*.ko*
129
130 %if %{with smp} && %{with dist_kernel}
131 %files -n kernel-smp-...
132 %defattr(644,root,root,755)
133 /lib/modules/%{_kernel_ver}smp/MODULE_DIR/*.ko*
134 %endif
135 %endif
136
137 %if %{with userspace}
138 %files ...
139 %defattr(644,root,root,755)
140
141 %endif
This page took 0.046757 seconds and 4 git commands to generate.