git: 221f735298e0 - main - sysutils/lsof: Fix 16-CURRENT build
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Jun 2026 04:13:46 UTC
The branch main has been updated by cy:
URL: https://cgit.FreeBSD.org/ports/commit/?id=221f735298e005a5652ad116feac4bbe99645c47
commit 221f735298e005a5652ad116feac4bbe99645c47
Author: Chris.Torek <chris.torek@gmail.com>
AuthorDate: 2026-06-15 16:52:35 +0000
Commit: Cy Schubert <cy@FreeBSD.org>
CommitDate: 2026-06-16 04:13:00 +0000
sysutils/lsof: Fix 16-CURRENT build
Fix,
/usr/include/sys/malloc.h:194:7: error: conflicting types for 'malloc'
194 | void *malloc(size_t size, struct malloc_type *type, int flags) __malloc_like
PR: 295414
Approved by: maintainer timeout
---
sysutils/lsof/Makefile | 5 +++
.../lsof/files/patch-lib_dialects_freebsd_dlsof.h | 42 ++++++++++++++++++++--
2 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/sysutils/lsof/Makefile b/sysutils/lsof/Makefile
index 7648cdc29b99..eb07b5f88525 100644
--- a/sysutils/lsof/Makefile
+++ b/sysutils/lsof/Makefile
@@ -68,4 +68,9 @@ do-install:
${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_SCRIPT} ${WRKSRC}/scripts/* ${STAGEDIR}${DATADIR}
+# Create dummy empty vnode_if.h in case vnode.h includes it
+# (true on FreeBSD 16, harmless if not).
+post-patch:
+ ${TOUCH} ${WRKSRC}/include/vnode_if.h
+
.include <bsd.port.post.mk>
diff --git a/sysutils/lsof/files/patch-lib_dialects_freebsd_dlsof.h b/sysutils/lsof/files/patch-lib_dialects_freebsd_dlsof.h
index 788ca976508f..d4b9236badd3 100644
--- a/sysutils/lsof/files/patch-lib_dialects_freebsd_dlsof.h
+++ b/sysutils/lsof/files/patch-lib_dialects_freebsd_dlsof.h
@@ -1,6 +1,44 @@
---- lib/dialects/freebsd/dlsof.h.orig 2026-03-25 16:34:30 UTC
+--- lib/dialects/freebsd/dlsof.h.orig
+++ lib/dialects/freebsd/dlsof.h
-@@ -147,6 +147,7 @@ int getmntinfo(struct statfs **, int);
+@@ -43,14 +43,31 @@
+ # include <signal.h>
+ # include <unistd.h>
+
+-# if FREEBSDV >= 13000
+-/* This header is a huge mess. Please don't support EOL FreeBSD releases. */
+-# define _KERNEL 1
+-# include <sys/_lock.h>
+-# undef _KERNEL
+-# endif /* FREEBSDV>=13000 */
++/*
++ * Pull these in without _KERNEL. Using _KERNEL below is abuse
++ * in the first place, but this mitigates a bunch of new issues in
++ * FreeBSD 16. This relies on the fact that the system includes use
++ * header guards, so once they are included without _KERNEL the
++ * later (implicit/indirect) ones with _KERNEL are no-ops.
++ *
++ * Add dummy declarations for _KERNEL items that we don't actually
++ * need but get pulled in anyway.
++ */
++# include <sys/types.h>
++# include <sys/systm.h>
++# include <sys/malloc.h>
++
++# define LOCK_FILE NULL
++# define LOCK_LINE 0
++# define MALLOC_DECLARE(type) extern struct malloc_type type
++# define TRUE 1
++# define FALSE 0
++typedef struct vm_page *vm_page_t;
++
+ # define _KERNEL 1
+
++# include <sys/event.h>
++
+ # if defined(HAS_VM_MEMATTR_T)
+ /*
+ * The d_mmap2_t function typedef in <sys/conf.h> may need the definition
+@@ -147,6 +164,7 @@ int getmntinfo(struct statfs **, int);
# include <netinet/ip.h>
# include <net/route.h>
# define _WANT_INPCB /* for FreeBSD 12 and above */