Whamcloud - gitweb
LU-4152 mdt: Don't enqueue two locks on the same resource
[fs/lustre-release.git] / lustre.spec.in
index e503632..48f5b17 100644 (file)
     %endif
 %endif
 
+%if %{undefined kmoddir}
+    %if %{defined kernel_module_package_moddir}
+        %global kmoddir %{kernel_module_package_moddir}
+    %else
+        %if %{defined suse_kernel_module_package}
+            %global kmoddir updates
+        %else
+            %global kmoddir extra
+        %endif
+    %endif
+%endif
+
 %if %{defined cross_path} && %{defined post_script}
 %define rpm_post_base %(echo $(dirname %{cross_path})/%{lustre_name})
 %endif
@@ -247,18 +259,6 @@ ln lustre/ChangeLog ChangeLog-lustre
 ln lnet/ChangeLog ChangeLog-lnet
 
 %build
-# if RPM_BUILD_NCPUS unset, set it
-if [ -z "$RPM_BUILD_NCPUS" ] ; then
-    RPM_BUILD_NCPUS=$(egrep -c "^cpu[0-9]+" /proc/stat 2>/dev/null || echo 0 :)
-    if [ $RPM_BUILD_NCPUS -eq 0 ] ; then
-        RPM_BUILD_NCPUS=1
-    fi
-    if [ $RPM_BUILD_NCPUS -gt 8 ] ; then
-        RPM_BUILD_NCPUS=8
-    fi
-fi
-
-rm -rf $RPM_BUILD_ROOT
 
 # Set an explicit path to our Linux tree, if we can.
 cd $RPM_BUILD_DIR/lustre-%{version}
@@ -283,6 +283,9 @@ fi
 if [ -n "%kobjdir" ]; then
        CONFIGURE_ARGS=$(echo $CONFIGURE_ARGS | sed -e 's/"\?--with-linux-obj=[^ ][^ ]* \?//')
 fi
+# remove --with-kmp-moddir from configure arguments,
+# it will be set --with-kmp-moddir=%%kmoddir
+CONFIGURE_ARGS=$(echo $CONFIGURE_ARGS | sed -e 's/"\?--with-kmp-moddir=[^ ][^ ]* \?//')
 
 # we need to eval "configure" because $CONFIGURE_ARGS could have a quoted
 # string in it which we don't want word splitted by the shell
@@ -292,8 +295,8 @@ fi
 
 %eval_configure \
        %{?kdir: --with-linux=%kdir} %{?kobjdir: --with-linux-obj=%kobjdir} \
-       $CONFIGURE_ARGS
-make -j $RPM_BUILD_NCPUS -s %{?make_args}
+       $CONFIGURE_ARGS --with-kmp-moddir=%{kmoddir}
+make %{?_smp_mflags} -s %{?make_args}
 
 %install
 make install DESTDIR=$RPM_BUILD_ROOT
@@ -377,7 +380,7 @@ fi
 echo '%{_libdir}/lustre/tests/*' >lustre-tests.files
 echo '%{_bindir}/mcreate' >>lustre-tests.files
 echo '%{_bindir}/munlink' >>lustre-tests.files
-echo '%{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/llog_test.ko' >>lustre-tests.files
+echo '%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/llog_test.ko' >>lustre-tests.files
 if [ -d $RPM_BUILD_ROOT%{_libdir}/lustre/liblustre/tests ] ; then
   echo '%{_libdir}/lustre/liblustre/tests/*' >>lustre-tests.files
 fi
@@ -404,7 +407,7 @@ fi
 %endif
 %else
 # mark modules executable for find-debuginfo.sh
-find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/updates -name "*.ko" -type f | \
+find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} -name "*.ko" -type f | \
        xargs --no-run-if-empty chmod u+x
 %endif
 
@@ -413,16 +416,16 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/updates -name "*.ko" -ty
 
 %files modules
 %defattr(-,root,root)
-%{?rootdir}/lib/modules/%{kversion}/updates/*
+%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/*
 %if %{with lustre_tests}
-%exclude %{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/llog_test.ko
+%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/llog_test.ko
 %endif
 %if %{with ldiskfs}
-%exclude %{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/ldiskfs.ko
-%exclude %{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/osd_ldiskfs.ko
+%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/ldiskfs.ko
+%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_ldiskfs.ko
 %endif
 %if %{with zfs}
-%exclude %{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/osd_zfs.ko
+%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_zfs.ko
 %endif
 %if %{defined rpm_post_base}
 %attr(0555, root, root) %{rpm_post_base}-modules.sh
@@ -434,8 +437,8 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/updates -name "*.ko" -ty
 %if %{with ldiskfs}
 %files osd-ldiskfs
 %defattr(-,root,root)
-%{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/ldiskfs.ko
-%{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/osd_ldiskfs.ko
+%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/ldiskfs.ko
+%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_ldiskfs.ko
 %if %{defined rpm_post_base}
 %attr(0555, root, root) %{rpm_post_base}-osd-ldiskfs.sh
 %endif
@@ -444,7 +447,7 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/updates -name "*.ko" -ty
 %if %{with zfs}
 %files osd-zfs
 %defattr(-,root,root)
-%{?rootdir}/lib/modules/%{kversion}/updates/kernel/fs/lustre/osd_zfs.ko
+%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_zfs.ko
 %if %{defined rpm_post_base}
 %attr(0555, root, root) %{rpm_post_base}-osd-zfs.sh
 %endif