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)
This commit is contained in:
Craig Leres 2020-11-11 22:11:45 +00:00
parent 16fda1df91
commit 6e97963b05
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=554915
2 changed files with 21 additions and 5 deletions

View File

@ -6,7 +6,7 @@
PORTNAME= lsof
DISTVERSION= 4.93.2
PORTREVISION= 13
PORTREVISION= 14
PORTEPOCH= 8
CATEGORIES= sysutils

View File

@ -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 <sys/conf.h>
+
+/*
+ * include <stdbool.h> for refcount(9)
+ */
+#include <stdbool.h>
+
+
# 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 */