|
|
05d200 |
#
|
|
|
05d200 |
# spec file for package eth-ff
|
|
|
05d200 |
#
|
|
Bernhard M. Wiedemann |
514c2a |
# Copyright (c) 2023 SUSE LLC
|
|
|
05d200 |
#
|
|
|
05d200 |
# All modifications and additions to the file contributed by third parties
|
|
|
05d200 |
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
05d200 |
# upon. The license for this file, and modifications and additions to the
|
|
|
05d200 |
# file, is the same license as for the pristine package itself (unless the
|
|
|
05d200 |
# license for the pristine package is not an Open Source License, in which
|
|
|
05d200 |
# case the license is the MIT License). An "Open Source License" is a
|
|
|
05d200 |
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
05d200 |
# published by the Open Source Initiative.
|
|
|
05d200 |
|
|
|
05d200 |
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
|
05d200 |
#
|
|
|
05d200 |
|
|
|
05d200 |
|
|
|
0dcda8 |
%define git_ver .0.e2d1dd8cde0e
|
|
|
05d200 |
|
|
|
05d200 |
%define pseudo_opt %{_prefix}/lib/eth-tools/
|
|
|
05d200 |
%define ethsysconfdir %{_sysconfdir}/eth-tools/
|
|
|
05d200 |
|
|
|
05d200 |
Name: eth-ff
|
|
|
0dcda8 |
Version: 11.3.0.0
|
|
|
05d200 |
Release: 0
|
|
|
05d200 |
Summary: Intel Ethernet Fabric Suite basic tools and libraries for fabric management
|
|
|
05d200 |
License: BSD-3-Clause OR GPL-2.0-only
|
|
|
05d200 |
Group: Productivity/Networking/System
|
|
|
05d200 |
URL: https://github.com/intel/eth-fast-fabric
|
|
|
05d200 |
Source0: %{name}-%{version}%{git_ver}.tar.gz
|
|
|
05d200 |
Source1: eth-ff.rpmlintrc
|
|
|
05d200 |
Patch1: eth-ff-suse-build-fixes.patch
|
|
|
05d200 |
Patch2: eth-ff-add-shebang-for-exp-files.patch
|
|
Bernhard M. Wiedemann |
514c2a |
Patch3: topology-fix-support-for-disabled-MD5-authentication.patch
|
|
|
05d200 |
BuildRequires: gcc-c++
|
|
|
05d200 |
BuildRequires: infiniband-diags-devel
|
|
|
05d200 |
BuildRequires: libexpat-devel
|
|
|
05d200 |
BuildRequires: libopenssl-devel
|
|
|
05d200 |
BuildRequires: librdmacm1
|
|
|
05d200 |
BuildRequires: ncurses-devel
|
|
|
05d200 |
BuildRequires: net-snmp-devel
|
|
|
05d200 |
BuildRequires: rdma-core-devel
|
|
|
05d200 |
BuildRequires: tcl-devel
|
|
|
05d200 |
BuildRequires: zlib-devel
|
|
|
05d200 |
|
|
|
05d200 |
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
05d200 |
#Currently ONLY builds on x86_64
|
|
|
05d200 |
ExclusiveArch: x86_64
|
|
|
05d200 |
|
|
|
05d200 |
%description
|
|
|
05d200 |
The %{name} contains basic tools and libraries to manage an Intel Ethernet fabric.
|
|
|
05d200 |
|
|
|
05d200 |
%package -n eth-basic-tools
|
|
|
05d200 |
Summary: Management level tools and scripts
|
|
|
05d200 |
Group: Productivity/Networking/System
|
|
|
05d200 |
Requires: rdma
|
|
|
05d200 |
|
|
|
05d200 |
%description -n eth-basic-tools
|
|
|
05d200 |
Contains basic tools for fabric management necessary on all compute nodes.
|
|
|
05d200 |
|
|
|
05d200 |
%package -n eth-fastfabric
|
|
|
05d200 |
Summary: Management level tools and scripts
|
|
|
05d200 |
Group: Productivity/Networking/System
|
|
|
05d200 |
Requires: cron
|
|
|
05d200 |
Requires: eth-basic-tools
|
|
|
05d200 |
|
|
|
05d200 |
%description -n eth-fastfabric
|
|
|
05d200 |
Contains tools for managing fabric on a management node.
|
|
|
05d200 |
|
|
|
05d200 |
%prep
|
|
|
05d200 |
%setup -q -n %{name}-%{version}%{git_ver}
|
|
|
05d200 |
%patch1
|
|
|
05d200 |
%patch2
|
|
Bernhard M. Wiedemann |
514c2a |
%patch3
|
|
|
05d200 |
|
|
|
05d200 |
%build
|
|
|
05d200 |
export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Wno-address-of-packed-member"
|
|
|
05d200 |
cd OpenIb_Host && ./ff_build.sh %{_builddir} $FF_BUILD_ARGS
|
|
|
05d200 |
|
|
|
05d200 |
%install
|
|
|
05d200 |
. OpenIb_Host/ff_filegroups.sh
|
|
|
05d200 |
|
|
|
05d200 |
mkdir -p %{buildroot}%{_bindir}
|
|
|
05d200 |
mkdir -p %{buildroot}%{_sbindir}
|
|
|
05d200 |
mkdir -p %{buildroot}%{pseudo_opt}/
|
|
|
05d200 |
mkdir -p %{buildroot}%{pseudo_opt}samples
|
|
|
05d200 |
mkdir -p %{buildroot}%{ethsysconfdir}
|
|
|
05d200 |
mkdir -p %{buildroot}%{_mandir}/man1
|
|
|
05d200 |
mkdir -p %{buildroot}%{_mandir}/man8
|
|
|
05d200 |
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
|
|
05d200 |
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/eth-tools
|
|
|
05d200 |
|
|
|
05d200 |
#Binaries and scripts installing (basic tools)
|
|
|
05d200 |
cd $(cat %{_builddir}/RELEASE_PATH)
|
|
|
05d200 |
|
|
|
05d200 |
cd bin
|
|
|
05d200 |
cp -t %{buildroot}%{_sbindir} ${basic_tools_sbin}
|
|
|
05d200 |
cp -t %{buildroot}/%{pseudo_opt}/ ${basic_tools_opt}
|
|
|
05d200 |
|
|
|
05d200 |
cd ../fastfabric
|
|
|
05d200 |
cp -t %{buildroot}%{_sbindir} ${ff_tools_sbin}
|
|
|
05d200 |
cp -t %{buildroot}%{pseudo_opt} ${ff_tools_misc}
|
|
|
05d200 |
cp -t %{buildroot}%{ethsysconfdir} ${basic_configs}
|
|
|
05d200 |
|
|
|
05d200 |
cd ../fastfabric/samples
|
|
|
05d200 |
cp -t %{buildroot}%{pseudo_opt}samples ${ff_iba_samples} ${basic_samples}
|
|
|
05d200 |
cd ..
|
|
|
05d200 |
|
|
|
05d200 |
cd ../fastfabric/tools
|
|
|
05d200 |
chmod 755 *.exp
|
|
|
05d200 |
cp -t %{buildroot}%{pseudo_opt}/ ${ff_tools_exp}
|
|
|
05d200 |
cp -t %{buildroot}%{pseudo_opt}/ ${ff_libs_misc}
|
|
|
05d200 |
cp -t %{buildroot}%{pseudo_opt}/ osid_wrapper
|
|
|
05d200 |
cp -t %{buildroot}%{ethsysconfdir} allhosts hosts switches
|
|
|
05d200 |
cd ..
|
|
|
05d200 |
|
|
|
05d200 |
cd ../man/man1
|
|
|
05d200 |
cp -t %{buildroot}%{_mandir}/man1 ${basic_mans}
|
|
|
05d200 |
cd ../man8
|
|
|
05d200 |
cp -t %{buildroot}%{_mandir}/man8 ${ff_mans}
|
|
|
05d200 |
cd ..
|
|
|
05d200 |
|
|
|
05d200 |
#Config files
|
|
|
05d200 |
cd ../config
|
|
|
05d200 |
cp -t %{buildroot}/%{ethsysconfdir} ethmon.conf ethmon.si.conf
|
|
|
05d200 |
|
|
|
05d200 |
# Now that we've put everything in the buildroot, copy any default config files to their expected location for user
|
|
|
05d200 |
# to edit. To prevent nuking existing user configs, the files section of this spec file will reference these as noreplace
|
|
|
05d200 |
# config files.
|
|
|
05d200 |
cp %{buildroot}%{pseudo_opt}/ethfastfabric.conf.def %{buildroot}/%{ethsysconfdir}/ethfastfabric.conf
|
|
|
05d200 |
|
|
|
05d200 |
for file in $(ls %{buildroot}/%{ethsysconfdir}); do
|
|
|
05d200 |
ln -s %{ethsysconfdir}/$file %{buildroot}/etc/sysconfig/eth-tools/$file
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#Now we do a bunch of work to build the file listing of what belongs to each RPM
|
|
|
05d200 |
|
|
|
05d200 |
# List for basic
|
|
|
05d200 |
(
|
|
|
05d200 |
#Basic tools sbin
|
|
|
05d200 |
for file in ${basic_tools_sbin} ${basic_tools_sbin_sym}; do
|
|
|
05d200 |
echo "%{_sbindir}/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
#Basic tools opt
|
|
|
05d200 |
for file in ${basic_tools_opt}; do
|
|
|
05d200 |
echo "%{pseudo_opt}/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
#Basic man pages
|
|
|
05d200 |
for file in ${basic_mans}; do
|
|
|
05d200 |
# Extra wildcard to accept .1.gz
|
|
|
05d200 |
echo "%{_mandir}/man1/${file}*"
|
|
|
05d200 |
done
|
|
|
05d200 |
#Basic config pages
|
|
|
05d200 |
for file in ${basic_configs}; do
|
|
|
05d200 |
echo "%config(noreplace) %{ethsysconfdir}${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
) > %{_builddir}/basic_file.list
|
|
|
05d200 |
|
|
|
05d200 |
# List for eth-fastfabric
|
|
|
05d200 |
(
|
|
|
05d200 |
#FF tools opt
|
|
|
05d200 |
for file in ${ff_tools_opt}; do
|
|
|
05d200 |
echo "%{pseudo_opt}/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF exp files opt
|
|
|
05d200 |
for file in ${ff_tools_exp}; do
|
|
|
05d200 |
echo "%{pseudo_opt}/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF misc files opt
|
|
|
05d200 |
for file in ${ff_tools_misc}; do
|
|
|
05d200 |
echo "%{pseudo_opt}/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF libs misc
|
|
|
05d200 |
for file in ${ff_libs_misc}; do
|
|
|
05d200 |
echo "%{pseudo_opt}/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF iba samples
|
|
|
05d200 |
for file in ${ff_iba_samples} ${basic_samples}; do
|
|
|
05d200 |
echo "%{pseudo_opt}samples/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF tools to FM configuration
|
|
|
05d200 |
for file in ${ff_tools_fm}; do
|
|
|
05d200 |
echo "%{pseudo_opt}fm_tools/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF man pages
|
|
|
05d200 |
for file in ${ff_mans}; do
|
|
|
05d200 |
# Extra wildcard to accept .8.gz
|
|
|
05d200 |
echo "%{_mandir}/man8/${file}*"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF tools help doc
|
|
|
05d200 |
for file in ${help_doc}; do
|
|
|
05d200 |
echo "%{pseudo_opt}help/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
#FF tools sbin
|
|
|
05d200 |
for file in ${ff_tools_sbin}; do
|
|
|
05d200 |
echo "%{_sbindir}/${file}"
|
|
|
05d200 |
done
|
|
|
05d200 |
|
|
|
05d200 |
) > %{_builddir}/ff_file.list
|
|
|
05d200 |
|
|
|
05d200 |
%files -n eth-basic-tools -f %{_builddir}/basic_file.list
|
|
|
05d200 |
%defattr(-,root,root,-)
|
|
|
05d200 |
%dir %{pseudo_opt}
|
|
|
05d200 |
%dir %{ethsysconfdir}
|
|
|
05d200 |
|
|
|
05d200 |
%doc README
|
|
|
05d200 |
%license LICENSE
|
|
|
05d200 |
|
|
|
05d200 |
%files -n eth-fastfabric -f %{_builddir}/ff_file.list
|
|
|
05d200 |
%defattr(-,root,root,0755)
|
|
|
05d200 |
%dir %{pseudo_opt}
|
|
|
05d200 |
%dir %{pseudo_opt}samples
|
|
|
05d200 |
%{pseudo_opt}/osid_wrapper
|
|
|
05d200 |
|
|
|
05d200 |
%dir %{_sysconfdir}/sysconfig/eth-tools
|
|
|
05d200 |
%dir %{ethsysconfdir}
|
|
|
05d200 |
%{_sysconfdir}/sysconfig/eth-tools/*
|
|
|
05d200 |
|
|
|
05d200 |
%config(noreplace) %{ethsysconfdir}/ethfastfabric.conf
|
|
|
05d200 |
%config(noreplace) %{ethsysconfdir}/ethmon.conf
|
|
|
05d200 |
%config(noreplace) %{ethsysconfdir}/ethmon.si.conf
|
|
|
05d200 |
%config(noreplace) %{ethsysconfdir}/allhosts
|
|
|
05d200 |
%config(noreplace) %{ethsysconfdir}/hosts
|
|
|
05d200 |
%config(noreplace) %{ethsysconfdir}/switches
|
|
|
05d200 |
|
|
|
05d200 |
%changelog
|