%global git_version 26_g604758e_open
%global MAKEARG PSM_HAVE_SCIF=0 MIC=0 arch=$(uname -m)
Name: infinipath-psm
Summary: Intel Performance Scaled Messaging (PSM) Libraries
Version: 3.3
Release: %{git_version}.6%{?dist}.11
License: GPLv2 or BSD
ExclusiveArch: x86_64
URL: https://github.com/01org/psm
# Source0 tar ball had been created by run:
# 1) git clone https://github.com/01org/psm.git
# 2) cd psm
# 3) make dist
Source0: %{name}-%{version}-%{git_version}.tar.gz
Source1: ipath.rules
Patch1: 0001-fix-a-compilation-issue.patch
Patch3: remove-executable-permissions-for-header-files.patch
Patch4: 0001-Include-sysmacros.h.patch
Patch5: 0001-Extend-buffer-for-uvalue-and-pvalue.patch
Patch6: extend-fdesc-array.patch
Patch7: psm-multiple-definition.patch
Patch8: infinipath-psm-gcc11.patch
Patch9: fix-clang-build.patch
Requires: udev
%if "%{toolchain}" == "clang"
BuildRequires: clang
%else
BuildRequires: gcc
%endif
BuildRequires: libuuid-devel
BuildRequires: systemd-rpm-macros
BuildRequires: make
Obsoletes: infinipath-libs <= %{version}-%{release}
%description
The PSM Messaging API, or PSM API, is Intel's low-level
user-level communications interface for the True Scale
family of products. PSM users are enabled with mechanisms
necessary to implement higher level communications
interfaces in parallel environments.
%package devel
Summary: Development files for Intel PSM
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: infinipath-devel <= %{version}-%{release}
%description devel
Development files for the %{name} library.
%prep
%setup -q -n %{name}-%{version}-%{git_version}
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p0
%patch7 -p1
%patch8 -p1
%patch9 -p1
find libuuid -type f -not -name 'psm_uuid.[c|h]' -not -name Makefile -delete
%build
# LTO seems to trigger a post-build failure as some symbols with external scope
# are "leaking". SuSE has already disabled LTO for this package, but no real
# details about why those symbols are "leaking". Follow their lead for now
%define _lto_cflags %{nil}
%{set_build_flags}
%make_build PSM_USE_SYS_UUID=1 %{MAKEARG}
%install
%make_install %{MAKEARG}
install -d %{buildroot}%{_udevrulesdir}
install -m 0644 %{SOURCE1} %{buildroot}%{_udevrulesdir}/60-ipath.rules
%ldconfig_scriptlets
%files
%{_udevrulesdir}/60-ipath.rules
%{_libdir}/libpsm_infinipath.so.*
%{_libdir}/libinfinipath.so.*
%license COPYING
%doc README
%files devel
%{_libdir}/libpsm_infinipath.so
%{_libdir}/libinfinipath.so
%{_includedir}/psm.h
%{_includedir}/psm_mq.h
%changelog
* Thu Feb 29 2024 Honggang Li <honggangli@163.com> - 3.3-26_g604758e_open.6.11
- Fix FTBFS in Fedora rawhide/f41
- Resolves: bz2225925
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Oct 15 2020 Jeff Law <law@redhat.com> - 3.3-26_g604758e_open.6.2
- Avoid out of bounds array index diagnostic with gcc-11
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.6.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 21 2020 Jeff Law <law@redhat.com> - 3.3-26_g604758e_open.6
- Disable LTO
* Sun Feb 09 2020 Honggang Li <honli@redhat.com> - 3.3-26_g604758e_open.5
- Fix FTBFS in Fedora rawhide/f32
- Resolves: bz1799521
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Dec 24 2019 Honggang Li <honli@redhat.com> - 3.3-26_g604758e_open.3
- Fix udev rule issues
- Resolves: bz1785112
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-26_g604758e_open.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Feb 12 2019 Honggang Li <honli@redhat.com> - 3.3-26_g604758e_open.1
- Fix FTBFS issue for Fedora rawhide/f30
- Resolves: 1675150
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-22_g4abbc60_open.6.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-22_g4abbc60_open.6.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Feb 24 2018 Honggang Li <honli@redhat.com> - 3.3-22_g4abbc60_open.6
- Fix partial injection of Fedora build flags.
- Double the sizeof array fdesc to fix a gcc7 compiling issue.
- Resolves: bz1548537
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-22_g4abbc60_open.5.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jan 4 2018 Honggang Li <honli@redhat.com> - 3.3-22_g4abbc60_open.5
- No longer obsoletes libpsm2-compat.
- Resolves: bz1530982
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-22_g4abbc60_open.4.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-22_g4abbc60_open.4.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Feb 21 2017 Honggang Li <honli@redhat.com> - 3.3-22_g4abbc60_open.4
- Include sysmacros.
- Extend buffer for two arrays.
- Resolves: bz1423739
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3-22_g4abbc60_open.3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue May 31 2016 Honggang Li <honli@redhat.com> - 3.3-22_g4abbc60_open.3
- Obsoletes libpsm2-compat.
* Wed Apr 20 2016 Honggang Li <honli@redhat.com> - 3.3-22_g4abbc60_open.2
- Honors RPM_OPT_FLAGS.
- Link against system libuuid package.
- Remove duplicated Conflicts tags.
* Mon Apr 18 2016 Honggang Li <honli@redhat.com> - 3.3-22_g4abbc60_open.1
- Import infinipath-psm for Fedora.