SHA256
1
0
forked from pool/dapl

- Add openib-add-missing-include.patch to fix compilation

with GCC >= 14.

OBS-URL: https://build.opensuse.org/package/show/science:HPC/dapl?expand=0&rev=28
This commit is contained in:
Nicolas Morey 2024-09-05 13:05:56 +00:00 committed by Git OBS Bridge
commit c07f6c71b9
17 changed files with 1021 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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>debug</package>
</multibuild>

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
libdat2-2
dapl-devel

View File

@ -0,0 +1,12 @@
diff --git dapl/openib_cma/device.c dapl/openib_cma/device.c
index 326df62..f1a253d 100644
--- dapl/openib_cma/device.c
+++ dapl/openib_cma/device.c
@@ -305,7 +305,6 @@ DAT_RETURN dapls_ib_open_hca(IN IB_HCA_NAME hca_name,
}
ret = rdma_bind_addr(cm_id, (struct sockaddr *)&hca_ptr->hca_address);
if ((ret) || (cm_id->verbs == NULL)) {
- rdma_destroy_id(cm_id);
dapl_log(DAPL_DBG_TYPE_ERR,
" open_hca: rdma_bind ERR %s."
" Is %s configured as IPoIB?\n", strerror(errno), hca_name);

3
dapl-2.1.10.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8eb6df3b47fcaad8ea6d35453ffc884b1ef2148f7a0984a3556795bab650fa9b
size 1071002

View File

@ -0,0 +1,39 @@
diff -upr dapl-2.1.10.orig/dapl/udapl/linux/dapl_osd.h dapl-2.1.10/dapl/udapl/linux/dapl_osd.h
--- dapl/udapl/linux/dapl_osd.h 2018-05-24 13:31:37.000000000 +0200
+++ dapl/udapl/linux/dapl_osd.h 2018-05-24 14:03:08.040508060 +0200
@@ -51,7 +51,7 @@
#if !defined (__i386__) && !defined (__ia64__) && !defined(__x86_64__) && \
!defined(__PPC__) && !defined(__PPC64__) && !defined(__s390x__) && \
- !defined(__aarch64__) && !defined(__s390__)
+ !defined(__aarch64__) && !defined(__arm__) && !defined(__s390__)
#error UNDEFINED ARCH
#endif
@@ -215,7 +215,7 @@ dapl_os_atomic_inc (
: "=&r" (tmp), "+m" (v)
: "b" (v)
: "cc");
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) || defined(__arm__)
__atomic_fetch_add(v, 1, __ATOMIC_ACQ_REL);
#else /* !__ia64__ */
__asm__ __volatile__ (
@@ -261,7 +261,7 @@ dapl_os_atomic_dec (
: "=&r" (tmp), "+m" (v)
: "b" (v)
: "cc");
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) || defined(__arm__)
__atomic_fetch_add(v, -1, __ATOMIC_ACQ_REL);
#else /* !__ia64__ */
__asm__ __volatile__ (
@@ -327,7 +327,7 @@ dapl_os_atomic_assign (
: "=&r" (current_value), "=m" (*v)
: "r" (v), "r" (match_value), "r" (new_value), "m" (*v)
: "cc", "memory");
-#elif defined(__aarch64__)
+#elif defined(__aarch64__) || defined(__arm__)
current_value = match_value;
__atomic_compare_exchange_n(v, &current_value, new_value, 1,
__ATOMIC_ACQ_REL, __ATOMIC_RELAXED);

15
dapl-define_NULL.patch Normal file
View File

@ -0,0 +1,15 @@
diff --git dat/common/dat_strerror.c dat/common/dat_strerror.c
index 915dfb0..5f26383 100644
--- dat/common/dat_strerror.c
+++ dat/common/dat_strerror.c
@@ -37,6 +37,10 @@
* $Id: dat_strerror.c,v 1.10 2005/03/24 05:58:28 jlentini Exp $
**********************************************************************/
+#ifdef __GNUC__
+#include <stddef.h> /* to get NULL defined */
+#endif
+
#ifdef __KDAPL__
#include <dat2/kdat.h>
#else /*__UDAPL__*/

13
dapl-fsf_address.patch Normal file
View File

@ -0,0 +1,13 @@
Index: LICENSE3.txt
===================================================================
--- LICENSE3.txt.orig 2011-08-19 19:09:23.000000000 +0200
+++ LICENSE3.txt 2012-08-30 15:34:27.361191648 +0200
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

40
dapl-man_page_fixes.patch Normal file
View File

@ -0,0 +1,40 @@
diff --git man/dapltest.1 man/dapltest.1
index 90fd6d2..0cbee31 100644
--- man/dapltest.1
+++ man/dapltest.1
@@ -1,4 +1,3 @@
-." Text automatically generated by txt2man
.TH dapltest 1 "November 15, 2016" "uDAPL 2.1" "USER COMMANDS"
.SH NAME
diff --git man/dat.conf.5 man/dat.conf.5
index e3f11a4..2fc1d32 100644
--- man/dat.conf.5
+++ man/dat.conf.5
@@ -25,7 +25,7 @@ entries in the \fIdat.conf\fR file. The process of adding a provider
entry is termed Static Registration.
.PP
.SH "Registry File Format"
-\br
+\br
* All characters after # on a line are ignored (comments).
* Lines on which there are no characters other than whitespace
and comments are considered blank lines and are ignored.
@@ -46,7 +46,7 @@ entry is termed Static Registration.
- platform params, (not used)
.PP
.SH OpenFabrics RDMA providers:
-\br
+\br
Provider options for different CM services
1. cma - OpenFabrics rdma_cm - uses rdma_cm services for connections
@@ -68,7 +68,7 @@ entry is termed Static Registration.
- libdaploucm (2.0)
.PP
.SH Example entries for each OpenFabrics provider
-\br
+\br
1. cma - OpenFarbrics rdma_cm examples

12
dapl-rpmlintrc Normal file
View File

@ -0,0 +1,12 @@
# This line is mandatory to access the configuration functions
from Config import *
addFilter(".* shared-lib-calls-exit")
#dapl is unique: differently named packages contain the same
#shared library but one compiled with tracing enabled.
addFilter(".* shlib-policy-name-error")
# As this is a plugin for libibverbs, there is no reason
# to name it according to policy
addFilter(".* shlib-policy-missing-suffix")

49
dapl-s390.patch Normal file
View File

@ -0,0 +1,49 @@
diff --git dapl/udapl/linux/dapl_osd.h dapl/udapl/linux/dapl_osd.h
index 2b255d0..d9362f5 100644
--- dapl/udapl/linux/dapl_osd.h
+++ dapl/udapl/linux/dapl_osd.h
@@ -51,7 +51,7 @@
#if !defined (__i386__) && !defined (__ia64__) && !defined(__x86_64__) && \
!defined(__PPC__) && !defined(__PPC64__) && !defined(__s390x__) && \
- !defined(__aarch64__)
+ !defined(__aarch64__) && !defined(__s390__)
#error UNDEFINED ARCH
#endif
@@ -160,7 +160,7 @@ int dapl_os_get_env_val (
/* atomic functions */
-#ifdef __s390x__
+#if defined(__s390x__) || defined(__s390__)
#define DAPL_CS_ADD(ptr, op_val) ({ \
int old_val, new_val; \
__asm__ __volatile__( \
@@ -199,7 +199,7 @@ dapl_os_atomic_inc (
#else
IA64_FETCHADD(old_value,v,1,4);
#endif
-#elif defined(__s390x__)
+#elif defined(__s390x__) || defined(__s390__)
DAT_COUNT tmp;
DAT_COUNT delta = 1;
@@ -245,7 +245,7 @@ dapl_os_atomic_dec (
#else
IA64_FETCHADD(old_value,v,-1,4);
#endif
-#elif defined(__s390x__)
+#elif defined(__s390x__) || defined(__s390__)
DAT_COUNT tmp;
DAT_COUNT delta = -1;
@@ -307,7 +307,7 @@ dapl_os_atomic_assign (
#else
current_value = ia64_cmpxchg(acq,v,match_value,new_value,4);
#endif /* __ia64__ */
-#elif defined(__s390x__)
+#elif defined(__s390x__) || defined(__s390__)
__asm__ __volatile__(
" cs %0,%2,%1\n"
: "+d" (match_value), "=Q" (*v)

418
dapl.changes Normal file
View File

@ -0,0 +1,418 @@
-------------------------------------------------------------------
Thu Sep 5 12:32:44 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
- Add openib-add-missing-include.patch to fix compilation
with GCC >= 14.
-------------------------------------------------------------------
Mon Feb 26 07:43:13 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Use %autosetup macro. Allows to eliminate the usage of deprecated
PatchN.
-------------------------------------------------------------------
Thu May 4 13:18:39 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Convert to proper multibuild package: the spec is already all
done to distinguish flavors.
-------------------------------------------------------------------
Sat Jul 14 20:21:56 UTC 2018 - bwiedemann@suse.com
- Add reproducible.patch to fix build time (boo#1047218)
-------------------------------------------------------------------
Tue May 29 06:04:37 UTC 2018 - nmoreychaisemartin@suse.com
- Add ucm-mcm-fix-backlog-parameter-for-socket.patch to fix
a "deadlock" that causes socket connection to timeout when
net.ipv4.tcp_syncookies=0. (bsc#1094657)
-------------------------------------------------------------------
Thu May 24 12:47:16 UTC 2018 - kasimir_@outlook.de
- Add patch for arm platform support
* dapl-add-arm-platform-support.patch
-------------------------------------------------------------------
Thu Jul 20 08:25:04 UTC 2017 - nmoreychaisemartin@suse.com
- Update to 2.1.10
* dtest_suite: add option to pause the test.
* dtestcm: add client retry, give server time to queue up all listens
* dtest: Add new man pages. (dtestx dtestcm dtestsrq)
* cma: fix open_query mode, initialize attributes
* ucm: up level CM timer logging, increase drep time at scale
* dtest: fix return value check on do_rdma_write_with_msg
* dtestx: check device capabilities and do atomic tests only if supported by HW
* common: set atomic attributes based on provider/device capabilities
* build: dtest_suite.sh was moved to test/scripts
* mpxyd: let TX thread sleep if no open devices are referenced
* mcm: when mmap req from MIC return with fail stat print WARN.
* dtest_suite: remove duplicate dtest_suite.sh
* dtest: enable -D option (data check) to work with scif provider
* dtest_suite: fix typo in user_string var
* mcm: remove logs from post send speed path
* mcm proxy: push WR from MIC to host with scif mmap memory instead of scif_send.
* dtest: the default size in pingpong test is set to 1 byte regardless to user input.
* dtest: cleanup 4 printfs from the middle of performance test, may reduce performance.
- Refresh patches against 2.1.10
-------------------------------------------------------------------
Mon Jun 12 09:28:22 UTC 2017 - nmoreychaisemartin@suse.com
- Merge .changes files with SLE12-SP3 (bsc#1041579)
-------------------------------------------------------------------
Tue May 30 08:50:05 UTC 2017 - nmoreychaisemartin@suse.com
- Add conflicts between dapl and dapl-debug packages for devel
and utils
- Rename dapl-utils tests to avoid conflicts with other packages (dateutils)
* dapltest => dapl-test
* dtest => dapl-utest
* dtestcm => dapl-testcm
* dtestsrq => dapl-testsrq
* dtestx => dapl-testx
- Remove librdmacm and libibverbs version dependencies
-------------------------------------------------------------------
Thu May 25 07:19:35 UTC 2017 - jengelh@inai.de
- Restore description of libdapl. Fix some grammar errors.
-------------------------------------------------------------------
Wed May 17 08:20:55 UTC 2017 - nmoreychaisemartin@suse.com
- Disable dapl on armv7hl
-------------------------------------------------------------------
Wed Mar 29 07:53:21 CEST 2017 - pth@suse.de
- Make dependencies on libs now coming from rdma-core versioned.
- Remove unused patch dapl-rename_dtest.patch
-------------------------------------------------------------------
Thu Mar 10 15:19:58 CET 2016 - pth@suse.de
- Update to 2.1.8 git version (bsc#970668).
List of changes is too long so please see the included ChangeLog.
- Patches removed because the fixes are included upstream:
dapl-fix_type_punning.patch
dapl-autotools.patch
dapl-add-s390x-platform-support.patch
dapl-add-aarch64-platform-support.patch
dapl-add-s390x-platform-support.patch
- Add dapl-s390.patch so that the defines are also valid for s390
-------------------------------------------------------------------
Thu Sep 10 08:04:16 UTC 2015 - dmueller@suse.com
- add dapl-add-aarch64-platform-support.patch (fate#318444)
- revert last change
-------------------------------------------------------------------
Tue Aug 25 12:26:58 CEST 2015 - pth@suse.de
- Exclude aarch64 as there is currently no assembler code for this
architecture.
-------------------------------------------------------------------
Tue Aug 11 11:04:01 CEST 2015 - pth@suse.de
- Replace dapl-s390_support.patch with
dapl-add-s390x-platform-support.patch (bsc#934683).
- Fix library name in baselibs.conf.
- Tag baselibs.conf and dapl-rpmlintrc as source.
- libdapl*.so work like plugins, hence they do not get a separate
subpackage. So shut up rpmlint complaining about the package
name.
- Drop the dapl-doc sub package and move the man pages to the
packages containing the files/programs they describe.
-------------------------------------------------------------------
Wed Feb 4 14:33:06 UTC 2015 - dimstar@opensuse.org
- Also have dapl-utils conflict with dapl-debug-utils.
- Fix baselibs.conf to build libdat2-2-32bit.
-------------------------------------------------------------------
Mon Sep 8 07:46:08 UTC 2014 - coolo@suse.com
- dapl-debug can't obsolete dapl or zypper will switch between the versions
all the time. They do conflict though
-------------------------------------------------------------------
Fri Aug 8 19:06:02 CEST 2014 - pth@suse.de
- Add dapl-rename_dtest.patch to rename dtest to dpltest because
of name clash with dateutils.
- Also rename the man page for dtest.
- Make dapl-devel and dapl-debug-devel obsolete each other.
-------------------------------------------------------------------
Thu Aug 7 11:55:32 CEST 2014 - pth@suse.de
- Readd s390 support (bnc#856126).
-------------------------------------------------------------------
Mon Aug 4 11:28:47 CEST 2014 - pth@suse.de
- Remove s390 support (bnc#856126).
-------------------------------------------------------------------
Fri Jun 27 14:11:27 CEST 2014 - pth@suse.de
- Add baselibs.conf and dapl-rpmlintrc as source.
- Fix dapl-fix_type_punning.patch.
- Fix type punning in cm.c
-------------------------------------------------------------------
Wed Jun 25 11:20:11 CEST 2014 - pth@suse.de
- Remove dapl-2.0.13-build_error.patch as it isn't needed anymore.
-------------------------------------------------------------------
Wed Jun 25 11:08:45 CEST 2014 - pth@suse.de
- Provide full source URL
-------------------------------------------------------------------
Tue May 20 13:54:20 CEST 2014 - pth@suse.de
- Fix typo in dapl_test.c.
-------------------------------------------------------------------
Thu May 15 11:43:25 CEST 2014 - pth@suse.de
- Reenable the code for s390x also for s390.
- Adapt dapl-fix_type_punning.patch to changed code.
- Fix obsoletes entry.
- Fix type punning with memcpy instead of unions.
-------------------------------------------------------------------
Tue May 13 22:52:17 CEST 2014 - pth@suse.de
- Update tp 2.0.42 from OFED 3.12 RC2.
Changes since 2.0.40:
* dapltest: increase DTO evd size to prevent CQ overflow on
limit_rpost test.
* Creation of reserved SP moves EP state to DAT_EP_STATE_RESERVED
even in failure cases. Reserve EP after successfully binding the
listening port.
* dapl: fix string bug in dapls_dto_op_str
This led to indexing off the end of the array and gave
surprising results for OP_RECV_UD.
* dapltest: change server port, from 45278 to 62000, out of
registered IANA range.
* dat: lower log level on load errors of provider library
* dat: dat_ia_open should close provider after failure
* dapltest: set default limit max to 1000
* openib: add new provider specific attributes
* dapltest: update scripts for regression testing purposes
* cl.sh and srv.sh update to provide better examples and
a methods to quickly regression test any dapltest changes.
* dapltest: Add final send/recv "sync" for transaction tests.
For the complete and unabbreviated Changes please see the file
ChangeLog in the package documentation.
-------------------------------------------------------------------
Thu Feb 13 16:43:01 CET 2014 - pth@suse.de
- Update to 2.0.40 (fate#315488):
dist: ib collective extension include files missing
dapltest: the quit command is missing changes for -n option.
Server-port was not being set properly during param init phase
on the client side.
dat.conf: remove v1, add Mellanox Connect-IB and Intel Xeon Phi
MIC.
NULL undefined on Fedora, incorrectly using kernel stddef.h
-------------------------------------------------------------------
Tue Jan 21 18:46:54 CET 2014 - pth@suse.de
- Add dapl-autotools.patch to make autoreconf complain less.
-------------------------------------------------------------------
Fri Jan 17 12:13:40 CET 2014 - pth@suse.de
- Update to 2.0.39 from 3.12 daily snapshot.
- Include dapl-s390_support.patch from IBM for s390 support.
- Remove now unneeded patches:
dapl-2.0.13-build_error.patch
- Use script to generate spec and changes for dapl-debug from the
dapl files.
-------------------------------------------------------------------
Wed Jan 15 13:47:59 CET 2014 - pth@suse.de
- Build for s390x
-------------------------------------------------------------------
Thu Sep 13 13:59:23 CEST 2012 - pth@suse.de
- Add another filter to dapl-rpmlintrc as the packages for
the runtime library are named differently but contain a library
that's named the same.
-------------------------------------------------------------------
Wed Sep 5 18:12:59 CEST 2012 - pth@suse.de
- Reinstate the arch exclusion of s390(x).
- Recompress with bzip2.
-------------------------------------------------------------------
Wed Sep 5 14:38:57 UTC 2012 - jengelh@inai.de
- Remove redundant tags/sections from specfile
- Remove unjustified s390* arch exclusion
- Implement shared library policy
-------------------------------------------------------------------
Thu Aug 30 14:45:19 CEST 2012 - pth@suse.de
- Update to OFED 1.5.4.1 (dapl unchanged).
- Rename the package with tracing enabled dapl-tracing.
- Adapt baselibs.conf to new packages and names.
- Use one .spec and .changes file and create the -tracing
variants with pre_checkin.sh.
- Update FSF address in LICENSE3.txt.
-------------------------------------------------------------------
Tue Jul 3 18:19:08 CEST 2012 - pth@suse.de
- Put shared libs into a versioned package.
- Fix man pages
- Add a rpmlintrc to shut up warnings that can only be solved upstream.
-------------------------------------------------------------------
Thu Jun 28 18:55:46 CEST 2012 - pth@suse.de
- Use unions for type punning (dapl-type_punning.patch).
- Include stddef.h to get NULL defined.
- Require automake, autoconf and libtool.
- Provide obsoleted items.
-------------------------------------------------------------------
Wed May 9 13:48:37 CEST 2012 - pth@suse.de
- Update to OFED 1.5.4
- Don't recompress the tarball.
- Remove unneeded patches and adapt the remaining ones.
-------------------------------------------------------------------
Mon Jun 20 16:41:37 CEST 2011 - pth@suse.de
- Sed is also needed.
-------------------------------------------------------------------
Thu Jun 9 18:45:01 CEST 2011 - pth@suse.de
- After last change dapl needs cat so add prereq (bnc#688511).
-------------------------------------------------------------------
Mon Mar 7 16:15:35 CET 2011 - pth@suse.de
- Don't remove the configuration for this dapl version on update
(bnc#676731).
- Use cat instead of multiple echos.
- Include /etc/dat.conf as %conf %ghost.
-------------------------------------------------------------------
Fri Mar 4 13:16:19 CET 2011 - pth@suse.de
- Fix tmp race in post/postun (bnc#676700).
-------------------------------------------------------------------
Wed Feb 1 16:59:22 CET 2011 - pth@suse.de
- Incorporate fixes done for the update in SLE10:
- Split off man pages into their own sub package that can be
required by compat-dapl.
- Fix type-punning in test app so that we don't need
-fno-strict-aliasing allowing better code optimisation.
- Also fix type punning in other files that the newer gcc in SLE11
detected.
- realigned-disconnect.patch fixing bnc#656702
- added cma-fix-debug-build-issue.patch fixing debug build.
-------------------------------------------------------------------
Tue Nov 23 18:46:55 CET 2010 - pth@suse.de
- Let the caller detect EINTR (bnc#655518).
-------------------------------------------------------------------
Mon Oct 25 15:38:55 UTC 2010 - jjolly@novell.com
- Update to v2.0.30 from OFED 1.5.2
- Update to include more lines for dat.conf
- Patch to remove extra rdma_destroy_id() (bnc#647915)
-------------------------------------------------------------------
Tue Dec 8 01:03:36 CET 2009 - ro@suse.de
- fix build on ia64: help configure dectecting suse_version
-------------------------------------------------------------------
Thu Dec 3 08:34:10 CET 2009 - jjolly@suse.de
- Update to v2.0.19 from OFED 1.4.2
-------------------------------------------------------------------
Thu Dec 11 03:37:05 CET 2008 - jjolly@suse.de
- Updated to v2.0.15 from OFED 1.4 GA
- dapltest: transaction test moves to cleanup stage before
rdma_read processing is complete
- Change SR to include sysconfdir.
-------------------------------------------------------------------
Wed Dec 10 12:34:56 CET 2008 - olh@suse.de
- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade
(bnc#437293)
-------------------------------------------------------------------
Thu Nov 6 14:01:02 CET 2008 - ihno@suse.de
- adding baselibs.conf
-------------------------------------------------------------------
Tue Nov 4 11:50:42 CET 2008 - ro@suse.de
- fix build on ia64 (same as in compat-dapl)
-------------------------------------------------------------------
Thu Oct 30 12:34:56 CET 2008 - olh@suse.de
- obsolete old -XXbit packages (bnc#437293)
-------------------------------------------------------------------
Mon Oct 27 20:13:18 CET 2008 - jjolly@suse.de
- Updated to v2.0.14 from OFED 1.4 rc3
-------------------------------------------------------------------
Mon Oct 20 12:24:48 CEST 2008 - ihno@suse.de
- Excludearch for s390 s390x
-------------------------------------------------------------------
Fri Sep 12 10:52:31 CEST 2008 - jjolly@suse.de
- Updated to v2.0.13 from OFED 1.4 RC1 and changed from dapl2 to dapl
-------------------------------------------------------------------
Mon Apr 28 22:00:19 CEST 2008 - crrodriguez@suse.de
- do not build unusable static libraries
- fix -devel package requires
-------------------------------------------------------------------
Mon Mar 3 07:10:58 CET 2008 - jjolly@suse.de
- Initial submission of dapl v2.0.7 from OFED 1.3 GA release

291
dapl.spec Normal file
View File

@ -0,0 +1,291 @@
#
# spec file
#
# Copyright (c) 2024 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/
#
%define flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" != ""
%define nsuffix -%{flavor}
%endif
%define git_version %nil
Name: dapl%{?nsuffix}
Summary: A Library for userspace access to RDMA devices using OS Agnostic DAT APIs
License: BSD-3-Clause OR GPL-2.0-or-later OR CPL-1.0
Group: Productivity/Networking/System
Version: 2.1.10
Release: 0
Source0: https://www.openfabrics.org/downloads/dapl/dapl-%version.tar.gz
Source1: dapl-rpmlintrc
Source2: baselibs.conf
Patch1: dapl-2.0.30-dat-ia-open-hang.patch
Patch2: dapl-define_NULL.patch
Patch3: dapl-man_page_fixes.patch
Patch4: dapl-fsf_address.patch
Patch5: dapl-s390.patch
Patch6: dapl-add-arm-platform-support.patch
Patch7: ucm-mcm-fix-backlog-parameter-for-socket.patch
Patch8: reproducible.patch
Patch9: openib-add-missing-include.patch
URL: http://www.openfabrics.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
BuildRequires: libtool
%if "%name" == "dapl"
Conflicts: dapl-debug
%else
Conflicts: dapl
%endif
# bug437293
%ifarch ppc64
Obsoletes: dapl-64bit
%endif
#
Requires(post): /sbin/ldconfig
Requires(postun):/sbin/ldconfig
Requires(post): sed
Requires(post): coreutils
# libdapl*.so work like plugins, hence they do not get a separate subpackage.
%if "%{name}" == "dapl-debug"
%define lname dapl-debug-libs
%define other_lname libdat2-2
%else
%define lname libdat2-2
%define other_lname dapl-debug-libs
%endif
%description
Along with the OpenFabrics kernel drivers, libdat and libdapl provide
a userspace RDMA API that supports DAT 2.0 specification and IB
transport extensions for atomic operations and rdma write with
immediate data.
%package -n %lname
Summary: DAPL runtime libraries
Group: System/Libraries
Conflicts: %other_lname
Obsoletes: dapl2 < %version
Provides: dapl2 = %version
# Need dat.conf
Requires: %name
%description -n %lname
libdat and libdapl provide a userspace RDMA API that supports DAT 2.0
specification and IB transport extensions for atomic operations and
rdma write with immediate data.
This package contains the runtime libraries.
%if "%{name}" == "dapl-debug"
The libraries have tracing enabled.
%endif
%package devel
Summary: Development files for the libdat and libdapl libraries
Group: Development/Libraries/Other
Requires: %{name} = %{version}
Requires: glibc-devel
%if "%name" == "dapl"
Conflicts: dapl-debug-devel
%else
Conflicts: dapl-devel
%endif
%description devel
Library links and header files for the libdat and libdapl libraries.
%if "%{name}" == "dapl-debug"
The libraries have tracing enabled.
%endif
%package utils
Summary: Test suite for the uDAPL library
Group: Productivity/Networking/System
Requires: %{name} = %{version}-%{release}
Recommends: dapl-doc = %{version}
%if "%name" == "dapl"
Conflicts: dapl-debug-utils
%else
Conflicts: dapl-utils
%endif
%description utils
Test suite to validate the uDAPL library APIs.
%prep
%autosetup -p0 -n dapl-%{version}
%build
%if %suse_version == 1110
export ac_cv_suse11=yes
%endif
autoreconf -fi
%if "%name" == "dapl"
%configure --disable-static --with-pic
%else
%configure --disable-static --with-pic --enable-debug
%endif
make %{?_smp_mflags} V=1
%check
export MALLOC_CHECK_=2
make check
unset MALLOC_CHECK_
%install
make DESTDIR=%{buildroot} install
rm -f %{buildroot}%_libdir/*.la
%if "%{name}" == "dapl-debug"
rm -rf %{buildroot}%{_mandir}/man{1,5}/*
%endif
mkdir -p %{buildroot}%_sysconfdir
touch %{buildroot}%_sysconfdir/dat.conf
#Rename tests to avoid conflicts.
# dtest clashes with dateutils package
mv %{buildroot}%{_bindir}/dapltest %{buildroot}%{_bindir}/dapl-test
mv %{buildroot}%{_bindir}/dtest %{buildroot}%{_bindir}/dapl-utest
mv %{buildroot}%{_bindir}/dtestcm %{buildroot}%{_bindir}/dapl-testcm
mv %{buildroot}%{_bindir}/dtestsrq %{buildroot}%{_bindir}/dapl-testsrx
mv %{buildroot}%{_bindir}/dtestx %{buildroot}%{_bindir}/dapl-testx
%define man_regexp -e s/dapltest/dapl-test/g -e s/dtestcm/dapl-testcm/g -e s/dtestsrq/dapl-testsrq/g -e s/dtestx/dapl-testx/g -e s/dtest/dapl-utest/g
%if "%{name}" != "dapl-debug"
# Fix man pages accordingly
for manpage in dapltest dtest dtestcm dtestsrq dtestx; do
new_name=$(echo $manpage | sed %man_regexp)
sed %man_regexp %{buildroot}%{_mandir}/man1/$manpage.1 > %{buildroot}%{_mandir}/man1/$new_name.1
rm %{buildroot}%{_mandir}/man1/$manpage.1
done
%endif
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%post
/sbin/ldconfig
if test -e %_sysconfdir/dat.conf; then
sed -i -e '/ofa-v2-.* u2/d' %_sysconfdir/dat.conf
else
touch %_sysconfdir/dat.conf
fi
cat <<EOF >>%_sysconfdir/dat.conf
ofa-v2-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
ofa-v2-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" ""
ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib1 0" ""
ofa-v2-mthca0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mthca0 1" ""
ofa-v2-mthca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mthca0 2" ""
ofa-v2-ipath0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "ipath0 1" ""
ofa-v2-ipath0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "ipath0 2" ""
ofa-v2-ehca0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "ehca0 1" ""
ofa-v2-iwarp u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth2 0" ""
ofa-v2-mlx4_0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_0 1" ""
ofa-v2-mlx4_0-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_0 2" ""
ofa-v2-mthca0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mthca0 1" ""
ofa-v2-mthca0-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mthca0 2" ""
ofa-v2-cma-roe-eth2 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth2 0" ""
ofa-v2-cma-roe-eth3 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "eth3 0" ""
ofa-v2-scm-roe-mlx4_0-1 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
ofa-v2-scm-roe-mlx4_0-2 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
ofa-v2-mcm-1 u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 1" ""
ofa-v2-mcm-2 u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 2" ""
ofa-v2-scif0 u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "scif0 1" ""
ofa-v2-scif0-u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "scif0 1" ""
ofa-v2-mic0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "mic0:ib 1" ""
ofa-v2-mlx4_0-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 1" ""
ofa-v2-mlx4_0-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_0 2" ""
ofa-v2-mlx4_1-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_1 1" ""
ofa-v2-mlx4_1-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx4_1 2" ""
ofa-v2-mlx4_1-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_1 1" ""
ofa-v2-mlx4_1-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx4_1 2" ""
ofa-v2-mlx4_0-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 1" ""
ofa-v2-mlx4_0-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_0 2" ""
ofa-v2-mlx4_1-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_1 1" ""
ofa-v2-mlx4_1-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx4_1 2" ""
ofa-v2-mlx5_0-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_0 1" ""
ofa-v2-mlx5_0-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_0 2" ""
ofa-v2-mlx5_1-1s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_1 1" ""
ofa-v2-mlx5_1-2s u2.0 nonthreadsafe default libdaploscm.so.2 dapl.2.0 "mlx5_1 2" ""
ofa-v2-mlx5_0-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_0 1" ""
ofa-v2-mlx5_0-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_0 2" ""
ofa-v2-mlx5_1-1u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_1 1" ""
ofa-v2-mlx5_1-2u u2.0 nonthreadsafe default libdaploucm.so.2 dapl.2.0 "mlx5_1 2" ""
ofa-v2-mlx5_0-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_0 1" ""
ofa-v2-mlx5_0-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_0 2" ""
ofa-v2-mlx5_1-1m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_1 1" ""
ofa-v2-mlx5_1-2m u2.0 nonthreadsafe default libdaplomcm.so.2 dapl.2.0 "mlx5_1 2" ""
EOF
#On update save configuration before uninstall of old package runs
if [ $1 -gt 0 ]; then
cp -p %_sysconfdir/dat.conf %_sysconfdir/dat.conf.rpmtmp
fi
%posttrans
if [ -e "%_sysconfdir/dat.conf.rpmtmp" ]; then
mv %_sysconfdir/dat.conf.rpmtmp %_sysconfdir/dat.conf
fi
%postun
/sbin/ldconfig
#remove if this isn't an update
if [ $1 -eq 0 ]; then
if test -e %_sysconfdir/dat.conf; then
sed -i -e '/OpenIB-.* u1/d' %_sysconfdir/dat.conf
fi
fi
%files
%defattr(-, root, root)
%doc AUTHORS README COPYING ChangeLog LICENSE.txt LICENSE2.txt LICENSE3.txt
%_libdir/libdapl*.so.*
%config %ghost %_sysconfdir/dat.conf
%if "%{name}" != "dapl-debug"
%_mandir/man5/dat.conf.5*
%endif
%doc
%files -n %lname
%defattr(-,root,root)
%_libdir/libdat2.so.*
%files devel
%defattr(-, root, root)
%_includedir/dat2/
%_libdir/*.so
%files utils
%defattr(-,root,root,-)
%{_bindir}/*
%if "%{name}" != "dapl-debug"
%_mandir/man1/dapl-test.1*
%_mandir/man1/dapl-utest.1*
%_mandir/man1/dapl-testcm.1*
%_mandir/man1/dapl-testsrq.1*
%_mandir/man1/dapl-testx.1*
%endif
%changelog

View File

@ -0,0 +1,25 @@
commit 374032b1777f85cde146fad8c3e557d8d71654de
Author: Nicolas Morey <nmorey@suse.com>
Date: Thu Sep 5 14:30:20 2024 +0200
openib: add missing include
Add include to fix compilation with GCC >= 14:
dapl/openib_scm/cm.c: In function 'dapli_socket_connected':
dapl/openib_scm/cm.c:576:23: error: implicit declaration of function 'writev'; did you mean 'write'? [-Wimplicit-function-declaration]
576 | len = writev(cm_ptr->socket, iov, 2);
Signed-off-by: Nicolas Morey <nmorey@suse.com>
diff --git dapl/openib_scm/cm.c dapl/openib_scm/cm.c
index 29b45dff75dc..167f6fa7a5ab 100644
--- dapl/openib_scm/cm.c
+++ dapl/openib_scm/cm.c
@@ -51,6 +51,7 @@
#define DAPL_FD_SETSIZE FD_SETSIZE
#endif
+#include <sys/uio.h>
#include "dapl.h"
#include "dapl_adapter_util.h"
#include "dapl_evd_util.h"

32
reproducible.patch Normal file
View File

@ -0,0 +1,32 @@
merged upstream http://git.openfabrics.org/?p=~ardavis/dapl.git;a=commitdiff;h=f1e05b7adcee629ee7c1d4d86ea55344d9309232
with a insignificant diff
commit a25b1d9042ca3ae485f0d16c47e7a29bdbb35ec0
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
Date: Fri Jul 14 17:53:30 2017 +0200
Allow to override build date
in order to allow for reproducible builds.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
Note: This variant works with GNU date, if BSD date support is important,
a more complex patch can be done
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
diff --git Makefile.am Makefile.am
index 483ba90..91def97 100755
--- Makefile.am
+++ Makefile.am
@@ -48,7 +48,7 @@ AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DDAT_CONF="\"$(sysconfdir)/dat.conf\""
endif
AM_CFLAGS += -DMPXYD_CONF="\"$(sysconfdir)/mpxyd.conf\""
-AM_CFLAGS += -DPACKAGE_DATE=$$(date +'%Y%m%d')
+AM_CFLAGS += -DPACKAGE_DATE=$$(date -u -d@$${SOURCE_DATE_EPOCH:-$$(date +%s)} +'%Y%m%d')
sysconf_DATA = doc/dat.conf

View File

@ -0,0 +1,42 @@
commit 40264438e5320d4bf2cde5d8c1c2ddc4637d3042
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Tue May 29 07:53:52 2018 +0200
ucm, mcm: fix backlog parameter for socket
Using listen(, 0) forces a synchronization barrier between connect and accept
if net.ipv4.tcp_syncookies. As this is done by a single thread, it causes connect
to timeout with a similar message:
open_hca: failed to init cr pipe - Connection timed out
Replace with listen(, 1) so the kernel can accept the connection itself and remove
the synchronisation point.
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git dapl/openib_mcm/device.c dapl/openib_mcm/device.c
index 2e30221ac2d2..5ea25615f683 100644
--- dapl/openib_mcm/device.c
+++ dapl/openib_mcm/device.c
@@ -59,7 +59,7 @@ static int32_t create_os_signal(IN DAPL_HCA * hca_ptr)
if (ret)
goto err1;
- ret = listen(listen_socket, 0);
+ ret = listen(listen_socket, 1);
if (ret)
goto err1;
diff --git dapl/openib_ucm/device.c dapl/openib_ucm/device.c
index 11f7334ec348..9e257835f44b 100644
--- dapl/openib_ucm/device.c
+++ dapl/openib_ucm/device.c
@@ -92,7 +92,7 @@ static int32_t create_os_signal(IN DAPL_HCA * hca_ptr)
if (ret)
goto err1;
- ret = listen(listen_socket, 0);
+ ret = listen(listen_socket, 1);
if (ret)
goto err1;