]>
Commit | Line | Data |
---|---|---|
e19fd638 ER |
1 | # |
2 | # Conditional build: | |
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) | |
9 | ||
10 | %if %{without kernel} | |
11 | %undefine with_dist_kernel | |
12 | %endif | |
13 | ||
14 | %ifarch %{x8664} | |
15 | %undefine with_up | |
16 | %endif | |
17 | ||
18 | %define __kernel_ver 2.6.16.21-0.8 | |
19 | %define __kernel_rpmvr %{__kernel_ver} | |
20 | ||
2fa0488b ER |
21 | %define releq_kernel_smp kernel-smp = 0:%{__kernel_ver} |
22 | %define releq_kernel_up kernel-up = 0:%{__kernel_ver} | |
23 | ||
24 | %define _rel 0.10 | |
73048336 | 25 | Summary: EMC PowerPath - multi-path with fail-over and load-sharing over SCSI |
26d042b4 | 26 | Summary(pl.UTF-8): EMC PowerPath - multi-path z fail-over i dzieleniem obciążenia po SCSI |
60cd4962 | 27 | Name: EMCpower |
d2c9fe38 | 28 | Version: 5.0.0 |
60cd4962 ER |
29 | Release: %{_rel} |
30 | License: Proprietary (not distributable) | |
d2c9fe38 ER |
31 | Group: Base |
32 | Source0: %{name}.LINUX-%{version}-157.sles10.i386.rpm | |
33 | # NoSource0-md5: 9e687044c65d2ee368b71c339e639522 | |
34 | Source1: %{name}.LINUX-%{version}-157.sles10.x86_64.rpm | |
35 | # NoSource1-md5: cf980fc4714f0be008de168333cefcb4 | |
73048336 JB |
36 | NoSource: 0 |
37 | NoSource: 1 | |
130b9031 | 38 | Patch0: %{name}-init.patch |
a1e49a26 | 39 | Obsoletes: EMCpower.LINUX |
60cd4962 ER |
40 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
41 | ||
77c33a41 | 42 | %define _sysconfdir /something/bogus |
19cb858a | 43 | %define _sbindir /sbin |
130b9031 | 44 | |
60cd4962 ER |
45 | %description |
46 | Multi-path software providing fail-over and load-sharing for SCSI | |
47 | disks. | |
48 | ||
c10c84e7 JR |
49 | %description -l pl.UTF-8 |
50 | Oprogramowanie do multi-path z opcją fail-over i dzieleniem obciążenia | |
51 | między dyski SCSI. | |
73048336 | 52 | |
e19fd638 ER |
53 | # kernel subpackages. |
54 | ||
55 | %package -n kernel-block-emc | |
56 | Summary: Linux driver for emc | |
57 | Summary(pl.UTF-8): Sterownik dla Linuksa do emc | |
58 | Release: %{_rel}@%{_kernel_ver_str} | |
59 | Group: Base/Kernel | |
60 | Requires(post,postun): /sbin/depmod | |
61 | %if %{with dist_kernel} | |
62 | %requires_releq_kernel_up | |
63 | Requires(postun): %releq_kernel_up | |
64 | %endif | |
65 | ||
66 | %description -n kernel-block-emc | |
67 | This is driver for emc for Linux. | |
68 | ||
69 | This package contains Linux module. | |
70 | ||
71 | %description -n kernel-block-emc -l pl.UTF-8 | |
72 | Sterownik dla Linuksa do emc. | |
73 | ||
74 | Ten pakiet zawiera moduł jądra Linuksa. | |
75 | ||
76 | %package -n kernel-smp-block-emc | |
77 | Summary: Linux SMP driver for emc | |
78 | Summary(pl.UTF-8): Sterownik dla Linuksa SMP do emc | |
79 | Release: %{_rel}@%{_kernel_ver_str} | |
80 | Group: Base/Kernel | |
81 | Requires(post,postun): /sbin/depmod | |
82 | %if %{with dist_kernel} | |
83 | %requires_releq_kernel_smp | |
84 | Requires(postun): %releq_kernel_smp | |
85 | %endif | |
86 | ||
87 | %description -n kernel-smp-block-emc | |
88 | This is driver for emc for Linux. | |
89 | ||
90 | This package contains Linux SMP module. | |
91 | ||
92 | %description -n kernel-smp-block-emc -l pl.UTF-8 | |
93 | Sterownik dla Linuksa do emc. | |
94 | ||
95 | Ten pakiet zawiera moduł jądra Linuksa SMP. | |
60cd4962 ER |
96 | |
97 | %prep | |
98 | %setup -qcT | |
99 | %ifarch %{ix86} | |
100 | rpm2cpio %{SOURCE0} | cpio -dimu | |
101 | %endif | |
102 | %ifarch %{x8664} | |
103 | rpm2cpio %{SOURCE1} | cpio -dimu | |
104 | %endif | |
105 | mv etc/opt/emcpower/EMCpower.LINUX-%{version}/* . | |
a1e49a26 ER |
106 | cp PowerPath{.rhel,} |
107 | %patch0 -p1 | |
108 | echo 'options emcp managedclass=symm,clariion,hitachi,invista,hpxp,ess,hphsx' >> modprobe.conf.pp | |
60cd4962 ER |
109 | |
110 | %install | |
111 | rm -rf $RPM_BUILD_ROOT | |
e19fd638 ER |
112 | %if %{with userspace} |
113 | install -d $RPM_BUILD_ROOT{/etc/emc/ppme,%{_libdir},%{_sbindir},%{_mandir}/man1,/etc/modprobe.d,%{_datadir}/locale,/etc/rc.d/init.d} | |
60cd4962 ER |
114 | |
115 | cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 | |
116 | install modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{name}.conf | |
117 | cp -a i18n/catalog/* $RPM_BUILD_ROOT%{_datadir}/locale | |
a1e49a26 | 118 | install PowerPath $RPM_BUILD_ROOT/etc/rc.d/init.d/PowerPath |
60cd4962 ER |
119 | install bin/lib/* $RPM_BUILD_ROOT%{_libdir} |
120 | install bin/cmds/* $RPM_BUILD_ROOT%{_sbindir} | |
a1e49a26 | 121 | cp -a bin/.drivers_* $RPM_BUILD_ROOT/etc/emc |
60cd4962 ER |
122 | |
123 | %find_lang EMCpower | |
124 | %find_lang PowerPath | |
125 | cat PowerPath.lang >> EMCpower.lang | |
d4b26b0f ER |
126 | |
127 | # hardcoded paths. oh sigh | |
6d2ba32c | 128 | install -d $RPM_BUILD_ROOT/etc/opt/emcpower/.tmp |
d4b26b0f ER |
129 | ln -s %{_sbindir}/emcpmgr $RPM_BUILD_ROOT/etc/opt/emcpower |
130 | ln -s %{_sbindir}/powercf $RPM_BUILD_ROOT/etc/opt/emcpower | |
6d2ba32c ER |
131 | touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_global_lock |
132 | touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_lock | |
133 | ||
d4b26b0f | 134 | install -d $RPM_BUILD_ROOT/opt/emcpower |
6d2ba32c | 135 | install -d $RPM_BUILD_ROOT/etc/emcpower |
77c33a41 | 136 | touch $RPM_BUILD_ROOT/etc/emc/mpaa.{excluded,lams} |
e19fd638 ER |
137 | %endif |
138 | ||
139 | %if %{with kernel} | |
140 | cd bin/driver | |
141 | %if %{with up} | |
142 | install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block | |
143 | ||
144 | brand=sles10; type=default | |
145 | %ifarch %{x8664} | |
146 | type=${type}_x8664 | |
147 | %endif | |
148 | for a in emcp emcpdm emcpgpx emcpioc emcplib emcpmpx; do | |
149 | install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block/$a.ko | |
150 | done | |
151 | %endif | |
152 | ||
153 | %if %{with smp} && %{with dist_kernel} | |
154 | install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block | |
155 | brand=sles10; type=smp | |
156 | %ifarch %{x8664} | |
157 | type=${type}_x8664 | |
158 | %endif | |
159 | for a in emcp emcpdm emcpgpx emcpioc emcplib emcpmpx; do | |
160 | install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/$a.ko | |
161 | done | |
162 | %endif | |
163 | %endif | |
60cd4962 ER |
164 | |
165 | %clean | |
166 | rm -rf $RPM_BUILD_ROOT | |
167 | ||
77c33a41 | 168 | %if 0 |
11f9f943 ER |
169 | %verifyscript |
170 | echo "These PowerPath modules are installed" | |
171 | /sbin/lsmod | head -n 1 | |
172 | /sbin/lsmod | grep emc | |
173 | echo "DONE" | |
174 | ||
5c57202d ER |
175 | %pre |
176 | # Check - Only install on a 2.6 kernel | |
177 | expr `uname -r` : '2\.6' > /dev/null | |
178 | if [ $? -ne 0 ]; then | |
179 | echo "This PowerPath package does not support this kernel." | |
180 | exit 1 | |
181 | fi | |
182 | ||
183 | # Check - Make sure no devices are in use. | |
184 | if [ "`/sbin/lsmod | grep -w emcp`" != "" ]; then | |
185 | /sbin/powermt save > /dev/null 2>&1 | |
186 | /sbin/powermt remove dev=all > /dev/null 2>&1 | |
187 | if [ "`powermt display dev=all 2>&1 | grep "not found"`" = "" ]; then | |
188 | echo "Unable to remove devices from the PowerPath configuration." | |
189 | echo "Please make sure no PowerPath devices are in use and retry." | |
190 | /sbin/powermt config > /dev/null 2>&1 | |
191 | /sbin/powermt load > /dev/null 2>&1 | |
192 | exit 1 | |
193 | fi | |
194 | /sbin/powermt config > /dev/null 2>&1 | |
195 | /sbin/powermt load > /dev/null 2>&1 | |
196 | fi | |
77c33a41 | 197 | %endif |
5c57202d | 198 | |
e19fd638 ER |
199 | %post -n kernel-block-emc |
200 | %depmod %{_kernel_ver} | |
201 | ||
202 | %postun -n kernel-block-emc | |
203 | %depmod %{_kernel_ver} | |
204 | ||
205 | %post -n kernel-smp-block-emc | |
206 | %depmod %{_kernel_ver}-smp | |
207 | ||
208 | %postun -n kernel-smp-block-emc | |
209 | %depmod %{_kernel_ver}-smp | |
210 | ||
211 | %if %{with kernel} | |
212 | %if %{with up} | |
213 | %files -n kernel-block-emc | |
214 | %defattr(644,root,root,755) | |
215 | /lib/modules/%{_kernel_ver}/kernel/drivers/block/*.ko* | |
216 | %endif | |
217 | ||
218 | %if %{with smp} && %{with dist_kernel} | |
219 | %files -n kernel-smp-block-emc | |
220 | %defattr(644,root,root,755) | |
221 | /lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/*.ko* | |
222 | %endif | |
223 | %endif | |
224 | ||
225 | %if %{with userspace} | |
60cd4962 ER |
226 | %files -f EMCpower.lang |
227 | %defattr(644,root,root,755) | |
77c33a41 ER |
228 | %dir /etc/emc |
229 | %dir /etc/emc/ppme | |
a1e49a26 | 230 | /etc/emc/.drivers_* |
77c33a41 ER |
231 | %ghost /etc/emc/mpaa.excluded |
232 | %ghost /etc/emc/mpaa.lams | |
60cd4962 | 233 | /etc/modprobe.d/EMCpower.conf |
a1e49a26 | 234 | %attr(754,root,root) /etc/rc.d/init.d/PowerPath |
60cd4962 ER |
235 | %attr(755,root,root) %{_sbindir}/emcpadm |
236 | %attr(755,root,root) %{_sbindir}/emcpdiscover | |
237 | %attr(755,root,root) %{_sbindir}/emcpmgr | |
238 | %attr(755,root,root) %{_sbindir}/emcppurge | |
239 | %attr(755,root,root) %{_sbindir}/emcpreg | |
240 | %attr(755,root,root) %{_sbindir}/powercf | |
241 | %attr(755,root,root) %{_sbindir}/powermt | |
242 | %attr(755,root,root) %{_sbindir}/powerprotect | |
d2c9fe38 ER |
243 | %attr(755,root,root) %{_sbindir}/powermig |
244 | %attr(755,root,root) %{_sbindir}/pp_inq | |
73048336 JB |
245 | %attr(755,root,root) %{_libdir}/libemcp.so |
246 | %attr(755,root,root) %{_libdir}/libemcp_core.so | |
247 | %attr(755,root,root) %{_libdir}/libemcp_lam.so | |
248 | %attr(755,root,root) %{_libdir}/libemcp_lic_rtl.so | |
249 | %attr(755,root,root) %{_libdir}/libemcp_mp_rtl.so | |
250 | %attr(755,root,root) %{_libdir}/libemcpmp.so | |
251 | %attr(755,root,root) %{_libdir}/libpn.so | |
60cd4962 ER |
252 | %{_mandir}/man1/emcpadm.1* |
253 | %{_mandir}/man1/emcpreg.1* | |
254 | %{_mandir}/man1/emcpupgrade.1* | |
d2c9fe38 | 255 | %{_mandir}/man1/powerformat.1* |
60cd4962 ER |
256 | %{_mandir}/man1/powermig.1* |
257 | %{_mandir}/man1/powermt.1* | |
258 | %{_mandir}/man1/powerprotect.1* | |
dc84bbb8 ER |
259 | |
260 | # hardcoded paths. oh sigh | |
d2c9fe38 | 261 | %dir /etc/opt/emcpower |
6d2ba32c ER |
262 | %ghost /etc/opt/emcpower/.__emcp_db_global_lock |
263 | %ghost /etc/opt/emcpower/.__emcp_db_lock | |
dc84bbb8 | 264 | /opt/emcpower |
6d2ba32c | 265 | %dir /etc/emcpower |
e19fd638 | 266 | %endif |