update to lksctp-tools-1.0.18-3

- Added a patch to fix netinet/sctp.h not to be installed.
- Added some fixes for kernel feature detection.

Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
This commit is contained in:
Vit Mojzis 2019-10-18 15:57:53 +02:00 committed by Petr Lautrbach
parent 662b8912a7
commit a8d6a72576
10 changed files with 298 additions and 7 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ lksctp-tools-1.0.11.tar.gz
/lksctp-tools-1.0.14.tar.gz /lksctp-tools-1.0.14.tar.gz
/lksctp-tools-1.0.15.tar.gz /lksctp-tools-1.0.15.tar.gz
/lksctp-tools-1.0.16.tar.gz /lksctp-tools-1.0.16.tar.gz
/lksctp-tools-1.0.18.tar.gz

View File

@ -6,5 +6,5 @@
-LIBDIR=@libdir@/@PACKAGE@ -LIBDIR=@libdir@/@PACKAGE@
+LIBDIR=`rpm --eval "%{_libdir}"`/@PACKAGE@ +LIBDIR=`rpm --eval "%{_libdir}"`/@PACKAGE@
BINDIR=@bindir@ BINDIR=@bindir@
export LD_PRELOAD=${LIBDIR}/libwithsctp.so.1.0.16 export LD_PRELOAD=${LIBDIR}/libwithsctp.so.1.0.17
if ! ${BINDIR}/checksctp 2> /dev/null if ! ${BINDIR}/checksctp 2> /dev/null

View File

@ -0,0 +1,31 @@
From e5952a0cdfa8b1b56a5823574835f1f771f14ae0 Mon Sep 17 00:00:00 2001
From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date: Fri, 24 Aug 2018 09:53:00 -0300
Subject: [PATCH 3/3] build: 0b0dce7a36fb actually belongs to v4.19
Typo or not, this commit actually belongs to v4.19 and made me wonder why
on v4.18 it didn't find this feature.
Fixes: 817f0bfa248f ("build: add two defines for Peer Address Parameters extensions on sctp_paddrparams")
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index f55775a..5de5c76 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,7 +101,7 @@ LKSCTP_CHECK_TYPE([struct sctp_prinfo], [HAVE_SCTP_SENDV])
# added on v4.16, 30f6ebf65bc4
LKSCTP_CHECK_DECL([SCTP_AUTH_NO_AUTH], [HAVE_SCTP_AUTH_NO_AUTH])
-# New members to sctp_paddrparams, added on v4.18, 0b0dce7a36fb
+# New members to sctp_paddrparams, added on v4.19, 0b0dce7a36fb
LKSCTP_CHECK_MEMBER([struct sctp_paddrparams.spp_ipv6_flowlabel],
[HAVE_SCTP_SPP_IPV6_FLOWLABEL])
LKSCTP_CHECK_MEMBER([struct sctp_paddrparams.spp_dscp],
--
1.8.3.1

View File

@ -0,0 +1,35 @@
From 378560050a8f93786c590cc99a55461666205b61 Mon Sep 17 00:00:00 2001
From: Xin Long <lucien.xin@gmail.com>
Date: Fri, 24 Aug 2018 01:13:32 +0800
Subject: [PATCH] build: fix netinet/sctp.h not to be installed
After libcnetinet_HEADERS was set to sctp.h.in, netinet/sctp.h can
no longer be installed into ${includedir}.
Since "AC_CONFIG_HEADERS([src/include/netinet/sctp.h])" is already
added into configure.ac, there's no need to generate sctp.h by
automake.
So we simply set libcnetinet_HEADERS back to sctp.h.
Fixes: 9607dd85e70a ("netinet/sctp.h: dynamically build based on system setup")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
---
src/include/netinet/Makefile.am | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/include/netinet/Makefile.am b/src/include/netinet/Makefile.am
index ca0aac2..965db8c 100644
--- a/src/include/netinet/Makefile.am
+++ b/src/include/netinet/Makefile.am
@@ -11,5 +11,4 @@ libcnetinetdir = $(includedir)/netinet
# API.
include_HEADERS =
-libcnetinet_HEADERS = sctp.h.in
-BUILT_SOURCES = sctp.h
+libcnetinet_HEADERS = sctp.h
--
1.8.3.1

View File

@ -0,0 +1,35 @@
From 596efd6631b83069d41782fb0ee2d6cf76a50dfa Mon Sep 17 00:00:00 2001
From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date: Fri, 24 Aug 2018 09:52:59 -0300
Subject: [PATCH 2/3] build: fix probing for HAVE_SCTP_SENDV
Somehow it was using a type that is non-existent. The right one is
sctp_prinfo, introduced on ed63afb8a318 ("sctp: add support for PR-SCTP
Information for sendmsg"), present on v4.17.
Fixes: 1b798f1ca3b5 ("build: add define HAVE_SCTP_AUTH_NO_AUTH")
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
---
configure.ac | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index dad658c..f55775a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -94,9 +94,8 @@ LKSCTP_CHECK_MEMBER([struct sctp_pdapi_event.pdapi_stream],
LKSCTP_CHECK_MEMBER([struct sctp_pdapi_event.pdapi_seq],
[HAVE_SCTP_PDAPI_EVENT_PDAPI_SEQ])
-# PR-SCTP field used to probe for sendv/recvv support, added on v4.17
-LKSCTP_CHECK_MEMBER([struct sendv_prinfo.sctp_prinfo],
- [HAVE_SCTP_SENDV])
+# PR-SCTP struct used to probe for sendv/recvv support, added on v4.17
+LKSCTP_CHECK_TYPE([struct sctp_prinfo], [HAVE_SCTP_SENDV])
# This event indicates that the peer does not support SCTP authentication,
# added on v4.16, 30f6ebf65bc4
--
1.8.3.1

View File

@ -0,0 +1,52 @@
From db6d15bf12a0123e4320e5fd7cb688331dea1bdc Mon Sep 17 00:00:00 2001
From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date: Fri, 24 Aug 2018 09:52:58 -0300
Subject: [PATCH 1/3] build: remove v4.12 secondary defines in favor of
HAVE_SCTP_STREAM_RECONFIG
These were backups, commented out since beginning.
HAVE_SCTP_STREAM_RECONFIG is enough to identify that these are there, so
lets use only one.
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
---
configure.ac | 8 --------
src/include/netinet/sctp.h.in | 2 --
2 files changed, 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index 2ae36ec..dad658c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,14 +82,6 @@ AC_CHECK_FUNCS([bzero gethostbyname gettimeofday memmove memset select socket \
LKSCTP_CHECK_MEMBER([struct sctp_event_subscribe.sctp_stream_reset_event],
[HAVE_SCTP_STREAM_RESET_EVENT])
-# Support for assoc reset event, added on v4.12, c95129d127c6
-#LKSCTP_CHECK_MEMBER([struct sctp_event_subscribe.sctp_assoc_reset_event], \
-# [HAVE_SCTP_ASSOC_RESET_EVENT])
-
-# Support for stream change event, added on v4.12, b444153fb5a6
-#LKSCTP_CHECK_MEMBER([struct sctp_event_subscribe.sctp_stream_change_event], \
-# [HAVE_SCTP_STREAM_CHANGE_EVENT])
-
# RFC 6525 (Stream Reconf), finished on v4.12, c0d8bab6ae51
LKSCTP_CHECK_DECL([SCTP_RECONFIG_SUPPORTED], [HAVE_SCTP_STREAM_RECONFIG])
diff --git a/src/include/netinet/sctp.h.in b/src/include/netinet/sctp.h.in
index c049077..2009f1c 100644
--- a/src/include/netinet/sctp.h.in
+++ b/src/include/netinet/sctp.h.in
@@ -61,8 +61,6 @@ extern "C" {
#define HAVE_SCTP_CANSET_PRIMARY
#undef HAVE_SCTP_STREAM_RESET_EVENT
-#undef HAVE_SCTP_ASSOC_RESET_EVENT
-#undef HAVE_SCTP_STREAM_CHANGE_EVENT
#undef HAVE_SCTP_STREAM_RECONFIG
#undef HAVE_SCTP_PEELOFF_FLAGS
#undef HAVE_SCTP_PDAPI_EVENT_PDAPI_STREAM
--
1.8.3.1

View File

@ -0,0 +1,71 @@
From 7de2bd7e769f10521e3d0c2cb42c6f6b9b505dd0 Mon Sep 17 00:00:00 2001
From: Xin Long <lucien.xin@gmail.com>
Date: Thu, 16 Aug 2018 14:12:30 +0800
Subject: [PATCH] configure.ac: add CURRENT REVISION and AGE for libsctp and
libwithsctp
Add CURRENT REVISION and AGE for libsctp and libwithsctp in
configure.ac to update these 2 library version information.
Compatible with before, they will start from 1:18:0. But each
will get updated according to their definitions in the future.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
---
configure.ac | 7 +++++++
src/lib/Makefile.am | 7 +++++--
src/withsctp/Makefile.am | 3 ++-
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 275ef4e..2ae36ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,6 +14,13 @@ dnl reduce clutter in the root; if we put it below AM_INIT_AUTOMAKE,
dnl configure will fail ...)
AC_INIT([lksctp-tools], [1.0.18], [], [], [http://www.lksctp.org/])
+AC_SUBST(LIBSCTP_CURRENT, 1)
+AC_SUBST(LIBSCTP_REVISION, 18)
+AC_SUBST(LIBSCTP_AGE, 0)
+AC_SUBST(LIBWITHSCTP_CURRENT, 1)
+AC_SUBST(LIBWITHSCTP_REVISION, 18)
+AC_SUBST(LIBWITHSCTP_AGE, 0)
+
AC_CONFIG_AUX_DIR(bin)
AC_CONFIG_SRCDIR([src/apps/sctp_darn.c])
AC_CONFIG_HEADERS([config.h])
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 6100c56..1d62175 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -8,5 +8,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/src/include
lib_LTLIBRARIES = libsctp.la
-libsctp_la_SOURCES = bindx.c connectx.c peeloff.c opt_info.c addrs.c sendmsg.c recvmsg.c Versions.map
-libsctp_la_LDFLAGS = -version-info 1:17:0 -Wl,--version-script=$(srcdir)/Versions.map
+libsctp_la_SOURCES = bindx.c connectx.c peeloff.c opt_info.c \
+ addrs.c sendmsg.c recvmsg.c Versions.map
+libsctp_la_LDFLAGS = -version-info \
+ @LIBSCTP_CURRENT@:@LIBSCTP_REVISION@:@LIBSCTP_AGE@ \
+ -Wl,--version-script=$(srcdir)/Versions.map
diff --git a/src/withsctp/Makefile.am b/src/withsctp/Makefile.am
index 70b1cca..1f6ca37 100644
--- a/src/withsctp/Makefile.am
+++ b/src/withsctp/Makefile.am
@@ -14,7 +14,8 @@ AM_CPPFLAGS=-I$(top_srcdir)/src/include
pkglib_LTLIBRARIES = libwithsctp.la
libwithsctp_la_SOURCES = sctp_load_libs.c sctp_socket.c sctp_bind.c \
sctp_sockopt.c sctp_socket.h
-libwithsctp_la_LDFLAGS = -version-info 1:17:0 -ldl
+libwithsctp_la_LDFLAGS = -version-info \
+ @LIBWITHSCTP_CURRENT@:@LIBWITHSCTP_REVISION@:@LIBWITHSCTP_AGE@ -ldl
pkgdoc_DATA = sctp_load_libs.c sctp_socket.c sctp_bind.c \
sctp_sockopt.c sctp_socket.h checksctp.c
--
1.8.3.1

View File

@ -0,0 +1,43 @@
From 7c0ef4d441b3833e721df58f56e2cb8c81b34df4 Mon Sep 17 00:00:00 2001
From: Xin Long <lucien.xin@gmail.com>
Date: Thu, 16 Aug 2018 14:12:01 +0800
Subject: [PATCH] withsctp: use @PACKAGE_VERSION@ in withsctp.h
use @PACKAGE_VERSION@ to replace the hardcode version.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
---
Makefile.rules | 3 ++-
src/withsctp/withsctp.in | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Makefile.rules b/Makefile.rules
index 83f5f0c..d3693fa 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -15,4 +15,5 @@
edit = @sed \
-e "s|\@bindir\@|$(bindir)|" \
-e "s|\@libdir\@|$(libdir)|" \
- -e "s|\@PACKAGE\@|$(PACKAGE)|"
+ -e "s|\@PACKAGE\@|$(PACKAGE)|" \
+ -e "s|\@PACKAGE_VERSION\@|$(PACKAGE_VERSION)|"
diff --git a/src/withsctp/withsctp.in b/src/withsctp/withsctp.in
index 7f182ba..fda5ebc 100644
--- a/src/withsctp/withsctp.in
+++ b/src/withsctp/withsctp.in
@@ -2,7 +2,8 @@
# -*- sh -*-
LIBDIR=`rpm --eval "%{_libdir}"`/@PACKAGE@
BINDIR=@bindir@
-export LD_PRELOAD=${LIBDIR}/libwithsctp.so.1.0.17
+LIBVER=@PACKAGE_VERSION@
+export LD_PRELOAD=${LIBDIR}/libwithsctp.so.${LIBVER}
if ! ${BINDIR}/checksctp 2> /dev/null
then
${BINDIR}/checksctp;
--
1.8.3.1

View File

@ -1,13 +1,20 @@
Name: lksctp-tools Name: lksctp-tools
Summary: User-space access to Linux Kernel SCTP Summary: User-space access to Linux Kernel SCTP
Version: 1.0.16 Version: 1.0.18
Release: 12%{?dist} Release: 3%{?dist}
# src/apps/bindx_test.C is GPLv2, I've asked upstream for clarification # src/apps/bindx_test.C is GPLv2, I've asked upstream for clarification
License: GPLv2 and GPLv2+ and LGPLv2 and MIT License: GPLv2 and GPLv2+ and LGPLv2 and MIT
Group: System Environment/Libraries
URL: http://lksctp.sourceforge.net URL: http://lksctp.sourceforge.net
Source0: http://downloads.sourceforge.net/lksctp/%{name}-%{version}.tar.gz Source0: https://github.com/sctp/lksctp-tools/archive/%{name}-%{version}.tar.gz
Patch0: lksctp-tools-1.0.16-libdir.patch Patch0: lksctp-tools-1.0.16-libdir.patch
Patch1: lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch
Patch2: lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch
Patch3: lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch
Patch4: lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch
Patch5: lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch
Patch6: lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch
BuildRequires: libtool, automake, autoconf BuildRequires: libtool, automake, autoconf
%description %description
@ -24,6 +31,7 @@ This package contains the base run-time library and command-line tools.
%package devel %package devel
Summary: Development files for lksctp-tools Summary: Development files for lksctp-tools
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel %description devel
@ -32,6 +40,7 @@ static libraries, symlinks to dynamic libraries and some tutorial source code.
%package doc %package doc
Summary: Documents pertaining to SCTP Summary: Documents pertaining to SCTP
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
%description doc %description doc
@ -39,8 +48,14 @@ Documents pertaining to LKSCTP & SCTP in general (IETF RFC's & Internet
Drafts). Drafts).
%prep %prep
%setup -q %setup -q -n %{name}-%{name}-%{version}
%patch0 -p1 %patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build %build
[ ! -x ./configure ] && sh bootstrap [ ! -x ./configure ] && sh bootstrap
@ -57,7 +72,9 @@ make install DESTDIR="$RPM_BUILD_ROOT" INSTALL="install -p"
find $RPM_BUILD_ROOT -type f -name "*.la" -delete find $RPM_BUILD_ROOT -type f -name "*.la" -delete
%ldconfig_scriptlets %post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files %files
%doc AUTHORS ChangeLog COPYING* README %doc AUTHORS ChangeLog COPYING* README
@ -70,6 +87,7 @@ find $RPM_BUILD_ROOT -type f -name "*.la" -delete
%files devel %files devel
%{_includedir}/* %{_includedir}/*
%{_libdir}/libsctp.so %{_libdir}/libsctp.so
%{_libdir}/pkgconfig/libsctp.pc
%{_libdir}/lksctp-tools/libwithsctp.so %{_libdir}/lksctp-tools/libwithsctp.so
%{_datadir}/lksctp-tools/ %{_datadir}/lksctp-tools/
%{_mandir}/man3/* %{_mandir}/man3/*
@ -78,6 +96,11 @@ find $RPM_BUILD_ROOT -type f -name "*.la" -delete
%doc doc/*.txt %doc doc/*.txt
%changelog %changelog
* Fri Oct 18 2019 Vit Mojzis <vmojzis@redhat.com> - 1.0.18-3
- Added a patch to fix netinet/sctp.h not to be installed.
- Added some fixes for kernel feature detection.
- Updated to 1.0.18. [1568622]
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.16-12 * Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.16-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

View File

@ -1 +1 @@
708bb0b5a6806ad6e8d13c55b067518e lksctp-tools-1.0.16.tar.gz SHA512 (lksctp-tools-1.0.18.tar.gz) = a47dbdf5082ce056c3749237ab83889a134f30b3b4a4c66701fa8c6dc955cf06a1f406677320e6e3535d4e635a89344b67ee461991a10a95460ea191cf5b71f6