app-metrics/collectd: unbreack v5.9.1
authorThomas Deutschmann <whissi@gentoo.org>
Wed, 21 Aug 2019 22:52:35 +0000 (00:52 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Wed, 21 Aug 2019 22:53:44 +0000 (00:53 +0200)
Add some upstream patches to fix broken v5.9.1 release.

Package-Manager: Portage-2.3.72, Repoman-2.3.17
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
app-metrics/collectd/collectd-5.9.1-r1.ebuild [moved from app-metrics/collectd/collectd-5.9.1.ebuild with 99% similarity]
app-metrics/collectd/files/collectd-5.9.1-fixup.patch [new file with mode: 0644]

similarity index 99%
rename from app-metrics/collectd/collectd-5.9.1.ebuild
rename to app-metrics/collectd/collectd-5.9.1-r1.ebuild
index e79b4d6e0e41ac4225b8dd8555ed9fc2fa726e20..052e491c929064e24eb454dab14096153f793a15 100644 (file)
@@ -160,7 +160,7 @@ REQUIRED_USE="
        collectd_plugins_python?                ( ${PYTHON_REQUIRED_USE} )
        collectd_plugins_smart?                 ( udev )"
 
-PATCHES=()
+PATCHES=( "${FILESDIR}"/${P}-fixup.patch )
 
 S="${WORKDIR}/${PN}-${PN}-${PV}"
 
diff --git a/app-metrics/collectd/files/collectd-5.9.1-fixup.patch b/app-metrics/collectd/files/collectd-5.9.1-fixup.patch
new file mode 100644 (file)
index 0000000..93f97d9
--- /dev/null
@@ -0,0 +1,81 @@
+--- a/src/daemon/plugin.c
++++ b/src/daemon/plugin.c
+@@ -647,7 +647,8 @@ static void start_read_threads(size_t num) /* {{{ */
+     }
+     char name[THREAD_NAME_MAX];
+-    snprintf(name, sizeof(name), "reader#%" PRIu64, (uint64_t)read_threads_num);
++    ssnprintf(name, sizeof(name), "reader#%" PRIu64,
++              (uint64_t)read_threads_num);
+     set_thread_name(read_threads[read_threads_num], name);
+     read_threads_num++;
+@@ -836,8 +837,8 @@ static void start_write_threads(size_t num) /* {{{ */
+     }
+     char name[THREAD_NAME_MAX];
+-    snprintf(name, sizeof(name), "writer#%" PRIu64,
+-             (uint64_t)write_threads_num);
++    ssnprintf(name, sizeof(name), "writer#%" PRIu64,
++              (uint64_t)write_threads_num);
+     set_thread_name(write_threads[write_threads_num], name);
+     write_threads_num++;
+--- a/src/intel_rdt.c
++++ b/src/intel_rdt.c
+@@ -325,8 +325,12 @@ static int strlisttoarray(char *str_list, char ***names, size_t *names_num) {
+       continue;
+     if ((isdupstr((const char **)*names, *names_num, token))) {
+-      ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'",
+-            token, str_list);
++      if (str_list != NULL)
++        ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'",
++              token, str_list);
++      else
++        ERROR(RDT_PLUGIN ": Duplicated process name \'%s\'", token);
++
+       return -EINVAL;
+     } else {
+       if (0 != strarray_add(names, names_num, token)) {
+--- a/src/intel_rdt.c
++++ b/src/intel_rdt.c
+@@ -325,11 +325,7 @@ static int strlisttoarray(char *str_list, char ***names, size_t *names_num) {
+       continue;
+     if ((isdupstr((const char **)*names, *names_num, token))) {
+-      if (str_list != NULL)
+-        ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'",
+-              token, str_list);
+-      else
+-        ERROR(RDT_PLUGIN ": Duplicated process name \'%s\'", token);
++      ERROR(RDT_PLUGIN ": Duplicated process name \'%s\'", token);
+       return -EINVAL;
+     } else {
+--- a/src/syslog.c
++++ b/src/syslog.c
+@@ -51,8 +51,7 @@ static int sl_config(const char *key, const char *value) {
+     log_level = parse_log_severity(value);
+     if (log_level < 0) {
+       log_level = LOG_INFO;
+-      ERROR("syslog: invalid loglevel [%s] defaulting to 'info'", value);
+-      return 1;
++      WARNING("syslog: invalid loglevel [%s] defaulting to 'info'", value);
+     }
+   } else if (strcasecmp(key, "NotifyLevel") == 0) {
+     notif_severity = parse_notif_severity(value);
+--- a/src/utils/common/common.c
++++ b/src/utils/common/common.c
+@@ -99,10 +99,7 @@ int ssnprintf(char *str, size_t sz, const char *format, ...) {
+   va_end(ap);
+-  if (ret < 0) {
+-    return ret;
+-  }
+-  return (size_t)ret >= sz;
++  return ret;
+ } /* int ssnprintf */
+ char *ssnprintf_alloc(char const *format, ...) /* {{{ */