X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre.spec.in;h=afbc3c29d903bf9e8d42bb977f2d05a496e5c2db;hp=51a4f4577a47b505e03c3292e87271fad167412e;hb=48bad5d9db9baa7bca093de5c54294adf1cf8303;hpb=086ff8c46009479bfdac9f570331a6c93b7d52ac diff --git a/lustre.spec.in b/lustre.spec.in index 51a4f45..afbc3c2 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -6,7 +6,7 @@ %{!?kobjdir: %define kobjdir %(dir=$(echo "%configure_args" | sed -ne 's/.*--with-linux-obj=\\([^ ][^ ]*\\).*$/\\1/p'); if [ -n "$dir" ]; then echo "$dir"; else if [ -n "%kver" ]; then kversion="%kver"; else kversion="$(uname -r)"; fi; if [ "%kdir" = "/lib/modules/$kversion/source" ]; then echo "/lib/modules/$kversion/build"; else echo "%kdir"; fi; fi)} # as an alternative to this implementation we could simply "make -C $kdir kernelversion" -%{!?kversion: %define kversion %(if test -s %kobjdir/include/linux/utsrelease.h ; then LINUXRELEASEHEADER=utsrelease.h; else LINUXRELEASEHEADER=version.h; fi; sed -ne '/^#define UTS_RELEASE/s/.*"\\(.*\\)"$/\\1/p' %kobjdir/include/linux/$LINUXRELEASEHEADER)} +%{!?kversion: %define kversion %(if test -s %kobjdir/include/generated/utsrelease.h ; then LINUXRELEASEHEADER=%kobjdir/include/generated/utsrelease.h ; elif test -s %kobjdir/include/linux/utsrelease.h ; then LINUXRELEASEHEADER=%kobjdir/include/linux/utsrelease.h ; else LINUXRELEASEHEADER=%kobjdir/include/linux/version.h; fi; sed -ne '/^#define UTS_RELEASE/s/.*"\\(.*\\)"$/\\1/p' $LINUXRELEASEHEADER)} %{!?downstream_release: %define downstream_release "@DOWNSTREAM_RELEASE@"} @@ -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") @@ -55,7 +58,7 @@ Release: %{fullrelease} License: GPL Group: Utilities/System Source: lustre-%{version}.tar.gz -URL: http://www.sun.com/software/products/lustre/index.xml +URL: http://wiki.whamcloud.com/ BuildRoot: %{_tmppath}/lustre-%{version}-root Obsoletes: lustre-lite, lustre-lite-utils, lustre-ldap nfs-utils-lustre Provides: lustre-lite = %{version}, lustre-lite-utils = %{version} @@ -67,10 +70,19 @@ 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 %endif Group: Development/Kernel @@ -213,13 +225,22 @@ cat >lustre.files </dev/null 2>/dev/null ; then - [ ! -f $f.rpmsave ] && cp $f $f.rpmsave - TMPFILE=`mktemp $f.XXXXXX` && \ - rm -f $TMPFILE && touch $TMPFILE && \ - grep -v 'lustre llite' $f >> $TMPFILE && \ - mv $TMPFILE $f - fi - if egrep "^[^#]*(add below|install) ptlrpc" $f ; then - [ ! -f $f.rpmsave ] && cp $f $f.rpmsave - TMPFILE=`mktemp $f.XXXXXX` && \ - rm -f $TMPFILE && touch $TMPFILE && \ - sed -e "s/^[^#]*\(add below\|install\) ptlrpc.*/#&/" $f >> $TMPFILE && \ - mv $TMPFILE $f - fi - fi -done - # If the kernel was built to reject unsupported modules (e.g. not a Lustre # kernel), and this hasn't been overridden in /etc/modprobe.d yet, then # print a warning so that users are aware of this issue. @@ -348,7 +340,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 @@ -360,12 +353,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