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.21-0.8
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}
26 Summary: EMC PowerPath - multi-path with fail-over and load-sharing over SCSI
27 Summary(pl.UTF-8): EMC PowerPath - multi-path z fail-over i dzieleniem obciążenia po SCSI
31 License: Proprietary (not distributable)
34 Source0: %{name}.LINUX-%{version}-157.sles10.i386.rpm
35 # NoSource0-md5: 9e687044c65d2ee368b71c339e639522
39 Source1: %{name}.LINUX-%{version}-157.sles10.x86_64.rpm
40 # NoSource1-md5: cf980fc4714f0be008de168333cefcb4
43 Source2: PowerPath.init
44 Requires(post,preun): /sbin/chkconfig
45 Obsoletes: EMCpower.LINUX
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define _sysconfdir /something/bogus
49 %define _sbindir /sbin
52 Multi-path software providing fail-over and load-sharing for SCSI
55 %description -l pl.UTF-8
56 Oprogramowanie do multi-path z opcją fail-over i dzieleniem obciążenia
61 %package -n kernel-block-emc
62 Summary: Linux driver for emc
63 Summary(pl.UTF-8): Sterownik dla Linuksa do emc
64 Release: %{_rel}@%{_kernel_ver_str}
66 Requires(post,postun): /sbin/depmod
67 %if %{with dist_kernel}
68 %requires_releq_kernel_up
69 Requires(postun): %releq_kernel_up
72 %description -n kernel-block-emc
73 This is driver for emc for Linux.
75 This package contains Linux module.
77 %description -n kernel-block-emc -l pl.UTF-8
78 Sterownik dla Linuksa do emc.
80 Ten pakiet zawiera moduł jądra Linuksa.
82 %package -n kernel-smp-block-emc
83 Summary: Linux SMP driver for emc
84 Summary(pl.UTF-8): Sterownik dla Linuksa SMP do emc
85 Release: %{_rel}@%{_kernel_ver_str}
87 Requires(post,postun): /sbin/depmod
88 %if %{with dist_kernel}
89 %requires_releq_kernel_smp
90 Requires(postun): %releq_kernel_smp
93 %description -n kernel-smp-block-emc
94 This is driver for emc for Linux.
96 This package contains Linux SMP module.
98 %description -n kernel-smp-block-emc -l pl.UTF-8
99 Sterownik dla Linuksa do emc.
101 Ten pakiet zawiera moduł jądra Linuksa SMP.
106 rpm2cpio %{SOURCE0} | cpio -dimu
109 rpm2cpio %{SOURCE1} | cpio -dimu
111 mv etc/opt/emcpower/EMCpower.LINUX-%{version}/* .
112 echo 'options emcp managedclass=symm,clariion,hitachi,invista,hpxp,ess,hphsx' >> modprobe.conf.pp
115 rm -rf $RPM_BUILD_ROOT
116 %if %{with userspace}
117 install -d $RPM_BUILD_ROOT{/etc/emc/ppme,%{_libdir},%{_sbindir},%{_mandir}/man1,/etc/modprobe.d,%{_datadir}/locale,/etc/rc.d/init.d}
119 cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
120 cp -a i18n/catalog/* $RPM_BUILD_ROOT%{_datadir}/locale
121 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/PowerPath
122 install bin/lib/* $RPM_BUILD_ROOT%{_libdir}
123 install bin/cmds/* $RPM_BUILD_ROOT%{_sbindir}
124 cp -a bin/.drivers_* $RPM_BUILD_ROOT/etc/emc
128 cat PowerPath.lang >> EMCpower.lang
130 # hardcoded paths. oh sigh
131 install -d $RPM_BUILD_ROOT/etc/opt/emcpower/.tmp
132 ln -s %{_sbindir}/emcpmgr $RPM_BUILD_ROOT/etc/opt/emcpower
133 ln -s %{_sbindir}/powercf $RPM_BUILD_ROOT/etc/opt/emcpower
134 touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_global_lock
135 touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_lock
137 install -d $RPM_BUILD_ROOT/opt/emcpower
138 install -d $RPM_BUILD_ROOT/etc/emcpower
139 touch $RPM_BUILD_ROOT/etc/emc/mpaa.{excluded,lams}
144 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block
145 install -D modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}/%{name}.conf
147 brand=sles10; type=default
151 for a in emcp emcpdm emcpgpx emcpioc emcplib emcpmpx; do
152 install bin/driver/${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block/$a.ko
156 %if %{with smp} && %{with dist_kernel}
157 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block
158 install -D modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}-smp/%{name}.conf
159 brand=sles10; type=smp
163 for a in emcp emcpdm emcpgpx emcpioc emcplib emcpmpx; do
164 install bin/driver/${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/$a.ko
170 rm -rf $RPM_BUILD_ROOT
173 /sbin/chkconfig --add PowerPath
176 if [ "$1" = "0" ]; then
177 /sbin/chkconfig --del PowerPath
180 %post -n kernel-block-emc
181 %depmod %{_kernel_ver}
183 %postun -n kernel-block-emc
184 %depmod %{_kernel_ver}
186 %post -n kernel-smp-block-emc
187 %depmod %{_kernel_ver}-smp
189 %postun -n kernel-smp-block-emc
190 %depmod %{_kernel_ver}-smp
194 %files -n kernel-block-emc
195 %defattr(644,root,root,755)
196 /etc/modprobe.d/%{_kernel_ver}/%{name}.conf
197 /lib/modules/%{_kernel_ver}/kernel/drivers/block/*.ko*
200 %if %{with smp} && %{with dist_kernel}
201 %files -n kernel-smp-block-emc
202 %defattr(644,root,root,755)
203 /etc/modprobe.d/%{_kernel_ver}-smp/%{name}.conf
204 /lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/*.ko*
208 %if %{with userspace}
209 %files -f EMCpower.lang
210 %defattr(644,root,root,755)
214 %ghost /etc/emc/mpaa.excluded
215 %ghost /etc/emc/mpaa.lams
216 %attr(754,root,root) /etc/rc.d/init.d/PowerPath
217 %attr(755,root,root) %{_sbindir}/emcpadm
218 %attr(755,root,root) %{_sbindir}/emcpdiscover
219 %attr(755,root,root) %{_sbindir}/emcpmgr
220 %attr(755,root,root) %{_sbindir}/emcppurge
221 %attr(755,root,root) %{_sbindir}/emcpreg
222 %attr(755,root,root) %{_sbindir}/powercf
223 %attr(755,root,root) %{_sbindir}/powermt
224 %attr(755,root,root) %{_sbindir}/powerprotect
225 %attr(755,root,root) %{_sbindir}/powermig
226 %attr(755,root,root) %{_sbindir}/pp_inq
227 %attr(755,root,root) %{_libdir}/libemcp.so
228 %attr(755,root,root) %{_libdir}/libemcp_core.so
229 %attr(755,root,root) %{_libdir}/libemcp_lam.so
230 %attr(755,root,root) %{_libdir}/libemcp_lic_rtl.so
231 %attr(755,root,root) %{_libdir}/libemcp_mp_rtl.so
232 %attr(755,root,root) %{_libdir}/libemcpmp.so
233 %attr(755,root,root) %{_libdir}/libpn.so
234 %{_mandir}/man1/emcpadm.1*
235 %{_mandir}/man1/emcpreg.1*
236 %{_mandir}/man1/emcpupgrade.1*
237 %{_mandir}/man1/powerformat.1*
238 %{_mandir}/man1/powermig.1*
239 %{_mandir}/man1/powermt.1*
240 %{_mandir}/man1/powerprotect.1*
242 # hardcoded paths. oh sigh
243 %dir /etc/opt/emcpower
244 /etc/opt/emcpower/emcpmgr
245 /etc/opt/emcpower/powercf
246 %ghost /etc/opt/emcpower/.__emcp_db_global_lock
247 %ghost /etc/opt/emcpower/.__emcp_db_lock