3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_without kernel # build kernel modules
5 %bcond_with up # don't build UP module
6 %bcond_without smp # don't build SMP module
7 %bcond_without userspace # don't build userspace programs
8 %bcond_with verbose # verbose build (V=1)
11 %undefine with_dist_kernel
14 # just don't want to build it :)
19 %define __kernel_ver 2.6.16.46-0.12
20 %define __kernel_rpmvr %{__kernel_ver}
22 %define releq_kernel_smp kernel-smp = 0:%{__kernel_ver}
23 %define releq_kernel_up kernel-up = 0:%{__kernel_ver}
25 %define brand sles10sp1
28 Summary: EMC PowerPath - multi-path with fail-over and load-sharing over SCSI
29 Summary(pl.UTF-8): EMC PowerPath - multi-path z fail-over i dzieleniem obciążenia po SCSI
33 License: Proprietary (not distributable)
35 URL: https://powerlink.emc.com/
37 Source0: %{name}.LINUX-%{version}-022.%{brand}.i386.rpm
38 # NoSource0-md5: 9e687044c65d2ee368b71c339e639522
42 Source1: %{name}.LINUX-%{version}-022.%{brand}.x86_64.rpm
43 # NoSource1-md5: cbe183e0a7f4beef04873529313a7325
46 Source2: PowerPath.init
47 Source3: %{name}.enable
48 Requires(post,preun): /sbin/chkconfig
50 Obsoletes: EMCpower.LINUX
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 %define _sysconfdir /something/bogus
54 %define _sbindir /sbin
57 Multi-path software providing fail-over and load-sharing for SCSI
60 %description -l pl.UTF-8
61 Oprogramowanie do multi-path z opcją fail-over i dzieleniem obciążenia
66 %package -n kernel-block-emc
67 Summary: Linux driver for emc
68 Summary(pl.UTF-8): Sterownik dla Linuksa do emc
69 Release: %{_rel}@%{_kernel_ver_str}
71 Requires(post,postun): /sbin/depmod
72 %if %{with dist_kernel}
73 %requires_releq_kernel_up
74 Requires(postun): %releq_kernel_up
77 %description -n kernel-block-emc
78 This is driver for emc for Linux.
80 This package contains Linux module.
82 %description -n kernel-block-emc -l pl.UTF-8
83 Sterownik dla Linuksa do emc.
85 Ten pakiet zawiera moduł jądra Linuksa.
87 %package -n kernel-smp-block-emc
88 Summary: Linux SMP driver for emc
89 Summary(pl.UTF-8): Sterownik dla Linuksa SMP do emc
90 Release: %{_rel}@%{_kernel_ver_str}
92 Requires(post,postun): /sbin/depmod
93 %if %{with dist_kernel}
94 %requires_releq_kernel_smp
95 Requires(postun): %releq_kernel_smp
98 %description -n kernel-smp-block-emc
99 This is driver for emc for Linux.
101 This package contains Linux SMP module.
103 %description -n kernel-smp-block-emc -l pl.UTF-8
104 Sterownik dla Linuksa do emc.
106 Ten pakiet zawiera moduł jądra Linuksa SMP.
111 rpm2cpio %{SOURCE0} | cpio -dimu
114 rpm2cpio %{SOURCE1} | cpio -dimu
116 mv etc/opt/emcpower/EMCpower.LINUX-%{version}/* .
117 echo 'options emcp managedclass=symm,clariion,hitachi,invista,hpxp,ess,hphsx' >> modprobe.conf.pp
120 rm -rf $RPM_BUILD_ROOT
121 %if %{with userspace}
122 install -d $RPM_BUILD_ROOT{/etc/emc/ppme,%{_libdir},%{_sbindir},%{_mandir}/man1,/etc/modprobe.d,%{_datadir}/locale,/etc/rc.d/init.d}
125 install -d $RPM_BUILD_ROOT{/etc/udev/rules.d,/lib/udev}
126 install udev-pp.rules $RPM_BUILD_ROOT/etc/udev/rules.d
127 install pp_udev.sh $RPM_BUILD_ROOT/lib/udev/pp_udev.sh
129 cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
130 cp -a i18n/catalog/* $RPM_BUILD_ROOT%{_datadir}/locale
131 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/PowerPath
132 install bin/lib/* $RPM_BUILD_ROOT%{_libdir}
133 install bin/cmds/* $RPM_BUILD_ROOT%{_sbindir}
134 cp -a bin/.drivers_* $RPM_BUILD_ROOT/etc/emc
138 cat PowerPath.lang >> EMCpower.lang
140 # hardcoded paths. oh sigh
141 install -d $RPM_BUILD_ROOT/etc/opt/emcpower/.tmp
142 mv $RPM_BUILD_ROOT{%{_sbindir},/etc/opt/emcpower}/emcpmgr
143 mv $RPM_BUILD_ROOT{%{_sbindir},/etc/opt/emcpower}/powercf
144 install %{SOURCE3} $RPM_BUILD_ROOT/etc/opt/emcpower/enable
145 touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_global_lock
146 touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_lock
148 install -d $RPM_BUILD_ROOT/opt/emcpower
149 install -d $RPM_BUILD_ROOT/etc/emcpower
150 touch $RPM_BUILD_ROOT/etc/emc/mpaa.{excluded,lams}
155 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block
156 install -D modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}/%{name}.conf
159 install bin/driver/%{brand}default_x8664/*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block
163 %if %{with smp} && %{with dist_kernel}
164 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block
165 install -D modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}-smp/%{name}.conf
167 install bin/driver/%{brand}smp_x8664/*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block
172 rm -rf $RPM_BUILD_ROOT
175 /sbin/chkconfig --add PowerPath
178 if [ "$1" = "0" ]; then
179 /sbin/chkconfig --del PowerPath
182 %post -n kernel-block-emc
183 %depmod %{_kernel_ver}
185 %postun -n kernel-block-emc
186 %depmod %{_kernel_ver}
188 %post -n kernel-smp-block-emc
189 %depmod %{_kernel_ver}-smp
191 %postun -n kernel-smp-block-emc
192 %depmod %{_kernel_ver}-smp
196 %files -n kernel-block-emc
197 %defattr(644,root,root,755)
198 /etc/modprobe.d/%{_kernel_ver}/%{name}.conf
199 /lib/modules/%{_kernel_ver}/kernel/drivers/block/*.ko*
202 %if %{with smp} && %{with dist_kernel}
203 %files -n kernel-smp-block-emc
204 %defattr(644,root,root,755)
205 /etc/modprobe.d/%{_kernel_ver}-smp/%{name}.conf
206 /lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/*.ko*
210 %if %{with userspace}
211 %files -f EMCpower.lang
212 %defattr(644,root,root,755)
213 /etc/udev/rules.d/*.rules
214 %attr(755,root,root) /lib/udev/pp_udev.sh
219 %ghost /etc/emc/mpaa.excluded
220 %ghost /etc/emc/mpaa.lams
221 %attr(754,root,root) /etc/opt/emcpower/enable
222 %dir /etc/opt/emcpower/.tmp
223 %attr(754,root,root) /etc/rc.d/init.d/PowerPath
224 %attr(755,root,root) %{_sbindir}/emcpadm
225 %attr(755,root,root) %{_sbindir}/emcpdiscover
226 %attr(755,root,root) %{_sbindir}/emcppurge
227 %attr(755,root,root) %{_sbindir}/emcpreg
228 %attr(755,root,root) %{_sbindir}/powermt
229 %attr(755,root,root) %{_sbindir}/powerprotect
230 %attr(755,root,root) %{_sbindir}/powermig
231 %attr(755,root,root) %{_sbindir}/pp_inq
232 %attr(755,root,root) %{_libdir}/libemcp.so
233 %attr(755,root,root) %{_libdir}/libemcp_core.so
234 %attr(755,root,root) %{_libdir}/libemcp_lam.so
235 %attr(755,root,root) %{_libdir}/libemcp_lic_rtl.so
236 %attr(755,root,root) %{_libdir}/libemcp_mp_rtl.so
237 %attr(755,root,root) %{_libdir}/libemcpmp.so
238 %attr(755,root,root) %{_libdir}/libpn.so
239 %{_mandir}/man1/emcpadm.1*
240 %{_mandir}/man1/emcpreg.1*
241 %{_mandir}/man1/emcpupgrade.1*
242 %{_mandir}/man1/powerformat.1*
243 %{_mandir}/man1/powermig.1*
244 %{_mandir}/man1/powermt.1*
245 %{_mandir}/man1/powerprotect.1*
247 # hardcoded paths. oh sigh
248 %dir /etc/opt/emcpower
249 %attr(755,root,root) /etc/opt/emcpower/emcpmgr
250 %attr(755,root,root) /etc/opt/emcpower/powercf
251 %ghost /etc/opt/emcpower/.__emcp_db_global_lock
252 %ghost /etc/opt/emcpower/.__emcp_db_lock