Whamcloud - gitweb
LU-5564 mdt: skip permission check for close
[fs/lustre-release.git] / lustre.spec.in
index 4f6f6ca..ce40332 100644 (file)
@@ -10,6 +10,8 @@
 %bcond_without lustre_modules
 %bcond_with lnet_dlc
 %bcond_without manpages
+%bcond_without shared
+%bcond_without static
 
 %if %{without servers}
     # --without servers overrides --with {ldiskfs|zfs}
 # as an alternative to this implementation we could simply "make -C $kdir kernelversion"
 %{!?kversion: %global kversion %(files="include/generated/utsrelease.h include/linux/utsrelease.h include/linux/version.h"; for f in $files; do if test -r %{kobjdir}/$f && grep UTS_RELEASE %{kobjdir}/$f >/dev/null; then sed -ne '/^#define UTS_RELEASE/s/.*"\\(.*\\)"$/\\1/p' %{kobjdir}/$f; break; fi; done)}
 
-%define buildid %(if [ -n "@BUILDID@" ]; then echo "_@BUILDID@"; fi)
-
 %if 0%{?build_src_rpm}
     %{!?myrelease: %global myrelease 1}
 %else
-    %{!?downstream_release: %global downstream_release "@DOWNSTREAM_RELEASE@"}
-    %{!?myrelease: %global myrelease %(if [ -n "%downstream_release" ]; then echo -n "%{downstream_release}_"; fi; echo %kversion | tr '-' '_')}
+    %{!?myrelease: %global myrelease %(echo %kversion | tr '-' '_')}
+    # for those uses that don't want the -smp/-bigsmp (or the .arch) on the end
+    # of %kversion
+    %define krequires %(echo %{kversion} | sed -e 's/\.x86_64$//' -e 's/\.i[3456]86$//' -e 's/-smp$//' -e 's/-bigsmp$//' -e 's/[-.]ppc64$//' -e 's/\.aarch64$//' -e 's/-default$//')
 %endif
 
-# always append the buildid, even when the caller defines %release
-%define fullrelease %{myrelease}%{buildid}
+%define fullrelease %{myrelease}
 
 # in order to get kernel symset and/or kernel module dependencies into
 # the RPM, in order to support weak-modules, the internal dependency gen-
 # response from them
 #%%global _use_internal_dependency_generator 0
 
-# for those uses that don't want the -smp/-bigsmp (or the .arch) on the end
-# of %kversion
-%define krequires %(echo %{kversion} | sed -e 's/\.x86_64$//' -e 's/\.i[3456]86$//' -e 's/-smp$//' -e 's/-bigsmp$//' -e 's/[-.]ppc64$//' -e 's/-default$//')
-
 # Set the package name prefix
 %if %{undefined lustre_name}
     %if %{with servers}
     %endif
 %endif
 
-%if %{defined cross_path} && %{defined post_script}
-%define rpm_post_base %(dirname %{cross_path})/%{lustre_name}
-%endif
-
-# SUSE don't support .debug_info section from cross compiler:
-# /usr/lib/rpm/debugedit: Unhandled relocation 10 in .debug_info section
-%if %{defined cross_path} && 0%{?suse_version}
-%global __debug_install_post %{nil}
-%global __debug_package %{nil}
-%global debug_package %{nil}
-%endif
-
 Summary: Lustre File System
 Name: %{lustre_name}
 Version: %{version}
@@ -108,24 +93,17 @@ Obsoletes: lustre-lite, lustre-lite-utils, lustre-ldap nfs-utils-lustre
 Provides: lustre-lite = %{version}, lustre-lite-utils = %{version}
 Requires: %{name}-modules = %{version}
 BuildRequires: libtool
-%if %{with manpages}
-BuildRequires: python-docutils
-%endif
 %if %{with servers}
 Requires: lustre-osd
 Requires: lustre-osd-mount
+Provides: lustre-client = %{version}-%{fullrelease}
 %endif
-%if %{defined cross_requires}
-Requires: %{cross_requires}
-AutoReqProv: no
-%else
 # GSS requires this: BuildRequires: pkgconfig, libgssapi-devel >= 0.10
 %if %{_vendor}=="redhat" || %{_vendor}=="fedora"
 #suse don't support selinux
 BuildRequires: libselinux-devel
 Requires: libselinux
 %endif
-%endif
 
 %description
 Userspace tools and files for the Lustre file system.
@@ -133,21 +111,18 @@ Userspace tools and files for the Lustre file system.
 %if %{with lustre_modules}
 %package modules
 Summary: Kernel Lustre modules for Linux %{kversion}
-%if %{defined cross_requires}
-Requires: %{cross_requires}
-AutoReqProv: no
-%else
 # for SLES11, we need nothing here
 %if %{_vendor}=="redhat" || %{_vendor}=="fedora"
+%if %{defined krequires}
 # 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
 %if %{with lnet_dlc}
 Requires: libyaml
 BuildRequires: libyaml-devel
 %endif
 %endif
-%endif
 Group: Development/Kernel
 
 %description modules
@@ -159,7 +134,7 @@ Summary: osd-ldiskfs contains both ldiskfs and its osd interface in Lustre.
 Requires: lustre-modules = %{version}
 Requires: module-init-tools >= 3.9
 Requires: ldiskfsprogs >= 1.42.7.wc1
-Requires: lustre-osd-ldiskfs-mount
+Requires: lustre-osd-ldiskfs-mount = %{version}
 Provides: lustre-osd
 Obsoletes: lustre-ldiskfs
 Group: Development/Kernel
@@ -187,7 +162,7 @@ LDISKFS hooks for mount/mkfs into a dynamic library.
 %package osd-zfs
 Summary: osd-zfs is the mandatory glue for ZFS support in Lustre.
 Requires: lustre-modules = %{version}, zfs-kmod
-Requires: lustre-osd-zfs-mount
+Requires: lustre-osd-zfs-mount = %{version}
 Provides: lustre-osd
 Group: Development/Kernel
 
@@ -211,13 +186,6 @@ ZFS hooks for mount/mkfs into a dynamic library.
 %endif
 %endif # with lustre_modules
 
-%package source
-Summary: Object-Based Disk storage driver source
-Group: Development/Kernel
-
-%description source
-Lustre sources for further development
-
 # Since the RPMs we ship are to be used on both SLES and RHEL, we
 # can't include any dependency information (since the package names
 # are different on the two platforms).
@@ -336,6 +304,8 @@ fi
        %{?with_lustre_tests:--enable-tests}%{!?with_lustre_tests:--disable-tests} \
        %{?with_lustre_utils:--enable-utils}%{!?with_lustre_utils:--disable-utils} \
        %{?with_lustre_modules:--enable-modules}%{!?with_lustre_modules:--disable-modules} \
+       %{!?with_shared:--disable-shared} \
+       %{!?with_static:--disable-static} \
        %{!?with_lustre_iokit:--disable-iokit} \
        %{!?with_ldiskfs:--disable-ldiskfs} \
        %{!?with_servers:--disable-server} \
@@ -367,24 +337,25 @@ echo '%{_sysconfdir}/ha.d/resource.d/Lustre' >>lustre.files
 # The following scripts are Red Hat specific
 %if %{with servers}
 echo '%{_sysconfdir}/sysconfig/lustre' >>lustre.files
+echo '%{_sysconfdir}/sysconfig/lsvcgss' >>lustre.files
 echo '%{_sysconfdir}/init.d/lustre' >>lustre.files
 %endif
 echo '%{_sysconfdir}/init.d/lnet' >>lustre.files
+echo '%{_sysconfdir}/init.d/lsvcgss' >>lustre.files
 %endif
 
-# Create the pristine source directory.
-cd $RPM_BUILD_DIR/lustre-%{version}
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/src
-rm -f lustre-source
-ln -s $RPM_BUILD_ROOT%{_prefix}/src lustre-source
-make distdir distdir=lustre-source/lustre-%{version}
-chmod -R go-w lustre-source/lustre-%{version}
 # fc18 needs 'x' permission for library files
 find $RPM_BUILD_ROOT -name \*.so -type f -exec chmod +x {} \;
 
 %if %{with lnet_dlc}
+rm -f $RPM_BUILD_ROOT%{_libdir}/liblnetconfig.la
+%if %{with static}
 echo '%attr(-, root, root) %{_libdir}/liblnetconfig.a' >>lustre.files
+%endif
+%if %{with shared}
 echo '%attr(-, root, root) %{_libdir}/liblnetconfig.so' >>lustre.files
+echo '%attr(-, root, root) %{_libdir}/liblnetconfig.so.*' >>lustre.files
+%endif
 %endif
 
 %if %{with ldiskfs}
@@ -393,12 +364,16 @@ echo '%{_libdir}/libiam.a' >>lustre.files
 
 if [ -d $RPM_BUILD_ROOT%{_libdir}/lustre/snmp ] ; then
        echo '%{_libdir}/lustre/snmp' >>lustre.files
-       echo '%{_datadir}/lustre/snmp/mibs' >>lustre.files
 fi
 
 find $RPM_BUILD_ROOT%{_libdir}/@PACKAGE@ \
     -name \*.la -type f -exec rm -f {} \;
 
+%if %{with lustre_modules}
+# mark modules executable for find-debuginfo.sh
+find $RPM_BUILD_ROOT/lib/modules -name \*.ko -type f -exec chmod u+x {} \;
+%endif
+
 %if %{with lustre_tests}
 echo '%{_libdir}/lustre/tests/*' >>lustre-tests.files
 echo '%{_bindir}/mcreate' >>lustre-tests.files
@@ -407,46 +382,15 @@ echo '%{_bindir}/req_layout' >>lustre-tests.files
 echo '%{_sbindir}/wirecheck' >>lustre-tests.files
 echo '%{_sbindir}/wiretest' >>lustre-tests.files
 %if %{with lustre_modules}
-echo '%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/llog_test.ko' >>lustre-tests.files
-%endif
-%endif
-
-%if %{defined cross_path}
-%if %{defined rpm_post_base}
-POST_SCRIPT=$RPM_BUILD_DIR/lustre-%{version}/%{post_script}
-if [ -f $POST_SCRIPT ]; then
-       cp -f $POST_SCRIPT $RPM_BUILD_ROOT/%{rpm_post_base}.sh
-       echo '%attr(0555, root, root) %{rpm_post_base}.sh' >>lustre.files
-       cp -f $POST_SCRIPT $RPM_BUILD_ROOT/%{rpm_post_base}-modules.sh
-%if %{with ldiskfs}
-       cp -f $POST_SCRIPT $RPM_BUILD_ROOT/%{rpm_post_base}-osd-ldiskfs.sh
-%if %{with lustre_utils}
-       cp -f $POST_SCRIPT $RPM_BUILD_ROOT/%{rpm_post_base}-mount-osd-ldiskfs.sh
-%endif
-%endif
-%if %{with zfs}
-       cp -f $POST_SCRIPT $RPM_BUILD_ROOT/%{rpm_post_base}-osd-zfs.sh
-%if %{with lustre_utils}
-       cp -f $POST_SCRIPT $RPM_BUILD_ROOT/%{rpm_post_base}-mount-osd-zfs.sh
-%endif
-%endif
-%if %{with lustre_tests}
-       cp -f $POST_SCRIPT $RPM_BUILD_ROOT/%{rpm_post_base}-tests.sh
-       echo '%attr(0555, root, root) %{rpm_post_base}-tests.sh' >>lustre-tests.files
-%endif
-fi
-%endif
-%else
-%if %{with lustre_modules}
-# mark modules executable for find-debuginfo.sh
-find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} \
-    -name \*.ko -type f -exec chmod u+x {} \;
+echo '/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/llog_test.ko' >>lustre-tests.files
 %endif
 %endif
 
 %files -f lustre.files
 %defattr(-,root,root)
 %{_sbindir}/*
+%exclude %{_sbindir}/wirecheck
+%exclude %{_sbindir}/wiretest
 %if %{with zfs}
 %exclude %{_sbindir}/zfsobj2fid
 %endif
@@ -463,7 +407,7 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} \
 
 %{_bindir}/lfs
 %{_bindir}/lfs_migrate
-%{?rootdir}/sbin/mount.lustre
+/sbin/mount.lustre
 %{_libdir}/libptlctl.a
 %{_libdir}/libcfsutil.a
 %{_libdir}/liblustreapi.a
@@ -477,23 +421,21 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} \
 %{_datadir}/lustre
 %{_sysconfdir}/udev/rules.d/99-lustre.rules
 %config(noreplace) %{_sysconfdir}/ldev.conf
+%config(noreplace) %{_sysconfdir}/modprobe.d/ko2iblnd.conf
 
 %if %{with lustre_modules}
 %files modules
 %defattr(-,root,root)
-%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/*
+/lib/modules/%{kversion}/%{kmoddir}/*
 %if %{with lustre_tests}
-%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/llog_test.ko
+%exclude /lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/llog_test.ko
 %endif
 %if %{with ldiskfs}
-%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/ldiskfs.ko
-%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_ldiskfs.ko
+%exclude /lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/ldiskfs.ko
+%exclude /lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_ldiskfs.ko
 %endif
 %if %{with zfs}
-%exclude %{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_zfs.ko
-%endif
-%if %{defined rpm_post_base}
-%attr(0555, root, root) %{rpm_post_base}-modules.sh
+%exclude /lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_zfs.ko
 %endif
 %doc COPYING
 %doc ChangeLog-lustre
@@ -502,44 +444,28 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} \
 %if %{with ldiskfs}
 %files osd-ldiskfs
 %defattr(-,root,root)
-%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/ldiskfs.ko
-%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_ldiskfs.ko
-%if %{defined rpm_post_base}
-%attr(0555, root, root) %{rpm_post_base}-osd-ldiskfs.sh
-%endif
+/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/ldiskfs.ko
+/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_ldiskfs.ko
 %if %{with lustre_utils}
 %files osd-ldiskfs-mount
 %defattr(-,root,root)
 %{_libdir}/@PACKAGE@/mount_osd_ldiskfs.so
-%if %{defined rpm_post_base}
-%attr(0555, root, root) %{rpm_post_base}-mount-osd-ldiskfs.sh
-%endif
 %endif
 %endif
 
 %if %{with zfs}
 %files osd-zfs
 %defattr(-,root,root)
-%{?rootdir}/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_zfs.ko
+/lib/modules/%{kversion}/%{kmoddir}/kernel/fs/@PACKAGE@/osd_zfs.ko
 %{_sbindir}/zfsobj2fid
-%if %{defined rpm_post_base}
-%attr(0555, root, root) %{rpm_post_base}-osd-zfs.sh
-%endif
 %if %{with lustre_utils}
 %files osd-zfs-mount
 %defattr(-,root,root)
 %{_libdir}/@PACKAGE@/mount_osd_zfs.so
-%if %{defined rpm_post_base}
-%attr(0555, root, root) %{rpm_post_base}-mount-osd-zfs.sh
-%endif
 %endif
 %endif
 %endif # with lustre_modules
 
-%files source
-%defattr(-,root,root)
-%{_prefix}/src/lustre-%{version}
-
 # uncomment these lines to enable deps packages
 # %files deps-sles
 # %files deps-rhel
@@ -573,25 +499,8 @@ find $RPM_BUILD_ROOT%{?rootdir}/lib/modules/%{kversion}/%{kmoddir} \
 %doc lustre-iokit/stats-collect/README.iokit-lstats
 %endif
 
-%if %{defined rpm_post_base}
-%post
-if [ -x %{rpm_post_base}.sh ]; then
-       %{rpm_post_base}.sh %{cross_path} create
-fi
-
-%preun
-if [ -x %{rpm_post_base}.sh ]; then
-       %{rpm_post_base}.sh %{cross_path} remove
-fi
-%endif
-
 %if %{with lustre_modules}
 %post modules
-%if %{defined rpm_post_base}
-if [ -x %{rpm_post_base}-modules.sh ]; then
-       %{rpm_post_base}-modules.sh %{cross_path} create
-fi
-%else
 if [ -f /boot/System.map-%{kversion} ]; then
        depmod -ae -F /boot/System.map-%{kversion} %{kversion} || exit 0
 else
@@ -625,15 +534,9 @@ if sysctl kernel.unsupported >/dev/null 2>&1 &&
 
      into /etc/modprobe.d/unsupported_modules"
 fi
-%endif
 
 %if %{with ldiskfs}
 %post osd-ldiskfs
-%if %{defined rpm_post_base}
-if [ -x %{rpm_post_base}-osd-ldiskfs.sh ]; then
-       %{rpm_post_base}-osd-ldiskfs.sh %{cross_path} create
-fi
-%else
 if [ -f /boot/System.map-%{kversion} ]; then
        depmod -ae -F /boot/System.map-%{kversion} %{kversion} || exit 0
 else
@@ -668,21 +571,9 @@ if sysctl kernel.unsupported >/dev/null 2>&1 &&
      into /etc/modprobe.d/unsupported_modules"
 fi
 %endif
-%if %{with lustre_utils} && %{defined rpm_post_base}
-%post osd-ldiskfs-mount
-if [ -x %{rpm_post_base}-mount-osd-ldiskfs.sh ]; then
-       %{rpm_post_base}-mount-osd-ldiskfs.sh %{cross_path} create
-fi
-%endif
-%endif
 
 %if %{with zfs}
 %post osd-zfs
-%if %{defined rpm_post_base}
-if [ -x %{rpm_post_base}-osd-zfs.sh ]; then
-       %{rpm_post_base}-osd-zfs.sh %{cross_path} create
-fi
-%else
 if [ -f /boot/System.map-%{kversion} ]; then
        depmod -ae -F /boot/System.map-%{kversion} %{kversion} || exit 0
 else
@@ -717,61 +608,23 @@ if sysctl kernel.unsupported >/dev/null 2>&1 &&
      into /etc/modprobe.d/unsupported_modules"
 fi
 %endif
-%if %{with lustre_utils} && %{defined rpm_post_base}
-%post osd-zfs-mount
-if [ -x %{rpm_post_base}-mount-osd-zfs.sh ]; then
-       %{rpm_post_base}-mount-osd-zfs.sh %{cross_path} create
-fi
-%endif
-%endif
 
 %preun modules
-%if %{defined rpm_post_base}
-if [ -x %{rpm_post_base}-modules.sh ]; then
-       %{rpm_post_base}-modules.sh %{cross_path} remove
-fi
-%else
 MODULES_RPM_NAME=$(rpm -q %{name}-modules | grep "%{version}-%{release}")
 rpm -ql $MODULES_RPM_NAME | grep '\.ko$' > /var/run/%{name}-modules || true
-%endif
 
 %if %{with ldiskfs}
 %preun osd-ldiskfs
-%if %{defined rpm_post_base}
-if [ -x %{rpm_post_base}-osd-ldiskfs.sh ]; then
-       %{rpm_post_base}-osd-ldiskfs.sh %{cross_path} remove
-fi
-%else
 OSD_LDISKFS_RPM_NAME=$(rpm -q %{name}-osd-ldiskfs | grep "%{version}-%{release}")
 rpm -ql $OSD_LDISKFS_RPM_NAME | grep '\.ko$' > /var/run/%{name}-osd-ldiskfs || true
 %endif
-%if %{with lustre_utils} && %{defined rpm_post_base}
-%preun osd-ldiskfs-mount
-if [ -x %{rpm_post_base}-mount-osd-ldiskfs.sh ]; then
-       %{rpm_post_base}-mount-osd-ldiskfs.sh %{cross_path} remove
-fi
-%endif
-%endif
 
 %if %{with zfs}
 %preun osd-zfs
-%if %{defined rpm_post_base}
-if [ -x %{rpm_post_base}-osd-zfs.sh ]; then
-       %{rpm_post_base}-osd-zfs.sh %{cross_path} remove
-fi
-%else
 OSD_ZFS_RPM_NAME=$(rpm -q %{name}-osd-zfs | grep "%{version}-%{release}")
 rpm -ql $OSD_ZFS_RPM_NAME | grep '\.ko$' > /var/run/%{name}-osd-zfs || true
 %endif
-%if %{with lustre_utils} && %{defined rpm_post_base}
-%preun osd-zfs-mount
-if [ -x %{rpm_post_base}-mount-osd-zfs.sh ]; then
-       %{rpm_post_base}-mount-osd-zfs.sh %{cross_path} remove
-fi
-%endif
-%endif
 
-%if %{undefined cross_path}
 %postun modules
 if [ -f /boot/System.map-%{kversion} ]; then
        depmod -ae -F /boot/System.map-%{kversion} %{kversion} || exit 0
@@ -835,21 +688,9 @@ if [ -x /sbin/weak-modules ]; then
 fi
 rm /var/run/%{name}-osd-zfs
 %endif
-%endif
 %endif # with lustre_modules
 
 %if %{with lustre_tests}
-%if %{defined rpm_post_base}
-%post tests
-if [ -x %{rpm_post_base}-tests.sh ]; then
-       %{rpm_post_base}-tests.sh %{cross_path} create
-fi
-
-%preun tests
-if [ -x %{rpm_post_base}-tests.sh ]; then
-       %{rpm_post_base}-tests.sh %{cross_path} remove
-fi
-%else
 %if %{with lustre_modules}
 %post tests
 if [ -f /boot/System.map-%{kversion} ]; then
@@ -866,7 +707,6 @@ else
 fi
 %endif
 %endif
-%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT