Whamcloud - gitweb
LU-407 Fix lustre-modules rpm name in spec file.
authorChristopher J. Morrone <morrone2@llnl.gov>
Thu, 9 Jun 2011 20:14:11 +0000 (13:14 -0700)
committerOleg Drokin <green@whamcloud.com>
Wed, 3 Aug 2011 15:50:37 +0000 (11:50 -0400)
RHEL and Fedora kernels include ".%{_arch}" in the kernel's version
string.  Since Lustre includes the kernel version in its rpms, it
can appear that a double architecture name appears at the end.  Really
one is from the kernel, and one is from Lustre.  Trying to change that
is probably more trouble than it is worth.

This seems to cause problems with rpm's understanding of rpm names.  To
fix that this patch takes Andreas's suggestion of grep'ing the full
rpm name from "rpm -q kernel-modules".

We also add "|| true" to the last line of the %preun scriptlet so that
failure does not aport installation.

Finally, we also remove the redundant greps in the postun scriptlet.

Change-Id: I2c71e853e28ec6e0907eb4ea7c3205ca6e5dd873
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/934
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Brian J. Murrell <brian@whamcloud.com>
lustre.spec.in

index d14a6f5..acb94fa 100644 (file)
@@ -302,15 +302,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
 
@@ -330,7 +331,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
@@ -342,12 +344,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