From 6e97963b05602a67516de3d4c979860e4f8284f6 Mon Sep 17 00:00:00 2001 From: Craig Leres Date: Wed, 11 Nov 2020 22:11:45 +0000 Subject: [PATCH] sysutils/lsof: Unbreak for 12.2-RELEASE and newer 13.0-CURRENT The the order of fields in the namecache struct changed in stable/12 (r363891) and head (r367338); this definition is not public so lsof has it's own copy that needs to be conditionally adjusted accordingly. PR: 250916 Approved by: ler (maintainer) --- sysutils/lsof/Makefile | 2 +- .../lsof/files/patch-dialects-freebsd-dlsof.h | 24 +++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/sysutils/lsof/Makefile b/sysutils/lsof/Makefile index a1dc423f27ca..d14a78165af9 100644 --- a/sysutils/lsof/Makefile +++ b/sysutils/lsof/Makefile @@ -6,7 +6,7 @@ PORTNAME= lsof DISTVERSION= 4.93.2 -PORTREVISION= 13 +PORTREVISION= 14 PORTEPOCH= 8 CATEGORIES= sysutils diff --git a/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h b/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h index ec64911fbfb3..17bcc69d323c 100644 --- a/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h +++ b/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h @@ -21,16 +21,32 @@ # if FREEBSDV>=4000 # if FREEBSDV>=5000 # if FREEBSDV<6020 -@@ -104,6 +111,12 @@ typedef struct device *device_t; - +@@ -105,6 +112,12 @@ typedef struct device *device_t; #include -+ + +/* + * include for refcount(9) + */ +#include + - ++ # if defined(HAS_VM_MEMATTR_T) #undef vm_memattr_t + # endif /* defined(HAS_VM_MEMATTR_T) */ +@@ -652,9 +665,15 @@ struct sfile { + */ + + struct namecache { ++# if __FreeBSD_version < 1202000 || (__FreeBSD_version >= 1300000 && __FreeBSD_version < 1300105) + LIST_ENTRY(namecache) nc_hash; /* hash chain */ + LIST_ENTRY(namecache) nc_src; /* source vnode list */ + TAILQ_ENTRY(namecache) nc_dst; /* destination vnode list */ ++# else ++ LIST_ENTRY(namecache) nc_src; /* source vnode list */ ++ TAILQ_ENTRY(namecache) nc_dst; /* destination vnode list */ ++ LIST_ENTRY(namecache) nc_hash; /* hash chain */ ++# endif + struct vnode *nc_dvp; /* vnode of parent of name */ + struct vnode *nc_vp; /* vnode the name refers to */ + u_char nc_flag; /* flag bits */