diff options
author | 2024-03-29 02:26:43 +0100 | |
---|---|---|
committer | 2024-03-29 02:56:23 +0100 | |
commit | 5c1322c6e59410f4d285d24395e7ff0fab3fc2d0 (patch) | |
tree | 16b3c60654077e0ba70d995425b80a8d0a690633 /net-analyzer | |
parent | app-text/texlive-core: forward-port LTO fix (diff) | |
download | gentoo-5c1322c6e59410f4d285d24395e7ff0fab3fc2d0.tar.gz gentoo-5c1322c6e59410f4d285d24395e7ff0fab3fc2d0.tar.bz2 gentoo-5c1322c6e59410f4d285d24395e7ff0fab3fc2d0.zip |
net-analyzer/nagios-plugins-linux-madrisan: fixes for x86, #927490
Closes: https://bugs.gentoo.org/927490
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
Diffstat (limited to 'net-analyzer')
-rw-r--r-- | net-analyzer/nagios-plugins-linux-madrisan/files/nagios-plugins-linux-madrisan-32-x86-fixes.patch | 148 | ||||
-rw-r--r-- | net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-32-r1.ebuild (renamed from net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-32.ebuild) | 1 |
2 files changed, 149 insertions, 0 deletions
diff --git a/net-analyzer/nagios-plugins-linux-madrisan/files/nagios-plugins-linux-madrisan-32-x86-fixes.patch b/net-analyzer/nagios-plugins-linux-madrisan/files/nagios-plugins-linux-madrisan-32-x86-fixes.patch new file mode 100644 index 000000000000..657cd458f06e --- /dev/null +++ b/net-analyzer/nagios-plugins-linux-madrisan/files/nagios-plugins-linux-madrisan-32-x86-fixes.patch @@ -0,0 +1,148 @@ +https://github.com/madrisan/nagios-plugins-linux/pull/146 + +From d09bfd1b3974743af4b719629f59b5b96e1393a1 Mon Sep 17 00:00:00 2001 +From: Davide Madrisan <d.madrisan@proton.me> +Date: Wed, 27 Mar 2024 09:29:59 +0100 +Subject: [PATCH 1/3] fix: size_t variables on 32 and 64 bits arch have + different type + +Fix the following warning on 32-bits architectures: + + In file included from ../lib/container_docker_count.c:44, + from tslibcontainer_docker_count.c:33: + ../lib/container_docker_count.c: In function 'docker_running_containers': + ../include/logging.h:28:44: warning: format '%lu' expects argument of type 'long unsigned int', + but argument 3 has type 'size_t' {aka 'unsigned int'} [-Wformat=] + 28 | # define dbg(format, ...) fprintf (stdout, "DEBUG: " format, ##__VA_ARGS__) + | ^~~~~~~~~ + ../lib/container_docker_count.c:213:3: note: in expansion of macro 'dbg' + 213 | dbg ("%lu bytes retrieved\n", chunk.size); + | ^~~ + +Signed-off-by: Davide Madrisan <d.madrisan@proton.me> +--- a/lib/container_docker_count.c ++++ b/lib/container_docker_count.c +@@ -1,7 +1,7 @@ + // SPDX-License-Identifier: GPL-3.0-or-later + /* + * License: GPLv3+ +- * Copyright (c) 2018 Davide Madrisan <davide.madrisan@gmail.com> ++ * Copyright (c) 2018,2024 Davide Madrisan <davide.madrisan@gmail.com> + * + * A library for checking for Docker exposed metrics. + * +@@ -210,7 +210,7 @@ docker_running_containers (unsigned int *count, const char *image, + #endif /* NPL_TESTING */ + + assert (chunk.memory); +- dbg ("%lu bytes retrieved\n", chunk.size); ++ dbg ("%zu bytes retrieved\n", chunk.size); + dbg ("json data: %s", chunk.memory); + + hashtable = docker_json_parser (chunk.memory, "Image", 1); + +From 4574e9ed77ebda062279622bb3d8678fa983d272 Mon Sep 17 00:00:00 2001 +From: Davide Madrisan <d.madrisan@proton.me> +Date: Wed, 27 Mar 2024 17:36:04 +0100 +Subject: [PATCH 2/3] fix: workaround for a round issue on 32 bits + +On Gentoo Base System release 2.14 for 32-bits + + (unsigned long)(6.26*100) = 625 + +So the test fails. +As a workaround modify the data file used by the test. + +Signed-off-by: Davide Madrisan <d.madrisan@proton.me> +--- a/tests/ts_procpressurecpu.data ++++ b/tests/ts_procpressurecpu.data +@@ -1 +1 @@ +-some avg10=7.48 avg60=6.26 avg300=6.66 total=200932088 ++some avg10=7.48 avg60=6.25 avg300=6.66 total=200932088 +--- a/tests/tslibpressure.c ++++ b/tests/tslibpressure.c +@@ -103,7 +103,7 @@ mymain (void) + /* we multiply by 100 the averages to somewhat transform + * the double values into integer ones */ + DO_TEST ("cpu some avg10", psi_oneline->avg10 * 100, 748ULL); +- DO_TEST ("cpu some avg60", psi_oneline->avg60 * 100, 626ULL); ++ DO_TEST ("cpu some avg60", psi_oneline->avg60 * 100, 625ULL); + DO_TEST ("cpu some avg300", psi_oneline->avg300 * 100, 666ULL); + DO_TEST ("cpu single total", psi_oneline->total, 200932088ULL); + + +From c90afc02705fd6c32a6764741616b4e17688117b Mon Sep 17 00:00:00 2001 +From: Davide Madrisan <d.madrisan@proton.me> +Date: Wed, 27 Mar 2024 21:06:25 +0100 +Subject: [PATCH 3/3] fix: fix test tslibxstrton_sizetollint on 32-bit arch + +Fix the following errors: + + 1) check function sizetollint with arg 1024b ... OK + 2) check function sizetollint with arg 8k ... OK + 3) check function sizetollint with arg 50m ... OK + 4) check function sizetollint with arg 2g ... OK + 5) check function sizetollint with arg 3t ... FAILED + 6) check function sizetollint with arg 2p ... FAILED + 7) check function sizetollint with arg 1024B ... OK + 8) check function sizetollint with arg 8K ... OK + 9) check function sizetollint with arg 50M ... OK + 10) check function sizetollint with arg 2G ... OK + 11) check function sizetollint with arg 3T ... FAILED + 12) check function sizetollint with arg 2P ... FAILED + +The long int is not large enough on 32-bit architectures. + +Signed-off-by: Davide Madrisan <d.madrisan@proton.me> +--- a/tests/tslibxstrton_sizetoint64.c ++++ b/tests/tslibxstrton_sizetoint64.c +@@ -1,7 +1,7 @@ + // SPDX-License-Identifier: GPL-3.0-or-later + /* + * License: GPLv3+ +- * Copyright (c) 2022 Davide Madrisan <davide.madrisan@gmail.com> ++ * Copyright (c) 2022,2024 Davide Madrisan <davide.madrisan@gmail.com> + * + * Unit test for lib/xstrton.c + * +@@ -29,11 +29,11 @@ + typedef struct test_data + { + char *size; +- int64_t expect_value; ++ long long int expect_value; + } test_data; + + static int +-test_sizetoint64 (const void *tdata) ++test_sizetollint (const void *tdata) + { + const struct test_data *data = tdata; + long long int result; +@@ -57,19 +57,19 @@ mymain (void) + .size = SIZE, \ + .expect_value = EXPECT_VALUE, \ + }; \ +- if (test_run("check function sizetoint64 with arg " SIZE, \ +- test_sizetoint64, (&data)) < 0) \ ++ if (test_run("check function sizetollint with arg " SIZE, \ ++ test_sizetollint, (&data)) < 0) \ + ret = -1; \ + } \ + while (0) + + /* test the function sizetoint64() */ + +-#define ONE_KILOBYTE 1000UL +-#define ONE_MEGABYTE (1000UL * ONE_KILOBYTE) +-#define ONE_GIGABYTE (1000UL * ONE_MEGABYTE) +-#define ONE_TERABYTE (1000UL * ONE_GIGABYTE) +-#define ONE_PETABYTE (1000UL * ONE_TERABYTE) ++#define ONE_KILOBYTE 1000ULL ++#define ONE_MEGABYTE (1000ULL * ONE_KILOBYTE) ++#define ONE_GIGABYTE (1000ULL * ONE_MEGABYTE) ++#define ONE_TERABYTE (1000ULL * ONE_GIGABYTE) ++#define ONE_PETABYTE (1000ULL * ONE_TERABYTE) + + DO_TEST ("1024b", 1024); + DO_TEST ("8k", 8 * ONE_KILOBYTE); diff --git a/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-32.ebuild b/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-32-r1.ebuild index ef628d4e230c..bcd369b7e003 100644 --- a/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-32.ebuild +++ b/net-analyzer/nagios-plugins-linux-madrisan/nagios-plugins-linux-madrisan-32-r1.ebuild @@ -27,6 +27,7 @@ RDEPEND="${DEPEND}" PATCHES=( "${FILESDIR}/${P}-rename-with-systemd.patch" + "${FILESDIR}/${P}-x86-fixes.patch" ) src_prepare() { |