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