]> git.pld-linux.org Git - packages/EMCpower.git/blob - EMCpower.spec
- argh. fix depmod
[packages/EMCpower.git] / EMCpower.spec
1 # Conditional build:
2 %bcond_without  dist_kernel     # allow non-distribution kernel
3 %bcond_without  kernel          # don't build kernel modules
4 %bcond_without  up      # don't build SMP module
5 %bcond_without  smp             # don't build SMP module
6 %bcond_without  userspace       # don't build userspace programs
7 %bcond_with     verbose         # verbose build (V=1)
8
9 %if %{without kernel}
10 %undefine       with_dist_kernel
11 %endif
12
13 %ifarch %{x8664}
14 %undefine       with_up
15 %endif
16
17 %define __kernel_ver    2.6.5-7.252
18 %define __kernel_rpmvr  %{__kernel_ver}
19
20 #
21 # main package.
22 #
23 %define         _rel    0.8
24 Summary:        EMC PowerPath
25 Name:           EMCpower
26 Version:        4.5.1
27 Release:        %{_rel}
28 License:        Proprietary (not distributable)
29 Group:          Base/Kernel
30 Source0:        %{name}.LINUX-%{version}-022.sles.i386.rpm
31 # NoSource0-md5:        ed93c4daa2169b992c888ef5c27a6334
32 Source1:        %{name}.LINUX-%{version}-022.sles.x86_64.rpm
33 # NoSource1-md5:        b9e452479cff19640dee5431ff96f56c
34 Patch0:         %{name}-init.patch
35 %if %{with kernel}
36 %{?with_dist_kernel:BuildRequires:      kernel-module-build >= 3:2.6.14}
37 BuildRequires:  rpmbuild(macros) >= 1.286
38 %endif
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %define         _sysconfdir     /etc/emcpower
42
43 %description
44 Multi-path software providing fail-over and load-sharing for SCSI
45 disks.
46
47 # kernel subpackages.
48
49 %package -n kernel-block-emc
50 Summary:        Linux driver for emc
51 Summary(pl):    Sterownik dla Linuksa do emc
52 Release:        %{_rel}@%{_kernel_ver_str}
53 Group:          Base/Kernel
54 Requires(post,postun):  /sbin/depmod
55 %if %{with dist_kernel}
56 %requires_releq_kernel_up
57 Requires(postun):       %releq_kernel_up
58 %endif
59
60 %description -n kernel-block-emc
61 This is driver for emc for Linux.
62
63 This package contains Linux module.
64
65 %description -n kernel-block-emc -l pl
66 Sterownik dla Linuksa do emc.
67
68 Ten pakiet zawiera modu³ j±dra Linuksa.
69
70 %package -n kernel-smp-block-emc
71 Summary:        Linux SMP driver for emc
72 Summary(pl):    Sterownik dla Linuksa SMP do emc
73 Release:        %{_rel}@%{_kernel_ver_str}
74 Group:          Base/Kernel
75 Requires(post,postun):  /sbin/depmod
76 %if %{with dist_kernel}
77 %requires_releq_kernel_smp
78 Requires(postun):       %releq_kernel_smp
79 %endif
80
81 %description -n kernel-smp-block-emc
82 This is driver for emc for Linux.
83
84 This package contains Linux SMP module.
85
86 %description -n kernel-smp-block-emc -l pl
87 Sterownik dla Linuksa do emc.
88
89 Ten pakiet zawiera modu³ j±dra Linuksa SMP.
90
91 %prep
92 %setup -qcT
93 %ifarch %{ix86}
94 rpm2cpio %{SOURCE0} | cpio -dimu
95 %endif
96 %ifarch %{x8664}
97 rpm2cpio %{SOURCE1} | cpio -dimu
98 %endif
99 mv etc/opt/emcpower/EMCpower.LINUX-%{version}/* .
100 %patch0 -p1
101
102 ln -s emcplib.Makefile bin/driver/Makefile
103
104 %build
105 cd bin/driver
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         install -d o/include/linux
114         ln -sf %{_kernelsrcdir}/config-$cfg o/.config
115         ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
116         ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
117 %if %{with dist_kernel}
118         %{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts -j1
119 %else
120         install -d o/include/config
121         touch o/include/config/MARKER
122         ln -sf %{_kernelsrcdir}/scripts o/scripts
123 %endif
124 #
125 #       patching/creating makefile(s) (optional)
126 #
127         %{__make} -C %{_kernelsrcdir} clean \
128                 RCS_FIND_IGNORE="-name '*.ko' -o" \
129                 SYSSRC=%{_kernelsrcdir} \
130                 SYSOUT=$PWD/o \
131                 M=$PWD O=$PWD/o \
132                 %{?with_verbose:V=1}
133         %{__make} -C %{_kernelsrcdir} modules \
134                 CC="%{__cc}" CPP="%{__cpp}" \
135                 SYSSRC=%{_kernelsrcdir} \
136                 SYSOUT=$PWD/o \
137                 M=$PWD O=$PWD/o \
138                 %{?with_verbose:V=1}
139
140         mv emcplib{,-$cfg}.ko
141 done
142 %endif
143
144 %install
145 rm -rf $RPM_BUILD_ROOT
146
147 %if %{with userspace}
148 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_libdir},%{_sbindir},%{_mandir}/man1,/etc/modprobe.d,%{_datadir}/locale,/etc/rc.d/init.d}
149
150 cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
151 install modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{name}.conf
152 cp -a i18n/catalog/* $RPM_BUILD_ROOT%{_datadir}/locale
153 install PowerPath.rhel $RPM_BUILD_ROOT/etc/rc.d/init.d/powerpath
154 install bin/lib/* $RPM_BUILD_ROOT%{_libdir}
155 install bin/cmds/* $RPM_BUILD_ROOT%{_sbindir}
156 cp -a bin/.drivers_ext $RPM_BUILD_ROOT%{_sysconfdir}/drivers_ext
157
158 %find_lang EMCpower
159 %find_lang PowerPath
160 cat PowerPath.lang >> EMCpower.lang
161 %endif
162
163 %if %{with kernel}
164 cd bin/driver
165 %if %{with up}
166 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block
167 install emcplib-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
168         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block/emcplib.ko
169
170 brand=sles; type=default
171 %ifarch %{x8664}
172 type=${type}_x8664
173 %endif
174 for a in emcplib emcp emcphr emcpioc emcpmp emcpmpaa emcpmpap emcpmpc; do
175         install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block/$a.ko
176 done
177 %endif
178
179 %if %{with smp} && %{with dist_kernel}
180 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block
181 install emcplib-smp.ko \
182         $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/emcplib.ko
183
184 brand=sles; type=smp
185 %ifarch %{x8664}
186 type=${type}_x8664
187 %endif
188  for a in emcplib emcp emcphr emcpioc emcpmp emcpmpaa emcpmpap emcpmpc; do
189         install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/$a.ko
190 done
191 %endif
192 %endif
193
194 %clean
195 rm -rf $RPM_BUILD_ROOT
196
197 %post   -n kernel-block-emc
198 %depmod %{_kernel_ver}
199
200 %postun -n kernel-block-emc
201 %depmod %{_kernel_ver}
202
203 %post   -n kernel-smp-block-emc
204 %depmod %{_kernel_ver}-smp
205
206 %postun -n kernel-smp-block-emc
207 %depmod %{_kernel_ver}-smp
208
209 %if %{with kernel}
210 %if %{with up}
211 %files -n kernel-block-emc
212 %defattr(644,root,root,755)
213 /lib/modules/%{_kernel_ver}/kernel/drivers/block/*.ko*
214 %endif
215
216 %if %{with smp} && %{with dist_kernel}
217 %files -n kernel-smp-block-emc
218 %defattr(644,root,root,755)
219 /lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/*.ko*
220 %endif
221 %endif
222
223 %if %{with userspace}
224 %files -f EMCpower.lang
225 %defattr(644,root,root,755)
226 %dir %{_sysconfdir}
227 %{_sysconfdir}/drivers_ext
228 /etc/modprobe.d/EMCpower.conf
229 %attr(754,root,root) /etc/rc.d/init.d/powerpath
230 %attr(755,root,root) %{_sbindir}/emcpadm
231 %attr(755,root,root) %{_sbindir}/emcpdiscover
232 %attr(755,root,root) %{_sbindir}/emcpmgr
233 %attr(755,root,root) %{_sbindir}/emcppurge
234 %attr(755,root,root) %{_sbindir}/emcpreg
235 %attr(755,root,root) %{_sbindir}/powercf
236 %attr(755,root,root) %{_sbindir}/powermt
237 %attr(755,root,root) %{_sbindir}/powerprotect
238 %{_libdir}/libemcp.so
239 %{_libdir}/libemcp_core.so
240 %{_libdir}/libemcp_lam.so
241 %{_libdir}/libemcp_lic_rtl.so
242 %{_libdir}/libemcp_mp_rtl.so
243 %{_libdir}/libemcpmp.so
244 %{_libdir}/libpn.so
245 %{_mandir}/man1/emcpadm.1*
246 %{_mandir}/man1/emcpreg.1*
247 %{_mandir}/man1/emcpupgrade.1*
248 %{_mandir}/man1/powermig.1*
249 %{_mandir}/man1/powermt.1*
250 %{_mandir}/man1/powerprotect.1*
251
252 %endif
This page took 0.052628 seconds and 4 git commands to generate.