git: b06956644e3d - main - archivers/rpm4: fix build with clang 15
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 13 Dec 2022 16:21:58 UTC
The branch main has been updated by dim (src committer):
URL: https://cgit.FreeBSD.org/ports/commit/?id=b06956644e3d514ea746e0663a90df3c082ae2fd
commit b06956644e3d514ea746e0663a90df3c082ae2fd
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2022-12-12 20:30:27 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-12-13 16:20:38 +0000
archivers/rpm4: fix build with clang 15
During an exp-run for llvm 15 (see bug 265425), it turned out that
archivers/rpm4 failed to build with clang 15:
tools/rpmuncompress.c:101:23: warning: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
const char *bn = basename(fn);
^
tools/rpmuncompress.c:101:18: error: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
const char *bn = basename(fn);
^ ~~~~~~~~~~~~
This is because basename(3) is defined in <libgen.h>. After this include
is added to rpmuncompress.c, link errors still occur:
ld: error: undefined symbol: WIFEXITED
>>> referenced by rpmuncompress.c
>>> tools/rpmuncompress.o:(main)
ld: error: undefined symbol: WEXITSTATUS
>>> referenced by rpmuncompress.c
>>> tools/rpmuncompress.o:(main)
This is because WIFEXITED() and WEXITSTATUS() are macros defined in
<sys/wait.h>.
PR: 268341
Approved by: rodrigo (maintainer)
MFH: 2022Q4
---
archivers/rpm4/files/patch-tools_rpmuncompress.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/archivers/rpm4/files/patch-tools_rpmuncompress.c b/archivers/rpm4/files/patch-tools_rpmuncompress.c
index 0e8f99d25dfa..23dc0cc83dea 100644
--- a/archivers/rpm4/files/patch-tools_rpmuncompress.c
+++ b/archivers/rpm4/files/patch-tools_rpmuncompress.c
@@ -1,9 +1,12 @@
--- tools/rpmuncompress.c.orig 2022-08-30 11:42:23 UTC
+++ tools/rpmuncompress.c
-@@ -1,5 +1,6 @@
+@@ -1,7 +1,9 @@
#include "system.h"
+#include <sys/wait.h>
#include <popt.h>
#include <errno.h>
++#include <libgen.h>
#include <stdio.h>
+ #include <string.h>
+