]> git.pld-linux.org Git - projects/template-specs.git/blob - kernel-module.spec
- ppc/powerpc hack, for now works well, but will it work if there will be no
[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 %ifarch ppc
118         if [ -d "%{_kernelsrcdir}/include/asm-powerpc" ]; then
119                 install -d include/asm
120                 cp -a %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* include/asm
121                 cp -a %{_kernelsrcdir}/include/asm-powerpc/* include/asm
122         else
123                 ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
124         fi
125 %else
126         ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
127 %endif
128         ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
129         touch include/config/MARKER
130 #
131 #       patching/creating makefile(s) (optional)
132 #
133         %{__make} -C %{_kernelsrcdir} clean \
134                 RCS_FIND_IGNORE="-name '*.ko' -o" \
135                 M=$PWD O=$PWD \
136                 %{?with_verbose:V=1}
137         %{__make} -C %{_kernelsrcdir} modules \
138                 CC="%{__cc}" CPP="%{__cpp}" \
139                 M=$PWD O=$PWD \
140                 %{?with_verbose:V=1}
141
142         mv MODULE_NAME{,-$cfg}.ko
143 done
144 %endif
145
146 %install
147 rm -rf $RPM_BUILD_ROOT
148
149 %if %{with userspace}
150
151
152 %endif
153
154 %if %{with kernel}
155 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/MODULE_DIR
156 install MODULE_NAME-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
157         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/MODULE_DIR/MODULE_NAME.ko
158 %if %{with smp} && %{with dist_kernel}
159 install MODULE_NAME-smp.ko \
160         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/MODULE_DIR/MODULE_NAME.ko
161 %endif
162 %endif
163
164 %clean
165 rm -rf $RPM_BUILD_ROOT
166
167 %post   -n kernel-MODULE_DIR-MODULE_NAME
168 %depmod %{_kernel_ver}
169
170 %postun -n kernel-MODULE_DIR-MODULE_NAME
171 %depmod %{_kernel_ver}
172
173 %post   -n kernel-smp-MODULE_DIR-MODULE_NAME
174 %depmod %{_kernel_ver}smp
175
176 %postun -n kernel-smp-MODULE_DIR-MODULE_NAME
177 %depmod %{_kernel_ver}smp
178
179 %if %{with kernel}
180 %files -n kernel-MODULE_DIR-MODULE_NAME
181 %defattr(644,root,root,755)
182 /lib/modules/%{_kernel_ver}/MODULE_DIR/*.ko*
183
184 %if %{with smp} && %{with dist_kernel}
185 %files -n kernel-smp-MODULE_DIR-MODULE_NAME
186 %defattr(644,root,root,755)
187 /lib/modules/%{_kernel_ver}smp/MODULE_DIR/*.ko*
188 %endif
189 %endif
190
191 %if %{with userspace}
192 %files
193 %defattr(644,root,root,755)
194
195 %endif
This page took 0.050042 seconds and 4 git commands to generate.