X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre.spec.in;h=64fdb9b225baf7e8dac28a35a9712c187d4c4e6f;hp=8782a91e33bab3d4fbf0ee167a5ef35c7dbc6d00;hb=2250e072c37855d611aa64027945981fe2c8f4d7;hpb=be21f667d0b09b34581ed401991fed7ceef01447 diff --git a/lustre.spec.in b/lustre.spec.in index 8782a91..64fdb9b 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -21,7 +21,7 @@ # request gss_keyring we must enable gss core even if # the builder attempts to disable gss. %if %{with gss_keyring} - %define with_gss + %define with_gss 1 %endif %if %{without servers} @@ -146,19 +146,31 @@ BuildRoot: %{_tmppath}/lustre-%{version}-root Requires: %{requires_kmod_name} = %{requires_kmod_version} zlib Requires: %{requires_yaml_name} BuildRequires: libtool libyaml-devel zlib-devel +%if %{_vendor}=="redhat" +BuildRequires: pkgconfig +%else +BuildRequires: pkg-config +%endif %if %{with servers} Requires: lustre-osd Requires: lustre-osd-mount Obsoletes: lustre-client < %{version} Provides: lustre-client = %{version}-%{release} %endif -# GSS requires this: BuildRequires: pkgconfig, libgssapi-devel >= 0.10 +# GSS requires this: BuildRequires: libgssapi-devel >= 0.10 %if %{_vendor}=="redhat" || %{_vendor}=="fedora" #suse don't support selinux BuildRequires: libselinux-devel Requires: libselinux %endif %if %{with lustre_modules} + +%if 0%{?rhel} >= 8 +%if %{undefined kernel_module_package_buildreqs} +BuildRequires: redhat-rpm-config kernel-rpm-macros elfutils-libelf-devel kmod +%endif +%endif + BuildRequires: %kernel_module_package_buildreqs %if %{_vendor}=="redhat" BuildRequires: redhat-rpm-config @@ -203,7 +215,7 @@ echo $TMPFILE %if %{with lustre_utils} %package osd-ldiskfs-mount Summary: osd-ldiskfs-mount contains mount's ldiskfs specific dso. -Provides: lustre-osd-mount = %{version}-%{fullrelease} +Provides: lustre-osd-mount = %{version} Group: System Environment/Kernel %description osd-ldiskfs-mount @@ -217,7 +229,7 @@ LDISKFS hooks for mount/mkfs into a dynamic library. %if %{with lustre_utils} %package osd-zfs-mount Summary: osd-zfs-mount contains mount's zfs specific dso. -Provides: lustre-osd-mount = %{version}-%{fullrelease} +Provides: lustre-osd-mount = %{version} Group: System Environment/Kernel %description osd-zfs-mount @@ -267,7 +279,7 @@ to be used by the Lustre testing framework. %package -n lustre-iokit Summary: The Lustre IO-Kit is a collection of benchmark tools for a cluster with the Lustre file system. Group: Applications/System -Requires: python > 2.2, sg3_utils +Requires: python2 > 2.2, sg3_utils %description -n lustre-iokit This package includes five tools: @@ -310,9 +322,30 @@ ln lnet/ChangeLog ChangeLog-lnet %build # Set an explicit path to our Linux tree, if we can. cd $RPM_BUILD_DIR/lustre-%{version} -# override %optflags so that the vendor's overzealous flags don't create -# build failures + +# Store the CFLAGS and LDFLAGS that would normally be used in the UTILS_CFLAGS +# and UTILS_LDFLAGS environment variables so that we use can them when compiling +# the user-space code in lustre/utils and lnet/utils. As of RHEL 8.0, the +# __global_* variants are deprecated in favour of build_cflags, etc. If neither +# style is available (e.g. on SLES), then these just end up as empty strings. +export UTILS_CFLAGS="%{?build_cflags:%{build_cflags}}%{!?build_cflags:%{?__global_cflags:%{__global_cflags}}}" +export UTILS_LDFLAGS="%{?build_ldflags:%{build_ldflags}}%{!?build_ldflags:%{?__global_ldflags:%{__global_ldflags}}}" + +# RHEL7 on PPC64 needs __SANE_USERSPACE_TYPES__ defined so that __s64 and __u64 +# are presented to user-land as long long instead of long long. Without this it +# will fail the format check whenever such a variable is printed. +%if 0%{?rhel} +%ifarch ppc64 +export UTILS_CFLAGS="${UTILS_CFLAGS} -D__SANE_USERSPACE_TYPES__=1" +%endif +%endif + +# Disable any hardening or annotation since this doesn't make sense for +# kernel code, and reset %optflags so that the vendor's overzealous flags don't +# create build failures. %define optflags -g -O2 -Werror +%undefine _annotated_build +%undefine _hardened_build CONFIGURE_ARGS="%{?configure_args}" if [ -n "$CONFIGURE_ARGS" ]; then @@ -403,7 +436,7 @@ echo '%{_sysconfdir}/init.d/lustre' >>lustre.files echo '%{_sysconfdir}/sysconfig/lustre' >>lustre.files %if %{with gss_keyring} echo '%{_sysconfdir}/init.d/lsvcgss' >>lustre.files -echo '%{_sysconfdir}/sysconfig/lsvcgss' >>lustre.files +echo '%config(noreplace) %{_sysconfdir}/sysconfig/lsvcgss' >>lustre.files %endif %endif @@ -457,6 +490,11 @@ echo '%{_bindir}/mcreate' >>lustre-tests.files echo '%{_bindir}/munlink' >>lustre-tests.files echo '%{_sbindir}/wirecheck' >>lustre-tests.files echo '%{_sbindir}/wiretest' >>lustre-tests.files +%if %{_vendor}=="redhat" +if [ -n "@MPI_BIN@" ]; then + echo '@MPI_BIN@/*' >>lustre-tests.files +fi +%endif %endif %files -f lustre.files