X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre.spec.in;h=d40c56d255611201daf5c87fa7215120174ba3a3;hp=8ab88ce7fb5dd2fcc71700e73cd4a3a921dd20ea;hb=5bdf89f0c13eab1513d11b2e1950fba31479535d;hpb=3c280a95736a884bc2f36dad674505f1d5b00982 diff --git a/lustre.spec.in b/lustre.spec.in index 8ab88ce..d40c56d 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} @@ -186,7 +186,7 @@ Userspace tools and files for the Lustre file system. %define preamble %{expand:%( TMPFILE=`mktemp` cat %{SOURCE1} > $TMPFILE -kver=%{kver} +kver=%{kversion} linuxversion=${kver%%%%-*} linuxrelease=${kver##*-} kabiminor=${linuxrelease%%%%.*} @@ -203,7 +203,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 +217,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 @@ -252,7 +252,7 @@ Requires: %{name} = %{version} %endif Requires: %{requires_kmod_name} = %{requires_kmod_version} Requires: %{requires_kmod_tests_name} = %{requires_kmod_version} -Requires: attr, rsync, perl, lsof, /usr/bin/getconf +Requires: attr, rsync, perl, lsof, libtool, /usr/bin/getconf %description tests This package contains a set of test binaries and scripts that are intended @@ -310,9 +310,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