Whamcloud - gitweb
LU-15122 osd-ldiskfs: Fix ASSERTION( iobuf->dr_rw == 0 ) with 64KB PAGE_SIZE
[fs/lustre-release.git] / lustre.spec.in
index ef29b67..cced3d5 100644 (file)
 %bcond_without mpi
 %bcond_with kabi
 
+# LUTF Turn off brp-python-precompile script as we don't want the python files
+# to be compiled on installation
+%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
+
 # By default both gss and gss keyring are disabled.
 # gss keyring requires the gss core. If the builder
 # request gss_keyring we must enable gss core even if
 %if %{defined kdir}
        %define _take_kver 1
 %endif
+%if %{defined kobjdir}
+       %define _take_kobj 1
+%endif
 %{!?kdir:    %global kdir    /lib/modules/%{_kver}/source}
 %{!?kobjdir: %global kobjdir %(if [ "%{kdir}" = "/lib/modules/%{_kver}/source" ]; then echo "/lib/modules/%{_kver}/build"; else echo "%{kdir}"; fi)}
 
-
-%if 0%{?suse_version} >= 1310
-       %define _flavor %(basename %{kobjdir})
+%if 0%{?suse_version} >= 1310 && %{defined _take_kobj}
+       %global _flavor %(basename "%{kobjdir}")
 %else
-       %define _flavor default
+       %global _flavor default
 %endif
 
 %if %{defined _take_kver}
 
 %global modules_fs_path /lib/modules/%{_kver}/%{kmoddir}
 # requires want to set a version including epoch
-%global krequires %(echo %{kver} | 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$//' -e s/%{_flavor}//)
+%global krequires %(echo %{kver} | 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$//' -e 's/-%{_flavor}//')
 
 %if %{_vendor}=="redhat" || %{_vendor}=="fedora"
        %global requires_kmod_name kmod-%{lustre_name}
 %endif
 %endif
 
-%if %{_vendor}=="redhat" || %{_vendor}=="fedora"
-       %global requires_yaml_name libyaml
-%else  #for Suse
-       %global requires_yaml_name libyaml-0-2
-%endif
-
 # RHEL >= 7 comes with systemd
 %if 0%{?rhel} >= 7
 %define with_systemd 1
@@ -189,9 +189,11 @@ BuildRoot: %{_tmppath}/lustre-%{version}-root
 %if %{with lustre_modules}
 Requires: %{requires_kmod_name} = %{requires_kmod_version}
 %endif
-Requires: zlib
-Requires: %{requires_yaml_name}
-BuildRequires: libtool libyaml-devel zlib-devel binutils-devel
+%if %{with lustre_tests_lutf}
+Requires: python3 >= 3.6.0
+BuildRequires: python3-devel >= 3.6.0, swig
+%endif
+BuildRequires: libtool libyaml-devel zlib-devel libnl3-devel
 %if %{_vendor}=="redhat"
 BuildRequires: redhat-rpm-config
 BuildRequires: pkgconfig
@@ -273,8 +275,8 @@ echo $TMPFILE
 %if %{with lustre_utils}
 %package osd-ldiskfs-mount
 Summary: osd-ldiskfs-mount contains mount's ldiskfs specific dso.
-BuildRequires: e2fsprogs-devel
-Requires: ldiskfsprogs
+BuildRequires: e2fsprogs-devel >= 1.44.3
+Requires: ldiskfsprogs >= 1.45.6.wc1
 Provides: lustre-osd-mount = %{version}
 Obsoletes: lustre-osd-mount < %{version}
 Group: System Environment/Kernel
@@ -322,16 +324,15 @@ Summary: Lustre include headers
 Group: Development/Kernel
 Provides: lustre-devel = %{version}
 Requires: %{lustre_name} = %{version}
+%if %{with lustre_modules}
 Requires: %{requires_kmod_name} = %{requires_kmod_version}
+%endif
 
 %description devel
 This package contains the header files needed for building additional
 applications against the Lustre / LNet utilities libraries.
 
 :> lustre-devel.files
-%if %{with lustre_modules}
-find . -type f -name '*.h' | grep uapi | sed 's/.*uapi\//usr\/include\//' >> lustre-devel.files
-%endif
 
 %if %{with lustre_tests}
 %package tests
@@ -346,6 +347,9 @@ Requires: lustre-devel = %{version}
 Requires: %{requires_kmod_name} = %{requires_kmod_version}
 Requires: %{requires_kmod_tests_name} = %{requires_kmod_version}
 %endif
+%if %{with lustre_tests_lutf}
+Requires: python3 >= 3.6.0
+%endif
 Requires: attr, rsync, perl, lsof, /usr/bin/getconf
 %if %{with mpi}
 %if %{mpi_name} == "mpich"
@@ -449,6 +453,13 @@ if [ -n "$CONFIGURE_ARGS" ]; then
        # remove --with-kmp-moddir from configure arguments,
        # it will be set --with-kmp-moddir=%%kmoddir
        CONFIGURE_ARGS=$(echo $CONFIGURE_ARGS | sed -e 's/"\?--with-kmp-moddir=[^ ][^ ]* \?//')
+       # remove env variables from config cache built by initial configure,
+       # and create dedicated cache in temporary build directory
+       if [ -f "$CONFIG_CACHE_FILE" ]; then
+               TMP_CONFIG_CACHE="$(mktemp --tmpdir newconfig-XXXXXXXX.cache)"
+               sed "/ac_cv_env/d" "$CONFIG_CACHE_FILE" > $TMP_CONFIG_CACHE
+               CONFIGURE_ARGS="$CONFIGURE_ARGS --cache-file=$TMP_CONFIG_CACHE"
+       fi
 fi
 
 # we need to eval "configure" because $CONFIGURE_ARGS could have a quoted
@@ -604,6 +615,13 @@ echo '%{_sbindir}/wiretest' >>lustre-tests.files
 if [ -n "$MPI_BIN" ]; then
        echo "$MPI_BIN/*" >>lustre-tests.files
 fi
+%if %{with lustre_tests_lutf}
+echo '%{_libdir}/lustre/tests/lutf/*' >>lustre-tests.files
+%endif
+%endif
+
+%if %{with lustre_tests_lutf}
+echo '%{_libdir}/lustre/tests/lutf/*' >>lustre-tests.files
 %endif
 
 %files devel -f lustre-devel.files
@@ -616,8 +634,13 @@ fi
 %{_libdir}/liblustreapi.so
 %endif
 %{_includedir}/lustre
+%if %{with lustre_modules}
 %{_includedir}/linux/lnet
 %{_includedir}/linux/lustre
+%else
+%exclude %{_includedir}/linux/lnet
+%exclude %{_includedir}/linux/lustre
+%endif
 
 %files -f lustre.files
 %defattr(-,root,root)
@@ -644,7 +667,9 @@ fi
 %{_bindir}/lfs
 %{_bindir}/lfs_migrate
 /sbin/mount.lustre
+%if %{with servers}
 /sbin/mount.lustre_tgt
+%endif
 @BASH_COMPLETION_DIR@
 %endif
 
@@ -708,6 +733,7 @@ fi
 %defattr(-, root, root)
 %{_bindir}/iokit-config
 %{_bindir}/iokit-gather-stats
+
 %{_bindir}/iokit-libecho
 %{_bindir}/iokit-lstats
 %{_bindir}/iokit-parse-ior