Whamcloud - gitweb
ORNL-10: Basic IR implementation
[fs/lustre-release.git] / lustre.spec.in
index ee60800..cd914af 100644 (file)
@@ -41,6 +41,9 @@
 #%%global _use_internal_dependency_generator 0
 
 %define is_client %(bash -c "if [[ %{lustre_name} = *-client ]]; then echo -n '1'; else echo -n '0'; fi")
+# for those uses that don't want the -smp/-bigsmp (or the .arch) on the end
+# of %kversion
+%define krequires %(bash -c "echo %{kversion} | sed -e 's/\.x86_64$//' -e 's/\.i[3456]86$//' -e 's/-smp$//' -e 's/-bigsmp$//' -e 's/-ppc64$//' -e 's/-default$//'")
 
 %define sles10 %(bash -c "if [ "%sles_version" = "10" ]; then echo -n '1'; else echo -n '0'; fi")
 
@@ -75,7 +78,7 @@ Requires: kernel-%{flavor}
 %if %{_vendor}=="redhat" || %{_vendor}=="fedora"
 # 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 = %{kversion}
+Requires: kernel = %{krequires}
 %endif
 %endif
 %if ! %{is_client}
@@ -223,6 +226,7 @@ cat >lustre.files <<EOF
 %attr(-, root, root) %{_libdir}/libptlctl.a
 %attr(-, root, root) %{_libdir}/liblustreapi.a
 %attr(-, root, root) /usr/include/lustre
+%attr(-, root, root) /usr/include/libcfs
 
 %attr(-, root, root) %{_mandir}/man?/*
 
@@ -299,15 +303,16 @@ else
        depmod -ae %{kversion} || exit 0
 fi
 
+MODULES_RPM_NAME=$(rpm -q %{name}-modules | grep "%{version}-%{release}")
 # "weak modules" support
 # Suse
 if [ -x /usr/lib/module-init-tools/weak-modules ]; then
-    rpm -ql %{name}-modules-%{version}-%{release} | grep '\.ko$' |
+    rpm -ql $MODULES_RPM_NAME | grep '\.ko$' |
         /usr/lib/module-init-tools/weak-modules --add-modules
 fi
 # RedHat
 if [ -x /sbin/weak-modules ]; then
-    rpm -ql %{name}-modules-%{version}-%{release} | grep '\.ko$' |
+    rpm -ql $MODULES_RPM_NAME | grep '\.ko$' |
         /sbin/weak-modules --add-modules
 fi
 
@@ -327,7 +332,8 @@ if sysctl kernel.unsupported >/dev/null 2>&1 &&
 fi
 
 %preun modules
-rpm -ql %{name}-modules-%{version}-%{release} | grep '\.ko$' > /var/run/%{name}-modules
+MODULES_RPM_NAME=$(rpm -q %{name}-modules | grep "%{version}-%{release}")
+rpm -ql $MODULES_RPM_NAME | grep '\.ko$' > /var/run/%{name}-modules || true
 
 %postun modules
 if [ -f /boot/System.map-%{kversion} ]; then
@@ -339,12 +345,12 @@ fi
 # "weak modules" support
 # Suse
 if [ -x /usr/lib/module-init-tools/weak-modules ]; then
-    cat /var/run/%{name}-modules | grep '\.ko$' |
+    cat /var/run/%{name}-modules |
         /usr/lib/module-init-tools/weak-modules --remove-modules
 fi
 # RedHat
 if [ -x /sbin/weak-modules ]; then
-    cat /var/run/%{name}-modules | grep '\.ko$' |
+    cat /var/run/%{name}-modules |
         /sbin/weak-modules --remove-modules
 fi
 rm /var/run/%{name}-modules