man-db: Fix build with clang

Message ID 20220210013444.2688705-1-raj.khem@gmail.com
State Accepted, archived
Commit f3e14090a3cfe168eb207667b553a861aa7de364
Headers show
Series man-db: Fix build with clang | expand

Commit Message

Khem Raj Feb. 10, 2022, 1:34 a.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ariable-declaration-to-function-scop.patch | 41 +++++++++++++++++++
 meta/recipes-extended/man-db/man-db_2.10.0.bb |  1 +
 2 files changed, 42 insertions(+)
 create mode 100644 meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch

Patch

diff --git a/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch b/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
new file mode 100644
index 00000000000..820b17b5de6
--- /dev/null
+++ b/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
@@ -0,0 +1,41 @@ 
+From 4b5e00ad020ec327cbc934528d02aa8c4fe3910b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Feb 2022 17:30:16 -0800
+Subject: [PATCH] man: Move local variable declaration to function scope
+
+There is a clang bug [1] unearthed here, so help clang by re-arranging
+code without changing the logic, until its fixed in clang
+
+[1] https://github.com/llvm/llvm-project/issues/53692
+
+Upstream-Status: Inappropriate [Inappropriate: Clang bug]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/man.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/man.c b/src/man.c
+index c91abf1..3240eea 100644
+--- a/src/man.c
++++ b/src/man.c
+@@ -352,7 +352,7 @@ static void init_html_pager (void)
+ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+ {
+ 	static bool apropos, whatis; /* retain values between calls */
+-
++	char *s;
+ 	/* Please keep these keys in the same order as in options above. */
+ 	switch (key) {
+ 		case 'C':
+@@ -383,7 +383,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+ 
+ 		case OPT_WARNINGS:
+ #ifdef NROFF_WARNINGS
+-			char *s = xstrdup (arg ? arg : default_roff_warnings);
++			s = xstrdup (arg ? arg : default_roff_warnings);
+ 			const char *warning;
+ 
+ 			for (warning = strtok (s, ","); warning;
+-- 
+2.35.1
+
diff --git a/meta/recipes-extended/man-db/man-db_2.10.0.bb b/meta/recipes-extended/man-db/man-db_2.10.0.bb
index 6a8ac2e3e34..a604930198e 100644
--- a/meta/recipes-extended/man-db/man-db_2.10.0.bb
+++ b/meta/recipes-extended/man-db/man-db_2.10.0.bb
@@ -7,6 +7,7 @@  LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
 
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
            file://99_mandb \
+           file://0001-man-Move-local-variable-declaration-to-function-scop.patch \
            file://man_db.conf-avoid-multilib-install-file-conflict.patch"
 SRC_URI[sha256sum] = "0a8629022f7117dc7fc6473c6fdb14913b24b106059bb056abee87dbd6070c79"