]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
nfs-utils: replace problematic pending patch with upstream submission
authorAlexander Kanavin <alex@linutronix.de>
Mon, 7 Apr 2025 09:40:28 +0000 (11:40 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 10 Apr 2025 08:03:09 +0000 (09:03 +0100)
The now-removed patch was added for clang compatibility, but over time
started fixing problems that do not exist, and got its description
to mismatch the content.

The new patch is fixing the only problem with clang that still
occurs. I verified that all files that were patched before still
build without errors.

If you find other issues (this would be with non-default
options probably), please fix them similarly.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Detect-warning-options-during-configure.patch [deleted file]
meta/recipes-connectivity/nfs-utils/nfs-utils/0003-support-nfs-xcommon.c-fix-a-formatting-error-with-cl.patch [new file with mode: 0644]
meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.2.bb

diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Detect-warning-options-during-configure.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Detect-warning-options-during-configure.patch
deleted file mode 100644 (file)
index 69236e8..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-From 1ab0c326405c6daa06f1a7eb4b0b60bf4e0584c2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 31 Dec 2019 08:15:34 -0800
-Subject: [PATCH] Detect warning options during configure
-
-Certain options maybe compiler specific therefore its better
-to detect them before use.
-
-nfs_error copies the format string and appends newline to it
-but compiler can forget that it was format string since its not
-same fmt string that was passed. Ignore the warning
-
-Wdiscarded-qualifiers is gcc specific and this is no longer needed
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- support/nfs/xcommon.c          | 6 ++++++
- support/nfs/xlog.c             | 6 ++++++
- support/nfsidmap/libnfsidmap.c | 3 +++
- utils/exportfs/exportfs.c      | 3 +++
- 4 files changed, 18 insertions(+)
-
-diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c
-index 3989f0bc..ff438c18 100644
---- a/support/nfs/xcommon.c
-+++ b/support/nfs/xcommon.c
-@@ -98,7 +98,10 @@ nfs_error (const char *fmt, ...) {
-      fmt2 = xstrconcat2 (fmt, "\n");
-      va_start (args, fmt);
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-      vfprintf (stderr, fmt2, args);
-+#pragma GCC diagnostic pop
-      va_end (args);
-      free (fmt2);
- }
-@@ -132,7 +135,10 @@ die(int err, const char *fmt, ...) {
-       va_list args;
-       va_start(args, fmt);
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-       vfprintf(stderr, fmt, args);
-+#pragma GCC diagnostic pop
-       fprintf(stderr, "\n");
-       va_end(args);
-diff --git a/support/nfs/xlog.c b/support/nfs/xlog.c
-index fa125cef..dc4c9ea1 100644
---- a/support/nfs/xlog.c
-+++ b/support/nfs/xlog.c
-@@ -178,11 +178,16 @@ xlog_backend(int kind, const char *fmt, va_list args)
-               fprintf(stderr, "%s: ", log_name);
- #endif
-               va_copy(args2, args);
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-               vfprintf(stderr, fmt, args2);
-+#pragma GCC diagnostic pop
-               fprintf(stderr, "\n");
-               va_end(args2);
-       }
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-       if (log_syslog) {
-               switch (kind) {
-               case L_FATAL:
-@@ -203,6 +208,7 @@ xlog_backend(int kind, const char *fmt, va_list args)
-                       break;
-               }
-       }
-+#pragma GCC diagnostic pop
-       if (kind == L_FATAL)
-               exit(1);
-diff --git a/support/nfsidmap/libnfsidmap.c b/support/nfsidmap/libnfsidmap.c
-index f8c36480..1a28be0a 100644
---- a/support/nfsidmap/libnfsidmap.c
-+++ b/support/nfsidmap/libnfsidmap.c
-@@ -99,7 +99,10 @@ static void default_logger(const char *fmt, ...)
-       va_list vp;
-       va_start(vp, fmt);
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-       vsyslog(LOG_WARNING, fmt, vp);
-+#pragma GCC diagnostic pop
-       va_end(vp);
- }
-diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
-index b03a047b..eac1ff2a 100644
---- a/utils/exportfs/exportfs.c
-+++ b/utils/exportfs/exportfs.c
-@@ -646,7 +646,10 @@ dumpopt(char c, char *fmt, ...)
-       va_start(ap, fmt);
-       printf("%c", c);
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
-       vprintf(fmt, ap);
-+#pragma GCC diagnostic pop
-       va_end(ap);
-       return ',';
- }
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0003-support-nfs-xcommon.c-fix-a-formatting-error-with-cl.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0003-support-nfs-xcommon.c-fix-a-formatting-error-with-cl.patch
new file mode 100644 (file)
index 0000000..a99ba28
--- /dev/null
@@ -0,0 +1,40 @@
+From cc59a7fe15b6ca2ee43cba0dc1d699323b36ffcc Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 21 Mar 2025 10:42:56 +0100
+Subject: [PATCH] support/nfs/xcommon.c: fix a formatting error with clang
+
+Specifically, this happens:
+
+| xcommon.c:101:24: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
+|   101 |      vfprintf (stderr, fmt2, args);
+|       |                        ^~~~
+
+A similar approach (print \n seprately) is already used elsewhere in
+the same file.
+
+Upstream-Status: Submitted [via email to steved@redhat.com,linux-nfs@vger.kernel.org]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ support/nfs/xcommon.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c
+index 3989f0b..1d04dd1 100644
+--- a/support/nfs/xcommon.c
++++ b/support/nfs/xcommon.c
+@@ -94,13 +94,11 @@ xstrconcat4 (const char *s, const char *t, const char *u, const char *v) {
+ void
+ nfs_error (const char *fmt, ...) {
+      va_list args;
+-     char *fmt2;
+-     fmt2 = xstrconcat2 (fmt, "\n");
+      va_start (args, fmt);
+-     vfprintf (stderr, fmt2, args);
++     vfprintf (stderr, fmt, args);
++     fprintf (stderr, "\n");
+      va_end (args);
+-     free (fmt2);
+ }
+ /* Make a canonical pathname from PATH.  Returns a freshly malloced string.
index abbdec7808daad9dd2b2fb045e463e087814f946..1f3afa056005fc2eca9579594d097891344fb5ed 100644 (file)
@@ -23,9 +23,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x
            file://nfscommon \
            file://0001-locktest-Makefile.am-Do-not-use-build-flags.patch \
            file://0001-Fix-typecast-warning-with-clang.patch \
-           file://0001-Detect-warning-options-during-configure.patch \
            file://0004-Use-nogroup-for-nobody-group.patch \
            file://0005-find-OE-provided-Kerberos.patch \
+           file://0003-support-nfs-xcommon.c-fix-a-formatting-error-with-cl.patch \
            "
 
 SRC_URI[sha256sum] = "a39bbea76ac0ab9e6e8699caf3c308b6b310c20d458e8fa8606196d358e7fb15"