Whamcloud - gitweb
LU-1842 quota: quota identifier unification
[fs/lustre-release.git] / lustre.spec.in
index c81e335..afbc3c2 100644 (file)
@@ -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 <<EOF
 
 %attr(-, root, root) %{_libdir}/libptlctl.a
 %attr(-, root, root) %{_libdir}/liblustreapi.a
+%attr(-, root, root) %{_libdir}/liblustreapi.so
 %attr(-, root, root) /usr/include/lustre
+%attr(-, root, root) /usr/include/libcfs
 
 %attr(-, root, root) %{_mandir}/man?/*
 
 %attr(-, root, root) %{_libexecdir}/lustre/lc_common
 
 %attr(-, root, root) %{_sysconfdir}/udev/rules.d/99-lustre.rules
+
+%attr(-, root, root) %{_sysconfdir}/init.d/lnet
+%attr(-, root, root) %{_sysconfdir}/init.d/lustre
+%attr(-, root, root) %{_sysconfdir}/ldev.conf
+%attr(-, root, root) %{_sysconfdir}/sysconfig/lustre
+%attr(-, root, root) %{_libexecdir}/lustre/haconfig
+%attr(-, root, root) %{_sysconfdir}/ha.d/resource.d/Lustre
 EOF
 
 if [ -f $RPM_BUILD_ROOT%{_libdir}/libcfsutil.a ] ; then
@@ -290,26 +311,19 @@ 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
 
-cat <<EOF
-Congratulations on finishing your Lustre installation!  To register
-your copy of Lustre and find out more about Lustre Support, Service,
-and Training offerings please visit
-
-http://www.sun.com/software/products/lustre/lustre_reg.jsp
-EOF
-
 # 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.
@@ -326,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
@@ -338,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