SPECS: EMCpower.spec - create kernel packages from binary drivers

glen glen at pld-linux.org
Tue May 29 15:34:06 CEST 2007


Author: glen                         Date: Tue May 29 13:34:06 2007 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- create kernel packages from binary drivers

---- Files affected:
SPECS:
   EMCpower.spec (1.19 -> 1.20) 

---- Diffs:

================================================================
Index: SPECS/EMCpower.spec
diff -u SPECS/EMCpower.spec:1.19 SPECS/EMCpower.spec:1.20
--- SPECS/EMCpower.spec:1.19	Tue May 29 15:22:46 2007
+++ SPECS/EMCpower.spec	Tue May 29 15:34:01 2007
@@ -1,5 +1,25 @@
 # $Revision$, $Date$
-%define		_rel	0.7
+#
+# Conditional build:
+%bcond_without	dist_kernel	# allow non-distribution kernel
+%bcond_without	kernel		# build kernel modules
+%bcond_with	up		# don't build UP module
+%bcond_without	smp		# don't build SMP module
+%bcond_without	userspace	# don't build userspace programs
+%bcond_with	verbose		# verbose build (V=1)
+
+%if %{without kernel}
+%undefine	with_dist_kernel
+%endif
+
+%ifarch %{x8664}
+%undefine	with_up
+%endif
+
+%define	__kernel_ver	2.6.16.21-0.8
+%define	__kernel_rpmvr	%{__kernel_ver}
+
+%define		_rel	0.9
 Summary:	EMC PowerPath - multi-path with fail-over and load-sharing over SCSI
 Summary(pl.UTF-8):	EMC PowerPath - multi-path z fail-over i dzieleniem obciążenia po SCSI
 Name:		EMCpower
@@ -28,6 +48,49 @@
 Oprogramowanie do multi-path z opcją fail-over i dzieleniem obciążenia
 między dyski SCSI.
 
+# kernel subpackages.
+
+%package -n kernel-block-emc
+Summary:	Linux driver for emc
+Summary(pl.UTF-8):	Sterownik dla Linuksa do emc
+Release:	%{_rel}@%{_kernel_ver_str}
+Group:		Base/Kernel
+Requires(post,postun):	/sbin/depmod
+%if %{with dist_kernel}
+%requires_releq_kernel_up
+Requires(postun):	%releq_kernel_up
+%endif
+
+%description -n kernel-block-emc
+This is driver for emc for Linux.
+
+This package contains Linux module.
+
+%description -n kernel-block-emc -l pl.UTF-8
+Sterownik dla Linuksa do emc.
+
+Ten pakiet zawiera moduł jądra Linuksa.
+
+%package -n kernel-smp-block-emc
+Summary:	Linux SMP driver for emc
+Summary(pl.UTF-8):	Sterownik dla Linuksa SMP do emc
+Release:	%{_rel}@%{_kernel_ver_str}
+Group:		Base/Kernel
+Requires(post,postun):	/sbin/depmod
+%if %{with dist_kernel}
+%requires_releq_kernel_smp
+Requires(postun):	%releq_kernel_smp
+%endif
+
+%description -n kernel-smp-block-emc
+This is driver for emc for Linux.
+
+This package contains Linux SMP module.
+
+%description -n kernel-smp-block-emc -l pl.UTF-8
+Sterownik dla Linuksa do emc.
+
+Ten pakiet zawiera moduł jądra Linuksa SMP.
 
 %prep
 %setup -qcT
@@ -44,7 +107,8 @@
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/emc/ppme,%{_libdir}/emc,%{_sbindir},%{_mandir}/man1,/etc/modprobe.d,%{_datadir}/locale,/etc/rc.d/init.d}
+%if %{with userspace}
+install -d $RPM_BUILD_ROOT{/etc/emc/ppme,%{_libdir},%{_sbindir},%{_mandir}/man1,/etc/modprobe.d,%{_datadir}/locale,/etc/rc.d/init.d}
 
 cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
 install modprobe.conf.pp $RPM_BUILD_ROOT/etc/modprobe.d/%{name}.conf
@@ -68,6 +132,33 @@
 install -d $RPM_BUILD_ROOT/opt/emcpower
 install -d $RPM_BUILD_ROOT/etc/emcpower
 touch $RPM_BUILD_ROOT/etc/emc/mpaa.{excluded,lams}
+%endif
+
+%if %{with kernel}
+cd bin/driver
+%if %{with up}
+install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block
+
+brand=sles10; type=default
+%ifarch %{x8664}
+type=${type}_x8664
+%endif
+for a in emcp emcpdm emcpgpx emcpioc emcplib emcpmpx; do
+	install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/drivers/block/$a.ko
+done
+%endif
+
+%if %{with smp} && %{with dist_kernel}
+install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block
+brand=sles10; type=smp
+%ifarch %{x8664}
+type=${type}_x8664
+%endif
+for a in emcp emcpdm emcpgpx emcpioc emcplib emcpmpx; do
+	install ${a}_$brand$type $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/$a.ko
+done
+%endif
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -103,6 +194,33 @@
 fi
 %endif
 
+%post	-n kernel-block-emc
+%depmod %{_kernel_ver}
+
+%postun	-n kernel-block-emc
+%depmod %{_kernel_ver}
+
+%post	-n kernel-smp-block-emc
+%depmod %{_kernel_ver}-smp
+
+%postun	-n kernel-smp-block-emc
+%depmod %{_kernel_ver}-smp
+
+%if %{with kernel}
+%if %{with up}
+%files -n kernel-block-emc
+%defattr(644,root,root,755)
+/lib/modules/%{_kernel_ver}/kernel/drivers/block/*.ko*
+%endif
+
+%if %{with smp} && %{with dist_kernel}
+%files -n kernel-smp-block-emc
+%defattr(644,root,root,755)
+/lib/modules/%{_kernel_ver}-smp/kernel/drivers/block/*.ko*
+%endif
+%endif
+
+%if %{with userspace}
 %files -f EMCpower.lang
 %defattr(644,root,root,755)
 %dir /etc/emc
@@ -122,7 +240,6 @@
 %attr(755,root,root) %{_sbindir}/powerprotect
 %attr(755,root,root) %{_sbindir}/powermig
 %attr(755,root,root) %{_sbindir}/pp_inq
-%dir %{_libdir}/emc
 %attr(755,root,root) %{_libdir}/libemcp.so
 %attr(755,root,root) %{_libdir}/libemcp_core.so
 %attr(755,root,root) %{_libdir}/libemcp_lam.so
@@ -144,6 +261,7 @@
 %ghost /etc/opt/emcpower/.__emcp_db_lock
 /opt/emcpower
 %dir /etc/emcpower
+%endif
 
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
@@ -151,6 +269,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.20  2007/05/29 13:34:01  glen
+- create kernel packages from binary drivers
+
 Revision 1.19  2007/05/29 13:22:46  glen
 - install module lists
 - unify PowerPath script name
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/EMCpower.spec?r1=1.19&r2=1.20&f=u



More information about the pld-cvs-commit mailing list