]> git.pld-linux.org Git - projects/template-specs.git/blob - kernel-module.spec
- prepared for kernel >= 2.6.13 (on older kernels it will just create broken link)
[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 programs
10 %bcond_with     verbose         # verbose build (V=1)
11
12 %if %{without kernel}
13 %undefine       with_dist_kernel
14 %endif
15
16 #
17 # main package.
18 #
19 Summary:        -
20 Summary(pl):    -
21 Name:           -
22 Version:        -
23 %define         _rel    0.1
24 Release:        %{_rel}
25 Epoch:          0
26 #License:       - (enter GPL/LGPL/BSD/BSD-like/other license name here)
27 Group:          -
28 Vendor:         -
29 Icon:           -
30 Source0:        %{name}-%{version}.tar.gz
31 # Source0-md5:  -
32 #Source1:       -
33 # Source1-md5:  -
34 #Patch0:                %{name}-what.patch
35 #URL:           -
36 %if %{with kernel}
37 %{?with_dist_kernel:BuildRequires:      kernel-module-build >= 2.6.7}
38 BuildRequires:  rpmbuild(macros) >= 1.217
39 %endif
40 #BuildRequires: -
41 #PreReq:                -
42 #Requires(postun):      -
43 #Requires(pre,post):    -
44 #Requires(preun):       -
45 #Requires:      -
46 #Provides:      -
47 #Obsoletes:     -
48 #Conflicts:     -
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 %description
52
53 %description -l pl
54
55 # kernel subpackages.
56
57 %package -n kernel-MODULE_DIR-MODULE_NAME
58 Summary:        Linux driver for MODULE_NAME
59 Summary(pl):    Sterownik dla Linuksa do MODULE_NAME
60 Release:        %{_rel}@%{_kernel_ver_str}
61 Group:          Base/Kernel
62 Requires(post,postun):  /sbin/depmod
63 %if %{with dist_kernel}
64 %requires_releq_kernel_up
65 Requires(postun):       %releq_kernel_up
66 %endif
67
68 %description -n kernel-MODULE_DIR-MODULE_NAME
69 This is driver for MODULE_NAME for Linux.
70
71 This package contains Linux module.
72
73 %description -n kernel-MODULE_DIR-MODULE_NAME -l pl
74 Sterownik dla Linuksa do MODULE_NAME.
75
76 Ten pakiet zawiera modu³ j±dra Linuksa.
77
78 %package -n kernel-smp-MODULE_DIR-MODULE_NAME
79 Summary:        Linux SMP driver for MODULE_NAME
80 Summary(pl):    Sterownik dla Linuksa SMP do MODULE_NAME
81 Release:        %{_rel}@%{_kernel_ver_str}
82 Group:          Base/Kernel
83 Requires(post,postun):  /sbin/depmod
84 %if %{with dist_kernel}
85 %requires_releq_kernel_smp
86 Requires(postun):       %releq_kernel_smp
87 %endif
88
89 %description -n kernel-smp-MODULE_DIR-MODULE_NAME
90 This is driver for MODULE_NAME for Linux.
91
92 This package contains Linux SMP module.
93
94 %description -n kernel-smp-MODULE_DIR-MODULE_NAME -l pl
95 Sterownik dla Linuksa do MODULE_NAME.
96
97 Ten pakiet zawiera modu³ j±dra Linuksa SMP.
98
99 %prep
100
101 %build
102 %if %{with userspace}
103
104
105 %endif
106
107 %if %{with kernel}
108 # kernel module(s)
109 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
110         if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
111                 exit 1
112         fi
113         rm -rf include
114         install -d include/{linux,config}
115         ln -sf %{_kernelsrcdir}/config-$cfg .config
116         ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
117         ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
118         ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
119         touch include/config/MARKER
120 #
121 #       patching/creating makefile(s) (optional)
122 #
123         %{__make} -C %{_kernelsrcdir} clean \
124                 RCS_FIND_IGNORE="-name '*.ko' -o" \
125                 M=$PWD O=$PWD \
126                 %{?with_verbose:V=1}
127         %{__make} -C %{_kernelsrcdir} modules \
128                 CC="%{__cc}" CPP="%{__cpp}" \
129                 M=$PWD O=$PWD \
130                 %{?with_verbose:V=1}
131
132         mv MODULE_NAME{,-$cfg}.ko
133 done
134 %endif
135
136 %install
137 rm -rf $RPM_BUILD_ROOT
138
139 %if %{with userspace}
140
141
142 %endif
143
144 %if %{with kernel}
145 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/MODULE_DIR
146 install MODULE_NAME-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
147         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/MODULE_DIR/MODULE_NAME.ko
148 %if %{with smp} && %{with dist_kernel}
149 install MODULE_NAME-smp.ko \
150         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/MODULE_DIR/MODULE_NAME.ko
151 %endif
152 %endif
153
154 %clean
155 rm -rf $RPM_BUILD_ROOT
156
157 %post   -n kernel-MODULE_DIR-MODULE_NAME
158 %depmod %{_kernel_ver}
159
160 %postun -n kernel-MODULE_DIR-MODULE_NAME
161 %depmod %{_kernel_ver}
162
163 %post   -n kernel-smp-MODULE_DIR-MODULE_NAME
164 %depmod %{_kernel_ver}smp
165
166 %postun -n kernel-smp-MODULE_DIR-MODULE_NAME
167 %depmod %{_kernel_ver}smp
168
169 %if %{with kernel}
170 %files -n kernel-MODULE_DIR-MODULE_NAME
171 %defattr(644,root,root,755)
172 /lib/modules/%{_kernel_ver}/MODULE_DIR/*.ko*
173
174 %if %{with smp} && %{with dist_kernel}
175 %files -n kernel-smp-MODULE_DIR-MODULE_NAME
176 %defattr(644,root,root,755)
177 /lib/modules/%{_kernel_ver}smp/MODULE_DIR/*.ko*
178 %endif
179 %endif
180
181 %if %{with userspace}
182 %files
183 %defattr(644,root,root,755)
184
185 %endif
This page took 0.046863 seconds and 4 git commands to generate.