diff --git a/.gitignore b/.gitignore index 429f62c..be1df3f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ lksctp-tools-1.0.11.tar.gz /lksctp-tools-1.0.14.tar.gz /lksctp-tools-1.0.15.tar.gz /lksctp-tools-1.0.16.tar.gz +/lksctp-tools-1.0.18.tar.gz diff --git a/lksctp-tools-1.0.16-libdir.patch b/lksctp-tools-1.0.16-libdir.patch index a70c287..c90356d 100644 --- a/lksctp-tools-1.0.16-libdir.patch +++ b/lksctp-tools-1.0.16-libdir.patch @@ -6,5 +6,5 @@ -LIBDIR=@libdir@/@PACKAGE@ +LIBDIR=`rpm --eval "%{_libdir}"`/@PACKAGE@ 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 diff --git a/lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch b/lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch new file mode 100644 index 0000000..d824fcd --- /dev/null +++ b/lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch @@ -0,0 +1,31 @@ +From e5952a0cdfa8b1b56a5823574835f1f771f14ae0 Mon Sep 17 00:00:00 2001 +From: Marcelo Ricardo Leitner +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 +Reviewed-by: Xin Long +--- + 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 + diff --git a/lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch b/lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch new file mode 100644 index 0000000..48c61db --- /dev/null +++ b/lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch @@ -0,0 +1,35 @@ +From 378560050a8f93786c590cc99a55461666205b61 Mon Sep 17 00:00:00 2001 +From: Xin Long +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 +Signed-off-by: Marcelo Ricardo Leitner +--- + 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 + diff --git a/lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch b/lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch new file mode 100644 index 0000000..c1f7180 --- /dev/null +++ b/lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch @@ -0,0 +1,35 @@ +From 596efd6631b83069d41782fb0ee2d6cf76a50dfa Mon Sep 17 00:00:00 2001 +From: Marcelo Ricardo Leitner +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 +Reviewed-by: Xin Long +--- + 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 + diff --git a/lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch b/lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch new file mode 100644 index 0000000..3246cb8 --- /dev/null +++ b/lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch @@ -0,0 +1,52 @@ +From db6d15bf12a0123e4320e5fd7cb688331dea1bdc Mon Sep 17 00:00:00 2001 +From: Marcelo Ricardo Leitner +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 +Reviewed-by: Xin Long +--- + 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 + diff --git a/lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch b/lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch new file mode 100644 index 0000000..2b2c645 --- /dev/null +++ b/lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch @@ -0,0 +1,71 @@ +From 7de2bd7e769f10521e3d0c2cb42c6f6b9b505dd0 Mon Sep 17 00:00:00 2001 +From: Xin Long +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 +Acked-by: Neil Horman +Signed-off-by: Marcelo Ricardo Leitner +--- + 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 + diff --git a/lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch b/lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch new file mode 100644 index 0000000..002ab43 --- /dev/null +++ b/lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch @@ -0,0 +1,43 @@ +From 7c0ef4d441b3833e721df58f56e2cb8c81b34df4 Mon Sep 17 00:00:00 2001 +From: Xin Long +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 +Acked-by: Neil Horman +Signed-off-by: Marcelo Ricardo Leitner +--- + 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 + diff --git a/lksctp-tools.spec b/lksctp-tools.spec index 2431e07..9478e3e 100644 --- a/lksctp-tools.spec +++ b/lksctp-tools.spec @@ -1,13 +1,20 @@ Name: lksctp-tools Summary: User-space access to Linux Kernel SCTP -Version: 1.0.16 -Release: 12%{?dist} +Version: 1.0.18 +Release: 3%{?dist} # src/apps/bindx_test.C is GPLv2, I've asked upstream for clarification License: GPLv2 and GPLv2+ and LGPLv2 and MIT +Group: System Environment/Libraries 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 +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 %description @@ -24,6 +31,7 @@ This package contains the base run-time library and command-line tools. %package devel Summary: Development files for lksctp-tools +Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel @@ -32,6 +40,7 @@ static libraries, symlinks to dynamic libraries and some tutorial source code. %package doc Summary: Documents pertaining to SCTP +Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description doc @@ -39,8 +48,14 @@ Documents pertaining to LKSCTP & SCTP in general (IETF RFC's & Internet Drafts). %prep -%setup -q +%setup -q -n %{name}-%{name}-%{version} %patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 %build [ ! -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 -%ldconfig_scriptlets +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig %files %doc AUTHORS ChangeLog COPYING* README @@ -70,6 +87,7 @@ find $RPM_BUILD_ROOT -type f -name "*.la" -delete %files devel %{_includedir}/* %{_libdir}/libsctp.so +%{_libdir}/pkgconfig/libsctp.pc %{_libdir}/lksctp-tools/libwithsctp.so %{_datadir}/lksctp-tools/ %{_mandir}/man3/* @@ -78,6 +96,11 @@ find $RPM_BUILD_ROOT -type f -name "*.la" -delete %doc doc/*.txt %changelog +* Fri Oct 18 2019 Vit Mojzis - 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 - 1.0.16-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 9b950b3..cfaf9b1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -708bb0b5a6806ad6e8d13c55b067518e lksctp-tools-1.0.16.tar.gz +SHA512 (lksctp-tools-1.0.18.tar.gz) = a47dbdf5082ce056c3749237ab83889a134f30b3b4a4c66701fa8c6dc955cf06a1f406677320e6e3535d4e635a89344b67ee461991a10a95460ea191cf5b71f6