diff --git a/.gitignore b/.gitignore index 28d8116..5044388 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libvma-9.8.31.tar.gz +libvma-9.8.51.tar.gz diff --git a/0001-Fix-build-failure.patch b/0001-Fix-build-failure.patch new file mode 100644 index 0000000..88cabe1 --- /dev/null +++ b/0001-Fix-build-failure.patch @@ -0,0 +1,31 @@ +From 3801620674bb052fcf7acf03915999fd6f48dd66 Mon Sep 17 00:00:00 2001 +From: Kamal Heib +Date: Mon, 29 Apr 2024 18:54:39 -0400 +Subject: [PATCH] Fix build failure + +../../src/vma/util/vma_list.h:210:31: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor] + 210 | vma_list_t (const vma_list_t& other) { + | ^ +../../src/vma/util/vma_list.h:210:31: note: remove the '< >' + +Signed-off-by: Kamal Heib +--- + src/vma/util/vma_list.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/vma/util/vma_list.h b/src/vma/util/vma_list.h +index 0ce65e8e5268..32fdedbb826f 100644 +--- a/src/vma/util/vma_list.h ++++ b/src/vma/util/vma_list.h +@@ -207,7 +207,7 @@ public: + } + } + +- vma_list_t (const vma_list_t& other) { ++ vma_list_t(const vma_list_t& other) { + if (!other.empty()) + vlist_logwarn("Copy constructor is not supported for non-empty list! other.size=%zu", other.m_size); + init_list(); +-- +2.44.0 + diff --git a/SPECS/libvma.spec b/SPECS/libvma.spec deleted file mode 100644 index 460102e..0000000 --- a/SPECS/libvma.spec +++ /dev/null @@ -1,222 +0,0 @@ -%{!?configure_options: %global configure_options %{nil}} - -Name: libvma -Version: 9.8.31 -Release: 1%{?dist} -Summary: A library for boosting TCP and UDP traffic (over RDMA hardware) - -License: GPLv2 or BSD -Url: https://github.com/Mellanox/libvma -Source0: https://github.com/Mellanox/libvma/archive/%{version}/%{name}-%{version}.tar.gz - -# libvma currently supports only the following architectures -ExclusiveArch: x86_64 ppc64le ppc64 aarch64 - -BuildRequires: pkgconfig -BuildRequires: automake -BuildRequires: autoconf -BuildRequires: libtool -BuildRequires: gcc-c++ -BuildRequires: rdma-core-devel -BuildRequires: systemd-rpm-macros -BuildRequires: pkgconfig(libnl-3.0) -BuildRequires: pkgconfig(libnl-route-3.0) -BuildRequires: make - -%description -libvma is a LD_PRELOAD-able library that boosts performance of TCP and -UDP traffic. It allows application written over standard socket API to -handle fast path data traffic from user space over Ethernet and/or -Infiniband with full network stack bypass and get better throughput, -latency and packets/sec rate. - -No application binary change is required for that. -libvma is supported by RDMA capable devices that support "verbs" -IBV_QPT_RAW_PACKET QP for Ethernet and/or IBV_QPT_UD QP for IPoIB. - -%package devel -Summary: Header files required to develop with libvma -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description devel -This package includes headers for building programs with libvma's -interfaces. - -%package utils -Summary: Utilities used with libvma -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description utils -This package contains the tool for collecting and analyzing libvma statistic. - -%prep -%setup -q -%autosetup -p1 - -%build -export revision=1 -if [ ! -e configure ] && [ -e autogen.sh ]; then - PRJ_RELEASE=1 ./autogen.sh -fi - -%configure %{?configure_options} -%{make_build} - -%install -%{make_install} - -find $RPM_BUILD_ROOT%{_libdir} -name '*.la' -delete -install -D -m 644 contrib/scripts/vma.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/vma.service -rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/vma - -%post -%systemd_post vma.service - -%preun -%systemd_preun vma.service - -%postun -%systemd_postun_with_restart vma.service - -%files -%{_libdir}/%{name}.so* -%dir %{_pkgdocdir} -%doc %{_pkgdocdir}/README -%doc %{_pkgdocdir}/CHANGES -%config(noreplace) %{_sysconfdir}/libvma.conf -%{_sbindir}/vmad -%{_prefix}/lib/systemd/system/vma.service -%license LICENSE -%{_mandir}/man7/vma.* -%{_mandir}/man8/vmad.* - -%files devel -%dir %{_includedir}/mellanox -%{_includedir}/mellanox/vma_extra.h - -%files utils -%{_bindir}/vma_stats -%{_mandir}/man8/vma_stats.* - -%changelog -* Tue Oct 24 2023 Kamal Heib - 9.8.31-1 -- Update to upstream release 9.8.31. -- Resolves: RHEL-933 - -* Mon Jul 31 2023 Kamal Heib - 9.8.20-3 -- Rebuilt for libvma-utils -- Resolves: rhbz#2217883 - -* Tue Jul 18 2023 Kamal Heib - 9.8.20-2 -- Fix Socketxtreme buffer reclaim leak -- Resolves: rhbz#2223720 - -* Mon Jun 05 2023 Kamal Heib - 9.8.20-1.1 -- Add gating tests -- Resolves: rhbz#2170074 - -* Thu Jun 01 2023 Kamal Heib - 9.8.20-1 -- Update to upstream release 9.8.20. -- Add gating tests -- Resolves: rhbz#2170074 - -* Wed Aug 17 2022 Michal Schmidt - 9.6.4-1 -- Update to upstream release 9.6.4. -- Resolves: rhbz#2049572 - -* Tue Nov 30 2021 Honggang Li - 9.4.0-1 -- Bump version to 9.4.0 -- Resolves: rhbz#1982205 - -* Tue Jul 06 2021 Honggang Li - 9.3.1-1 -- Bump version to 9.3.1 -- Resolves: rhbz#1915316 - -* Thu Feb 04 2021 Honggang Li - 9.2.2-2 -- Skip team interface when check bonding -- Resolves: rhbz#1916670 - -* Wed Dec 16 2020 Honggang Li - 9.2.2-1 -- Update to upstream v9.2.2 release -- Resolves: rhbz#1851727 - -* Wed Apr 15 2020 Honggang Li - 9.0.2-1 -- Update to upstream v9.0.2 release -- Resolves: rhbz#1789385 - -* Tue Jul 23 2019 Jarod Wilson - 8.9.5-1 -- Update to upstream v8.9.5 release -- Resolves: rhbz#1722259 - -* Fri May 31 2019 Jarod Wilson - 8.7.7-1 -- Update to upstream v8.7.7 stable release - -* Thu Nov 08 2018 Jarod Wilson - 8.7.3-0.1 -- Rebase to upstream v8.7.3 pre-release -- Resolves: rhbz#1648011 - -* Fri Jun 29 2018 Jarod Wilson - 8.6.10-0.1 -- Rebase to upstream v8.6.10 pre-release, use 0.x release number scheme - as means to differentiate pre-release from release - -* Mon Jun 04 2018 Jarod Wilson - 8.6.6-1 -- Rebase to upstream v8.6.6 pre-release - -* Wed Apr 25 2018 Jarod Wilson - 8.6.0-1 -- Rebase to upstream v8.6.0 pre-release - -* Tue Dec 05 2017 Jarod Wilson - 8.4.10-1 -- Rebase to upstream v8.4.10 release -- Resolves: rhbz#1456519 - -* Wed Aug 24 2016 Jarod Wilson - 8.1.4-1 -- Rebase to 8.1.4 after latest round of coverity fixes upstream - reduced reported defects to 0 -- Related: rhbz#1271624 - -* Mon Aug 22 2016 Jarod Wilson - 8.1.3-1 -- Patch in additional coverity fixes from upstream git tree -- Rebase to 8.1.3 to pick up copious coverity corrections -- Related: rhbz#1271624 - -* Mon Jul 25 2016 Donald Dutile - 8.1.1-1 -- Rebase to 8.1.1, re-apply patch to 8.0.1-2 -- Add (Build)Requires of libibverbs to 1.2.2 -- Resolves: rhbz#1353704 - -* Wed May 25 2016 Donald Dutile - 8.0.1-2 -- ExcludeArch s390's, ppc, i686 and catch in h-file check -- Resolves: rhbz#1271624 - -* Wed May 25 2016 Donald Dutile - 8.0.1-1 -- Initial import to RHEL-7.3 -- Resolves: rhbz#1271624 - -* Sun Mar 13 2016 Alex Vainman - 8.0.1-1 -- New upstream release -- Move to dual license: GPLv2 or BSD -- ExcludeArch update -- Removal of extra space in: - config(noreplace) {_sysconfdir}/security/limits.d/30-libvma-limits.conf -- Add V=1 to make - -* Wed Mar 2 2016 Alex Vainman - 7.0.14-2 -- Added reasoning for archs exclusion -- Package description improvement -- Removal of the pre scriplet -- Added COPYING and LICENSE files to the package - -* Sun Feb 21 2016 Alex Vainman - 7.0.14-1 -- New upstream release -- Removal of redundant macros and obsolete/unneeded tags -- Added ExcludeArch, BuildRequires and Require sections -- Fixes and cleanups in the build and installation sections -- Install 30-libvma-limits.conf file under - /etc/security/limits.d/ -- Fixes related to files/directories ownerships -- Removal of vma_perf_envelope.sh from the utility package -- Update Source tag URL -- Fix most of the rpmlint warnings - -* Mon Jan 4 2016 Avner BenHanoch - 7.0.12-1 -- Initial Packaging diff --git a/libvma.spec b/libvma.spec new file mode 100644 index 0000000..a01b2df --- /dev/null +++ b/libvma.spec @@ -0,0 +1,189 @@ +%{!?configure_options: %global configure_options %{nil}} + +Name: libvma +Version: 9.8.51 +Release: 2%{?dist} +Summary: A library for boosting TCP and UDP traffic (over RDMA hardware) + +License: GPLv2 or BSD +Url: https://github.com/Mellanox/libvma +Source0: https://github.com/Mellanox/libvma/archive/%{version}/%{name}-%{version}.tar.gz +Patch0: 0001-Fix-build-failure.patch + +# libvma currently supports only the following architectures +ExclusiveArch: x86_64 ppc64le ppc64 aarch64 + +BuildRequires: pkgconfig +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: libtool +BuildRequires: gcc-c++ +BuildRequires: rdma-core-devel +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libnl-3.0) +BuildRequires: pkgconfig(libnl-route-3.0) +BuildRequires: make + +%description +libvma is a LD_PRELOAD-able library that boosts performance of TCP and +UDP traffic. It allows application written over standard socket API to +handle fast path data traffic from user space over Ethernet and/or +Infiniband with full network stack bypass and get better throughput, +latency and packets/sec rate. + +No application binary change is required for that. +libvma is supported by RDMA capable devices that support "verbs" +IBV_QPT_RAW_PACKET QP for Ethernet and/or IBV_QPT_UD QP for IPoIB. + +%package devel +Summary: Header files required to develop with libvma +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package includes headers for building programs with libvma's +interfaces. + +%package utils +Summary: Utilities used with libvma +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description utils +This package contains the tool for collecting and analyzing libvma statistic. + +%prep +%setup -q +%autosetup -p1 + +%build +export revision=1 +if [ ! -e configure ] && [ -e autogen.sh ]; then + PRJ_RELEASE=1 ./autogen.sh +fi + +%configure %{?configure_options} +%{make_build} + +%install +%{make_install} + +find $RPM_BUILD_ROOT%{_libdir} -name '*.la' -delete +install -D -m 644 contrib/scripts/vma.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/vma.service +rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/vma + +%post +%systemd_post vma.service + +%preun +%systemd_preun vma.service + +%postun +%systemd_postun_with_restart vma.service + +%files +%{_libdir}/%{name}.so* +%dir %{_pkgdocdir} +%doc %{_pkgdocdir}/README +%doc %{_pkgdocdir}/CHANGES +%config(noreplace) %{_sysconfdir}/libvma.conf +%{_sbindir}/vmad +%{_prefix}/lib/systemd/system/vma.service +%license LICENSE +%{_mandir}/man7/vma.* +%{_mandir}/man8/vmad.* + +%files devel +%dir %{_includedir}/mellanox +%{_includedir}/mellanox/vma_extra.h + +%files utils +%{_bindir}/vma_stats +%{_mandir}/man8/vma_stats.* + +%changelog +* Mon Apr 29 2024 Kamal Heib - 9.8.51-1 +- Update to upstream release 9.8.51 +- Resolves: RHEL-24810 + +* Thu Jan 25 2024 Fedora Release Engineering - 9.8.40-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 9.8.40-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Oct 27 2023 Igor Ivanov 9.8.40-1 +- Bump version to 9.8.40 + +* Thu Jul 20 2023 Fedora Release Engineering - 9.8.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Feb 20 2023 Igor Ivanov 9.8.1-2 +- Fix gcc13 compilation issue + +* Mon Feb 20 2023 Igor Ivanov 9.8.1-1 +- Bump version to 9.8.1 + +* Thu Jan 19 2023 Fedora Release Engineering - 9.6.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jul 26 2022 Igor Ivanov 9.6.4-1 +- Bump version to 9.6.4 + +* Thu Jul 21 2022 Fedora Release Engineering - 9.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Apr 29 2022 Igor Ivanov 9.5.3-1 +- Bump version to 9.5.3 + +* Thu Apr 7 2022 Igor Ivanov 9.5.2-1 +- Bump version to 9.5.2 + +* Mon Jan 31 2022 Fedora Release Engineering - 9.4.0-3 +- Fix gcc12 compilation issue + +* Thu Jan 20 2022 Fedora Release Engineering - 9.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Nov 09 2021 Honggang Li - 9.4.0-1 +- Bump version to 9.4.0 + +* Thu Jul 22 2021 Fedora Release Engineering - 9.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 17 2021 Igor Ivanov 9.3.1-1 +- Bump version to 9.3.1 + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 9.2.2-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Tue Jan 26 2021 Fedora Release Engineering - 9.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Dec 16 2020 Igor Ivanov 9.2.2-1 +- Bump version to 9.2.2 +- Fix issues for gcc-11 + +* Thu Dec 10 2020 Jeff Law 9.1.1-2 +- Don't use "register" in C++17. Still FTBFS though. + +* Sun Nov 15 2020 Igor Ivanov 9.1.1-1 +- Bump version to 9.1.1 + +* Fri Apr 17 2020 Igor Ivanov 9.0.2-1 +- Align with Fedora guidelines +- Bump version to 9.0.2 + +* Thu Feb 7 2019 Igor Ivanov 8.8.2-1 +- Improve package update processing + +* Tue Dec 19 2017 Igor Ivanov 8.5.1-1 +- Add systemd support + +* Tue May 9 2017 Ophir Munk 8.3.4-1 +- Add libvma-debug.so installation + +* Mon Nov 28 2016 Igor Ivanov 8.2.2-1 +- Add daemon + +* Mon Jan 4 2016 Avner BenHanoch 7.0.12-1 +- Initial Packaging diff --git a/sources b/sources new file mode 100644 index 0000000..bdc3f6d --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libvma-9.8.51.tar.gz) = f15217f40aec8fa1462292369f451274e50d1f97cd4b0c2b43c0eaabc4fff1e490a8bf48029dd6a94d06bc00239ca9fb5bbc3197c986ef5a4ce2c5320123aece