Whamcloud - gitweb
LU-7329 tests: increase sanity test_60b llog_test line count
[fs/lustre-release.git] / lustre.spec.in
index 6b84c0b..cbf123e 100644 (file)
@@ -9,6 +9,9 @@
 %bcond_without lustre_iokit
 %bcond_without lustre_modules
 %bcond_with lnet_dlc
+%bcond_without manpages
+%bcond_without shared
+%bcond_without static
 
 %if %{without servers}
     # --without servers overrides --with {ldiskfs|zfs}
@@ -32,6 +35,9 @@
 %else
     %{!?downstream_release: %global downstream_release "@DOWNSTREAM_RELEASE@"}
     %{!?myrelease: %global myrelease %(if [ -n "%downstream_release" ]; then echo -n "%{downstream_release}_"; fi; echo %kversion | tr '-' '_')}
+    # for those uses that don't want the -smp/-bigsmp (or the .arch) on the end
+    # of %kversion
+    %define krequires %(echo %{kversion} | sed -e 's/\.x86_64$//' -e 's/\.i[3456]86$//' -e 's/-smp$//' -e 's/-bigsmp$//' -e 's/[-.]ppc64$//' -e 's/\.aarch64$//' -e 's/-default$//')
 %endif
 
 # always append the buildid, even when the caller defines %release
 # response from them
 #%%global _use_internal_dependency_generator 0
 
-# for those uses that don't want the -smp/-bigsmp (or the .arch) on the end
-# of %kversion
-%define krequires %(echo %{kversion} | sed -e 's/\.x86_64$//' -e 's/\.i[3456]86$//' -e 's/-smp$//' -e 's/-bigsmp$//' -e 's/-ppc64$//' -e 's/-default$//')
-
 # Set the package name prefix
 %if %{undefined lustre_name}
     %if %{with servers}
@@ -107,9 +109,13 @@ Obsoletes: lustre-lite, lustre-lite-utils, lustre-ldap nfs-utils-lustre
 Provides: lustre-lite = %{version}, lustre-lite-utils = %{version}
 Requires: %{name}-modules = %{version}
 BuildRequires: libtool
+%if %{with manpages}
+BuildRequires: python-docutils
+%endif
 %if %{with servers}
 Requires: lustre-osd
 Requires: lustre-osd-mount
+Provides: lustre-client = %{version}-%{fullrelease}
 %endif
 %if %{defined cross_requires}
 Requires: %{cross_requires}
@@ -135,9 +141,11 @@ AutoReqProv: no
 %else
 # for SLES11, we need nothing here
 %if %{_vendor}=="redhat" || %{_vendor}=="fedora"
+%if %{defined krequires}
 # for RHEL we need to require the specific kernel still since weak-modules
 # support on RH is, well, weak, to be punny about it
 Requires: kernel = %{krequires}
+%endif
 %if %{with lnet_dlc}
 Requires: libyaml
 BuildRequires: libyaml-devel
@@ -155,7 +163,7 @@ Summary: osd-ldiskfs contains both ldiskfs and its osd interface in Lustre.
 Requires: lustre-modules = %{version}
 Requires: module-init-tools >= 3.9
 Requires: ldiskfsprogs >= 1.42.7.wc1
-Requires: lustre-osd-ldiskfs-mount
+Requires: lustre-osd-ldiskfs-mount = %{version}
 Provides: lustre-osd
 Obsoletes: lustre-ldiskfs
 Group: Development/Kernel
@@ -183,7 +191,7 @@ LDISKFS hooks for mount/mkfs into a dynamic library.
 %package osd-zfs
 Summary: osd-zfs is the mandatory glue for ZFS support in Lustre.
 Requires: lustre-modules = %{version}, zfs-kmod
-Requires: lustre-osd-zfs-mount
+Requires: lustre-osd-zfs-mount = %{version}
 Provides: lustre-osd
 Group: Development/Kernel
 
@@ -196,7 +204,7 @@ backing store of a Lustre server.
 
 %if %{with lustre_utils}
 %package osd-zfs-mount
-Summary: osd-zfs-mount contains mount's ldiskfs specific dso.
+Summary: osd-zfs-mount contains mount's zfs specific dso.
 Provides: lustre-osd-mount
 Group: Development/Kernel
 
@@ -332,11 +340,14 @@ fi
        %{?with_lustre_tests:--enable-tests}%{!?with_lustre_tests:--disable-tests} \
        %{?with_lustre_utils:--enable-utils}%{!?with_lustre_utils:--disable-utils} \
        %{?with_lustre_modules:--enable-modules}%{!?with_lustre_modules:--disable-modules} \
+       %{!?with_shared:--disable-shared} \
+       %{!?with_static:--disable-static} \
        %{!?with_lustre_iokit:--disable-iokit} \
        %{!?with_ldiskfs:--disable-ldiskfs} \
        %{!?with_servers:--disable-server} \
        %{!?with_zfs:--without-zfs} \
        %{!?with_lnet_dlc:--disable-dlc} \
+       %{!?with_manpages:--disable-manpages} \
        --with-release=%{release} \
        --with-linux=%{kdir} \
        --with-linux-obj=%{kobjdir} \
@@ -378,8 +389,14 @@ chmod -R go-w lustre-source/lustre-%{version}
 find $RPM_BUILD_ROOT -name \*.so -type f -exec chmod +x {} \;
 
 %if %{with lnet_dlc}
+rm -f $RPM_BUILD_ROOT%{_libdir}/liblnetconfig.la
+%if %{with static}
 echo '%attr(-, root, root) %{_libdir}/liblnetconfig.a' >>lustre.files
+%endif
+%if %{with shared}
 echo '%attr(-, root, root) %{_libdir}/liblnetconfig.so' >>lustre.files
+echo '%attr(-, root, root) %{_libdir}/liblnetconfig.so.*' >>lustre.files
+%endif
 %endif
 
 %if %{with ldiskfs}
@@ -442,6 +459,8 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} \
 %files -f lustre.files
 %defattr(-,root,root)
 %{_sbindir}/*
+%exclude %{_sbindir}/wirecheck
+%exclude %{_sbindir}/wiretest
 %if %{with zfs}
 %exclude %{_sbindir}/zfsobj2fid
 %endif
@@ -463,13 +482,16 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} \
 %{_libdir}/libcfsutil.a
 %{_libdir}/liblustreapi.a
 %{_libdir}/liblustreapi.so
+%if %{with manpages}
 %{_mandir}/man?/*
+%endif
 %{_includedir}/lustre
 %{_includedir}/libcfs
 %endif
 %{_datadir}/lustre
 %{_sysconfdir}/udev/rules.d/99-lustre.rules
 %config(noreplace) %{_sysconfdir}/ldev.conf
+%config(noreplace) %{_sysconfdir}/modprobe.d/ko2iblnd.conf
 
 %if %{with lustre_modules}
 %files modules