X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre.spec.in;h=00b592d0f6fcce3e23a8d81ca60639aa8fd3aab3;hb=e1bf37870d8654d24a1e49a1822bb02aa97a6672;hp=246122ae2092e5ca1dad1997e88d913060733893;hpb=9a085781b34d3dbe46c61db21c2681a0d31136de;p=fs%2Flustre-release.git diff --git a/lustre.spec.in b/lustre.spec.in index 246122a..00b592d 100644 --- a/lustre.spec.in +++ b/lustre.spec.in @@ -34,6 +34,17 @@ %undefine with_zfs %endif +%if %{without shared} && %{without static} +# need exit to stop build because error only displays a message +%{error: you can't disable both library types} +%{exit 1} +%endif + +# lustre_tests depends on lustre_utils +%if %{without lustre_utils} +%undefine with_lustre_tests +%endif + %{!?version: %global version @VERSION@} # if you want a custom kernel version set it variable with $ver.$arch %{!?kver: %global kver %(uname -r)} @@ -89,6 +100,7 @@ %endif %endif +%if %{with lustre_modules} %if %{undefined kmoddir} %if %{defined kernel_module_package_moddir} %global kmoddir %{kernel_module_package_moddir} @@ -106,7 +118,6 @@ %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$//') %if %{_vendor}=="redhat" || %{_vendor}=="fedora" - %global requires_yaml_name libyaml %global requires_kmod_name kmod-%{lustre_name} %global requires_kmod_osd_zfs_name kmod-%{lustre_name}-osd-zfs %if %{with lustre_tests} @@ -114,7 +125,6 @@ %endif %global requires_kmod_version %{version} %else #for Suse - %global requires_yaml_name libyaml-0-2 %global requires_kmod_name %{lustre_name}-kmp %global requires_kmod_osd_zfs_name %{lustre_name}-osd-zfs-kmp %if %{with lustre_tests} @@ -126,6 +136,13 @@ %global requires_kmod_version %{version}_%(echo %{krequires} | sed -r 'y/-/_/; s/^(2\.6\.[0-9]+)_/\\1.0_/;') %endif %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 @@ -162,15 +179,22 @@ Source6: kmp-lustre-osd-zfs.files Source7: kmp-lustre-tests.files URL: https://wiki.whamcloud.com/ BuildRoot: %{_tmppath}/lustre-%{version}-root -Requires: %{requires_kmod_name} = %{requires_kmod_version} zlib +%if %{with lustre_modules} +Requires: %{requires_kmod_name} = %{requires_kmod_version} +%endif +Requires: zlib Requires: %{requires_yaml_name} -BuildRequires: libtool libyaml-devel zlib-devel +BuildRequires: libtool libyaml-devel zlib-devel binutils-devel %if %{_vendor}=="redhat" BuildRequires: redhat-rpm-config BuildRequires: pkgconfig %else BuildRequires: pkg-config %endif +%if %{with gss} +BuildRequires: krb5-devel openssl-devel +Requires: krb5-libs openssl-libs +%endif %if %{with servers} Requires: lustre-osd Requires: lustre-osd-mount @@ -179,8 +203,6 @@ Provides: lustre-server = %{version}-%{release} %endif Obsoletes: lustre-client < %{version} Provides: lustre-client = %{version}-%{release} - -# GSS requires this: BuildRequires: libgssapi-devel >= 0.10 %if %{_vendor}=="redhat" || %{_vendor}=="fedora" #suse don't support selinux BuildRequires: libselinux-devel @@ -298,8 +320,10 @@ Provides: lustre-tests = %{version} Requires: lustre-iokit %endif Requires: lustre-client = %{version} +%if %{with lustre_modules} Requires: %{requires_kmod_name} = %{requires_kmod_version} Requires: %{requires_kmod_tests_name} = %{requires_kmod_version} +%endif Requires: attr, rsync, perl, lsof, libtool, /usr/bin/getconf %if %{with mpi} %if %{mpi_name} == "mpich" @@ -436,6 +460,13 @@ fi --with-linux-obj=%{kobjdir} \ --with-kmp-moddir=%{kmoddir}/%{name} +%if %{with servers} +if ! grep -q define[[:space:]]*HAVE_SERVER_SUPPORT config.h 2> /dev/null; then + echo "Error: Server Support configured but not found" + false +fi +%endif + make %{?_smp_mflags} -s %{?make_args} %install @@ -444,6 +475,7 @@ make %{?_smp_mflags} -s %{?make_args} make install DESTDIR=$RPM_BUILD_ROOT +%if %{with lustre_modules} # RHEL's kernel_module_path macro expects that all the modules # in a kmod package will be in modules_fs_path/ # but Lustre installs all of the modules in a single pass into @@ -467,6 +499,7 @@ mv $basemodpath/fs/llog_test.ko $basemodpath-tests/fs/llog_test.ko mkdir -p $RPM_BUILD_ROOT%{_libdir}/lustre/tests/kernel/ mv $basemodpath/fs/kinode.ko $RPM_BUILD_ROOT%{_libdir}/lustre/tests/kernel/ %endif +%endif :> lustre.files @@ -543,6 +576,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/liblustreapi.la echo '%{_libdir}/lustre/tests/*' >>lustre-tests.files echo '%{_bindir}/mcreate' >>lustre-tests.files echo '%{_bindir}/munlink' >>lustre-tests.files +echo '%{_bindir}/statx' >>lustre-tests.files echo '%{_sbindir}/wirecheck' >>lustre-tests.files echo '%{_sbindir}/wiretest' >>lustre-tests.files if [ -n "$MPI_BIN" ]; then @@ -570,26 +604,28 @@ fi %{_bindir}/llobdstat %{_bindir}/llstat %{_bindir}/plot-llstat +%{_datadir}/lustre %{_bindir}/lfs %{_bindir}/lfs_migrate /sbin/mount.lustre /sbin/mount.lustre_tgt +@BASH_COMPLETION_DIR@ +%endif + +%if %{with manpages} +%{_mandir}/man?/* +%endif + %if %{with static} %{_libdir}/liblustreapi.a %endif %if %{with shared} %{_libdir}/liblustreapi.so* %endif -%if %{with manpages} -%{_mandir}/man?/* -%endif -%{_datadir}/lustre -%{_datadir}/bash-completion/completions/* %{_includedir}/lustre %{_includedir}/linux/lnet %{_includedir}/linux/lustre -%endif %{_sysconfdir}/udev/rules.d/99-lustre.rules %if %{with servers} %{_sysconfdir}/udev/rules.d/99-lustre-server.rules