From 18a84f6e3ee97dce1636e89ec341ee158b809719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Tue, 31 Oct 2017 21:43:42 +0100 Subject: [PATCH] 1.0.2-13 - Evolution of the previous (rhbz#1478089) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Pokorný --- ...f-tests-dubbed-functional-cover-link.patch | 114 +++++++++--------- ...n-time-client-libqb-checks-that-logg.patch | 68 ++++++----- ...r-libqb-logging-not-working-with-ld..patch | 51 +++----- ...-object-symbol-s-leak-expose-run-tim.patch | 16 +-- libqb.spec | 5 +- 5 files changed, 129 insertions(+), 125 deletions(-) diff --git a/03-tests-new-sort-of-tests-dubbed-functional-cover-link.patch b/03-tests-new-sort-of-tests-dubbed-functional-cover-link.patch index d27d8c4..ea594fa 100644 --- a/03-tests-new-sort-of-tests-dubbed-functional-cover-link.patch +++ b/03-tests-new-sort-of-tests-dubbed-functional-cover-link.patch @@ -1,4 +1,4 @@ -From afb1e96c8b45c520f1e66416167ad943326ae4fe Mon Sep 17 00:00:00 2001 +From d471da4335c1da2501f2c31ffafc18ae884af389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Fri, 6 Oct 2017 17:17:26 +0200 Subject: [PATCH 3/6] tests: new sort of tests dubbed "functional", cover @@ -160,11 +160,11 @@ Signed-off-by: Jan Pokorný tests/functional/log_interlib_client.c | 68 ++++++ tests/functional/log_internal/Makefile.am | 23 ++ tests/functional/log_test_client.err | 2 + - tests/functional/log_test_client.sh | 30 +++ + tests/functional/log_test_client.sh | 33 +++ tests/functional/log_test_interlib_client.err | 4 + - tests/functional/log_test_interlib_client.sh | 33 +++ + tests/functional/log_test_interlib_client.sh | 36 +++ tests/functional/log_test_mock.sh | 310 ++++++++++++++++++++++++++ - 16 files changed, 754 insertions(+), 2 deletions(-) + 16 files changed, 760 insertions(+), 2 deletions(-) create mode 100644 tests/functional/GNUmakefile create mode 100644 tests/functional/Makefile.am create mode 100644 tests/functional/log.am @@ -653,63 +653,17 @@ index 0000000..697cee2 +liblog_inter_la_LIBADD = $(top_builddir)/lib/libqb.la diff --git a/tests/functional/log_test_client.err b/tests/functional/log_test_client.err new file mode 100644 -index 0000000..cb0ff3c +index 0000000..19fca2c --- /dev/null +++ b/tests/functional/log_test_client.err @@ -0,0 +1,2 @@ +[MAIN |debug] ../log_client.c:64:hello -+[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: No such file or directory (2) ++[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: diff --git a/tests/functional/log_test_client.sh b/tests/functional/log_test_client.sh new file mode 100755 -index 0000000..17e9254 +index 0000000..9098751 --- /dev/null +++ b/tests/functional/log_test_client.sh -@@ -0,0 +1,30 @@ -+#!/bin/sh -+# Copyright 2017 Red Hat, Inc. -+# -+# Author: Jan Pokorny -+# -+# This file is part of libqb. -+# -+# libqb is free software: you can redistribute it and/or modify -+# it under the terms of the GNU Lesser General Public License as published by -+# the Free Software Foundation, either version 2.1 of the License, or -+# (at your option) any later version. -+# -+# libqb is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU Lesser General Public License for more details. -+# -+# You should have received a copy of the GNU Lesser General Public License -+# along with libqb. If not, see . -+ -+./log_client >/dev/null 2>log_test_client.err.real -+ -+_pipeline='cat ../log_test_client.err' -+case "${CPPFLAGS}" in -+ *-DNLOG*) -+ _pipeline="${_pipeline} | \ -+ grep -Ev '^\[MAIN |info] \.\./log_client\.c'";; -+esac -+ -+eval "${_pipeline}" | diff -u - log_test_client.err.real -diff --git a/tests/functional/log_test_interlib_client.err b/tests/functional/log_test_interlib_client.err -new file mode 100644 -index 0000000..dc0de9c ---- /dev/null -+++ b/tests/functional/log_test_interlib_client.err -@@ -0,0 +1,4 @@ -+[MAIN |info] ../log_interlib_client.c:61:BEFORE -+[MAIN |info] ../log_interlib.c:47:aloha -+[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: No such file or directory (2) -+[MAIN |info] ../log_interlib_client.c:65:AFTER -diff --git a/tests/functional/log_test_interlib_client.sh b/tests/functional/log_test_interlib_client.sh -new file mode 100755 -index 0000000..e066cae ---- /dev/null -+++ b/tests/functional/log_test_interlib_client.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# Copyright 2017 Red Hat, Inc. @@ -731,7 +685,59 @@ index 0000000..e066cae +# You should have received a copy of the GNU Lesser General Public License +# along with libqb. If not, see . + -+./log_interlib_client >/dev/null 2>log_test_interlib_client.err.real ++# error msg can differ per locale, errno code per system (Hurd begs to differ) ++./log_client 2>&1 >/dev/null \ ++ | sed 's/\(qb_log_blackbox_print_from_file:\).*/\1/' \ ++ >log_test_client.err.real ++ ++_pipeline='cat ../log_test_client.err' ++case "${CPPFLAGS}" in ++ *-DNLOG*) ++ _pipeline="${_pipeline} | \ ++ grep -Ev '^\[MAIN |info] \.\./log_client\.c'";; ++esac ++ ++eval "${_pipeline}" | diff -u - log_test_client.err.real +diff --git a/tests/functional/log_test_interlib_client.err b/tests/functional/log_test_interlib_client.err +new file mode 100644 +index 0000000..5b42b29 +--- /dev/null ++++ b/tests/functional/log_test_interlib_client.err +@@ -0,0 +1,4 @@ ++[MAIN |info] ../log_interlib_client.c:61:BEFORE ++[MAIN |info] ../log_interlib.c:47:aloha ++[libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: ++[MAIN |info] ../log_interlib_client.c:65:AFTER +diff --git a/tests/functional/log_test_interlib_client.sh b/tests/functional/log_test_interlib_client.sh +new file mode 100755 +index 0000000..d06ec98 +--- /dev/null ++++ b/tests/functional/log_test_interlib_client.sh +@@ -0,0 +1,36 @@ ++#!/bin/sh ++# Copyright 2017 Red Hat, Inc. ++# ++# Author: Jan Pokorny ++# ++# This file is part of libqb. ++# ++# libqb is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation, either version 2.1 of the License, or ++# (at your option) any later version. ++# ++# libqb is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public License ++# along with libqb. If not, see . ++ ++# error msg can differ per locale, errno code per system (Hurd begs to differ) ++./log_interlib_client 2>&1 >/dev/null \ ++ | sed 's/\(qb_log_blackbox_print_from_file:\).*/\1/' \ ++ >log_test_interlib_client.err.real + +_pipeline='cat ../log_test_interlib_client.err' +case "${CPPFLAGS}" in diff --git a/04-Med-add-extra-run-time-client-libqb-checks-that-logg.patch b/04-Med-add-extra-run-time-client-libqb-checks-that-logg.patch index 5cdf026..b9941c5 100644 --- a/04-Med-add-extra-run-time-client-libqb-checks-that-logg.patch +++ b/04-Med-add-extra-run-time-client-libqb-checks-that-logg.patch @@ -1,4 +1,4 @@ -From ca5c4425393c462670861a023608d30977a17de7 Mon Sep 17 00:00:00 2001 +From 06388b7fdf471438a08740791c21ae658c657bd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Fri, 6 Oct 2017 17:17:26 +0200 Subject: [PATCH 4/6] Med: add extra run-time (client, libqb) checks that @@ -82,18 +82,20 @@ change (and extending log_test_mock.sh so as to capture syslog stream within the container), not much changes with the table above, i.e., X(b) .. ld.bfd = 2.29: [*A] in addition, unless QB_LOG_INIT_DATA used on client side, - syslog carries this error: + syslog carries this warning: "(LOG@QB) target chain supplied section not observed by libqb, target's and/or libqb's linkage at fault and logging of the target will not work reliably (unless qb_log_init function used unexpectedly - in no-logging context)" + in no-logging context, or target chain built purposefully without + callsite section)" logged by libqb proper [*C] in addition, unless QB_LOG_INIT_DATA used on interlib side, - syslog carries this error: + syslog carries this warning: "(LOG@QB) target chain supplied section not observed by libqb, target's and/or libqb's linkage at fault and logging of the target will not work reliably (unless qb_log_init function used unexpectedly - in no-logging context)" + in no-logging context, or target chain built purposefully without + callsite section)" logged by libqb proper [*E] in addition, unless QB_LOG_INIT_DATA used on client side, syslog carries this warning: @@ -173,27 +175,30 @@ libqb's linkage at fault and logging would not work reliably" which makes it, likely through self-reference keepalive (see below), work OK [*K] boils down to [*3] - in addition, syslog carries this error: + in addition, syslog carries this warning: "(LOG@QB) target chain supplied section not observed by libqb, target's and/or libqb's linkage at fault and logging of the target will not work reliably (unless qb_log_init function used unexpectedly - in no-logging context)" + in no-logging context, or target chain built purposefully without + callsite section)" logged by libqb proper [*L] boils down to [*3], unless QB_LOG_INIT_DATA used on interlib side (sufficient?), which makes it, likely through self-reference keepalive (see below), boil down just to [*1]; - in addition, syslog carries this error: + in addition, syslog carries this warning: "(LOG@QB) target chain supplied section not observed by libqb, target's and/or libqb's linkage at fault and logging of the target will not work reliably (unless qb_log_init function used unexpectedly - in no-logging context)" + in no-logging context, or target chain built purposefully without + callsite section)" logged by libqb proper [*M] boils down to [*1]; - in addition, syslog carries this error: + in addition, syslog carries this warning: "(LOG@QB) target chain supplied section not observed by libqb, target's and/or libqb's linkage at fault and logging of the target will not work reliably (unless qb_log_init function used unexpectedly - in no-logging context)" + in no-logging context, or target chain built purposefully without + callsite section)" logged by libqb proper [*N] boils down to [*M], unless QB_LOG_INIT_DATA used on client side, which makes it, likely through self-reference keepalive (see @@ -230,22 +235,22 @@ which the current build system/code shake is all about. Signed-off-by: Jan Pokorný --- configure.ac | 1 + - include/qb/qblog.h | 110 ++++++++++++++++++++++-------- + include/qb/qblog.h | 111 ++++++++++++++++++++++-------- lib/libqb.pc.in | 3 +- - lib/log.c | 49 +++++++++++++ + lib/log.c | 53 ++++++++++++++ tests/functional/Makefile.am | 3 +- tests/functional/log.am | 2 +- tests/functional/log_external/Makefile.am | 8 ++- tests/functional/log_test_mock.sh | 13 +++- tests/functional/syslog-stdout.py | 51 ++++++++++++++ - 9 files changed, 204 insertions(+), 36 deletions(-) + 9 files changed, 209 insertions(+), 36 deletions(-) create mode 100755 tests/functional/syslog-stdout.py diff --git a/configure.ac b/configure.ac -index 274b49c..5769e60 100644 +index 027154c..5338352 100644 --- a/configure.ac +++ b/configure.ac -@@ -642,6 +642,7 @@ if test "x${GCC}" = xyes; then +@@ -644,6 +644,7 @@ if test "x${GCC}" = xyes; then AC_DEFINE([QB_HAVE_ATTRIBUTE_SECTION], 1, [Enabling code using __attribute__((section))]) PACKAGE_FEATURES="$PACKAGE_FEATURES attribute-section" @@ -254,7 +259,7 @@ index 274b49c..5769e60 100644 fi diff --git a/include/qb/qblog.h b/include/qb/qblog.h -index 4954932..766cffe 100644 +index aba63a0..e71556c 100644 --- a/include/qb/qblog.h +++ b/include/qb/qblog.h @@ -1,9 +1,10 @@ @@ -300,7 +305,7 @@ index 4954932..766cffe 100644 * * @par Configuring log targets. * A log target can be syslog, stderr, the blackbox, stdout, or a text file. -@@ -283,35 +285,85 @@ typedef void (*qb_log_filter_fn)(struct qb_log_callsite * cs); +@@ -283,35 +285,86 @@ typedef void (*qb_log_filter_fn)(struct qb_log_callsite * cs); extern struct qb_log_callsite QB_ATTR_SECTION_START[]; extern struct qb_log_callsite QB_ATTR_SECTION_STOP[]; @@ -391,7 +396,8 @@ index 4954932..766cffe 100644 + assert("implicit callsite section observable, otherwise \ +target's and/or libqb's linkage at fault and logging would not work \ +reliably" \ -+ && work_s1 != NULL && work_s2 != NULL); } \ ++ && work_s1 != NULL && work_s2 != NULL); \ ++ dlclose(work_handle); /* perhaps overly eager thing to do */ } \ + /* better targeted attestations when available */ \ + QB_NONAPI_LOG_INIT_DATA_EXTRA_; \ + /* finally, original, straightforward check */ \ @@ -419,7 +425,7 @@ index 8a8d0ba..37d27b7 100644 +Libs.private: @LIBS@ Cflags: -I${includedir} diff --git a/lib/log.c b/lib/log.c -index bfd218f..777f378 100644 +index bfd218f..eb35d6f 100644 --- a/lib/log.c +++ b/lib/log.c @@ -853,6 +853,18 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority) @@ -441,7 +447,7 @@ index bfd218f..777f378 100644 l = pthread_rwlock_init(&_listlock, NULL); assert(l == 0); -@@ -871,6 +883,25 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority) +@@ -871,6 +883,26 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority) qb_log_dcs_init(); #ifdef QB_HAVE_ATTRIBUTE_SECTION @@ -463,23 +469,27 @@ index bfd218f..777f378 100644 + } else if (work_s1 == work_s2) { + preinit_err = preinit_err_target_empty; + } ++ dlclose(work_handle); /* perhaps overly eager thing to do */ + } qb_log_callsites_register(QB_ATTR_SECTION_START, QB_ATTR_SECTION_STOP); dl_iterate_phdr(_log_so_walk_callback, NULL); _log_so_walk_dlnames(); -@@ -884,6 +915,24 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority) +@@ -884,6 +916,27 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority) _log_target_state_set(&conf[QB_LOG_SYSLOG], QB_LOG_STATE_ENABLED); (void)qb_log_filter_ctl(QB_LOG_SYSLOG, QB_LOG_FILTER_ADD, QB_LOG_FILTER_FILE, "*", priority); + + if (preinit_err == preinit_err_target_sec) -+ qb_util_log(LOG_ERR, "(LOG@QB) target chain supplied section" -+ " not observed by libqb, target's and/or" -+ " libqb's linkage at fault and" -+ " logging of the target will not" -+ " work reliably (unless qb_log_init" -+ " function used unexpectedly in" -+ " no-logging context)"); ++ qb_util_log(LOG_WARNING, "(LOG@QB) target chain supplied" ++ " section not observed by libqb," ++ " target's and/or libqb's linkage" ++ " at fault and logging of the target" ++ " will not work reliably (unless" ++ " qb_log_init function used" ++ " unexpectedly in no-logging" ++ " context, or target chain built" ++ " purposefully without callsite" ++ " sections)"); + else if (preinit_err == preinit_err_target_empty) { + qb_util_log(LOG_WARNING, "(LOG@QB) target chain supplied" + " section empty, target's and/or" diff --git a/05-High-bare-fix-for-libqb-logging-not-working-with-ld..patch b/05-High-bare-fix-for-libqb-logging-not-working-with-ld..patch index 38c2a6a..c36f1f5 100644 --- a/05-High-bare-fix-for-libqb-logging-not-working-with-ld..patch +++ b/05-High-bare-fix-for-libqb-logging-not-working-with-ld..patch @@ -1,4 +1,4 @@ -From 0de4d2298da9c5880ff8c32ac2e75c3104d44816 Mon Sep 17 00:00:00 2001 +From ae68f462c4ee6cadcbdbbd31b4c19e19bdd7aab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Fri, 6 Oct 2017 17:17:26 +0200 Subject: [PATCH 5/6] High: bare fix for libqb logging not working with @@ -260,11 +260,12 @@ Deficiencies: Open questions: * should we enable attribute((__section__)) for powerpc and other minor platforms if the feature is proved to be working there as well? - and related to that, we need to figure out how static and dynamic call - sites can live together -- say what will happen to logging programs - compiled with libqb w/o attribute sections when the underlying libqb is - flipped to the one with them ... do we need a transition plan to be - spread across an extended period to keep it smooth? + and if/when that's going to happen, we need to figure out the + transition plan to be spread throughout an extended period to keep + the transition smooth -- notably when now-with-callsite-section + clients will get run-time linked with callsite-section-not-a-default + libqb (say upon it's downgrade), and for that, the libqb's support + alone should be enabled year(s) ahead of the actual client space... * * * @@ -280,7 +281,6 @@ References: Signed-off-by: Jan Pokorný --- configure.ac | 147 +++++++++++++++++++++++++++++++++++++++++------ - include/qb/qbconfig.h.in | 2 + include/qb/qblog.h | 32 +++++++++-- lib/Makefile.am | 67 +++++++++++++++++++++ lib/libqb.pc.in | 8 +++ @@ -288,16 +288,16 @@ Signed-off-by: Jan Pokorný lib/qblog_script.la.in | 15 +++++ lib/qblog_script.ld.in | 27 +++++++++ lib/qblog_script_noop.ld | 1 + - 9 files changed, 282 insertions(+), 24 deletions(-) + 8 files changed, 280 insertions(+), 24 deletions(-) create mode 100644 lib/qblog_script.la.in create mode 100644 lib/qblog_script.ld.in create mode 100644 lib/qblog_script_noop.ld diff --git a/configure.ac b/configure.ac -index 5769e60..2b4ed32 100644 +index 5338352..ac56c4c 100644 --- a/configure.ac +++ b/configure.ac -@@ -501,6 +501,14 @@ AC_ARG_ENABLE([debug], +@@ -503,6 +503,14 @@ AC_ARG_ENABLE([debug], AC_ARG_ENABLE([coverage], [AS_HELP_STRING([--enable-coverage],[coverage analysis of the codebase])]) @@ -312,7 +312,7 @@ index 5769e60..2b4ed32 100644 AC_ARG_ENABLE([slow-tests], [AS_HELP_STRING([--enable-slow-tests],[build and run slow tests])]) -@@ -609,6 +617,19 @@ else +@@ -611,6 +619,19 @@ else COVERAGE_LDFLAGS="" fi @@ -332,7 +332,7 @@ index 5769e60..2b4ed32 100644 if test "x${enable_slow_tests}" = xyes ; then AC_DEFINE([HAVE_SLOW_TESTS], 1,[have slow tests]) AC_MSG_NOTICE([Enabling Slow tests]) -@@ -618,33 +639,121 @@ AC_SUBST(HAVE_SLOW_TESTS) +@@ -620,33 +641,121 @@ AC_SUBST(HAVE_SLOW_TESTS) # --- callsite sections --- if test "x${GCC}" = xyes; then @@ -470,7 +470,7 @@ index 5769e60..2b4ed32 100644 # --- ansi --- if test "x${enable_ansi}" = xyes && \ -@@ -726,9 +835,11 @@ AC_CONFIG_FILES([Makefile +@@ -728,9 +837,11 @@ AC_CONFIG_FILES([Makefile docs/Makefile docs/common.dox docs/html.dox @@ -484,23 +484,8 @@ index 5769e60..2b4ed32 100644 AC_OUTPUT -diff --git a/include/qb/qbconfig.h.in b/include/qb/qbconfig.h.in -index c1852e1..b0bf428 100644 ---- a/include/qb/qbconfig.h.in -+++ b/include/qb/qbconfig.h.in -@@ -27,8 +27,10 @@ - /* need atomic memory barrier */ - #undef QB_ATOMIC_OP_MEMORY_BARRIER_NEEDED - -+#ifndef QB_KILL_ATTRIBUTE_SECTION - /* Enabling code using __attribute__((section)) */ - #undef QB_HAVE_ATTRIBUTE_SECTION -+#endif /* QB_KILL_ATTRIBUTE_SECTION */ - - /* versioning info: MAJOR, MINOR, MICRO, and REST components */ - #undef QB_VER_MAJOR diff --git a/include/qb/qblog.h b/include/qb/qblog.h -index 766cffe..cd7256a 100644 +index e71556c..e0890a9 100644 --- a/include/qb/qblog.h +++ b/include/qb/qblog.h @@ -79,7 +79,10 @@ extern "C" { @@ -556,10 +541,10 @@ index 766cffe..cd7256a 100644 dlclose(work_handle); } } #endif /* _GNU_SOURCE */ -@@ -354,8 +375,7 @@ linkage at fault and logging would not work reliably" \ - target's and/or libqb's linkage at fault and logging would not work \ +@@ -355,8 +376,7 @@ target's and/or libqb's linkage at fault and logging would not work \ reliably" \ - && work_s1 != NULL && work_s2 != NULL); } \ + && work_s1 != NULL && work_s2 != NULL); \ + dlclose(work_handle); /* perhaps overly eager thing to do */ } \ - /* better targeted attestations when available */ \ - QB_NONAPI_LOG_INIT_DATA_EXTRA_; \ + QB_NONAPI_LOG_INIT_DATA_EXTRA_(name); \ @@ -680,7 +665,7 @@ index 37d27b7..65d3b8e 100644 Libs.private: @LIBS@ Cflags: -I${includedir} diff --git a/lib/log.c b/lib/log.c -index 777f378..b0c8735 100644 +index eb35d6f..290f29f 100644 --- a/lib/log.c +++ b/lib/log.c @@ -40,6 +40,13 @@ diff --git a/06-Low-fix-internal-object-symbol-s-leak-expose-run-tim.patch b/06-Low-fix-internal-object-symbol-s-leak-expose-run-tim.patch index 9bbd696..7843b5b 100644 --- a/06-Low-fix-internal-object-symbol-s-leak-expose-run-tim.patch +++ b/06-Low-fix-internal-object-symbol-s-leak-expose-run-tim.patch @@ -1,4 +1,4 @@ -From 4cd8bdcd3daca8781b5ee7bd8cdfdbcd5ba9cb92 Mon Sep 17 00:00:00 2001 +From 93ebd97659c51527b0dc4b98ba3e0a9070a1dfea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= Date: Fri, 6 Oct 2017 17:17:26 +0200 Subject: [PATCH 6/6] Low: fix internal object symbol's leak & expose run-time @@ -38,12 +38,12 @@ Signed-off-by: Jan Pokorný 9 files changed, 46 insertions(+), 11 deletions(-) diff --git a/include/qb/qbconfig.h.in b/include/qb/qbconfig.h.in -index b0bf428..7199b1b 100644 +index c1852e1..9094dc7 100644 --- a/include/qb/qbconfig.h.in +++ b/include/qb/qbconfig.h.in -@@ -32,7 +32,12 @@ +@@ -30,7 +30,12 @@ + /* Enabling code using __attribute__((section)) */ #undef QB_HAVE_ATTRIBUTE_SECTION - #endif /* QB_KILL_ATTRIBUTE_SECTION */ -/* versioning info: MAJOR, MINOR, MICRO, and REST components */ +/* versioning info: MAJOR, MINOR, MICRO, and REST components; @@ -56,7 +56,7 @@ index b0bf428..7199b1b 100644 #undef QB_VER_MINOR #undef QB_VER_MICRO diff --git a/include/qb/qblog.h b/include/qb/qblog.h -index cd7256a..4b18eba 100644 +index e0890a9..14f2a33 100644 --- a/include/qb/qblog.h +++ b/include/qb/qblog.h @@ -299,9 +299,11 @@ extern struct qb_log_callsite QB_ATTR_SECTION_STOP[]; @@ -110,7 +110,7 @@ index ff5b3b4..a428975 100644 source_to_lint = util.c hdb.c ringbuffer.c ringbuffer_helper.c \ array.c loop.c loop_poll.c loop_job.c \ diff --git a/lib/log.c b/lib/log.c -index b0c8735..32c9315 100644 +index 290f29f..cbad262 100644 --- a/lib/log.c +++ b/lib/log.c @@ -892,10 +892,12 @@ qb_log_init(const char *name, int32_t facility, uint8_t priority) @@ -185,13 +185,13 @@ index c60d657..d5d8089 100644 printf("--\n"); qb_log_callsites_dump(); diff --git a/tests/functional/log_test_client.err b/tests/functional/log_test_client.err -index cb0ff3c..7bc11b0 100644 +index 19fca2c..98df44c 100644 --- a/tests/functional/log_test_client.err +++ b/tests/functional/log_test_client.err @@ -1,2 +1,2 @@ -[MAIN |debug] ../log_client.c:64:hello +[MAIN |debug] ../log_client.c:69:hello - [libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: No such file or directory (2) + [libqb|error] log_blackbox.c:196:qb_log_blackbox_print_from_file: -- 2.14.3 diff --git a/libqb.spec b/libqb.spec index 1edabb1..bbe5181 100644 --- a/libqb.spec +++ b/libqb.spec @@ -2,7 +2,7 @@ Name: libqb Version: 1.0.2 -Release: 12%{?dist} +Release: 13%{?dist} Summary: An IPC library for high performance servers Group: System Environment/Libraries @@ -77,6 +77,9 @@ developing applications that use %{name}. %{_mandir}/man3/qb*3* %changelog +* Tue Oct 31 2017 Jan Pokorný - 1.0.2-13 +- Evolution of the previous (rhbz#1478089) + * Wed Oct 25 2017 Jan Pokorný - 1.0.2-12 - Evolution of the previous (rhbz#1478089)