Sync from SUSE:SLFO:Main libpsm2 revision 4702470335aa994f368c91eca57c3582

This commit is contained in:
Adrian Schröter 2024-05-03 15:31:10 +02:00
commit 24f47d195b
9 changed files with 789 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

18
_service Normal file
View File

@ -0,0 +1,18 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/cornelisnetworks/opa-psm2.git</param>
<param name="package-meta">no</param>
<param name="exclude">.git</param>
<param name="filename">libpsm2</param>
<param name="version">12.0.1</param>
<param name="versionrewrite-pattern">PSM2_(.*)(nccl)\?</param>
<param name="versionrewrite-replacement">\1</param>
<param name="match-tag">PSM2_*</param>
<param name="revision"></param>
</service>
<service name="recompress" mode="disabled">
<param name="file">libpsm2*.tar</param>
<param name="compression">bz2</param>
</service>
</services>

BIN
libpsm2-12.0.1.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

4
libpsm2-rpmlintrc Normal file
View File

@ -0,0 +1,4 @@
# This line is mandatory to access the configuration functions
from Config import *
addFilter("libpsm2-compat.* shlib-policy-name-error")

View File

@ -0,0 +1,36 @@
commit c812d7da24984926e683e99aa5d3ef8a1d372774
Author: Nicolas Morey-Chaisemartin <NMoreyChaisemartin@suse.com>
Date: Mon Nov 20 17:59:13 2017 +0100
libpsm2: use exported variable for version and release
Allow to override VERSION and RELEASE variable through the command line.
Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin@suse.com>
diff --git Makefile Makefile
index 8db7c1d..b460785 100644
--- Makefile
+++ Makefile
@@ -180,10 +180,10 @@ export LIBPSM2_COMPAT_CONF_DIR
ifeq (true, $(shell git rev-parse --is-inside-work-tree 2>/dev/null))
ISGIT := 1 # Cache the result for later
# Note, we don't define ISGIT if we are not in a git folder
-VERSION := $(shell git describe --tags --abbrev=0 --match='psm-v*' | sed -e 's/^psm-v//' -e 's/-/_/')
+VERSION ?= $(shell git describe --tags --abbrev=0 --match='psm-v*' | sed -e 's/^psm-v//' -e 's/-/_/')
else
ISGIT := 0
-VERSION := version
+VERSION ?= version
endif
# If we have a file called 'rpm_release_extension' (as on github),
@@ -213,7 +213,7 @@ endif
# is the number of commits since the version tag was planted suffixed by the g<commitid>
ifndef RELEASE
RELTAG := "psm-v$(VERSION)"
-RELEASE := $(shell if [ -f rpm_release_extension ]; then cat rpm_release_extension;\
+RELEASE ?= $(shell if [ -f rpm_release_extension ]; then cat rpm_release_extension;\
elif [ $(ISGIT) = 1 ] ; then git rev-list $(RELTAG)..HEAD -- . | wc -l; \
else echo "release" ; fi)
endif

View File

@ -0,0 +1,36 @@
commit ca7a8ea03eb00c9c5c7e4fcaf9603c4d0760177a
Author: Nicolas Morey-Chaisemartin <NMoreyChaisemartin@suse.com>
Date: Mon Nov 20 17:59:37 2017 +0100
libpsm2: use_RPM_OPT_FLAGS
Add RPM_OPT_FLAGS to CFLAGS
Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin@suse.com>
diff --git buildflags.mak buildflags.mak
index 7c3cda099871..baf7e5bb5a2f 100644
--- buildflags.mak
+++ buildflags.mak
@@ -72,7 +72,7 @@ else
anerr := $(error Unknown Fortran compiler arch: ${FCARCH})
endif # gfortran
-BASECFLAGS := $(BASE_FLAGS) -pthread
+BASECFLAGS := $(BASE_FLAGS) -pthread $(RPM_OPT_FLAGS)
LDFLAGS += $(BASE_FLAGS)
ASFLAGS += $(BASE_FLAGS)
diff --git compat/buildflags.mak compat/buildflags.mak
index db348481b169..f7334e3936a7 100644
--- compat/buildflags.mak
+++ compat/buildflags.mak
@@ -63,7 +63,7 @@ else
anerr := $(error Unknown C compiler arch: ${CCARCH})
endif
-BASECFLAGS += $(BASE_FLAGS)
+BASECFLAGS += $(BASE_FLAGS) $(RPM_OPT_FLAGS)
LDFLAGS += $(BASE_FLAGS)
ASFLAGS += $(BASE_FLAGS)

159
libpsm2.changelog Normal file
View File

@ -0,0 +1,159 @@
2016-09-21 Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
Sync with wfr-psm 10.2 release codebase
This code surface corresponds to the 10.2 release
of PSM2. Changes in this patch include few bew
fixes and patches to improve performance for certain
workloads bt interleaving the RTS handling.
While at it, removing some unnecessary files whose
functionality have been moved.
2016-07-12 Russell McGuire (rwmcguir) <russell.w.mcguire@intel.com>
Update psm2_ep_close timeout handling
This change includes many patches for psm2_ep_close timeouts
* Fixed timeout logic for IPS layer disconnects
* Replaced usage of rand/srand/random with drand48_r
* Cleanup of internal connection symbols names
* Fix for amsh layer dropping disconnect packets
* Fixed issue with spec file not obsoleting older rpm name
* Update README for newer RPM names and usages
* Reduce timeout scaling for dropped packets during psm2_ep_close
for large scale jobs.
2016-06-29 Russell McGuire (rwmcguir) <russell.w.mcguire@intel.com>
Remove deprecated hfi1-spec* files
These files were left over after the rpm
rename from hfi1-psm to libpsm2.
2016-06-30 Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
Upstreaming /dev/hfi_N selection logic and some bug fixes
This change primarily includes the following patches to PSM2-
* Remove usage of /dev/hfi
* Logic to select correct /dev/hfi_N
* Initialize frag_size in tidrecv array tidflows which
fixes assertion hit on debug builds
* Clear send_msgoff in req struct which fixes the hang
while using OPCODE_SHORT messages repeatedly
2016-06-27 Russell McGuire (rwmcguir) <russell.w.mcguire@intel.com>
Update Makefile to use RELEASE_VER for rpm version
This change is to allow this git repo, to honor a
RELEASE_VER file for RPM naming convetion. This will be
used over counting the number of commits since the last
v<major>.<minor> tag in the repo.
Mostly this is added to allow internal and external
rpm naming syncronization with Intel IFS releases for OPA.
2016-06-28 Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
Sync with wfr-psm 10.1 branch
This corresponds to the 10.1 release surface
2016-06-28 Paul Reger <paul.j.reger@intel.com>
Adds many bug fixes, and heap debug code.
This surface corresponds to the code being upstreamed to Fedora.
2016-06-23 pjreger <paul.j.reger@intel.com>
Merge pull request #5 from LeviDettwyler/10.2
Fix for assertion failure seen in PSM_DEBUG builds
2016-06-23 Levi Dettwyler <levi.dettwyler@me.com>
Fix for assertion failure seen in PSM_DEBUG builds
Merging fix from internal repos to public github to correct tidflow frag_size assertion issue when running workloads with PSM_DEBUG builds.
2016-05-06 Paul Reger <paul.j.reger@intel.com>
First commit for v10.2 branch, and first commit for Fedora 25 support.
2016-04-06 Paul Reger <paul.j.reger@intel.com>
Adds many bug fixes, and heap debug code. This surface corresponds to the code being upstreamed to Fedora.
Adding two bug fixes. This surface corresonds to the 10.0.1 release.
2016-03-03 Paul Reger <paul.j.reger@intel.com>
Limit rpm builds of the psm library to the x86_64 architecture only.
2016-03-02 Paul Reger <paul.j.reger@intel.com>
Moved two unnecessary macros under PSM_DEBUG to fix build error on Fedora 24.
2016-02-19 Paul Reger <paul.j.reger@intel.com>
Update gitub to RELEASE-10.0 version includes:
- Primarily bug fixes
- One feature was added that includes a new hashing scheme for MQ's
- Performance enhancements
2015-12-07 Paul Reger <paul.j.reger@intel.com>
Update gitub to beta0, includes:
- Symbol renames from psm* to psm2* and PSM* to PSM2*,
- Compat library support added,
- Tid caching requires building and running with a driver
that includes tid caching support.
2015-09-23 nbwhite <nathan.b.white@intel.com>
Merge pull request #2 from michich/no-exec-stack
prevent having executable stack
2015-09-04 nbwhite <nathan.b.white@intel.com>
Merge pull request #1 from michich/master
fix issues found during packaging for RHEL
2015-09-01 Michal Schmidt <mschmidt@redhat.com>
prevent having executable stack
Add .note.GNU-stack sections to objects compiled from assembly.
This allows libpsm2.so.2.0 to have non-executable stack.
2015-08-25 Michal Schmidt <mschmidt@redhat.com>
use pkg-config to find udev rules dir
and default to /lib/udev (for system rules) rather than /etc/udev (which
is for the local administrator).
2015-08-12 Michal Schmidt <mschmidt@redhat.com>
avoid calling memset with zero length
This avoids the following build error:
In file included from /usr/include/string.h:638:0,
from ./include/opa_user.h:77,
from psm_user.h:67,
from psm_diags.c:56:
In function 'memset',
inlined from 'memcpy_check_one.constprop.4' at psm_diags.c:278:8,
inlined from 'memcpy_check_size.constprop.2' at psm_diags.c:335:30,
inlined from 'psmi_test_memcpy.constprop.1' at psm_diags.c:230:6,
inlined from 'psmi_diags' at psm_diags.c:84:25:
/usr/include/bits/string3.h:81:30: error: call to
'__warn_memset_zero_len' declared with attribute warning: memset used
with constant zero length parameter; this could be due to transposed
parameters [-Werror]
__warn_memset_zero_len ();
^
2015-08-12 Michal Schmidt <mschmidt@redhat.com>
avoid executable flag on installed header files
2015-07-23 Paul Reger <paul.j.reger@intel.com>
Sync github to internal git repo.
2015-07-15 nbwhite <nathan.b.white@intel.com>
Initial commit

347
libpsm2.changes Normal file
View File

@ -0,0 +1,347 @@
-------------------------------------------------------------------
Tue Jul 25 12:47:30 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
- Update to 12.0.1
- Fix memory leak in psmi_shm_create
-------------------------------------------------------------------
Thu Sep 15 09:25:57 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 11.2.230
- Fix silent data error on FECN-marked TID packet for
unaligned receive
-------------------------------------------------------------------
Mon Jun 13 08:03:18 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 11.2.229
- Fix GCC compilation issues
- Allow PSM2 to work with "self,shm" devices without omnipath hardware
- Various fixes
- Spec file cleanups submitted by Dirk Müller <dmueller@suse.com>
-------------------------------------------------------------------
Mon Apr 11 20:24:48 UTC 2022 - Martin Wilck <mwilck@suse.com>
- Run modprobe.conf handling scriptlets in -compat subpackage (bsc#1198322)
-------------------------------------------------------------------
Fri Mar 4 12:41:50 UTC 2022 - Martin Wilck <mwilck@suse.com>
- move modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)
-------------------------------------------------------------------
Tue Aug 24 06:05:38 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 11.2.203 (jsc#SLE-20580)
- No release notes available
-------------------------------------------------------------------
Wed Jul 22 15:31:44 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 11.2.185
- No release notes available
- Refresh libpsm2-use_RPM_OPT_FLAGS.patch against latest sources
-------------------------------------------------------------------
Fri Jul 3 08:04:50 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 11.2.166
- No release notes available
- Drop Add-missing-extern-keywords.patch as it was merged upstream
-------------------------------------------------------------------
Fri Jun 5 10:45:37 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
- Fixes for %_libexecdir changing to /usr/libexec
-------------------------------------------------------------------
Mon Apr 27 19:27:00 UTC 2020 - Martin Liška <mliska@suse.cz>
- Add -fcommon in order to fix boo#1160279.
-------------------------------------------------------------------
Fri Apr 3 08:27:09 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Add Add-missing-extern-keywords.patch to fix compilation with GCC10 (bsc#1160279)
-------------------------------------------------------------------
Fri Oct 4 06:56:26 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 11.2.86
- No release notes
- Refresh libpsm2-use_RPM_OPT_FLAGS.patch against latest version
- Use %license for COPYING
-------------------------------------------------------------------
Mon Feb 18 06:29:08 UTC 2019 - nmoreychaisemartin@suse.com
- Update to 11.2.78 (bsc#1125605, bsc#1125717)
- Revert of commit to check free BAR space and release TIDs
- Remove unnecessary long waiting timeout for HFI driver
- Drop libpsm2-include-ioctl_h.patch which was fixed upstream
-------------------------------------------------------------------
Mon Oct 15 06:43:58 UTC 2018 - nmoreychaisemartin@suse.com
- Update to 11.2.23 (fate#325853)
- compiler flag optimizations for KNL
- optimizations for OFI
- Bug fixes for CUDA runtime
- Add psm2_info_query API
- Modify PSM send side protocol selection logic to select correct flow at
start of send function
- Update LMC disable thresholds
- Fix for Issue #30: Compilation error due to snprintf truncation warning
- Convert CUDA runtime API calls to CUDA Driver API calls
- Prevent SHM and IPS from closing other protocol connections
- Change CUDA_THRESH_RNDV and move CUDA init to separate function
- Fix selection logic for multi-HFI within NUMA node
- Refresh JKey to support SELinux
- Fix Issue #24: Uninitialized AM message
- Fix data data corruption on GPU buffers when when using am ptl
- Force EPID remap in shm if remote PID changed
- PSM2 GDR Copy feature and tuning of thresholds to fully utilize the feature
- Fix uniformity of process mapping to HFIs
- PSM2 specific perf benchmarks
- Fix for issue 27: Null termination of string
- Drop libpsm2-fix-gcc8-compilation-error.patch
which was fixed upstream
-------------------------------------------------------------------
Thu Mar 15 07:18:37 UTC 2018 - nmoreychaisemartin@suse.com
- Update to version 10.3.46
- Enabled IPS_PROTO_FLAG_RCVTHREAD flag
- Fix GPU Direct Recv threshold default
- Resolve PSM2_CUDA runtime issues
- Fix bug in code to remove octal base for env vars
- Change direct use of HFI_CLASS_PATH and guard possible buffer overruns
- Add libpsm2-fix-gcc8-compilation-error.patch to fix compilation
with gcc8 (bsc#1084634)
-------------------------------------------------------------------
Fri Dec 8 08:25:14 UTC 2017 - nmoreychaisemartin@suse.com
- Update to version 10.3.37 (bsc#1068108):
- Allow PSM_PERF to work with multiple threads
- AM Handler with Caller Context for OFI PSM2
- Add new API functions psm2_mq_ipeek_dequeue and psm2_mq_req_free (for OFI
usage)
- Reserve additional space in "psm2_mq_req" for user use (for OFI usage)
- Bug Fixes
- Fix SLES 12.3 libpsm2-2 Provides line
- Add additional libpsm2-2 noarch Provides line
- Clean up CUDA symbol loading
- Avoid typecasting unknown addresses to aligned data types
- Handle EFAULT and ENOTSUPP returned from driver
- Release hfi1 memory mappings when closing a context
-------------------------------------------------------------------
Mon Nov 20 16:42:59 UTC 2017 - nmoreychaisemartin@suse.com
- Updated to version 10.3.17:
- Small bug fixes and some enhanced debugging.
- Assigned context is not freed on close() which could lead to
context starvation. Therefore release hfi1 mappings when closing a
context.
- Close receive thread only while closing last endpoint
- Rebase libpsm2-include-ioctl_h.patch, libpsm2-use_RPM_OPT_FLAGS.patch and
libpsm2-use-exported-variable-for-version-and-release.patch to the
latest sources.
-------------------------------------------------------------------
Wed Sep 6 05:55:42 UTC 2017 - nmoreychaisemartin@suse.com
- Update to version 10.2.260:
- Fixed support for SLE12-SP2
- V2 EPID
- Initialize CUDA support only if env variable is switched on
- Add PSM_PERF functionality (for measuring number of instructions
retired between two points in code)
- Bug Fixes
- Include commits from GitHub PR's #13, #14, #16
- Fix SLES build issue
- Allow psm2_ep_connect to be called multiple times with 'self' epid
- Fix issue with psm2_mq_ipeek2 and psm2_mq_test2 when used with
multi-threaded OMPI
- Fix performance related bugs for PSM2_CUDA builds
- Remove libpsm2-fix-compilation-for-hfi1-v5.patch and
libpsm2-compat-dependency-to-libpsm2.patch as they were merged
upstream.
- Update _service to allow auto updates from github
-------------------------------------------------------------------
Sat Aug 12 15:45:38 UTC 2017 - jengelh@inai.de
- Remove unnecessary ldconfig from -devel subpackage.
-------------------------------------------------------------------
Wed Aug 9 15:03:15 UTC 2017 - nmoreychaisemartin@suse.com
- Update to version 10.2-235
- Set TidFlow starting sequence number to 0
- Add support for KNM detection
- Generalize affinity logic to extend to non-CUDA workloads as well
- Cleanup build artifacts. "make" output will now be in $PWD/build_release by
default
- Bug Fixes
- Mask non-DW msg size assert
- Fix hang associated with re-transmit of last fragment of non-DW aligned
SDMA eager message
- Keep track of only last unsent ACK message
- Retry context operns to fix interrupted syscall
- Fix segfault in disconnect code path
- Add psm2_ep_disconnect API
- Add GPU-Direct and support for CUDA buffers in PSM2
- Implement new HFI Selection algorithm for CUDA version of PSM2
- Related to this, Add new PSM2_MULTIRAIL option to allow multirail only
within a socket.
- Bug Fixes and Driver interface changes
- Sync with driver interface changes for GPU-Direct feature support
- Fix hang in PSM2 during context open
- Fix bug in psmi_memalign()
- Fix data corruption due to unaligned bytes in msg
- Drop libpsm2-gcc7.patch as it was fixed upstream
- Add set_version service
- Add libpsm2-fix-compilation-for-hfi1-v5.patch to fix compilation
for older kernels
-------------------------------------------------------------------
Mon Jul 10 09:54:50 UTC 2017 - nmoreychaisemartin@suse.com
- Add libpsm2-compat-dependency-to-libpsm2.patch so libpsm_infinipath.so
provided by libpsm2-compat is linked to libpsm2 which provides
its missing symbols
-------------------------------------------------------------------
Mon Jul 10 09:15:38 UTC 2017 - nmoreychaisemartin@suse.com
- Remove obsolete psm2 library directory
-------------------------------------------------------------------
Fri Jul 7 11:56:10 UTC 2017 - dimstar@opensuse.org
- BuildRequire pkgconfig(udev) instead of udev: allow OBS to choose
udev-mini over udev, which in turn allows to break build cycles.
-------------------------------------------------------------------
Fri Jun 30 07:20:15 UTC 2017 - nmoreychaisemartin@suse.com
- Install psm2-compat library in the standard path
- Have libpsm2-compat conflict with libpsm_infinipath1
-------------------------------------------------------------------
Fri May 19 19:07:37 UTC 2017 - dimstar@opensuse.org
- Add libpsm2-gcc7.patch: Fix build with gcc 7.x. Patch taken from
upstream git, https://github.com/01org/opa-psm2/commit/52aa214e8.
-------------------------------------------------------------------
Fri May 19 11:01:20 UTC 2017 - nmoreychaisemartin@suse.com
- libpsm2-2 provides libpsm2 (bsc#1039855)
-------------------------------------------------------------------
Mon May 15 11:54:57 UTC 2017 - nmoreychaisemartin@suse.com
- Fix package version numbering (bsc#1037661).
-------------------------------------------------------------------
Fri Apr 7 15:20:59 CEST 2017 - pth@suse.de
- Remove leftover conflict marker
-------------------------------------------------------------------
Wed Mar 29 13:51:32 CEST 2017 - pth@suse.de
- Fix summary for libpsm2-compat.
-------------------------------------------------------------------
Mon Mar 13 14:06:39 UTC 2017 - jengelh@inai.de
- Rectify RPM groups and refine description
-------------------------------------------------------------------
Thu Mar 9 08:05:48 UTC 2017 - josef.moellers@suse.com
- Update to latest Intel version:
Sync with PSM2 master upto fixes for CMA get/put
In addition to Dynamic CMA failover support, this code surface
includes-
* Improved output array_of_errors in psm_ep_connect,
* Improved signal handling for SIGSEGV/SIGBUS events
* New abstraction layer for driver commands
* Ubuntu packaging support
... and some bug fixes.
JM: This obsoletes my libpsm2-calc-checksum.patch.
- Include sys/ioctl.h in psmi_wrappers.c
- Add hfi1diag/psmi_wrappers.h to installed files.
(FATE#321472, bnc#990171, libpsm2-include-ioctl_h.patch)
-------------------------------------------------------------------
Fri Mar 3 13:45:39 UTC 2017 - josef.moellers@suse.com
- Update to new version 10.3.1, mainly bug fixes
Intel has not made available any changelog.
As Intel's source did not compile, replaced calculation of the
hash
- Deleted file
libpsm2-avoid-executable-flag-on-installed-header-files.patch
(bnc#1024057, libpsm2-calc-checksum.patch, FATE#321472)
-------------------------------------------------------------------
Tue Dec 6 16:01:36 CET 2016 - pth@suse.de
- Update to 10.2.2. As 0.7 isn't mentioned in the log, see
ChangeLog for any changes to the package.
- Remove libpsm2-avoid-executable-flag-on-installed-header-files.patch
as the fix is upstream.
- Adapt the remaining patches to the changed sources.
- Generate ChangeLog from git log and package it.
-------------------------------------------------------------------
Thu Jun 9 14:20:16 CEST 2016 - ndas@suse.de
- Removed git from buildrequires and specify version and revision using
environment variables (bsc#983235).
[+libpsm2-use-exported-variable-for-version-and-release.patch]
- Added a _service file(bsc#983235).
-------------------------------------------------------------------
Fri May 27 10:25:07 CEST 2016 - ndas@suse.de
- Removed hfi1_user.h from the source as the required changes
are available in kernel-devel's hfi1_user.h(bsc#980733).
[-hfi1_user.h]
-------------------------------------------------------------------
Wed Mar 23 09:47:20 CET 2016 - ndas@suse.de
- Fix build error (bsc#972292).
-------------------------------------------------------------------
Fri Mar 11 16:33:22 CET 2016 - pth@suse.de
- Fix dependency of libpsm2-devel and -compat(bsc#970895).
-------------------------------------------------------------------
Wed Mar 9 18:21:57 CET 2016 - pth@suse.de
- Add libpsm2-use_RPM_OPT_FLAGS.patch to include RPM_OPT_FLAGS
in CFLAGS.
- Do not recreate RPM_BUILD_ROOT.
- Remove unneeded %clean section
-------------------------------------------------------------------
Wed Mar 2 16:58:02 UTC 2016 - nirmoy.das@suse.com
- Initial Package, Version 0.7(fate#319243).

163
libpsm2.spec Normal file
View File

@ -0,0 +1,163 @@
#
# spec file for package libpsm2
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global modprobe_d_files libpsm2-compat.conf
%global psm_so 2
%global git_ver %{nil}
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150300
%global _modprobedir /lib/modprobe.d
%endif
Name: libpsm2
Version: 12.0.1
Release: 0
Summary: Intel PSM Messaging API libraries
License: BSD-2-Clause OR GPL-2.0-only
Group: Development/Libraries/C and C++
URL: https://github.com/cornelisnetworks/opa-psm2/
Source0: %{name}-%{version}%{git_ver}.tar.bz2
Source1: libpsm2.changelog
Source2: libpsm2-rpmlintrc
Patch2: libpsm2-use_RPM_OPT_FLAGS.patch
Patch3: libpsm2-use-exported-variable-for-version-and-release.patch
BuildRequires: libnuma-devel
BuildRequires: libuuid-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(udev)
Conflicts: opa-libs
Obsoletes: hfi-psm
Obsoletes: hfi-psm-debuginfo
#Currently *only* builds on x86_64
ExclusiveArch: x86_64
%description
The PSM Messaging API, or PSM API, is Intel's low-level
user-level communications interface for the Truescale
family of products. PSM users are enabled with mechanisms
necessary to implement higher level communications
interfaces in parallel environments.
%package -n %{name}-%{psm_so}
Summary: Intel PSM Messaging API library
Group: System/Libraries
Provides: %{name} = %{version}
%description -n %{name}-%{psm_so}
libpsm2 provides PSM Messaging API, or PSM API, is Intel's low-level
user-level communications interface for the Truescale
family of products. This package contains the runtime library.
%package devel
Summary: Development files for the Intel PSM Messaging API
Group: Development/Libraries/C and C++
Requires: %{name}-%{psm_so} = %{version}
Requires: libuuid-devel
Conflicts: opa-devel
%package compat
Summary: Compatibility library providing the old PSM API/ABI
Group: Development/Libraries/C and C++
Requires: %{name}-%{psm_so} = %{version}
Conflicts: libpsm_infinipath1
%description devel
Development files for the libpsm2 library.
%description compat
Support for MPIs linked with PSM versions < 2.
%prep
%setup -q -n %{name}-%{version}%{git_ver}
%patch2
%patch3
cp %{SOURCE1} ChangeLog
%build
%global optflags %{optflags} -fcommon
export RPM_OPT_FLAGS
export VERSION=${Version} RELEASE=${Release}
%make_build
%install
export DESTDIR=%{buildroot}
modprobe_dir=%{_modprobedir}
make %{?_smp_mflags} DESTDIR=%{buildroot} LIBPSM2_COMPAT_CONF_DIR="${modprobe_dir%/*}" install
install -m0755 %{buildroot}%{_libdir}/psm2-compat/libpsm_infinipath.so.1 %{buildroot}%{_libdir}/libpsm_infinipath.so.1
# removing file to get rid of rpm errors
rm %{buildroot}%{_libdir}/psm2-compat/libpsm_infinipath.so.1
rm %{buildroot}%{_prefix}/lib/%{name}/libpsm2-compat.cmds
# remove static library
rm %{buildroot}%{_libdir}/libpsm2.a
%pre compat
# Avoid restoring outdated stuff in posttrans
for _f in %{?modprobe_d_files}; do
[ ! -f "%{_sysconfdir}/modprobe.d/${_f}.rpmsave" ] || \
mv -f "%{_sysconfdir}/modprobe.d/${_f}.rpmsave" "%{_sysconfdir}/modprobe.d/${_f}.rpmsave.old" || :
done
%post -n %{name}-%{psm_so} -p /sbin/ldconfig
%postun -n %{name}-%{psm_so} -p /sbin/ldconfig
%post compat -p /sbin/ldconfig
%postun compat -p /sbin/ldconfig
%posttrans compat
# Migration of modprobe.conf files to _modprobedir
for _f in %{?modprobe_d_files}; do
[ ! -f "%{_sysconfdir}/modprobe.d/${_f}.rpmsave" ] || \
mv -fv "%{_sysconfdir}/modprobe.d/${_f}.rpmsave" "%{_sysconfdir}/modprobe.d/${_f}" || :
done
%files -n %{name}-%{psm_so}
%{_libdir}/libpsm2.so.*
%{_udevrulesdir}/40-psm.rules
%doc README ChangeLog
%license COPYING
%files devel
%{_libdir}/libpsm2.so
%{_includedir}/psm2.h
%{_includedir}/psm2_mq.h
%{_includedir}/psm2_am.h
# The following files were part of the devel-noship and moved to devel:
%dir %{_includedir}/hfi1diag/
%dir %{_includedir}/hfi1diag/linux-x86_64/
%{_includedir}/hfi1diag/linux-x86_64/bit_ops.h
%{_includedir}/hfi1diag/linux-x86_64/sysdep.h
%{_includedir}/hfi1diag/hfi1_deprecated.h
%{_includedir}/hfi1diag/opa_udebug.h
%{_includedir}/hfi1diag/opa_debug.h
%{_includedir}/hfi1diag/opa_intf.h
%{_includedir}/hfi1diag/opa_user.h
%{_includedir}/hfi1diag/opa_service.h
%{_includedir}/hfi1diag/opa_common.h
%{_includedir}/hfi1diag/opa_byteorder.h
%{_includedir}/hfi1diag/opa_revision.h
%{_includedir}/hfi1diag/psm2_mock_testing.h
%{_includedir}/hfi1diag/psmi_wrappers.h
%files compat
%dir %{_modprobedir}
%{_libdir}/libpsm_infinipath.so.*
%{_udevrulesdir}/40-psm-compat.rules
%{_modprobedir}/libpsm2-compat.conf
%changelog