]> git.pld-linux.org Git - packages/EMCpower.git/blame - EMCpower.spec
- tabs in preamble
[packages/EMCpower.git] / EMCpower.spec
CommitLineData
73048336 1#
60cd4962
ER
2# Conditional build:
3%bcond_without dist_kernel # allow non-distribution kernel
01824a9f 4%bcond_with kernel # build kernel modules
73048336 5%bcond_without up # don't build UP module
d6b3e891 6%bcond_without smp # don't build SMP module
60cd4962
ER
7%bcond_without userspace # don't build userspace programs
8%bcond_with verbose # verbose build (V=1)
9
17a9cc8b 10%if !%{with kernel}
60cd4962
ER
11%undefine with_dist_kernel
12%endif
13
d6b3e891
ER
14%ifarch %{x8664}
15%undefine with_up
16%endif
17
18%define __kernel_ver 2.6.5-7.252
19%define __kernel_rpmvr %{__kernel_ver}
20
60cd4962
ER
21#
22# main package.
23#
6d2ba32c 24%define _rel 0.17
73048336 25Summary: EMC PowerPath - multi-path with fail-over and load-sharing over SCSI
26d042b4 26Summary(pl.UTF-8): EMC PowerPath - multi-path z fail-over i dzieleniem obciążenia po SCSI
60cd4962
ER
27Name: EMCpower
28Version: 4.5.1
29Release: %{_rel}
30License: Proprietary (not distributable)
31Group: Base/Kernel
32Source0: %{name}.LINUX-%{version}-022.sles.i386.rpm
33# NoSource0-md5: ed93c4daa2169b992c888ef5c27a6334
34Source1: %{name}.LINUX-%{version}-022.sles.x86_64.rpm
35# NoSource1-md5: b9e452479cff19640dee5431ff96f56c
73048336
JB
36NoSource: 0
37NoSource: 1
130b9031 38Patch0: %{name}-init.patch
60cd4962
ER
39%if %{with kernel}
40%{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.14}
41BuildRequires: rpmbuild(macros) >= 1.286
42%endif
43BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
19cb858a
ER
45%define _sysconfdir /etc/emc
46%define _sbindir /sbin
d4b26b0f
ER
47# binaries and libraries are x86
48%define _libdir /usr/lib
130b9031 49
60cd4962
ER
50%description
51Multi-path software providing fail-over and load-sharing for SCSI
52disks.
53
c10c84e7
JR
54%description -l pl.UTF-8
55Oprogramowanie do multi-path z opcją fail-over i dzieleniem obciążenia
56między dyski SCSI.
73048336 57
60cd4962
ER
58# kernel subpackages.
59
60%package -n kernel-block-emc
61Summary: Linux driver for emc
26d042b4 62Summary(pl.UTF-8): Sterownik dla Linuksa do emc
60cd4962
ER
63Release: %{_rel}@%{_kernel_ver_str}
64Group: Base/Kernel
65Requires(post,postun): /sbin/depmod
66%if %{with dist_kernel}
67%requires_releq_kernel_up
68Requires(postun): %releq_kernel_up
69%endif
70
71%description -n kernel-block-emc
72This is driver for emc for Linux.
73
74This package contains Linux module.
75
c10c84e7 76%description -n kernel-block-emc -l pl.UTF-8
60cd4962
ER
77Sterownik dla Linuksa do emc.
78
c10c84e7 79Ten pakiet zawiera moduł jądra Linuksa.
60cd4962
ER
80
81%package -n kernel-smp-block-emc
82Summary: Linux SMP driver for emc
26d042b4 83Summary(pl.UTF-8): Sterownik dla Linuksa SMP do emc
60cd4962
ER
84Release: %{_rel}@%{_kernel_ver_str}
85Group: Base/Kernel
86Requires(post,postun): /sbin/depmod
87%if %{with dist_kernel}
88%requires_releq_kernel_smp
89Requires(postun): %releq_kernel_smp
90%endif
91
92%description -n kernel-smp-block-emc
93This is driver for emc for Linux.
94
95This package contains Linux SMP module.
96
c10c84e7 97%description -n kernel-smp-block-emc -l pl.UTF-8
60cd4962
ER
98Sterownik dla Linuksa do emc.
99
c10c84e7 100Ten pakiet zawiera moduł jądra Linuksa SMP.
60cd4962
ER
101
102%prep
103%setup -qcT
104%ifarch %{ix86}
105rpm2cpio %{SOURCE0} | cpio -dimu
106%endif
107%ifarch %{x8664}
108rpm2cpio %{SOURCE1} | cpio -dimu
109%endif
110mv etc/opt/emcpower/EMCpower.LINUX-%{version}/* .
130b9031
ER
111%patch0 -p1
112
60cd4962
ER
113ln -s emcplib.Makefile bin/driver/Makefile
114
115%build
116cd bin/driver
117
118%if %{with kernel}
119# kernel module(s)
120for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
121 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
122 exit 1
123 fi
124 install -d o/include/linux
125 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
126 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
127 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
128%if %{with dist_kernel}
4e2f0205 129 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
60cd4962
ER
130%else
131 install -d o/include/config
132 touch o/include/config/MARKER
133 ln -sf %{_kernelsrcdir}/scripts o/scripts
134%endif
135#
136# patching/creating makefile(s) (optional)
137#
138 %{__make} -C %{_kernelsrcdir} clean \
139 RCS_FIND_IGNORE="-name '*.ko' -o" \
140 SYSSRC=%{_kernelsrcdir} \
141 SYSOUT=$PWD/o \
142 M=$PWD O=$PWD/o \
143 %{?with_verbose:V=1}
144 %{__make} -C %{_kernelsrcdir} modules \
145 CC="%{__cc}" CPP="%{__cpp}" \
146 SYSSRC=%{_kernelsrcdir} \
147 SYSOUT=$PWD/o \
148 M=$PWD O=$PWD/o \
149 %{?with_verbose:V=1}
150
151 mv emcplib{,-$cfg}.ko
152done
153%endif
154
155%install
156rm -rf $RPM_BUILD_ROOT
157
158%if %{with userspace}
130b9031 159install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_libdir},%{_sbindir},%{_mandir}/man1,/etc/modprobe.d,%{_datadir}/locale,/etc/rc.d/init.d}
60cd4962
ER
160
161cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
162install modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{name}.conf
163cp -a i18n/catalog/* $RPM_BUILD_ROOT%{_datadir}/locale
164install PowerPath.rhel $RPM_BUILD_ROOT/etc/rc.d/init.d/powerpath
165install bin/lib/* $RPM_BUILD_ROOT%{_libdir}
166install bin/cmds/* $RPM_BUILD_ROOT%{_sbindir}
130b9031 167cp -a bin/.drivers_ext $RPM_BUILD_ROOT%{_sysconfdir}/drivers_ext
60cd4962
ER
168
169%find_lang EMCpower
170%find_lang PowerPath
171cat PowerPath.lang >> EMCpower.lang
d4b26b0f
ER
172
173# hardcoded paths. oh sigh
6d2ba32c 174install -d $RPM_BUILD_ROOT/etc/opt/emcpower/.tmp
d4b26b0f
ER
175ln -s %{_sbindir}/emcpmgr $RPM_BUILD_ROOT/etc/opt/emcpower
176ln -s %{_sbindir}/powercf $RPM_BUILD_ROOT/etc/opt/emcpower
6d2ba32c
ER
177touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_global_lock
178touch $RPM_BUILD_ROOT/etc/opt/emcpower/.__emcp_db_lock
179
d4b26b0f 180install -d $RPM_BUILD_ROOT/opt/emcpower
6d2ba32c
ER
181install -d $RPM_BUILD_ROOT/etc/emcpower
182touch $RPM_BUILD_ROOT%{_sysconfdir}/mpaa.{excluded,lams}
60cd4962
ER
183%endif
184
185%if %{with kernel}
186cd bin/driver
d6b3e891
ER
187%if %{with up}
188install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block
60cd4962 189install emcplib-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
d6b3e891 190 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block/emcplib.ko
60cd4962
ER
191
192brand=sles; type=default
d6b3e891
ER
193%ifarch %{x8664}
194type=${type}_x8664
195%endif
196for a in emcplib emcp emcphr emcpioc emcpmp emcpmpaa emcpmpap emcpmpc; do
197 install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block/$a.ko
198done
199%endif
60cd4962
ER
200
201%if %{with smp} && %{with dist_kernel}
d6b3e891 202install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block
60cd4962 203install emcplib-smp.ko \
d6b3e891 204 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/emcplib.ko
60cd4962
ER
205
206brand=sles; type=smp
d6b3e891
ER
207%ifarch %{x8664}
208type=${type}_x8664
209%endif
210 for a in emcplib emcp emcphr emcpioc emcpmp emcpmpaa emcpmpap emcpmpc; do
211 install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/$a.ko
212done
60cd4962
ER
213%endif
214%endif
215
216%clean
217rm -rf $RPM_BUILD_ROOT
218
11f9f943
ER
219%verifyscript
220echo "These PowerPath modules are installed"
221/sbin/lsmod | head -n 1
222/sbin/lsmod | grep emc
223echo "DONE"
224
5c57202d
ER
225%pre
226# Check - Only install on a 2.6 kernel
227expr `uname -r` : '2\.6' > /dev/null
228if [ $? -ne 0 ]; then
229 echo "This PowerPath package does not support this kernel."
230 exit 1
231fi
232
233# Check - Make sure no devices are in use.
234if [ "`/sbin/lsmod | grep -w emcp`" != "" ]; then
235 /sbin/powermt save > /dev/null 2>&1
236 /sbin/powermt remove dev=all > /dev/null 2>&1
237 if [ "`powermt display dev=all 2>&1 | grep "not found"`" = "" ]; then
238 echo "Unable to remove devices from the PowerPath configuration."
239 echo "Please make sure no PowerPath devices are in use and retry."
240 /sbin/powermt config > /dev/null 2>&1
241 /sbin/powermt load > /dev/null 2>&1
242 exit 1
243 fi
244 /sbin/powermt config > /dev/null 2>&1
245 /sbin/powermt load > /dev/null 2>&1
246fi
247
60cd4962
ER
248%post -n kernel-block-emc
249%depmod %{_kernel_ver}
250
251%postun -n kernel-block-emc
252%depmod %{_kernel_ver}
253
254%post -n kernel-smp-block-emc
3b7f5890 255%depmod %{_kernel_ver}-smp
60cd4962
ER
256
257%postun -n kernel-smp-block-emc
3b7f5890 258%depmod %{_kernel_ver}-smp
60cd4962
ER
259
260%if %{with kernel}
d6b3e891 261%if %{with up}
60cd4962
ER
262%files -n kernel-block-emc
263%defattr(644,root,root,755)
d6b3e891
ER
264/lib/modules/%{_kernel_ver}/kernel/drivers/block/*.ko*
265%endif
60cd4962
ER
266
267%if %{with smp} && %{with dist_kernel}
268%files -n kernel-smp-block-emc
269%defattr(644,root,root,755)
d6b3e891 270/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/*.ko*
60cd4962
ER
271%endif
272%endif
273
274%if %{with userspace}
275%files -f EMCpower.lang
276%defattr(644,root,root,755)
130b9031
ER
277%dir %{_sysconfdir}
278%{_sysconfdir}/drivers_ext
6d2ba32c
ER
279%ghost %{_sysconfdir}/mpaa.excluded
280%ghost %{_sysconfdir}/mpaa.lams
60cd4962
ER
281/etc/modprobe.d/EMCpower.conf
282%attr(754,root,root) /etc/rc.d/init.d/powerpath
283%attr(755,root,root) %{_sbindir}/emcpadm
284%attr(755,root,root) %{_sbindir}/emcpdiscover
285%attr(755,root,root) %{_sbindir}/emcpmgr
286%attr(755,root,root) %{_sbindir}/emcppurge
287%attr(755,root,root) %{_sbindir}/emcpreg
288%attr(755,root,root) %{_sbindir}/powercf
289%attr(755,root,root) %{_sbindir}/powermt
290%attr(755,root,root) %{_sbindir}/powerprotect
73048336
JB
291%attr(755,root,root) %{_libdir}/libemcp.so
292%attr(755,root,root) %{_libdir}/libemcp_core.so
293%attr(755,root,root) %{_libdir}/libemcp_lam.so
294%attr(755,root,root) %{_libdir}/libemcp_lic_rtl.so
295%attr(755,root,root) %{_libdir}/libemcp_mp_rtl.so
296%attr(755,root,root) %{_libdir}/libemcpmp.so
297%attr(755,root,root) %{_libdir}/libpn.so
60cd4962
ER
298%{_mandir}/man1/emcpadm.1*
299%{_mandir}/man1/emcpreg.1*
300%{_mandir}/man1/emcpupgrade.1*
301%{_mandir}/man1/powermig.1*
302%{_mandir}/man1/powermt.1*
303%{_mandir}/man1/powerprotect.1*
dc84bbb8
ER
304
305# hardcoded paths. oh sigh
306/etc/opt/emcpower
6d2ba32c
ER
307%ghost /etc/opt/emcpower/.__emcp_db_global_lock
308%ghost /etc/opt/emcpower/.__emcp_db_lock
dc84bbb8 309/opt/emcpower
6d2ba32c 310%dir /etc/emcpower
60cd4962 311%endif
This page took 0.105435 seconds and 4 git commands to generate.