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