X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre.spec.in;h=a2e52fd741dd616aa51353c5608e432e34b350dc;hp=c644ff3bf539c61a3b4b578094aafb253d026d74;hb=04a38ba7cda4e242850a47b13d4402a69e8dd921;hpb=3d6db8ae1070fbf9048bb5d949ff7c6d2dfa758d diff --git a/lustre.spec.in b/lustre.spec.in index c644ff3..a2e52fd 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -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") @@ -67,10 +70,16 @@ Userspace tools and files for the Lustre file system. %package modules Summary: Kernel Lustre modules for Linux %{kversion} -# for RHEL5 and SLES11, we need nothing here +# for SLES11, we need nothing here # for SLES10, we need (where %{flavor} is, i.e. smp): %if %sles10 Requires: kernel-%{flavor} +%else +%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 = %{krequires} +%endif %endif %if ! %{is_client} Requires: lustre-backend-fs @@ -217,12 +226,20 @@ cat >lustre.files </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 @@ -333,12 +352,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