diff options
author | Michael Jeanson <mjeanson@efficios.com> | 2016-06-16 13:57:47 -0500 |
---|---|---|
committer | Bartłomiej Piotrowski <b@bpiotrowski.pl> | 2016-06-17 20:09:02 +0200 |
commit | f01519d7b118fc1db8a05c3e3f064e7400c28e6e (patch) | |
tree | d3cbbeb206dc0691ee3ef8e688926ce9ad02e3f6 /testing/lttng-tools | |
parent | 67ae53c86c51be55b751624d071d0cbe357c1c15 (diff) | |
download | aports-f01519d7b118fc1db8a05c3e3f064e7400c28e6e.tar.bz2 aports-f01519d7b118fc1db8a05c3e3f064e7400c28e6e.tar.xz |
testing/lttng-tools: new aport
https://lttng.org
LTTng 2.0 control tools
Diffstat (limited to 'testing/lttng-tools')
12 files changed, 948 insertions, 0 deletions
diff --git a/testing/lttng-tools/0000-add-missing-test-script.patch b/testing/lttng-tools/0000-add-missing-test-script.patch new file mode 100644 index 0000000000..67241a4cb0 --- /dev/null +++ b/testing/lttng-tools/0000-add-missing-test-script.patch @@ -0,0 +1,10 @@ +--- lttng-tools-2.8.0.orig/tests/utils/Makefile.am ++++ lttng-tools-2.8.0/tests/utils/Makefile.am +@@ -1,6 +1,6 @@ + SUBDIRS = . tap testapp + +-EXTRA_DIST = utils.sh test_utils.py babelstats.pl ++EXTRA_DIST = utils.sh test_utils.py babelstats.pl warn_lttng_processes.sh + dist_noinst_SCRIPTS = utils.sh test_utils.py babelstats.pl + noinst_LTLIBRARIES = libtestutils.la + diff --git a/testing/lttng-tools/0001-Tests-Make-warn_processes.sh-more-portable.patch b/testing/lttng-tools/0001-Tests-Make-warn_processes.sh-more-portable.patch new file mode 100644 index 0000000000..eeda774ed6 --- /dev/null +++ b/testing/lttng-tools/0001-Tests-Make-warn_processes.sh-more-portable.patch @@ -0,0 +1,77 @@ +From bf4dc41bd461c8eecc3f7944942b7af14eba0859 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Thu, 9 Jun 2016 12:16:30 -0400 +Subject: [PATCH lttng-tools 1/4] Tests: Make warn_processes.sh more portable + +Options to pgrep aren't standardised across coreutils +implementations, use a more common option. + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +--- + tests/Makefile.am | 2 +- + tests/utils/Makefile.am | 2 +- + tests/utils/warn_lttng_processes.sh | 23 ----------------------- + tests/utils/warn_processes.sh | 25 +++++++++++++++++++++++++ + 4 files changed, 27 insertions(+), 25 deletions(-) + delete mode 100755 tests/utils/warn_lttng_processes.sh + create mode 100755 tests/utils/warn_processes.sh + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 58caeb1..3600e99 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -5,7 +5,7 @@ if BUILD_TESTS + SUBDIRS += . utils regression unit stress destructive + if HAS_PGREP + check-am: +- $(top_srcdir)/tests/utils/warn_lttng_processes.sh $(PGREP) ++ $(top_srcdir)/tests/utils/warn_processes.sh $(PGREP) + endif + else + @echo "=========================================" +diff --git a/tests/utils/Makefile.am b/tests/utils/Makefile.am +index bd79d20..9d327e0 100644 +--- a/tests/utils/Makefile.am ++++ b/tests/utils/Makefile.am +@@ -1,6 +1,6 @@ + SUBDIRS = . tap testapp + +-EXTRA_DIST = utils.sh test_utils.py babelstats.pl warn_lttng_processes.sh ++EXTRA_DIST = utils.sh test_utils.py babelstats.pl warn_processes.sh + dist_noinst_SCRIPTS = utils.sh test_utils.py babelstats.pl + noinst_LTLIBRARIES = libtestutils.la + +diff --git a/tests/utils/warn_processes.sh b/tests/utils/warn_processes.sh +new file mode 100755 +index 0000000..fee1d0f +--- /dev/null ++++ b/tests/utils/warn_processes.sh +@@ -0,0 +1,25 @@ ++#!/bin/bash ++ ++PGREP="$1" ++ ++if [ x$LTTNG_TOOLS_TESTS_DISABLE_WARN_LTTNG_PROCESSES == x1 ]; then ++ exit ++fi ++ ++color_warn='\E[1;33m' ++color_reset='\E[0m' ++color_bold='\E[1m' ++ ++lttng_processes="$("$PGREP" -l 'lttng|gen-ust-.+')" ++ ++if [ $? -eq 0 ]; then ++ pids="$(cut -d ' ' -f 1 <<< "$lttng_processes" | tr '\n' ' ')" ++ ++ echo -e "${color_warn}Warning: the following LTTng processes were detected running on the system:$color_reset" ++ echo ++ echo "$lttng_processes" ++ echo ++ echo -e "Here's how to kill them: ${color_bold}kill -9 $pids$color_reset" ++ echo -e "${color_warn}If you leave them alive, some tests could fail.$color_reset" ++ echo ++fi +-- +2.7.4 + diff --git a/testing/lttng-tools/0002-Fix-snapshot-del-output-with-name-on-musl.patch b/testing/lttng-tools/0002-Fix-snapshot-del-output-with-name-on-musl.patch new file mode 100644 index 0000000000..b5cc7ec920 --- /dev/null +++ b/testing/lttng-tools/0002-Fix-snapshot-del-output-with-name-on-musl.patch @@ -0,0 +1,11 @@ +--- lttng-tools-2.8.0.orig/src/bin/lttng/commands/snapshot.c ++++ lttng-tools-2.8.0/src/bin/lttng/commands/snapshot.c +@@ -447,7 +447,7 @@ + + errno = 0; + id = strtol(argv[1], &name, 10); +- if (id == 0 && errno == 0) { ++ if (id == 0 && (errno == 0 || errno == EINVAL)) { + if (lttng_opt_mi) { + ret = mi_del_output(UINT32_MAX, name); + } else { diff --git a/testing/lttng-tools/0003-Fix-error.h-common-error.h.patch b/testing/lttng-tools/0003-Fix-error.h-common-error.h.patch new file mode 100644 index 0000000000..e646821d0b --- /dev/null +++ b/testing/lttng-tools/0003-Fix-error.h-common-error.h.patch @@ -0,0 +1,26 @@ +From e12508e3e4de2f3d5416d6a750142b525e9d3b5e Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Mon, 13 Jun 2016 18:42:07 -0400 +Subject: [PATCH lttng-tools 3/4] Fix: error.h -> common/error.h + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +--- + src/bin/lttng-sessiond/agent.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bin/lttng-sessiond/agent.c b/src/bin/lttng-sessiond/agent.c +index 8e1ef08..5b0b6f5 100644 +--- a/src/bin/lttng-sessiond/agent.c ++++ b/src/bin/lttng-sessiond/agent.c +@@ -29,7 +29,7 @@ + #include "agent.h" + #include "ust-app.h" + #include "utils.h" +-#include "error.h" ++#include "common/error.h" + + #define AGENT_RET_CODE_INDEX(code) (code - AGENT_RET_CODE_SUCCESS) + +-- +2.7.4 + diff --git a/testing/lttng-tools/0004-Fix-strerror_r-behavior-is-glibc-specific.patch b/testing/lttng-tools/0004-Fix-strerror_r-behavior-is-glibc-specific.patch new file mode 100644 index 0000000000..f1fe8735c4 --- /dev/null +++ b/testing/lttng-tools/0004-Fix-strerror_r-behavior-is-glibc-specific.patch @@ -0,0 +1,26 @@ +From fc743b22fc26eab9f9dbf48e4505ed2394924bba Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Mon, 13 Jun 2016 18:44:17 -0400 +Subject: [PATCH lttng-tools 4/4] Fix: strerror_r behavior is glibc specific + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +--- + src/common/error.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/common/error.h b/src/common/error.h +index 0fbd3a2..e8c811e 100644 +--- a/src/common/error.h ++++ b/src/common/error.h +@@ -198,7 +198,7 @@ static inline void __lttng_print_check_abort(enum lttng_error_level type) + + #define _PERROR(fmt, args...) _ERRMSG("PERROR", PRINT_ERR, fmt, ## args) + +-#if !defined(__linux__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) ++#if !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) + + /* + * Version using XSI strerror_r. +-- +2.7.4 + diff --git a/testing/lttng-tools/0005-Fix-Define-MANPATH-in-config.h.patch b/testing/lttng-tools/0005-Fix-Define-MANPATH-in-config.h.patch new file mode 100644 index 0000000000..525afd497b --- /dev/null +++ b/testing/lttng-tools/0005-Fix-Define-MANPATH-in-config.h.patch @@ -0,0 +1,42 @@ +From c29ac16a3dbd107ac965bfa5738bb0f51b6607bb Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Thu, 9 Jun 2016 15:11:31 -0400 +Subject: [PATCH lttng-tools 1/3] Fix: Define MANPATH in config.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com> +--- + configure.ac | 2 ++ + src/common/Makefile.am | 3 +-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index e761d0b..ec1f7a0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -621,6 +621,8 @@ and installing the man pages. + AM_CONDITIONAL([MAN_PAGES_OPT], [test "x$man_pages_opt" != "xno"]) + AM_CONDITIONAL([HAVE_ASCIIDOC_XMLTO], [test "x$have_asciidoc_xmlto" = "xyes"]) + ++AC_DEFINE_UNQUOTED([MANPATH], ["`eval eval echo $mandir`"], [Path to man pages.]) ++ + # Python agent test + UST_PYTHON_AGENT="lttngust" + +diff --git a/src/common/Makefile.am b/src/common/Makefile.am +index 193057c..8633730 100644 +--- a/src/common/Makefile.am ++++ b/src/common/Makefile.am +@@ -1,5 +1,4 @@ +-AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src \ +- -DMANPATH=\""$(mandir)"\" ++AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src + + AUTOMAKE_OPTIONS = subdir-objects + +-- +2.7.4 + diff --git a/testing/lttng-tools/0006-Fix-do-not-link-against-libtool-.o-objects.patch b/testing/lttng-tools/0006-Fix-do-not-link-against-libtool-.o-objects.patch new file mode 100644 index 0000000000..76bac3054a --- /dev/null +++ b/testing/lttng-tools/0006-Fix-do-not-link-against-libtool-.o-objects.patch @@ -0,0 +1,66 @@ +From f9323656c27575b2eccd7e85876c897f1c46172e Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Thu, 9 Jun 2016 15:11:32 -0400 +Subject: [PATCH lttng-tools 2/3] Fix: do not link against libtool .o objects +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We should not link against libtool objects directly +since they have different names in static or shared +only build. Instead link on the full .la + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com> +--- + tests/unit/Makefile.am | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am +index 5625cf0..b698107 100644 +--- a/tests/unit/Makefile.am ++++ b/tests/unit/Makefile.am +@@ -46,9 +46,7 @@ SESSIONS=$(top_builddir)/src/bin/lttng-sessiond/session.o \ + $(top_builddir)/src/bin/lttng-sessiond/consumer.o \ + $(top_builddir)/src/bin/lttng-sessiond/utils.o \ + $(top_builddir)/src/bin/lttng-sessiond/snapshot.o \ +- $(top_builddir)/src/common/uri.o \ +- $(top_builddir)/src/common/utils.o \ +- $(top_builddir)/src/common/error.o \ ++ $(top_builddir)/src/common/libcommon.la \ + $(top_builddir)/src/common/health/libhealth.la \ + $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la + +@@ -72,8 +70,7 @@ UST_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-ust.o \ + $(top_builddir)/src/bin/lttng-sessiond/session.o \ + $(top_builddir)/src/bin/lttng-sessiond/snapshot.o \ + $(top_builddir)/src/bin/lttng-sessiond/agent.o \ +- $(top_builddir)/src/common/uri.o \ +- $(top_builddir)/src/common/utils.o \ ++ $(top_builddir)/src/common/libcommon.la \ + $(top_builddir)/src/common/health/libhealth.la \ + $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la + +@@ -87,8 +84,7 @@ endif + KERN_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-kernel.o \ + $(top_builddir)/src/bin/lttng-sessiond/consumer.o \ + $(top_builddir)/src/bin/lttng-sessiond/utils.o \ +- $(top_builddir)/src/common/uri.o \ +- $(top_builddir)/src/common/utils.o \ ++ $(top_builddir)/src/common/libcommon.la \ + $(top_builddir)/src/common/health/libhealth.la \ + $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la + +@@ -98,8 +94,7 @@ test_kernel_data_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBRELAYD) $(LIBSESSIOND_COMM) + test_kernel_data_LDADD += $(KERN_DATA_TRACE) + + # utils suffix for unit test +-UTILS_SUFFIX=$(top_builddir)/src/common/utils.o \ +- $(top_builddir)/src/common/runas.o ++UTILS_SUFFIX=$(top_builddir)/src/common/libcommon.la + + # parse_size_suffix unit test + test_utils_parse_size_suffix_SOURCES = test_utils_parse_size_suffix.c +-- +2.7.4 + diff --git a/testing/lttng-tools/0007-Fix-do-not-refer-to-objects-as-.o.patch b/testing/lttng-tools/0007-Fix-do-not-refer-to-objects-as-.o.patch new file mode 100644 index 0000000000..530de82579 --- /dev/null +++ b/testing/lttng-tools/0007-Fix-do-not-refer-to-objects-as-.o.patch @@ -0,0 +1,103 @@ +From 020992bb4cf2a3c58396906b6c0f5cb2bca9dca4 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Thu, 9 Jun 2016 15:11:33 -0400 +Subject: [PATCH lttng-tools 3/3] Fix: do not refer to objects as .o +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The extension of object files is platform dependant, +use $(OBJEXT) instead of .o when referring to objects. + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com> +--- + tests/regression/tools/live/Makefile.am | 8 +++---- + tests/unit/Makefile.am | 38 ++++++++++++++++----------------- + 2 files changed, 23 insertions(+), 23 deletions(-) + +diff --git a/tests/regression/tools/live/Makefile.am b/tests/regression/tools/live/Makefile.am +index 24ccc7c..8bc213d 100644 +--- a/tests/regression/tools/live/Makefile.am ++++ b/tests/regression/tools/live/Makefile.am +@@ -16,10 +16,10 @@ LIBHASHTABLE=$(top_builddir)/src/common/hashtable/libhashtable.la + LIBRELAYD=$(top_builddir)/src/common/relayd/librelayd.la + LIBHEALTH=$(top_builddir)/src/common/health/libhealth.la + +-LIVE=$(top_builddir)/src/bin/lttng-sessiond/session.o \ +- $(top_builddir)/src/bin/lttng-sessiond/consumer.o \ +- $(top_builddir)/src/bin/lttng-sessiond/utils.o \ +- $(top_builddir)/src/bin/lttng-sessiond/snapshot.o ++LIVE=$(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/consumer.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/utils.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/snapshot.$(OBJEXT) + + noinst_PROGRAMS = live_test + EXTRA_DIST = test_kernel test_lttng_kernel +diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am +index b698107..3355e59 100644 +--- a/tests/unit/Makefile.am ++++ b/tests/unit/Makefile.am +@@ -42,10 +42,10 @@ test_uri_SOURCES = test_uri.c + test_uri_LDADD = $(LIBTAP) $(LIBCOMMON) $(LIBHASHTABLE) + + # Session unit test +-SESSIONS=$(top_builddir)/src/bin/lttng-sessiond/session.o \ +- $(top_builddir)/src/bin/lttng-sessiond/consumer.o \ +- $(top_builddir)/src/bin/lttng-sessiond/utils.o \ +- $(top_builddir)/src/bin/lttng-sessiond/snapshot.o \ ++SESSIONS=$(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/consumer.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/utils.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/snapshot.$(OBJEXT) \ + $(top_builddir)/src/common/libcommon.la \ + $(top_builddir)/src/common/health/libhealth.la \ + $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la +@@ -58,18 +58,18 @@ test_session_LDADD += $(SESSIONS) + + # UST data structures unit test + if HAVE_LIBLTTNG_UST_CTL +-UST_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-ust.o \ +- $(top_builddir)/src/bin/lttng-sessiond/consumer.o \ +- $(top_builddir)/src/bin/lttng-sessiond/utils.o \ +- $(top_builddir)/src/bin/lttng-sessiond/buffer-registry.o \ +- $(top_builddir)/src/bin/lttng-sessiond/ust-registry.o \ +- $(top_builddir)/src/bin/lttng-sessiond/ust-metadata.o \ +- $(top_builddir)/src/bin/lttng-sessiond/ust-app.o \ +- $(top_builddir)/src/bin/lttng-sessiond/ust-consumer.o \ +- $(top_builddir)/src/bin/lttng-sessiond/fd-limit.o \ +- $(top_builddir)/src/bin/lttng-sessiond/session.o \ +- $(top_builddir)/src/bin/lttng-sessiond/snapshot.o \ +- $(top_builddir)/src/bin/lttng-sessiond/agent.o \ ++UST_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-ust.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/consumer.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/utils.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/buffer-registry.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/ust-registry.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/ust-metadata.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/ust-app.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/ust-consumer.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/fd-limit.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/session.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/snapshot.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/agent.$(OBJEXT) \ + $(top_builddir)/src/common/libcommon.la \ + $(top_builddir)/src/common/health/libhealth.la \ + $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la +@@ -81,9 +81,9 @@ test_ust_data_LDADD += $(UST_DATA_TRACE) + endif + + # Kernel data structures unit test +-KERN_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-kernel.o \ +- $(top_builddir)/src/bin/lttng-sessiond/consumer.o \ +- $(top_builddir)/src/bin/lttng-sessiond/utils.o \ ++KERN_DATA_TRACE=$(top_builddir)/src/bin/lttng-sessiond/trace-kernel.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/consumer.$(OBJEXT) \ ++ $(top_builddir)/src/bin/lttng-sessiond/utils.$(OBJEXT) \ + $(top_builddir)/src/common/libcommon.la \ + $(top_builddir)/src/common/health/libhealth.la \ + $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la +-- +2.7.4 + diff --git a/testing/lttng-tools/0008-Fix-missing-include-ctype.h-for-isdigit.patch b/testing/lttng-tools/0008-Fix-missing-include-ctype.h-for-isdigit.patch new file mode 100644 index 0000000000..1dc77b38c5 --- /dev/null +++ b/testing/lttng-tools/0008-Fix-missing-include-ctype.h-for-isdigit.patch @@ -0,0 +1,25 @@ +From f4ff60d3f82c6f35aeb066772428aac3b0149276 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Wed, 15 Jun 2016 09:46:53 -0500 +Subject: [PATCH lttng-tools 1/3] Fix: missing include ctype.h for isdigit() + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +--- + src/bin/lttng-sessiond/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c +index 4623579..c8e4e53 100644 +--- a/src/bin/lttng-sessiond/main.c ++++ b/src/bin/lttng-sessiond/main.c +@@ -37,6 +37,7 @@ + #include <sys/wait.h> + #include <urcu/uatomic.h> + #include <unistd.h> ++#include <ctype.h> + + #include <common/common.h> + #include <common/compat/socket.h> +-- +2.7.4 + diff --git a/testing/lttng-tools/0009-Fix-location-of-various-standard-header-includes.patch b/testing/lttng-tools/0009-Fix-location-of-various-standard-header-includes.patch new file mode 100644 index 0000000000..26df2d6b6a --- /dev/null +++ b/testing/lttng-tools/0009-Fix-location-of-various-standard-header-includes.patch @@ -0,0 +1,41 @@ +From 080bcd6236b63e7cf354612a8687e72c70ef6c9f Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Wed, 15 Jun 2016 10:05:39 -0500 +Subject: [PATCH lttng-tools 2/3] Fix: location of various standard header + includes + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +--- + src/common/daemonize.c | 2 +- + src/common/runas.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/common/daemonize.c b/src/common/daemonize.c +index 300851b..b12194e 100644 +--- a/src/common/daemonize.c ++++ b/src/common/daemonize.c +@@ -20,7 +20,7 @@ + #include <unistd.h> + #include <common/compat/paths.h> + #include <fcntl.h> +-#include <wait.h> ++#include <sys/wait.h> + #include <stdlib.h> + + #include <urcu/system.h> +diff --git a/src/common/runas.c b/src/common/runas.c +index 2a71f58..7a6be28 100644 +--- a/src/common/runas.c ++++ b/src/common/runas.c +@@ -28,7 +28,7 @@ + #include <unistd.h> + #include <fcntl.h> + #include <sched.h> +-#include <sys/signal.h> ++#include <signal.h> + #include <assert.h> + #include <signal.h> + +-- +2.7.4 + diff --git a/testing/lttng-tools/0010-Set-thread-stack-size-to-ulimit-soft-value.patch b/testing/lttng-tools/0010-Set-thread-stack-size-to-ulimit-soft-value.patch new file mode 100644 index 0000000000..dc6a7dda5e --- /dev/null +++ b/testing/lttng-tools/0010-Set-thread-stack-size-to-ulimit-soft-value.patch @@ -0,0 +1,427 @@ +From 451f4d875537c073a966d6ccfb2fe08a497fbd7b Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Wed, 15 Jun 2016 11:01:08 -0500 +Subject: [PATCH lttng-tools 3/3] Set thread stack size to ulimit soft value + +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +--- + src/bin/lttng-consumerd/lttng-consumerd.c | 17 ++++++---- + src/bin/lttng-relayd/live.c | 10 +++--- + src/bin/lttng-relayd/live.h | 2 +- + src/bin/lttng-relayd/main.c | 14 +++++--- + src/bin/lttng-sessiond/main.c | 27 +++++++++------ + src/common/utils.c | 56 +++++++++++++++++++++++++++++++ + src/common/utils.h | 1 + + 7 files changed, 99 insertions(+), 28 deletions(-) + +diff --git a/src/bin/lttng-consumerd/lttng-consumerd.c b/src/bin/lttng-consumerd/lttng-consumerd.c +index 00660fc..2f1d01c 100644 +--- a/src/bin/lttng-consumerd/lttng-consumerd.c ++++ b/src/bin/lttng-consumerd/lttng-consumerd.c +@@ -57,6 +57,8 @@ + static pthread_t channel_thread, data_thread, metadata_thread, + sessiond_thread, metadata_timer_thread, health_thread; + ++static pthread_attr_t *tattr; ++ + /* to count the number of times the user pressed ctrl+c */ + static int sigintcount = 0; + +@@ -351,6 +353,9 @@ int main(int argc, char **argv) + } + } + ++ /* Get stacksize limit */ ++ tattr = get_pthread_attr_stacksize(); ++ + /* + * Starting from here, we can create threads. This needs to be after + * lttng_daemonize due to RCU. +@@ -498,7 +503,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage the client socket */ +- ret = pthread_create(&health_thread, NULL, ++ ret = pthread_create(&health_thread, tattr, + thread_manage_health, (void *) NULL); + if (ret) { + errno = ret; +@@ -517,7 +522,7 @@ int main(int argc, char **argv) + cmm_smp_mb(); /* Read ready before following operations */ + + /* Create thread to manage channels */ +- ret = pthread_create(&channel_thread, NULL, ++ ret = pthread_create(&channel_thread, tattr, + consumer_thread_channel_poll, + (void *) ctx); + if (ret) { +@@ -528,7 +533,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage the polling/writing of trace metadata */ +- ret = pthread_create(&metadata_thread, NULL, ++ ret = pthread_create(&metadata_thread, tattr, + consumer_thread_metadata_poll, + (void *) ctx); + if (ret) { +@@ -539,7 +544,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage the polling/writing of trace data */ +- ret = pthread_create(&data_thread, NULL, consumer_thread_data_poll, ++ ret = pthread_create(&data_thread, tattr, consumer_thread_data_poll, + (void *) ctx); + if (ret) { + errno = ret; +@@ -549,7 +554,7 @@ int main(int argc, char **argv) + } + + /* Create the thread to manage the receive of fd */ +- ret = pthread_create(&sessiond_thread, NULL, ++ ret = pthread_create(&sessiond_thread, tattr, + consumer_thread_sessiond_poll, + (void *) ctx); + if (ret) { +@@ -563,7 +568,7 @@ int main(int argc, char **argv) + * Create the thread to manage the UST metadata periodic timer and + * live timer. + */ +- ret = pthread_create(&metadata_timer_thread, NULL, ++ ret = pthread_create(&metadata_timer_thread, tattr, + consumer_timer_thread, (void *) ctx); + if (ret) { + errno = ret; +diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c +index e2096ec..32efab1 100644 +--- a/src/bin/lttng-relayd/live.c ++++ b/src/bin/lttng-relayd/live.c +@@ -2147,13 +2147,13 @@ int relayd_live_join(void) + /* + * main + */ +-int relayd_live_create(struct lttng_uri *uri) ++int relayd_live_create(struct lttng_uri *uri, const pthread_attr_t *tattr) + { + int ret = 0, retval = 0; + void *status; + int is_root; + +- if (!uri) { ++ if (!uri || !tattr) { + retval = -1; + goto exit_init_data; + } +@@ -2186,7 +2186,7 @@ int relayd_live_create(struct lttng_uri *uri) + } + + /* Setup the dispatcher thread */ +- ret = pthread_create(&live_dispatcher_thread, NULL, ++ ret = pthread_create(&live_dispatcher_thread, tattr, + thread_dispatcher, (void *) NULL); + if (ret) { + errno = ret; +@@ -2196,7 +2196,7 @@ int relayd_live_create(struct lttng_uri *uri) + } + + /* Setup the worker thread */ +- ret = pthread_create(&live_worker_thread, NULL, ++ ret = pthread_create(&live_worker_thread, tattr, + thread_worker, NULL); + if (ret) { + errno = ret; +@@ -2206,7 +2206,7 @@ int relayd_live_create(struct lttng_uri *uri) + } + + /* Setup the listener thread */ +- ret = pthread_create(&live_listener_thread, NULL, ++ ret = pthread_create(&live_listener_thread, tattr, + thread_listener, (void *) NULL); + if (ret) { + errno = ret; +diff --git a/src/bin/lttng-relayd/live.h b/src/bin/lttng-relayd/live.h +index 2b8a3a0..6cd85e9 100644 +--- a/src/bin/lttng-relayd/live.h ++++ b/src/bin/lttng-relayd/live.h +@@ -24,7 +24,7 @@ + + #include "lttng-relayd.h" + +-int relayd_live_create(struct lttng_uri *live_uri); ++int relayd_live_create(struct lttng_uri *live_uri, const pthread_attr_t *tattr); + int relayd_live_stop(void); + int relayd_live_join(void); + +diff --git a/src/bin/lttng-relayd/main.c b/src/bin/lttng-relayd/main.c +index 6ad6566..505e884 100644 +--- a/src/bin/lttng-relayd/main.c ++++ b/src/bin/lttng-relayd/main.c +@@ -119,6 +119,8 @@ static pthread_t dispatcher_thread; + static pthread_t worker_thread; + static pthread_t health_thread; + ++static pthread_attr_t *tattr; ++ + /* + * last_relay_stream_id_lock protects last_relay_stream_id increment + * atomicity on 32-bit architectures. +@@ -2778,6 +2780,8 @@ int main(int argc, char **argv) + } + } + ++ /* Get stack size limit */ ++ tattr = get_pthread_attr_stacksize(); + + /* Initialize thread health monitoring */ + health_relayd = health_app_create(NR_HEALTH_RELAYD_TYPES); +@@ -2840,7 +2844,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage the client socket */ +- ret = pthread_create(&health_thread, NULL, ++ ret = pthread_create(&health_thread, tattr, + thread_manage_health, (void *) NULL); + if (ret) { + errno = ret; +@@ -2850,7 +2854,7 @@ int main(int argc, char **argv) + } + + /* Setup the dispatcher thread */ +- ret = pthread_create(&dispatcher_thread, NULL, ++ ret = pthread_create(&dispatcher_thread, tattr, + relay_thread_dispatcher, (void *) NULL); + if (ret) { + errno = ret; +@@ -2860,7 +2864,7 @@ int main(int argc, char **argv) + } + + /* Setup the worker thread */ +- ret = pthread_create(&worker_thread, NULL, ++ ret = pthread_create(&worker_thread, tattr, + relay_thread_worker, NULL); + if (ret) { + errno = ret; +@@ -2870,7 +2874,7 @@ int main(int argc, char **argv) + } + + /* Setup the listener thread */ +- ret = pthread_create(&listener_thread, NULL, ++ ret = pthread_create(&listener_thread, tattr, + relay_thread_listener, (void *) NULL); + if (ret) { + errno = ret; +@@ -2879,7 +2883,7 @@ int main(int argc, char **argv) + goto exit_listener_thread; + } + +- ret = relayd_live_create(live_uri); ++ ret = relayd_live_create(live_uri, tattr); + if (ret) { + ERR("Starting live viewer threads"); + retval = -1; +diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c +index c8e4e53..b8f1bde 100644 +--- a/src/bin/lttng-sessiond/main.c ++++ b/src/bin/lttng-sessiond/main.c +@@ -212,6 +212,8 @@ static pthread_t ht_cleanup_thread; + static pthread_t agent_reg_thread; + static pthread_t load_session_thread; + ++static pthread_attr_t *tattr; ++ + /* + * UST registration command queue. This queue is tied with a futex and uses a N + * wakers / 1 waiter implemented and detailed in futex.c/.h +@@ -2402,7 +2404,7 @@ static int spawn_consumer_thread(struct consumer_data *consumer_data) + goto error; + } + +- ret = pthread_create(&consumer_data->thread, NULL, thread_manage_consumer, ++ ret = pthread_create(&consumer_data->thread, tattr, thread_manage_consumer, + consumer_data); + if (ret) { + errno = ret; +@@ -5638,6 +5640,9 @@ int main(int argc, char **argv) + goto exit_create_run_as_worker_cleanup; + } + ++ /* Get stack size limit */ ++ tattr = get_pthread_attr_stacksize(); ++ + /* + * Starting from here, we can create threads. This needs to be after + * lttng_daemonize due to RCU. +@@ -5672,7 +5677,7 @@ int main(int argc, char **argv) + } + + /* Create thread to clean up RCU hash tables */ +- ret = pthread_create(&ht_cleanup_thread, NULL, ++ ret = pthread_create(&ht_cleanup_thread, tattr, + thread_ht_cleanup, (void *) NULL); + if (ret) { + errno = ret; +@@ -6044,7 +6049,7 @@ int main(int argc, char **argv) + load_info->path = opt_load_session_path; + + /* Create health-check thread */ +- ret = pthread_create(&health_thread, NULL, ++ ret = pthread_create(&health_thread, tattr, + thread_manage_health, (void *) NULL); + if (ret) { + errno = ret; +@@ -6054,7 +6059,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage the client socket */ +- ret = pthread_create(&client_thread, NULL, ++ ret = pthread_create(&client_thread, tattr, + thread_manage_clients, (void *) NULL); + if (ret) { + errno = ret; +@@ -6064,7 +6069,7 @@ int main(int argc, char **argv) + } + + /* Create thread to dispatch registration */ +- ret = pthread_create(&dispatch_thread, NULL, ++ ret = pthread_create(&dispatch_thread, tattr, + thread_dispatch_ust_registration, (void *) NULL); + if (ret) { + errno = ret; +@@ -6074,7 +6079,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage application registration. */ +- ret = pthread_create(®_apps_thread, NULL, ++ ret = pthread_create(®_apps_thread, tattr, + thread_registration_apps, (void *) NULL); + if (ret) { + errno = ret; +@@ -6084,7 +6089,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage application socket */ +- ret = pthread_create(&apps_thread, NULL, ++ ret = pthread_create(&apps_thread, tattr, + thread_manage_apps, (void *) NULL); + if (ret) { + errno = ret; +@@ -6094,7 +6099,7 @@ int main(int argc, char **argv) + } + + /* Create thread to manage application notify socket */ +- ret = pthread_create(&apps_notify_thread, NULL, ++ ret = pthread_create(&apps_notify_thread, tattr, + ust_thread_manage_notify, (void *) NULL); + if (ret) { + errno = ret; +@@ -6104,7 +6109,7 @@ int main(int argc, char **argv) + } + + /* Create agent registration thread. */ +- ret = pthread_create(&agent_reg_thread, NULL, ++ ret = pthread_create(&agent_reg_thread, tattr, + agent_thread_manage_registration, (void *) NULL); + if (ret) { + errno = ret; +@@ -6116,7 +6121,7 @@ int main(int argc, char **argv) + /* Don't start this thread if kernel tracing is not requested nor root */ + if (is_root && !opt_no_kernel) { + /* Create kernel thread to manage kernel event */ +- ret = pthread_create(&kernel_thread, NULL, ++ ret = pthread_create(&kernel_thread, tattr, + thread_manage_kernel, (void *) NULL); + if (ret) { + errno = ret; +@@ -6127,7 +6132,7 @@ int main(int argc, char **argv) + } + + /* Create session loading thread. */ +- ret = pthread_create(&load_session_thread, NULL, thread_load_session, ++ ret = pthread_create(&load_session_thread, tattr, thread_load_session, + load_info); + if (ret) { + errno = ret; +diff --git a/src/common/utils.c b/src/common/utils.c +index 1e52ae0..593d6cc 100644 +--- a/src/common/utils.c ++++ b/src/common/utils.c +@@ -31,6 +31,8 @@ + #include <pwd.h> + #include <sys/file.h> + #include <unistd.h> ++#include <stdbool.h> ++#include <sys/resource.h> + + #include <common/common.h> + #include <common/runas.h> +@@ -1383,3 +1385,57 @@ int utils_show_man_page(int section, const char *page_name) + section_string, page_name, NULL); + return ret; + } ++ ++static bool pthread_ss_done = false; ++static pthread_attr_t *tattr = NULL; ++static pthread_attr_t tattr_value; ++ ++LTTNG_HIDDEN ++pthread_attr_t *get_pthread_attr_stacksize() { ++ int ret = 0; ++ size_t ptstacksize; ++ struct rlimit rlim; ++ ++ /* Return cached value */ ++ if (pthread_ss_done) { ++ goto end; ++ } ++ ++ /* Get stack size limits */ ++ ret = getrlimit(RLIMIT_STACK, &rlim); ++ if (ret < 0) { ++ PERROR("getrlimit"); ++ goto end; ++ } ++ DBG("Stack size limits: soft %lld, hard %lld bytes", ++ (long long) rlim.rlim_cur, ++ (long long) rlim.rlim_max); ++ ++ /* Get default thread stack size */ ++ ret = pthread_attr_getstacksize(&tattr_value, &ptstacksize); ++ if (ret < 0) { ++ PERROR("pthread_attr_getstacksize"); ++ goto end; ++ } ++ DBG("Default pthread stack size is %zu bytes", ptstacksize); ++ ++ /* Check if default thread stack size respects ulimits */ ++ if (ptstacksize < rlim.rlim_cur) { ++ DBG("Your libc doesn't honor stack size limits, setting thread stack size to soft limit (%lld bytes)", (long long) rlim.rlim_cur); ++ ++ /* Create pthread_attr_t struct with ulimit stack size */ ++ ret = pthread_attr_setstacksize(&tattr_value, rlim.rlim_cur); ++ if (ret < 0) { ++ PERROR("pthread_attr_setstacksize"); ++ goto end; ++ } ++ ++ /* Set pointer */ ++ tattr = &tattr_value; ++ } ++ ++ /* Enable cached value */ ++ pthread_ss_done = true; ++end: ++ return tattr; ++} +diff --git a/src/common/utils.h b/src/common/utils.h +index 7285f5c..568c123 100644 +--- a/src/common/utils.h ++++ b/src/common/utils.h +@@ -60,5 +60,6 @@ int utils_create_lock_file(const char *filepath); + int utils_recursive_rmdir(const char *path); + int utils_truncate_stream_file(int fd, off_t length); + int utils_show_man_page(int section, const char *page_name); ++pthread_attr_t *get_pthread_attr_stacksize(); + + #endif /* _COMMON_UTILS_H */ +-- +2.7.4 + diff --git a/testing/lttng-tools/APKBUILD b/testing/lttng-tools/APKBUILD new file mode 100644 index 0000000000..f5c1e0640c --- /dev/null +++ b/testing/lttng-tools/APKBUILD @@ -0,0 +1,94 @@ +# Contributor: Michael Jeanson <mjeanson@efficios.com> +# Maintainer: Michael Jeanson <mjeanson@efficios.com> +pkgname=lttng-tools +pkgver=2.8.0 +pkgrel=0 +pkgdesc="LTTng 2.0 control and utility programs" +url="https://lttng.org" +arch="all" +license="GPL2" +depends="babeltrace" +depends_dev="popt-dev libxml2-dev userspace-rcu-dev lttng-ust-dev kmod-dev" +makedepends="$depends_dev bash grep coreutils automake autoconf" +install="" +subpackages="$pkgname-dev $pkgname-doc" +source="https://lttng.org/files/$pkgname/$pkgname-$pkgver.tar.bz2 + 0000-add-missing-test-script.patch + 0001-Tests-Make-warn_processes.sh-more-portable.patch + 0002-Fix-snapshot-del-output-with-name-on-musl.patch + 0003-Fix-error.h-common-error.h.patch + 0004-Fix-strerror_r-behavior-is-glibc-specific.patch + 0005-Fix-Define-MANPATH-in-config.h.patch + 0006-Fix-do-not-link-against-libtool-.o-objects.patch + 0007-Fix-do-not-refer-to-objects-as-.o.patch + 0008-Fix-missing-include-ctype.h-for-isdigit.patch + 0009-Fix-location-of-various-standard-header-includes.patch + 0010-Set-thread-stack-size-to-ulimit-soft-value.patch" + +builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + default_prepare + chmod +x tests/utils/warn_processes.sh +} + +build() { + cd "$builddir" + + unset LDFLAGS + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + || return 1 + make V=1 || return 1 + make -j1 check || return 1 +} + +package() { + cd "$builddir" + + make DESTDIR="$pkgdir" install || return 1 + mkdir -p "$pkgdir"/usr/share/licenses/$pkgname + mv "$pkgdir"/usr/share/doc/$pkgname/LICENSE \ + "$pkgdir"/usr/share/licenses/$pkgname/ +} + +md5sums="0adcf00a70db9b99e0dc43475adba801 lttng-tools-2.8.0.tar.bz2 +24f81942141ffccf798735e767e0e6f7 0000-add-missing-test-script.patch +2f22d7a37569c84995d03db863a09446 0001-Tests-Make-warn_processes.sh-more-portable.patch +f592a8ca1e4e5125a2c7bebe8725ecbe 0002-Fix-snapshot-del-output-with-name-on-musl.patch +f10946cbfeadd54035ea6088cfceb7f1 0003-Fix-error.h-common-error.h.patch +80c64f3e33d46f68372578afc11e254f 0004-Fix-strerror_r-behavior-is-glibc-specific.patch +836180b4c95d9c4e3d5f871bc35ec539 0005-Fix-Define-MANPATH-in-config.h.patch +cd9ff76c15931858986e8e14756e115f 0006-Fix-do-not-link-against-libtool-.o-objects.patch +361e8f88c9aa600c7be4c551410a6927 0007-Fix-do-not-refer-to-objects-as-.o.patch +caf2e21365cad8940f984affc83da5ad 0008-Fix-missing-include-ctype.h-for-isdigit.patch +54a29190c3e2e7165b1c615973f2dee1 0009-Fix-location-of-various-standard-header-includes.patch +51a51e03cd4fabd812168bac4fc235dc 0010-Set-thread-stack-size-to-ulimit-soft-value.patch" +sha256sums="2651a6c30bf26ebbdc218fdf75772b834ee42cccf0d6e14d7dac4c575fd02bd5 lttng-tools-2.8.0.tar.bz2 +0421b7364003e4d3e5e3ba2862861f6600d930dffaab1810ebae84e9d657a365 0000-add-missing-test-script.patch +e712ada9ce912f946afff6e21c8b280cd6a061507102947794c5ad28fd00a3d2 0001-Tests-Make-warn_processes.sh-more-portable.patch +117f3876419a78ab1d9638bce63afd75dbd1cfcbfd15d52542f34c2c5591b983 0002-Fix-snapshot-del-output-with-name-on-musl.patch +11380dafa6f4a02225a754518ae9792d31e4e0a2a30895b9544dc30b423f0edd 0003-Fix-error.h-common-error.h.patch +1a8777ab9d724bdef7b76619777b733522d1bb3bed6df96887ef4820d17a6f72 0004-Fix-strerror_r-behavior-is-glibc-specific.patch +ba451104f357f69fd67de683372d657ee05b6df36b83593074d26da36e5a1347 0005-Fix-Define-MANPATH-in-config.h.patch +cd12a16fb1612259349c877f87154e2cee6c7cd884b4a994a15fc02ee8b381c9 0006-Fix-do-not-link-against-libtool-.o-objects.patch +cd0848da6a74512b8c5372b813b130307f2f4f98df14cddef14eda55d9626eda 0007-Fix-do-not-refer-to-objects-as-.o.patch +ee57eebe3baef7f784a3b45f2cab47af40205cb279fe57586dc1ef0384441e5e 0008-Fix-missing-include-ctype.h-for-isdigit.patch +a14dc45efdd9a978c4fdae06d400b11c9ee770710596551e9212e6ac966ec89d 0009-Fix-location-of-various-standard-header-includes.patch +759ef937508d3dfa3f58f2b31793277139575b09743f857705c8e6947d50f28b 0010-Set-thread-stack-size-to-ulimit-soft-value.patch" +sha512sums="2a49b9f83b2a53dda653d8bf7cf35cbc67173912a38d9d52e2eb9313deb8a64ec9b5f7751055dc56cd972aaf412694088a7cc63297338448418872da5791d7a2 lttng-tools-2.8.0.tar.bz2 +fd1ea9c3968141e0d97783e51574eab253bb7571e43bff09c8c6f4533a70e03b18c3645457a5e2d9fceb21e409d5ae574130a9041fbd811422bbc43268c7b54a 0000-add-missing-test-script.patch +f02219c09028abec55d05a82bab3c575014f255d8838078446b9fd564737e6d7103477c3b1d556633093ca4f63708a9d5a4a0b8ebfa72274e5a76d46e969e569 0001-Tests-Make-warn_processes.sh-more-portable.patch +9ed87e171a286126d3c09eb53104084b1baf7417baf1aaa998a523bb0cc1388d783e1a3c47218b5dfae17792e3587808594423224cecbc198f133eba3a5487b6 0002-Fix-snapshot-del-output-with-name-on-musl.patch +3dec5721b6c89fd101b873b8c862963279c395e155b1dc5ae3461bf97943b269c29a814f3a1d2650a07687dff2c34f383aadd884f6c0e84fbc928dd43c17cb87 0003-Fix-error.h-common-error.h.patch +b996a0b21add39b3a9bd6850ff89946b8203f4b6a39e014fe7a65171205d97f93fad388d0636edce4381481d739773ebfc26c98a6d22f70eea7245e845727355 0004-Fix-strerror_r-behavior-is-glibc-specific.patch +cfc336d8ca7cea7c38ff673a221645698b0d47e86f2d8b7eefcfe4f043986b6701d494cb8afb62b733fc82d614e838d17ac8255447538b3a230d7b4f2795127e 0005-Fix-Define-MANPATH-in-config.h.patch +be60e37f2923217723ff638bfbf59ed5c7199e2498916a131f9ec21ca402c064e8fad1b32727f809d928a384b49bc4b356dfdd86615680804a5d8151ed049895 0006-Fix-do-not-link-against-libtool-.o-objects.patch +27ff95f140c2ce5772e2fee2258ff0fa25b5fea6afef3f8c3e06ebe92a2152203c40109e502a20d08d72b497c9cc55f6e635fe085889a95564b74f65e7831805 0007-Fix-do-not-refer-to-objects-as-.o.patch +57c424f7ae28283c2d8b43c08afdb23c5aeeee3fdd6db41450b6117116b28cd0f2fa3708f3d431b1565c097ec3d14e8e4cca3427f9f04ef198fe4c9847286aac 0008-Fix-missing-include-ctype.h-for-isdigit.patch +96386508a157b2c8bf68c026f50e50b76a1b2d25c8556b904ec3acee6160c79dbfa8e22c0d5eeef7b37187152d4abc300ad2518acb2bcf3e3736c0057d8addbe 0009-Fix-location-of-various-standard-header-includes.patch +13dda11c7d882bc1ec67219457fee90f55668a1ec945bcc8e15a2a520856d9daf2e28721ebb096134e169e0c4fbd1281ecb0e503d3c74c8099d0ab0a4b73c573 0010-Set-thread-stack-size-to-ulimit-soft-value.patch" |