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