X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre.spec.in;h=8ab88ce7fb5dd2fcc71700e73cd4a3a921dd20ea;hp=d3a5dd67b0847067f2527ff971d3c0764675d0b5;hb=3c280a95736a884bc2f36dad674505f1d5b00982;hpb=ab3185eb2b54ed2f616022956dca9bd5a849eb80 diff --git a/lustre.spec.in b/lustre.spec.in index d3a5dd6..8ab88ce 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -9,12 +9,21 @@ %bcond_without lustre_iokit %bcond_without lustre_modules %bcond_with snmp -%bcond_without gss_keyring +%bcond_with gss +%bcond_with gss_keyring %bcond_without manpages %bcond_without shared %bcond_without static %bcond_with systemd +# 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 +# the builder attempts to disable gss. +%if %{with gss_keyring} + %define with_gss +%endif + %if %{without servers} # --without servers overrides --with {ldiskfs|zfs} # so undefine the internal variables set by bcond_* @@ -81,12 +90,14 @@ %global modules_fs_path /lib/modules/%{kversion}/%{kmoddir} %if %{_vendor}=="redhat" || %{_vendor}=="fedora" + %global requires_yaml_name libyaml %global requires_kmod_name kmod-%{lustre_name} %if %{with lustre_tests} %global requires_kmod_tests_name kmod-%{lustre_name}-tests %endif %global requires_kmod_version %{version} %else #for Suse + %global requires_yaml_name libyaml-0-2 %global requires_kmod_name %{lustre_name}-kmp %if %{with lustre_tests} %global requires_kmod_tests_name %{lustre_name}-tests-kmp @@ -130,9 +141,10 @@ Source4: kmp-lustre-osd-ldiskfs.files Source5: kmp-lustre-osd-zfs.preamble Source6: kmp-lustre-osd-zfs.files Source7: kmp-lustre-tests.files -URL: https://wiki.hpdd.intel.com/ +URL: https://wiki.whamcloud.com/ BuildRoot: %{_tmppath}/lustre-%{version}-root -Requires: %{requires_kmod_name} = %{requires_kmod_version} libyaml zlib +Requires: %{requires_kmod_name} = %{requires_kmod_version} zlib +Requires: %{requires_yaml_name} BuildRequires: libtool libyaml-devel zlib-devel %if %{with servers} Requires: lustre-osd @@ -164,7 +176,27 @@ BuildRequires: systemd Userspace tools and files for the Lustre file system. %if %{with lustre_modules} -%kernel_module_package -n %{name} -p %SOURCE1 -f %SOURCE2 default +%if 0%{?rhel} == 7 +# until we have achieved full kABI compatibility we need to +# restrict the kernel range that can be used to the kernel +# version from the RHEL minor release +# this is supposed to be done for kmods automatically but +# RHBZ#1467319 seems to be getting in the way +# this is true for el7.0 through el7.4 +%define preamble %{expand:%( +TMPFILE=`mktemp` +cat %{SOURCE1} > $TMPFILE +kver=%{kver} +linuxversion=${kver%%%%-*} +linuxrelease=${kver##*-} +kabiminor=${linuxrelease%%%%.*} +echo "Requires: kernel < $linuxversion-$((kabiminor+1)), kernel >= $linuxversion-$((kabiminor))" >> $TMPFILE +echo $TMPFILE +)} +%else +%define preamble %{SOURCE1} +%endif +%kernel_module_package -n %{name} -p %preamble -f %SOURCE2 default %if %{with ldiskfs} %kernel_module_package -n %{name}-osd-ldiskfs -p %SOURCE3 -f %SOURCE4 default @@ -310,6 +342,7 @@ fi %{!?with_servers:--disable-server} \ %{!?with_zfs:--without-zfs} \ %{!?with_snmp:--disable-snmp} \ + %{!?with_gss:--disable-gss} \ %{!?with_gss_keyring:--disable-gss-keyring} \ %{!?with_manpages:--disable-manpages} \ %{!?with_systemd:--with-systemdsystemunitdir=no} \ @@ -378,15 +411,8 @@ echo '%{_sysconfdir}/sysconfig/lsvcgss' >>lustre.files echo '%{_sysconfdir}/init.d/lnet' >>lustre.files %endif %endif - -CONFIGURE_ARGS="%{?configure_args}" -if [ -z "$(echo $CONFIGURE_ARGS | grep "\-\-disable\-gss\-keyring")" ]; then - echo '%config(noreplace) %{_sysconfdir}/request-key.d/lgssc.conf' >>lustre.files -fi - -%if %{with servers} -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/lustre/ -install -m 0755 contrib/scripts/pacemaker/* $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/lustre/ +%if %{with gss_keyring} +echo '%config(noreplace) %{_sysconfdir}/request-key.d/lgssc.conf' >>lustre.files %endif # fc18 needs 'x' permission for library files @@ -472,6 +498,9 @@ echo '%{_sbindir}/wiretest' >>lustre-tests.files %{_includedir}/linux/lustre %endif %{_sysconfdir}/udev/rules.d/99-lustre.rules +%if %{with servers} +%{_sysconfdir}/udev/rules.d/99-lustre-server.rules +%endif %if %{with zfs} %config(noreplace) %{_sysconfdir}/ldev.conf %endif