From 4b801c3ccbb11f0b2c15179d945cb8343e56d4d032cd608f719a9db3d6883221 Mon Sep 17 00:00:00 2001 From: Ludwig Nussel Date: Mon, 11 Aug 2014 08:07:21 +0000 Subject: [PATCH] Accepting request 243995 from OFED:Factory Fix all issues with dapl OBS-URL: https://build.opensuse.org/request/show/243995 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dapl?expand=0&rev=1 --- .gitattributes | 23 +++ .gitignore | 1 + baselibs.conf | 2 + dapl-2.0.30-dat-ia-open-hang.patch | 23 +++ dapl-2.0.42.tar.gz | 3 + dapl-autotools.patch | 56 ++++++ dapl-debug.changes | 222 +++++++++++++++++++++ dapl-debug.spec | 282 +++++++++++++++++++++++++++ dapl-define_NULL.patch | 15 ++ dapl-fix_type_punning.patch | 299 +++++++++++++++++++++++++++++ dapl-fsf_address.patch | 13 ++ dapl-man_page_fixes.patch | 45 +++++ dapl-rename_dtest.patch | 40 ++++ dapl-rpmlintrc | 8 + dapl-s390_support.patch | 102 ++++++++++ dapl.changes | 222 +++++++++++++++++++++ dapl.spec | 282 +++++++++++++++++++++++++++ pre_checkin.sh | 8 + 18 files changed, 1646 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 baselibs.conf create mode 100644 dapl-2.0.30-dat-ia-open-hang.patch create mode 100644 dapl-2.0.42.tar.gz create mode 100644 dapl-autotools.patch create mode 100644 dapl-debug.changes create mode 100644 dapl-debug.spec create mode 100644 dapl-define_NULL.patch create mode 100644 dapl-fix_type_punning.patch create mode 100644 dapl-fsf_address.patch create mode 100644 dapl-man_page_fixes.patch create mode 100644 dapl-rename_dtest.patch create mode 100644 dapl-rpmlintrc create mode 100644 dapl-s390_support.patch create mode 100644 dapl.changes create mode 100644 dapl.spec create mode 100644 pre_checkin.sh diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..54d9e40 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,2 @@ +libdat2 +dapl-devel diff --git a/dapl-2.0.30-dat-ia-open-hang.patch b/dapl-2.0.30-dat-ia-open-hang.patch new file mode 100644 index 0000000..ebcc855 --- /dev/null +++ b/dapl-2.0.30-dat-ia-open-hang.patch @@ -0,0 +1,23 @@ +From: Pradeep Satyanarayana +Subject: [PATCH] Hang in dat_ia_open() + +Fixes hang due to erroneous invocation of rdma_destroy_id() twice +in a row + +Acked-by: John Jolly +--- + dapl/openib_cma/device.c | 1 - + 1 file changed, 1 deletion(-) + +Index: dapl/openib_cma/device.c +=================================================================== +--- dapl/openib_cma/device.c.orig 2011-08-19 19:09:23.000000000 +0200 ++++ dapl/openib_cma/device.c 2012-05-09 15:10:12.629247619 +0200 +@@ -289,7 +289,6 @@ DAT_RETURN dapls_ib_open_hca(IN IB_HCA_N + } + 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?\n", strerror(errno), hca_name); diff --git a/dapl-2.0.42.tar.gz b/dapl-2.0.42.tar.gz new file mode 100644 index 0000000..03d9de9 --- /dev/null +++ b/dapl-2.0.42.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79faba77b88acf94cb8fa8d1ecd4b0dd68bcd8eccba170536e8417ac44f6722b +size 806308 diff --git a/dapl-autotools.patch b/dapl-autotools.patch new file mode 100644 index 0000000..59fd3dc --- /dev/null +++ b/dapl-autotools.patch @@ -0,0 +1,56 @@ +From: Philipp Thomas +Date: 2014-01-21 18:40:02+01:00 +Subject: Enable running autoreconf +References: +Upstream: + +Adapt configure.in and Makefile.am so that autoreconf +complains less. + + configure.in | 5 +++-- + test/dapltest/Makefile.am | 2 +- + 2 files changed, 4 insertions(+), 3 deletions(-) + +Index: configure.in +=================================================================== +--- configure.in.orig 2014-05-05 18:11:33.000000000 +0200 ++++ configure.in 2014-06-25 18:11:15.740970867 +0200 +@@ -5,7 +5,7 @@ AC_INIT(dapl, 2.0.42, linux-rdma@vger.ke + AC_CONFIG_SRCDIR([dat/udat/udat.c]) + AC_CONFIG_AUX_DIR(config) + AM_CONFIG_HEADER(config.h) +-AM_INIT_AUTOMAKE(dapl, 2.0.42) ++AM_INIT_AUTOMAKE([-Wall foreign]) + + AM_PROG_LIBTOOL + +@@ -17,6 +17,7 @@ AC_ARG_ENABLE(libcheck, [ --disable-lib + + dnl Checks for programs + AC_PROG_CC ++AM_PROG_CC_C_O + + dnl Checks for libraries + if test "$disable_libcheck" != "yes" +@@ -63,7 +64,7 @@ AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, t + + dnl Support debug mode build - if enable-debug provided the DEBUG variable is set + AC_ARG_ENABLE(debug, +-[ --enable-debug Turn on debug mode, default=off], ++ AS_HELP_STRING([--enable-debug], [Turn on debug mode, default=off]), + [case "${enableval}" in + yes) debug=true ;; + no) debug=false ;; +Index: test/dapltest/Makefile.am +=================================================================== +--- test/dapltest/Makefile.am.orig 2014-04-07 19:27:35.000000000 +0200 ++++ test/dapltest/Makefile.am 2014-06-25 18:10:20.444662166 +0200 +@@ -8,7 +8,7 @@ AM_CFLAGS = -g -Wall -D_GNU_SOURCE + + dapltest_CFLAGS = $(AM_FLAGS) $(XFLAGS) + +-INCLUDES = -I include \ ++AM_CPPFLAGS = -I include \ + -I mdep/linux \ + -I $(srcdir)/../../dat/include + diff --git a/dapl-debug.changes b/dapl-debug.changes new file mode 100644 index 0000000..5356319 --- /dev/null +++ b/dapl-debug.changes @@ -0,0 +1,222 @@ +------------------------------------------------------------------- +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. + +------------------------------------------------------------------- +Fri Jun 27 14:11:27 CEST 2014 - pth@suse.de + +- Add baselibs.conf and dapl-rpmlintrc as source. +- 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 fuill source URL + +------------------------------------------------------------------- +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 + diff --git a/dapl-debug.spec b/dapl-debug.spec new file mode 100644 index 0000000..593ca7c --- /dev/null +++ b/dapl-debug.spec @@ -0,0 +1,282 @@ +# +# spec file for package dapl-debug +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# 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 http://bugs.opensuse.org/ +# + + +Name: dapl-debug +Summary: A Library for userspace access to RDMA devices using OS Agnostic DAT APIs +License: BSD-3-Clause or GPL-2.0+ or CPL-1.0 +Group: Productivity/Networking/System +Version: 2.0.42 +Release: 0 +Source0: https://www.openfabrics.org/downloads/dapl/dapl-%{version}.tar.gz +Source1: baselibs.conf +Source2: dapl-rpmlintrc +Patch1: dapl-2.0.30-dat-ia-open-hang.patch +Patch4: dapl-fix_type_punning.patch +Patch5: dapl-define_NULL.patch +Patch6: dapl-man_page_fixes.patch +Patch7: dapl-fsf_address.patch +Patch8: dapl-s390_support.patch +Patch9: dapl-autotools.patch +Patch10: dapl-rename_dtest.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" +Provides: dapl-debug +Obsoletes: dapl-debug +%endif + +%if "%name" == "dapl-debug" +Provides: dapl +Obsoletes: 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 provides +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 +Along with the OpenIB kernel drivers, libdat2 and libdapl provide a +userspace RDMA API that supports DAT 2.0 specification. + +%description -n %lname +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-debug" +Obsoletes: dapl-devel +Provides: dapl-devel +%else +Obsoletes: dapl-debug-devel +Provides: dapl-debug-devel +%endif + +%description devel +Library links and header files for the libdat and libdapl libraries. + +%if "%{name}" != "dapl-debug" +%package doc +Summary: Manual pages for libdapl +Group: Documentation/Man +Requires: %{name} = %{version} +Provides: dapl:%{_mandir}/man5/dat.conf.5.gz +Provides: dapl_man + +%description doc +Along with the OpenFabrics kernel drivers, libdat and libdapl provides +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 provides the Documentation for the +library. +%endif + +%package utils +Summary: Test suites for the uDAPL library +Group: Productivity/Networking/System +Requires: %{name} = %{version}-%{release} + +%description utils +Useful test suites to validate the uDAPL library APIs. + +%prep +%setup -q -n dapl-%{version} +%patch1 +%patch4 +%patch5 +%patch6 +%patch7 +%patch8 -p1 +%patch9 +%patch10 + +%build +mv man/dtest.1 man/dpltest.1 +%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} + +%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 + +%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 <>%_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 + +%files -n %lname +%defattr(-,root,root) +%_libdir/libdat2.so.* + +%files devel +%defattr(-, root, root) +%_includedir/dat2/ +%_libdir/*.so + +%if "%{name}" != "dapl-debug" +%files doc +%defattr(-, root, root) +%_mandir/man1/* +%_mandir/man5/* +%endif + +%files utils +%defattr(-,root,root,-) +%{_bindir}/* + +%changelog diff --git a/dapl-define_NULL.patch b/dapl-define_NULL.patch new file mode 100644 index 0000000..35a01a2 --- /dev/null +++ b/dapl-define_NULL.patch @@ -0,0 +1,15 @@ +Index: dat/common/dat_strerror.c +=================================================================== +--- dat/common/dat_strerror.c.orig 2011-08-19 19:09:23.000000000 +0200 ++++ dat/common/dat_strerror.c 2012-06-28 18:01:00.330122282 +0200 +@@ -37,6 +37,10 @@ + * $Id: dat_strerror.c,v 1.10 2005/03/24 05:58:28 jlentini Exp $ + **********************************************************************/ + ++#ifdef __GNUC__ ++#include /* to get NULL defined */ ++#endif ++ + #ifdef __KDAPL__ + #include + #else /*__UDAPL__*/ diff --git a/dapl-fix_type_punning.patch b/dapl-fix_type_punning.patch new file mode 100644 index 0000000..f4eaa08 --- /dev/null +++ b/dapl-fix_type_punning.patch @@ -0,0 +1,299 @@ +--- + dapl/openib_scm/cm.c | 38 ++++++++++++++++++++++++-------------- + dapl/openib_ucm/cm.c | 29 +++++++++++++++++++++-------- + dapl/openib_ucm/device.c | 8 ++++---- + test/dapltest/test/dapl_limit.c | 11 +++++++---- + 4 files changed, 56 insertions(+), 30 deletions(-) + +Index: dapl/openib_scm/cm.c +=================================================================== +--- dapl/openib_scm/cm.c.orig 2014-04-07 19:27:35.000000000 +0200 ++++ dapl/openib_scm/cm.c 2014-06-27 14:10:00.894759920 +0200 +@@ -518,6 +518,7 @@ static void dapli_socket_connected(dp_ib + int len, exp; + struct iovec iov[2]; + struct dapl_ep *ep_ptr = cm_ptr->ep; ++ uint64_t tmp, tmp2; + + if (err) { + dapl_log(DAPL_DBG_TYPE_CM_WARN, +@@ -582,12 +583,12 @@ static void dapli_socket_connected(dp_ib + ntohs(cm_ptr->msg.saddr.ib.lid), + ntohl(cm_ptr->msg.saddr.ib.qpn), + ntohs(cm_ptr->msg.p_size)); ++ memcpy(&tmp, &cm_ptr->msg.saddr.ib.gid[0], sizeof(uint64_t)); ++ memcpy(&tmp2, &cm_ptr->msg.saddr.ib.gid[8], sizeof(uint64_t)); + dapl_dbg_log(DAPL_DBG_TYPE_CM, + " CONN_PENDING: SRC GID subnet %016llx id %016llx\n", +- (unsigned long long) +- htonll(*(uint64_t*)&cm_ptr->msg.saddr.ib.gid[0]), +- (unsigned long long) +- htonll(*(uint64_t*)&cm_ptr->msg.saddr.ib.gid[8])); ++ (unsigned long long) htonll(tmp), ++ (unsigned long long) htonll(tmp2)); + + DAPL_CNTR(((DAPL_IA *)dapl_llist_peek_head(&cm_ptr->hca->ia_list_head)), DCNT_IA_CM_REQ_TX); + return; +@@ -614,6 +615,9 @@ dapli_socket_connect(DAPL_EP * ep_ptr, + socklen_t sl; + DAPL_IA *ia_ptr = ep_ptr->header.owner_ia; + DAT_RETURN dat_ret = DAT_INSUFFICIENT_RESOURCES; ++#ifdef DAPL_DBG ++ union{ uint8_t *u8p; uint16_t *u16p; }pun; ++#endif + + dapl_dbg_log(DAPL_DBG_TYPE_EP, " connect: r_qual %d p_size=%d\n", + r_qual, p_size); +@@ -649,8 +653,10 @@ dapli_socket_connect(DAPL_EP * ep_ptr, + + #ifdef DAPL_DBG + /* DBG: Active PID [0], PASSIVE PID [2]*/ +- *(uint16_t*)&cm_ptr->msg.resv[0] = htons((uint16_t)dapl_os_getpid()); +- *(uint16_t*)&cm_ptr->msg.resv[2] = ((struct sockaddr_in *)&cm_ptr->addr)->sin_port; ++ pun.u8p = &cm_ptr->msg.resv[0]; ++ *pun.u16p = htons((uint16_t)dapl_os_getpid()); ++ pun.u8p += 2; ++ *pun.u16p = ((struct sockaddr_in *)&cm_ptr->addr)->sin_port; + #endif + ((struct sockaddr_in *)&cm_ptr->addr)->sin_port = htons(r_qual + 1000); + ret = dapl_connect_socket(cm_ptr->socket, (struct sockaddr *)&cm_ptr->addr, +@@ -736,6 +742,8 @@ static void dapli_socket_connect_rtu(dp_ + len = recv(cm_ptr->socket, (char *)&cm_ptr->msg, exp, 0); + if (len != exp || ntohs(cm_ptr->msg.ver) < DCM_VER_MIN) { + int err = dapl_socket_errno(); ++ union{ uint8_t *ui8p; uint16_t *ui16p; }pun = { &cm_ptr->msg.resv[0] }; ++ union{ uint8_t *ui8p; uint16_t *ui16p; }pun2 = { &cm_ptr->msg.resv[2] }; + dapl_log(DAPL_DBG_TYPE_CM_WARN, + " CONN_REP_PENDING: sk %d ERR 0x%x, rcnt=%d, v=%d ->" + " %s PORT L-%x R-%x PID L-%x R-%x %d\n", +@@ -743,8 +751,8 @@ static void dapli_socket_connect_rtu(dp_ + inet_ntoa(((struct sockaddr_in *)&cm_ptr->addr)->sin_addr), + ntohs(((struct sockaddr_in *)&cm_ptr->msg.daddr.so)->sin_port), + ntohs(((struct sockaddr_in *)&cm_ptr->addr)->sin_port), +- ntohs(*(uint16_t*)&cm_ptr->msg.resv[0]), +- ntohs(*(uint16_t*)&cm_ptr->msg.resv[2]),cm_ptr->retry); ++ ntohs(*pun.ui16p), ntohs(*pun2.ui16p), ++ cm_ptr->retry); + + /* Retry; corner case where server tcp stack resets under load */ + if (err == ECONNRESET && --cm_ptr->retry) { +@@ -1215,7 +1223,11 @@ dapli_socket_accept_usr(DAPL_EP * ep_ptr + int len, exp = sizeof(ib_cm_msg_t) - DCM_MAX_PDATA_SIZE; + DAT_RETURN ret = DAT_INTERNAL_ERROR; + socklen_t sl; +- ++ union{ uint8_t *u8p; uint64_t *u64p; }pun = { &local.saddr.ib.gid[0] }; ++ union{ uint8_t *u8p; uint64_t *u64p; }pun2 = { &local.saddr.ib.gid[8] }; ++#ifdef DAPL_DBG ++ union{ uint8_t *u8p; uint16_t *u16p; }pun3 = { &cm_ptr->msg.resv[2] }; ++#endif + if (p_size > DCM_MAX_PDATA_SIZE) { + dapl_log(DAPL_DBG_TYPE_ERR, + " accept_usr: psize(%d) too large\n", p_size); +@@ -1304,7 +1316,7 @@ dapli_socket_accept_usr(DAPL_EP * ep_ptr + + #ifdef DAPL_DBG + /* DBG: Active PID [0], PASSIVE PID [2] */ +- *(uint16_t*)&cm_ptr->msg.resv[2] = htons((uint16_t)dapl_os_getpid()); ++ *pun3.u16p = htons((uint16_t)dapl_os_getpid()); + dapl_os_memcpy(local.resv, cm_ptr->msg.resv, 4); + #endif + cm_ptr->hca = ia_ptr->hca_ptr; +@@ -1346,10 +1358,8 @@ dapli_socket_accept_usr(DAPL_EP * ep_ptr + ntohl(local.saddr.ib.qpn), ntohs(local.p_size)); + dapl_dbg_log(DAPL_DBG_TYPE_CM, + " ACCEPT_USR: local GID subnet %016llx id %016llx\n", +- (unsigned long long) +- htonll(*(uint64_t*)&local.saddr.ib.gid[0]), +- (unsigned long long) +- htonll(*(uint64_t*)&local.saddr.ib.gid[8])); ++ (unsigned long long) htonll(*pun.u64p), ++ (unsigned long long) htonll(*pun2.u64p)); + + dapl_dbg_log(DAPL_DBG_TYPE_EP, " PASSIVE: accepted!\n"); + +Index: dapl/openib_ucm/cm.c +=================================================================== +--- dapl/openib_ucm/cm.c.orig 2014-04-07 19:27:35.000000000 +0200 ++++ dapl/openib_ucm/cm.c 2014-06-27 13:44:42.207746121 +0200 +@@ -154,6 +154,7 @@ static void ucm_free_port(ib_hca_transpo + static void ucm_check_timers(dp_ib_cm_handle_t cm, int *timer) + { + DAPL_OS_TIMEVAL time; ++ union{ uint8_t *ui8p; DAT_UINT32 *duip; }pun = { &cm->msg.resv[0] }; + + dapl_os_lock(&cm->lock); + dapl_os_get_time(&time); +@@ -716,12 +717,15 @@ void dapls_cm_release(dp_ib_cm_handle_t + dp_ib_cm_handle_t dapls_ib_cm_create(DAPL_EP *ep) + { + dp_ib_cm_handle_t cm; ++ union{ uint8_t *ui8p; DAT_UINT32 *duip; }pun; + + /* Allocate CM, init lock, and initialize */ + if ((cm = dapl_os_alloc(sizeof(*cm))) == NULL) + return NULL; + + (void)dapl_os_memzero(cm, sizeof(*cm)); ++ pun.ui8p = &cm->msg.resv[0]; ++ + if (dapl_os_lock_init(&cm->lock)) + goto bail; + +@@ -903,6 +907,8 @@ DAT_RETURN dapli_cm_disconnect(dp_ib_cm_ + { + int finalize = 1; + int wakeup = 0; ++ union{ uint8_t *ui8p; DAT_UINT32 *duip; }pun = { &cm->msg.resv[0] }; ++ + + dapl_os_lock(&cm->lock); + switch (cm->state) { +@@ -1062,6 +1068,11 @@ bail: + */ + static void ucm_connect_rtu(dp_ib_cm_handle_t cm, ib_cm_msg_t *msg) + { ++#ifdef DAT_EXTENSIONS ++ union{ uint8_t *u8p; uint64_t *u64p; }pun = { &cm->msg.daddr.ib.gid[0] }; ++ union{ uint8_t *u8p; uint64_t *u64p; }pun2 = { &cm->msg.daddr.ib.gid[8] }; ++#endif ++ + DAPL_EP *ep = cm->ep; + ib_cm_events_t event = IB_CME_CONNECTED; + +@@ -1246,8 +1257,7 @@ ud_bail: + &xevent.remote_ah.ia_addr)->ib.lid), + ntohl(((union dcm_addr*) + &xevent.remote_ah.ia_addr)->ib.qpn), +- ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[0]), +- ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[8])); ++ ntohll(*pun.u64p), ntohll(*pun2.u64p)); + + if (event == IB_CME_CONNECTED) + event = DAT_IB_UD_CONNECTION_EVENT_ESTABLISHED; +@@ -1375,6 +1385,10 @@ bail: + */ + static void ucm_accept_rtu(dp_ib_cm_handle_t cm, ib_cm_msg_t *msg) + { ++#ifdef DAT_EXTENSIONS ++ union{ uint8_t *u8p; uint64_t *u64p; }pun = { &cm->msg.daddr.ib.gid[0] }; ++ union{ uint8_t *u8p; uint64_t *u64p; }pun2 = { &cm->msg.daddr.ib.gid[8] }; ++#endif + dapl_os_lock(&cm->lock); + if ((ntohs(msg->op) != DCM_RTU) || (cm->state != DCM_RTU_PENDING)) { + dapl_log(DAPL_DBG_TYPE_WARN, +@@ -1435,8 +1449,7 @@ static void ucm_accept_rtu(dp_ib_cm_hand + &xevent.remote_ah.ia_addr)->ib.lid), + ntohl(((union dcm_addr*) + &xevent.remote_ah.ia_addr)->ib.qpn), +- ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[0]), +- ntohll(*(uint64_t*)&cm->msg.daddr.ib.gid[8])); ++ ntohll(*pun.u64p), ntohll(*pun2.u64p)); + + dapls_evd_post_connection_event_ext( + (DAPL_EVD *)cm->ep->param.connect_evd_handle, +@@ -1552,6 +1565,8 @@ dapli_accept_usr(DAPL_EP *ep, DAPL_CR *c + { + DAPL_IA *ia = ep->header.owner_ia; + dp_ib_cm_handle_t cm = cr->ib_cm_handle; ++ union{ uint8_t *u8p; uint64_t *u64p; }pun = { &cm->msg.daddr.ib.gid[0] }; ++ union{ uint8_t *u8p; uint64_t *u64p; }pun2 = { &cm->msg.daddr.ib.gid[8] }; + + if (p_size > DCM_MAX_PDATA_SIZE) + return DAT_LENGTH_ERROR; +@@ -1585,10 +1600,8 @@ dapli_accept_usr(DAPL_EP *ep, DAPL_CR *c + + dapl_dbg_log(DAPL_DBG_TYPE_CM, + " ACCEPT_USR: remote GID subnet %016llx id %016llx\n", +- (unsigned long long) +- htonll(*(uint64_t*)&cm->msg.daddr.ib.gid[0]), +- (unsigned long long) +- htonll(*(uint64_t*)&cm->msg.daddr.ib.gid[8])); ++ (unsigned long long) htonll(*pun.u64p), ++ (unsigned long long) htonll(*pun2.u64p)); + + #ifdef DAT_EXTENSIONS + if (cm->msg.daddr.ib.qp_type == IBV_QPT_UD && +Index: dapl/openib_ucm/device.c +=================================================================== +--- dapl/openib_ucm/device.c.orig 2014-04-07 19:27:35.000000000 +0200 ++++ dapl/openib_ucm/device.c 2014-06-27 13:44:42.207746121 +0200 +@@ -197,6 +197,8 @@ DAT_RETURN dapls_ib_open_hca(IN IB_HCA_N + struct ibv_port_attr port_attr; + int i; + DAT_RETURN dat_status; ++ union{ uint8_t *u8p; uint64_t *u64p; }pun = { &hca_ptr->ib_trans.addr.ib.gid[0] }; ++ union{ uint8_t *u8p; uint64_t *u64p; }pun2 = { &hca_ptr->ib_trans.addr.ib.gid[8] }; + + /* Get list of all IB devices, find match, open */ + dev_list = ibv_get_device_list(NULL); +@@ -337,10 +339,8 @@ found: + " ID 0x" F64x "\n", + ntohl(hca_ptr->ib_trans.addr.ib.qpn), + ntohs(hca_ptr->ib_trans.addr.ib.lid), +- (unsigned long long) +- ntohll(*(uint64_t*)&hca_ptr->ib_trans.addr.ib.gid[0]), +- (unsigned long long) +- ntohll(*(uint64_t*)&hca_ptr->ib_trans.addr.ib.gid[8])); ++ (unsigned long long) ntohll(*pun.u64p), ++ (unsigned long long) ntohll(*pun2.u64p)); + + /* save LID, GID, QPN, PORT address information, for ia_queries */ + /* Set AF_INET6 to insure callee address storage of 28 bytes */ +Index: test/dapltest/test/dapl_limit.c +=================================================================== +--- test/dapltest/test/dapl_limit.c.orig 2014-05-05 18:11:33.000000000 +0200 ++++ test/dapltest/test/dapl_limit.c 2014-06-27 13:44:42.208746108 +0200 +@@ -162,6 +162,7 @@ limit_test(DT_Tdep_Print_Head * phead, L + unsigned int count = START_COUNT; + OneOpen *hdlptr = (OneOpen *) + DT_Mdep_Malloc(count * sizeof(*hdlptr)); ++ union { OneOpen **oop; DAT_HANDLE **dhpp; }pun = { &hdlptr }; + + /* IA Exhaustion test loop */ + if (hdlptr) { +@@ -175,7 +176,7 @@ limit_test(DT_Tdep_Print_Head * phead, L + DT_Mdep_Schedule(); + if (w == count + && !more_handles(phead, +- (DAT_HANDLE **) & hdlptr, ++ pun.dhpp, + &count, sizeof(*hdlptr))) { + DT_Tdep_PT_Printf(phead, + "%s: IAs opened: %d\n", +@@ -947,6 +948,7 @@ limit_test(DT_Tdep_Print_Head * phead, L + unsigned int count = START_COUNT; + Bpool **hdlptr = (Bpool **) + DT_Mdep_Malloc(count * sizeof(*hdlptr)); ++ union { Bpool ***bpppp; DAT_HANDLE **dhpp; }pun = { &hdlptr }; + + /* LMR Exhaustion test loop */ + if (hdlptr) { +@@ -961,7 +963,7 @@ limit_test(DT_Tdep_Print_Head * phead, L + DT_Mdep_Schedule(); + if (w == count + && !more_handles(phead, +- (DAT_HANDLE **) & hdlptr, ++ pun.dhpp, + &count, sizeof(*hdlptr))) { + DT_Tdep_PT_Printf(phead, + "%s: no memory for LMR handles\n", +@@ -1035,6 +1037,8 @@ limit_test(DT_Tdep_Print_Head * phead, L + unsigned int count = START_COUNT; + DAT_LMR_TRIPLET *hdlptr = (DAT_LMR_TRIPLET *) + DT_Mdep_Malloc(count * cmd->width * sizeof(*hdlptr)); ++ union { DAT_LMR_TRIPLET **dltp; DAT_HANDLE **dhpp; }pun = ++ { &hdlptr }; + + /* Recv-Post Exhaustion test loop */ + if (hdlptr) { +@@ -1049,8 +1053,7 @@ limit_test(DT_Tdep_Print_Head * phead, L + for (w = 0; w < cmd->maximum && !done; w++) { + DT_Mdep_Schedule(); + if (w == count +- && !more_handles(phead, +- (DAT_HANDLE **) & hdlptr, ++ && !more_handles(phead, pun.dhpp, + &count, + cmd->width * + sizeof(*hdlptr))) { diff --git a/dapl-fsf_address.patch b/dapl-fsf_address.patch new file mode 100644 index 0000000..7d3ade4 --- /dev/null +++ b/dapl-fsf_address.patch @@ -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. + diff --git a/dapl-man_page_fixes.patch b/dapl-man_page_fixes.patch new file mode 100644 index 0000000..fa63de5 --- /dev/null +++ b/dapl-man_page_fixes.patch @@ -0,0 +1,45 @@ +--- + man/dapltest.1 | 1 - + man/dat.conf.5 | 6 +++--- + 2 files changed, 3 insertions(+), 4 deletions(-) + +Index: man/dapltest.1 +=================================================================== +--- man/dapltest.1.orig 2014-01-21 18:05:33.163795906 +0100 ++++ man/dapltest.1 2014-01-21 18:06:00.011174084 +0100 +@@ -1,4 +1,3 @@ +-." Text automatically generated by txt2man + .TH dapltest 1 "July 16, 2013" "uDAPL 2.0" "USER COMMANDS" + + .SH NAME +Index: man/dat.conf.5 +=================================================================== +--- man/dat.conf.5.orig 2013-06-07 02:42:48.000000000 +0200 ++++ man/dat.conf.5 2014-01-21 18:05:33.164795883 +0100 +@@ -25,7 +25,7 @@ entries in the \fIdat.conf\fR file. The + 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 both 1.2 and 2.0, each using different CM services + + 1. cma - OpenFabrics rdma_cm - uses rdma_cm services for connections +@@ -68,7 +68,7 @@ entry is termed Static Registration. + - libdaplucm.so (1.2), libdaploucm (2.0) + .PP + .SH Example entries for each OpenFabrics provider +-\br ++\br + + 1. cma - OpenFarbrics rdma_cm (v1.2 and v2.0 examples) + diff --git a/dapl-rename_dtest.patch b/dapl-rename_dtest.patch new file mode 100644 index 0000000..d7d7882 --- /dev/null +++ b/dapl-rename_dtest.patch @@ -0,0 +1,40 @@ +--- + Makefile.am | 2 +- + test/dtest/Makefile.am | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +Index: Makefile.am +=================================================================== +--- Makefile.am.orig 2014-04-07 19:27:35.000000000 +0200 ++++ Makefile.am 2014-08-08 17:30:04.813777327 +0200 +@@ -503,7 +503,7 @@ libdatinclude_HEADERS = dat/include/dat2 + dat/include/dat2/udat_vendor_specific.h \ + dat/include/dat2/dat_ib_extensions.h + +-man_MANS = man/dtest.1 man/dapltest.1 man/dat.conf.5 ++man_MANS = man/dpltest.1 man/dapltest.1 man/dat.conf.5 + + EXTRA_DIST = dat/common/dat_dictionary.h \ + dat/common/dat_dr.h \ +Index: test/dtest/Makefile.am +=================================================================== +--- test/dtest/Makefile.am.orig 2014-04-07 19:27:35.000000000 +0200 ++++ test/dtest/Makefile.am 2014-08-08 18:15:49.682461746 +0200 +@@ -1,6 +1,7 @@ +-bin_PROGRAMS = dtest dtestcm +-dtest_SOURCES = dtest.c +-dtest_CFLAGS = -g -Wall -D_GNU_SOURCE ++bin_PROGRAMS = dpltest dtestcm ++dpltest_SOURCES = dtest.c ++dpltest_CFLAGS = -g -Wall -D_GNU_SOURCE ++dpltest_LDADD = $(top_builddir)/dat/udat/libdat2.la + + dtestcm_SOURCES = dtestcm.c + dtestcm_CFLAGS = -g -Wall -D_GNU_SOURCE +@@ -13,6 +14,5 @@ dtestx_LDADD = $(top_builddir)/dat/udat/ + endif + + INCLUDES = -I $(srcdir)/../../dat/include +-dtest_LDADD = $(top_builddir)/dat/udat/libdat2.la + dtestcm_LDADD = $(top_builddir)/dat/udat/libdat2.la + diff --git a/dapl-rpmlintrc b/dapl-rpmlintrc new file mode 100644 index 0000000..be5b771 --- /dev/null +++ b/dapl-rpmlintrc @@ -0,0 +1,8 @@ +# 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") diff --git a/dapl-s390_support.patch b/dapl-s390_support.patch new file mode 100644 index 0000000..c48ba7a --- /dev/null +++ b/dapl-s390_support.patch @@ -0,0 +1,102 @@ +Cc: alexey_ishchuk@ru.ibm.com +Subject: DAPL support for Linux on System z + +s390: Add support for Linux on System z + +This patch adds the required code to support Linux on System z. + + +--- + dapl/udapl/linux/dapl_osd.h | 35 ++++++++++++++++++++++++++++++++++- + dat/common/dat_strerror.c | 4 ++++ + 2 files changed, 38 insertions(+), 1 deletion(-) + +Index: dapl-2.0.39/dapl/udapl/linux/dapl_osd.h +=================================================================== +--- dapl-2.0.39.orig/dapl/udapl/linux/dapl_osd.h 2013-10-02 00:42:16.000000000 +0200 ++++ dapl-2.0.39/dapl/udapl/linux/dapl_osd.h 2014-01-21 18:07:26.226177293 +0100 +@@ -49,7 +49,7 @@ + #error UNDEFINED OS TYPE + #endif /* __linux__ */ + +-#if !defined (__i386__) && !defined (__ia64__) && !defined(__x86_64__) && !defined(__PPC__) && !defined(__PPC64__) ++#if !defined (__i386__) && !defined (__ia64__) && !defined(__x86_64__) && !defined(__PPC__) && !defined(__PPC64__) && !defined(__s390x__) + #error UNDEFINED ARCH + #endif + +@@ -156,6 +156,22 @@ int dapl_os_get_env_val ( + + + /* atomic functions */ ++#ifdef __s390x__ ++#define DAPL_CS_ADD(ptr, op_val) ({ \ ++ int old_val, new_val; \ ++ __asm__ __volatile__( \ ++ " l %0,%2\n" \ ++ "0: lr %1,%0\n" \ ++ " ar %1,%3\n" \ ++ " cs %0,%1,%2\n" \ ++ " jl 0b" \ ++ : "=&d" (old_val), "=&d" (new_val), \ ++ "=Q" (*ptr) \ ++ : "d" (op_val), "Q" (*ptr) \ ++ : "cc", "memory"); \ ++ new_val; \ ++}) ++#endif + + /* dapl_os_atomic_inc + * +@@ -179,6 +195,11 @@ dapl_os_atomic_inc ( + #else + IA64_FETCHADD(old_value,v,1,4); + #endif ++#elif defined(__s390x__) ++ DAT_COUNT tmp; ++ DAT_COUNT delta = 1; ++ ++ tmp = DAPL_CS_ADD(v, delta); + #elif defined(__PPC__) || defined(__PPC64__) + int tmp; + +@@ -218,6 +239,11 @@ dapl_os_atomic_dec ( + #else + IA64_FETCHADD(old_value,v,-1,4); + #endif ++#elif defined(__s390x__) ++ DAT_COUNT tmp; ++ DAT_COUNT delta = -1; ++ ++ tmp = DAPL_CS_ADD(v, delta); + #elif defined (__PPC__) || defined(__PPC64__) + int tmp; + +@@ -273,6 +299,13 @@ dapl_os_atomic_assign ( + #else + current_value = ia64_cmpxchg(acq,v,match_value,new_value,4); + #endif /* __ia64__ */ ++#elif defined(__s390x__) ++ __asm__ __volatile__( ++ " cs %0,%2,%1\n" ++ : "+d" (match_value), "=Q" (*v) ++ : "d" (new_value), "Q" (*v) ++ : "cc", "memory"); ++ current_value = match_value; + #elif defined(__PPC__) || defined(__PPC64__) + __asm__ __volatile__ ( + " lwsync\n\ +Index: dapl-2.0.39/dat/common/dat_strerror.c +=================================================================== +--- dapl-2.0.39.orig/dat/common/dat_strerror.c 2014-01-21 18:07:26.206177756 +0100 ++++ dapl-2.0.39/dat/common/dat_strerror.c 2014-01-21 18:07:26.226177293 +0100 +@@ -47,6 +47,10 @@ + #include + #endif /* __UDAPL__ */ + ++#ifndef NULL ++#define NULL ((void *) 0) ++#endif ++ + /********************************************************************* + * * + * Internal Function Declarations * diff --git a/dapl.changes b/dapl.changes new file mode 100644 index 0000000..5356319 --- /dev/null +++ b/dapl.changes @@ -0,0 +1,222 @@ +------------------------------------------------------------------- +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. + +------------------------------------------------------------------- +Fri Jun 27 14:11:27 CEST 2014 - pth@suse.de + +- Add baselibs.conf and dapl-rpmlintrc as source. +- 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 fuill source URL + +------------------------------------------------------------------- +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 + diff --git a/dapl.spec b/dapl.spec new file mode 100644 index 0000000..6745e46 --- /dev/null +++ b/dapl.spec @@ -0,0 +1,282 @@ +# +# spec file for package dapl +# +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# 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 http://bugs.opensuse.org/ +# + + +Name: dapl +Summary: A Library for userspace access to RDMA devices using OS Agnostic DAT APIs +License: BSD-3-Clause or GPL-2.0+ or CPL-1.0 +Group: Productivity/Networking/System +Version: 2.0.42 +Release: 0 +Source0: https://www.openfabrics.org/downloads/dapl/dapl-%{version}.tar.gz +Source1: baselibs.conf +Source2: dapl-rpmlintrc +Patch1: dapl-2.0.30-dat-ia-open-hang.patch +Patch4: dapl-fix_type_punning.patch +Patch5: dapl-define_NULL.patch +Patch6: dapl-man_page_fixes.patch +Patch7: dapl-fsf_address.patch +Patch8: dapl-s390_support.patch +Patch9: dapl-autotools.patch +Patch10: dapl-rename_dtest.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" +Provides: dapl-debug +Obsoletes: dapl-debug +%endif + +%if "%name" == "dapl-debug" +Provides: dapl +Obsoletes: 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 provides +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 +Along with the OpenIB kernel drivers, libdat2 and libdapl provide a +userspace RDMA API that supports DAT 2.0 specification. + +%description -n %lname +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-debug" +Obsoletes: dapl-devel +Provides: dapl-devel +%else +Obsoletes: dapl-debug-devel +Provides: dapl-debug-devel +%endif + +%description devel +Library links and header files for the libdat and libdapl libraries. + +%if "%{name}" != "dapl-debug" +%package doc +Summary: Manual pages for libdapl +Group: Documentation/Man +Requires: %{name} = %{version} +Provides: dapl:%{_mandir}/man5/dat.conf.5.gz +Provides: dapl_man + +%description doc +Along with the OpenFabrics kernel drivers, libdat and libdapl provides +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 provides the Documentation for the +library. +%endif + +%package utils +Summary: Test suites for the uDAPL library +Group: Productivity/Networking/System +Requires: %{name} = %{version}-%{release} + +%description utils +Useful test suites to validate the uDAPL library APIs. + +%prep +%setup -q -n dapl-%{version} +%patch1 +%patch4 +%patch5 +%patch6 +%patch7 +%patch8 -p1 +%patch9 +%patch10 + +%build +mv man/dtest.1 man/dpltest.1 +%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} + +%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 + +%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 <>%_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 + +%files -n %lname +%defattr(-,root,root) +%_libdir/libdat2.so.* + +%files devel +%defattr(-, root, root) +%_includedir/dat2/ +%_libdir/*.so + +%if "%{name}" != "dapl-debug" +%files doc +%defattr(-, root, root) +%_mandir/man1/* +%_mandir/man5/* +%endif + +%files utils +%defattr(-,root,root,-) +%{_bindir}/* + +%changelog diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..2913375 --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# This script has to be run prior to a check-in if changes were done +# to spec and/or changes +sed -e "s,^\(Name:.*dapl\),\1-debug," dapl.spec > dapl-debug.spec +cp dapl.changes dapl-debug.changes + +osc service localrun format_spec_file +