RHEL 9.0.0 Alpha bootstrap

The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/libpsm2#820ce82918af826a0faf8e3aebf1276e20985049
This commit is contained in:
Petr Šabata 2020-10-15 17:01:10 +02:00
parent 1f6c62b1b1
commit 6e30b0aaf7
5 changed files with 370 additions and 0 deletions

8
.gitignore vendored
View File

@ -0,0 +1,8 @@
/libpsm2-10.2.1.tar.gz
/libpsm2-10.2.2.tar.gz
/libpsm2-10.2.103_1.tar.gz
/libpsm2-10.3.8.tar.gz
/libpsm2-10.3.58.tar.gz
/libpsm2-11.2.23.tar.gz
/libpsm2-11.2.78.tar.gz
/libpsm2-11.2.86.tar.gz

View File

@ -0,0 +1,112 @@
From d91fc0569da44e7b9ebb6883974703b8e982098b Mon Sep 17 00:00:00 2001
From: Honggang Li <honli@redhat.com>
Date: Mon, 10 Feb 2020 04:59:36 -0500
Subject: [PATCH] Fix multiple definition issues
Signed-off-by: Honggang Li <honli@redhat.com>
---
psm_error.h | 2 +-
psm_utils.c | 6 ++++++
psm_utils.h | 7 ++-----
ptl_am/ptl_fwd.h | 2 +-
ptl_ips/ptl_fwd.h | 4 ++--
ptl_self/ptl_fwd.h | 2 +-
6 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/psm_error.h b/psm_error.h
index f335382..cb1b4ba 100644
--- a/psm_error.h
+++ b/psm_error.h
@@ -65,7 +65,7 @@
#define PSMI_EP_NORETURN ((psm2_ep_t) -2)
#define PSMI_EP_LOGEVENT ((psm2_ep_t) -3)
-psm2_ep_errhandler_t psmi_errhandler_global;
+extern psm2_ep_errhandler_t psmi_errhandler_global;
psm2_error_t MOCKABLE(psmi_handle_error)(psm2_ep_t ep, psm2_error_t error,
const char *buf, ...)
diff --git a/psm_utils.c b/psm_utils.c
index 521467f..7787f53 100644
--- a/psm_utils.c
+++ b/psm_utils.c
@@ -62,6 +62,12 @@ int psmi_ep_device_is_enabled(const psm2_ep_t ep, int devid);
struct psmi_epid_table psmi_epid_table;
+/*
+ * Global model so we can tune defaults better for specific cpu's
+ */
+uint32_t psmi_cpu_model;
+
+
/* Iterator to access the epid table.
* 'ep' can be NULL if remote endpoints from all endpoint handles are requested
*/
diff --git a/psm_utils.h b/psm_utils.h
index fc38153..b94443d 100644
--- a/psm_utils.h
+++ b/psm_utils.h
@@ -317,10 +317,7 @@ uint32_t psmi_crc(unsigned char *buf, int len);
#define CPUID_GENUINE_INTEL 0xf0000000
#define CPUID_MODEL_UNDEFINED -1
-/*
- * Global model so we can tune defaults better for specific cpu's
- */
-uint32_t psmi_cpu_model;
+extern uint32_t psmi_cpu_model;
/*
* Diagnostics, all in psm_diags.c
@@ -337,7 +334,7 @@ void psmi_multi_ep_init();
* Fault injection
*/
struct psmi_faultinj_spec;
-int psmi_faultinj_enabled; /* use macro to test */
+extern int psmi_faultinj_enabled; /* use macro to test */
#if 1 /* possible to disable at compile time */
#define PSMI_FAULTINJ_ENABLED() (!!psmi_faultinj_enabled)
#else
diff --git a/ptl_am/ptl_fwd.h b/ptl_am/ptl_fwd.h
index e1bd064..1d0fec4 100644
--- a/ptl_am/ptl_fwd.h
+++ b/ptl_am/ptl_fwd.h
@@ -57,7 +57,7 @@
#define _PTL_FWD_AMSH_H
/* Symbol in am ptl */
-struct ptl_ctl_init psmi_ptl_amsh;
+extern struct ptl_ctl_init psmi_ptl_amsh;
extern int psmi_shm_mq_rv_thresh;
diff --git a/ptl_ips/ptl_fwd.h b/ptl_ips/ptl_fwd.h
index 3702fba..b774260 100644
--- a/ptl_ips/ptl_fwd.h
+++ b/ptl_ips/ptl_fwd.h
@@ -61,7 +61,7 @@ typedef struct ips_epaddr ips_epaddr_t;
typedef struct ips_msgctl ips_msgctl_t;
/* Symbol in ips ptl */
-struct ptl_ctl_init psmi_ptl_ips;
+extern struct ptl_ctl_init psmi_ptl_ips;
-struct ptl_ctl_rcvthread psmi_ptl_ips_rcvthread;
+extern struct ptl_ctl_rcvthread psmi_ptl_ips_rcvthread;
#endif /* _PTL_FWD_IPS_H */
diff --git a/ptl_self/ptl_fwd.h b/ptl_self/ptl_fwd.h
index 77ee7f9..7ee6b73 100644
--- a/ptl_self/ptl_fwd.h
+++ b/ptl_self/ptl_fwd.h
@@ -57,6 +57,6 @@
#define _PTL_FWD_SELF_H
/* Symbol in am ptl */
-struct ptl_ctl_init psmi_ptl_self;
+extern struct ptl_ctl_init psmi_ptl_self;
#endif
--
2.25.0

236
libpsm2.spec Normal file
View File

@ -0,0 +1,236 @@
#
# This file is provided under a dual BSD/GPLv2 license. When using or
# redistributing this file, you may do so under either license.
#
# GPL LICENSE SUMMARY
#
# Copyright(c) 2015 Intel Corporation.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# Contact Information:
# Intel Corporation, www.intel.com
#
# BSD LICENSE
#
# Copyright(c) 2015 Intel Corporation.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Intel Corporation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Copyright (c) 2014-2015 Intel Corporation. All rights reserved.
#
Summary: Intel PSM Libraries
Name: libpsm2
Version: 11.2.86
Release: 6%{?dist}
License: BSD or GPLv2
URL: https://github.com/01org/opa-psm2/
# The tarball can be created by:
# git clone https://github.com/01org/opa-psm2
# cd opa-psm2
# git checkout 4f0ad8cf4d6b44fcce5f745e946a056659ba54c0
# make dist
Source0: %{name}-%{version}.tar.gz
Patch0: 0001-Fix-multiple-definition-issues.patch
Patch1: makefile-distro-from-environment.patch
# The OPA product is supported on x86 64 only:
ExclusiveArch: x86_64
BuildRequires: libuuid-devel
BuildRequires: numactl-devel
BuildRequires: systemd
BuildRequires: gcc
Obsoletes: hfi1-psm < 1.0.0
%package devel
Summary: Development files for Intel PSM
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libuuid-devel
%package compat
Summary: Compat library for Intel PSM
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: systemd-udev
%global _privatelibs libpsm_infinipath[.]so[.]1.*
%global __provides_exclude ^(%{_privatelibs})$
%global __requires_exclude ^(%{_privatelibs})$
%description
The PSM Messaging API, or PSM API, is the low-level
user-level communications interface for the Intel OPA
family of products. PSM users are enabled with mechanisms
necessary to implement higher level communications
interfaces in parallel environments.
%description devel
Development files for the Intel PSM library
%description compat
Support for MPIs linked with PSM versions < 2
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
%{set_build_flags}
%{make_build}
%install
%if 0%{?fedora}
export DISTRO=fedora
%endif
%if 0%{?rhel}
export DISTRO=rhel
%endif
%make_install
rm -f %{buildroot}%{_libdir}/*.a
%ldconfig_scriptlets
%files
%license COPYING
%{_libdir}/libpsm2.so.2.1
%{_libdir}/libpsm2.so.2
%if 0%{?rhel} >= 8
%{_udevrulesdir}/40-psm.rules
%endif
%files devel
%{_libdir}/libpsm2.so
%{_includedir}/psm2.h
%{_includedir}/psm2_mq.h
%{_includedir}/psm2_am.h
%{_includedir}/hfi1diag
%files compat
%{_libdir}/psm2-compat
%{_udevrulesdir}/40-psm-compat.rules
%{_prefix}/lib/libpsm2
%if 0%{?fedora}
%{_prefix}/lib/modprobe.d/libpsm2-compat.conf
%endif
%if 0%{?rhel} >= 8
%{_sysconfdir}/modprobe.d/libpsm2-compat.conf
%endif
%changelog
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.86-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Merlin Mathesius <mmathesi@redhat.com> - 11.2.86-5
- Minor updates to enable building for ELN
* Mon Feb 10 2020 Honggang Li <honli@redhat.com> - 11.2.86-4
- Fix FTBFS in Fedora rawhide/f32
- Resolves: bz1799597
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.86-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jan 17 2020 Tom Stellard <tstellar@redhat.com> - 11.2.86-2
- Use make_build macro
* Thu Oct 03 2019 Honggang Li <honli@redhat.com> - 11.2.86-1
- Rebase to latest upstream release PSM2_11.2.86
- Resolves: bz1758390
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.78-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.2.78-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jan 31 2019 Honggang Li <honli@redhat.com> - 11.2.78-1
- Rebase to latest upstream release PSM2_11.2.77
- Resolves: bz1671190
* Mon Oct 8 2018 Honggang Li <honli@redhat.com> - 11.2.23-1
- Rebase to latest upstream release 11.2.23
- Resolves: bz1637273
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.3.58-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jun 22 2018 Honggang Li <honli@redhat.com> - 10.3.58-1
- Rebase to latest upstream release 10.3.58.
- Resolves: bz1594073
* Thu Mar 15 2018 - 10.3.8-5
- Fix partial injection of Fedora build flags.
- Double the sizeof array fdesc to fix a gcc compiling issue.
- Resolves: bz1556062
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10.3.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jan 4 2018 Honggang Li <honli@redhat.com> - 10.3.8-3
- Filter PSM1 library as private library
- Resolves: bz1530979
* Fri Dec 15 2017 Honggang Li <honli@redhat.com> - 10.3.8-2
- Minor enhancement
- Resolves: bz1526261
* Tue Dec 12 2017 Honggang Li <honli@redhat.com> - 10.3.8-1
- Rebase to latest upstream release
- Resolves: bz1524846
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.2.103_1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.2.103_1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Apr 13 2017 Honggang Li <honli@redhat.com> - 10.2.103_1-1
- Rebase to latest upstream master branch.
- Fix build failures caught by gcc 7.x.
- Resolves: bz1423872
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 10.2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jun 13 2016 Michal Schmidt <mschmidt@redhat.com> - 10.2.2-2
- Remove redundant %%setup -n argument.
- Packaging Guidelines: Never use "(R)" in description.
* Tue Jun 07 2016 Paul Reger <paul.j.reger@intel.com> - 10.2.2-1
- Fix build failures only.
* Tue Apr 05 2016 Paul Reger <paul.j.reger@intel.com> - 10.2.1-1
- Upstream PSM2 source code for Fedora.

View File

@ -0,0 +1,13 @@
diff -ru ../libpsm2-11.2.86.orig/Makefile ./Makefile
--- ../libpsm2-11.2.86.orig/Makefile 2019-10-03 21:00:29.000000000 -0500
+++ ./Makefile 2020-07-13 13:55:53.994452919 -0500
@@ -164,7 +164,8 @@
# The DISTRO variable is used subsequently for variable
# behaviors of the 3 distros.
-DISTRO := $(shell . /etc/os-release; echo $$ID)
+# Use DISTRO from the environment
+# DISTRO := $(shell . /etc/os-release; echo $$ID)
# By default the following two variables have the following values:
LIBPSM2_COMPAT_CONF_DIR := /etc

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libpsm2-11.2.86.tar.gz) = d4e6c8b20e94c236dd773a54c61ddef1456774b3671c481c1af7c78328fc20747935a68cabbb379798605a13edccbeb0bcd55b216885ca0e4f8cba7cae99002a