Fri Jan 13 04:33:17 2023 UTC ()
various fixes including support for netbsd-10.

- move the "don't know picking 1.6" match to be "1.*" from "1*".
- add 9.99.10[45678], netbsd 9.99, netbsd 10, and netbsd 10.99
  support to configure match.
- make netbsd 10.x the "i don't know default" now.
- port the netbsd dsock.c code to the merged inpcb code since
  http://mail-index.netbsd.org/source-changes/2022/10/28/msg141800.html

i haven't bumped the pkg because nothing really changed for the
pre-9.99.104 systems, and 9.99.104 and newer haven't built since.


(mrg)
diff -r1.102 -r1.103 pkgsrc/sysutils/lsof/distinfo
diff -r1.11 -r1.12 pkgsrc/sysutils/lsof/patches/patch-ag
diff -r0 -r1.1 pkgsrc/sysutils/lsof/patches/patch-dialects_n+obsd_dsock.c

cvs diff -r1.102 -r1.103 pkgsrc/sysutils/lsof/distinfo (expand / switch to unified diff)

--- pkgsrc/sysutils/lsof/distinfo 2022/05/25 09:33:37 1.102
+++ pkgsrc/sysutils/lsof/distinfo 2023/01/13 04:33:17 1.103
@@ -1,15 +1,16 @@ @@ -1,15 +1,16 @@
1$NetBSD: distinfo,v 1.102 2022/05/25 09:33:37 tnn Exp $ 1$NetBSD: distinfo,v 1.103 2023/01/13 04:33:17 mrg Exp $
2 2
3BLAKE2s (lsof_4.91.tar.bz2) = 77109e036c36f7d1483e69f2aae2314830dc4d2bdc3bf88a4031832f17e6afef 3BLAKE2s (lsof_4.91.tar.bz2) = 77109e036c36f7d1483e69f2aae2314830dc4d2bdc3bf88a4031832f17e6afef
4SHA512 (lsof_4.91.tar.bz2) = 49f811941dd6303f7cb0655fddb8b1177af5d1b18f2bd1edfab09d2c128aea73daecf09c7a5375979c66ba764c88a6e70c9086b55c3634e3be01ab1aa12e9f92 4SHA512 (lsof_4.91.tar.bz2) = 49f811941dd6303f7cb0655fddb8b1177af5d1b18f2bd1edfab09d2c128aea73daecf09c7a5375979c66ba764c88a6e70c9086b55c3634e3be01ab1aa12e9f92
5Size (lsof_4.91.tar.bz2) = 791734 bytes 5Size (lsof_4.91.tar.bz2) = 791734 bytes
6SHA1 (patch-aa) = 76523a6d3bdff93a835dc442114f2bd4a018f95e 6SHA1 (patch-aa) = 76523a6d3bdff93a835dc442114f2bd4a018f95e
7SHA1 (patch-ab) = 1501d8b0e6fd2c61949ba0d447c7b726655725c4 7SHA1 (patch-ab) = 1501d8b0e6fd2c61949ba0d447c7b726655725c4
8SHA1 (patch-ac) = ab1dc4540452f413493c58b729c7c6de83abfb6a 8SHA1 (patch-ac) = ab1dc4540452f413493c58b729c7c6de83abfb6a
9SHA1 (patch-ad) = 7f639e8832c2da8e498c33a38ecbc7b3d3a7430a 9SHA1 (patch-ad) = 7f639e8832c2da8e498c33a38ecbc7b3d3a7430a
10SHA1 (patch-ae) = 3f4a7ce54c0646941fd86400f91a2d17e9d2354a 10SHA1 (patch-ae) = 3f4a7ce54c0646941fd86400f91a2d17e9d2354a
11SHA1 (patch-af) = 88b3d2b42c05e20c189fa00fd65f1f412fe54038 11SHA1 (patch-af) = 88b3d2b42c05e20c189fa00fd65f1f412fe54038
12SHA1 (patch-ag) = 99ab1c616604e9775522dbc70bfd6a7294964d0a 12SHA1 (patch-ag) = 198c430f411b0f4b2cb35a9ad12521a97f0edeb9
13SHA1 (patch-ah) = 2de22b9a3733f958298af5e33b66c0653c320f59 13SHA1 (patch-ah) = 2de22b9a3733f958298af5e33b66c0653c320f59
14SHA1 (patch-dialects_n+obsd_dnode1.c) = dc8c766760aca4eb2e7d7af3944260dd49795c09 14SHA1 (patch-dialects_n+obsd_dnode1.c) = dc8c766760aca4eb2e7d7af3944260dd49795c09
 15SHA1 (patch-dialects_n+obsd_dsock.c) = dadbb0196024c12f59d77b838917036bf90a4e35
15SHA1 (patch-lib_Makefile.skel) = abfb9d50eef60c5d43cbf4978bf179de0ebe371e 16SHA1 (patch-lib_Makefile.skel) = abfb9d50eef60c5d43cbf4978bf179de0ebe371e

cvs diff -r1.11 -r1.12 pkgsrc/sysutils/lsof/patches/patch-ag (expand / switch to unified diff)

--- pkgsrc/sysutils/lsof/patches/patch-ag 2021/11/11 00:49:34 1.11
+++ pkgsrc/sysutils/lsof/patches/patch-ag 2023/01/13 04:33:17 1.12
@@ -1,18 +1,30 @@ @@ -1,18 +1,30 @@
1$NetBSD: patch-ag,v 1.11 2021/11/11 00:49:34 gutteridge Exp $ 1$NetBSD: patch-ag,v 1.12 2023/01/13 04:33:17 mrg Exp $
2 2
3--- Configure.orig 2018-02-14 14:18:55.000000000 +0000 3Handle newer NetBSD versions. Default to NetBSD 10 if we can't guess,
4+++ Configure 4not NetBSD 1.6.
5@@ -3077,32 +3077,78 @@ return(0); } 5
 6--- Configure.orig 2018-02-14 06:18:55.000000000 -0800
 7+++ Configure 2023-01-12 15:52:55.813217146 -0800
 8@@ -3038,7 +3038,7 @@
 9 LSOF_TSTBIGF=" "
 10 LSOF_VERS="1006000"
 11 ;;
 12- 1*)
 13+ 1.*)
 14 LSOF_VERS="1006000"
 15 echo "!!!WARNING!!! Unsupported NetBSD version: $LSOF_VSTR"
 16 echo "!!!WARNING!!! Configuring for NetBSD 1.6"
 17@@ -3077,32 +3077,90 @@
6 echo "!!!WARNING!!! Unsupported NetBSD version: $LSOF_VSTR" 18 echo "!!!WARNING!!! Unsupported NetBSD version: $LSOF_VSTR"
7 echo "!!!WARNING!!! Configuring for NetBSD 3.0" 19 echo "!!!WARNING!!! Configuring for NetBSD 3.0"
8 ;; 20 ;;
9+ 4.0*) 21+ 4.0*)
10+ LSOF_TSTBIGF=" " 22+ LSOF_TSTBIGF=" "
11+ LSOF_VERS="4000000" 23+ LSOF_VERS="4000000"
12+ ;; 24+ ;;
13+ 4.99.*) 25+ 4.99.*)
14+ LSOF_TSTBIGF=" " 26+ LSOF_TSTBIGF=" "
15+ LSOF_VERS="4099000" 27+ LSOF_VERS="4099000"
16+ ;; 28+ ;;
17+ 4*) 29+ 4*)
18+ LSOF_VERS="4000000" 30+ LSOF_VERS="4000000"
@@ -50,36 +62,48 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4 @@ -50,36 +62,48 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4
50+ ;; 62+ ;;
51+ 8.[0123]*) 63+ 8.[0123]*)
52+ LSOF_TSTBIGF=" " 64+ LSOF_TSTBIGF=" "
53+ LSOF_VERS="8000000" 65+ LSOF_VERS="8000000"
54+ ;; 66+ ;;
55+ 8.99.*) 67+ 8.99.*)
56+ LSOF_TSTBIGF=" " 68+ LSOF_TSTBIGF=" "
57+ LSOF_VERS="8099000" 69+ LSOF_VERS="8099000"
58+ ;; 70+ ;;
59+ 9.[0123].*) 71+ 9.[0123].*)
60+ LSOF_TSTBIGF=" " 72+ LSOF_TSTBIGF=" "
61+ LSOF_VERS="9000000" 73+ LSOF_VERS="9000000"
62+ ;; 74+ ;;
 75+ 9.99.10[45678])
 76+ LSOF_TSTBIGF=" "
 77+ LSOF_VERS="9099104"
 78+ ;;
63+ 9.99.*) 79+ 9.99.*)
64+ LSOF_TSTBIGF=" " 80+ LSOF_TSTBIGF=" "
65+ LSOF_VERS="9099000" 81+ LSOF_VERS="9099000"
66+ ;; 82+ ;;
 83+ 10.99.*)
 84+ LSOF_TSTBIGF=" "
 85+ LSOF_VERS="10099000"
 86+ ;;
 87+ 10.*.*)
 88+ LSOF_TSTBIGF=" "
 89+ LSOF_VERS="10000000"
 90+ ;;
67 *) 91 *)
68 echo "Unknown NetBSD release: $LSOF_VSTR" 92 echo "Unknown NetBSD release: $LSOF_VSTR"
69- echo Assuming NetBSD 1.6 93- echo Assuming NetBSD 1.6
70- LSOF_VERS="1006000" 94- LSOF_VERS="1006000"
71+ echo Assuming NetBSD 9.0 95+ echo Assuming NetBSD 10.0
72+ LSOF_VERS="9000000" 96+ LSOF_VERS="10000000"
73 ;; 97 ;;
74 esac # } 98 esac # }
75 fi # } 99 fi # }
76  100
77- # Test for legal NetBSD version. 101- # Test for legal NetBSD version.
78- 102-
79- case $LSOF_VERS in # { 103- case $LSOF_VERS in # {
80- 1002000|1003000|1004000|1005000|1006000) 104- 1002000|1003000|1004000|1005000|1006000)
81- ;; 105- ;;
82- 2000000|2099009|2099010) 106- 2000000|2099009|2099010)
83- ;; 107- ;;
84- 3000000|3099000) 108- 3000000|3099000)
85- ;; 109- ;;
@@ -89,35 +113,35 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4 @@ -89,35 +113,35 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4
89- exit 1 113- exit 1
90- ;; 114- ;;
91- esac # } 115- esac # }
92 LSOF_CFGF="$LSOF_CFGF -DNETBSDV=$LSOF_VERS" 116 LSOF_CFGF="$LSOF_CFGF -DNETBSDV=$LSOF_VERS"
93 LSOF_TMP1="-DN_UNIXV=/netbsd" 117 LSOF_TMP1="-DN_UNIXV=/netbsd"
94- if test -r ${LSOF_INCLUDE}/util.h # { 118- if test -r ${LSOF_INCLUDE}/util.h # {
95+ if test -r /dev/ksyms # { 119+ if test -r /dev/ksyms # {
96+ then 120+ then
97+ LSOF_TMP1="-DN_UNIXV=/dev/ksyms" 121+ LSOF_TMP1="-DN_UNIXV=/dev/ksyms"
98+ elif test -r ${LSOF_INCLUDE}/util.h # { 122+ elif test -r ${LSOF_INCLUDE}/util.h # {
99 then 123 then
100 grep -q getbootfile ${LSOF_INCLUDE}/util.h 124 grep -q getbootfile ${LSOF_INCLUDE}/util.h
101 if test $? -eq 0 # { 125 if test $? -eq 0 # {
102@@ -3501,6 +3547,7 @@ return(0); } 126@@ -3501,6 +3559,7 @@
103 fi # } 127 fi # }
104 LSOF_TMP2="sys/vnode.h" 128 LSOF_TMP2="sys/vnode.h"
105 LSOF_NBSD_PTYFS=0 129 LSOF_NBSD_PTYFS=0
106+ LSOF_NBSD_TMPFS=0 130+ LSOF_NBSD_TMPFS=0
107 if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 # { 131 if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 # {
108 then 132 then
109 LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2" 133 LSOF_TMP3="${LSOF_INCLUDE}/$LSOF_TMP2"
110@@ -3578,16 +3625,29 @@ return(0); } 134@@ -3578,16 +3637,29 @@
111 fi # } 135 fi # }
112 fi # } 136 fi # }
113 fi # } 137 fi # }
114+ grep -q VT_TMPFS $LSOF_TMP3 138+ grep -q VT_TMPFS $LSOF_TMP3
115+ if test $? -eq 0 # { 139+ if test $? -eq 0 # {
116+ then 140+ then
117+ LSOF_TMP2="fs/tmpfs/tmpfs.h" 141+ LSOF_TMP2="fs/tmpfs/tmpfs.h"
118+ if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 # { 142+ if test -r ${LSOF_INCLUDE}/$LSOF_TMP2 # {
119+ then 143+ then
120+ LSOF_CFGF="$LSOF_CFGF -DHASTMPFS" 144+ LSOF_CFGF="$LSOF_CFGF -DHASTMPFS"
121+ else 145+ else
122+ if test -r ${NETBSD_SYS}/$LSOF_TMP2 # { 146+ if test -r ${NETBSD_SYS}/$LSOF_TMP2 # {
123+ then 147+ then
@@ -134,27 +158,27 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4 @@ -134,27 +158,27 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4
134- grep -q UVM $LSOF_TMP3 158- grep -q UVM $LSOF_TMP3
135- if test $? -ne 0 # { 159- if test $? -ne 0 # {
136+ if test -r ${LSOF_INCLUDE}/uvm # { 160+ if test -r ${LSOF_INCLUDE}/uvm # {
137 then 161 then
138- egrep -q "v_uvm;|v_uobj;" $LSOF_TMP3 162- egrep -q "v_uvm;|v_uobj;" $LSOF_TMP3
139- if test $? -eq 0 # { 163- if test $? -eq 0 # {
140- then 164- then
141- NETBSD_UVM="Y" 165- NETBSD_UVM="Y"
142- fi # } 166- fi # }
143+ NETBSD_UVM="Y" 167+ NETBSD_UVM="Y"
144 fi # } 168 fi # }
145 fi # } 169 fi # }
146 fi # } 170 fi # }
147@@ -3863,6 +3923,28 @@ return(0); } 171@@ -3863,6 +3935,28 @@
148 LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include" 172 LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include"
149 fi # } 173 fi # }
150 fi # } 174 fi # }
151+ if test $LSOF_NBSD_TMPFS -eq 1 # { 175+ if test $LSOF_NBSD_TMPFS -eq 1 # {
152+ then 176+ then
153+ 177+
154+ # Make a local copy of $NETBSD_SYS/sys/fs/tmpfs/tmpfs.h. 178+ # Make a local copy of $NETBSD_SYS/sys/fs/tmpfs/tmpfs.h.
155+ 179+
156+ if test ! -d dialects/n+obsd/include # { 180+ if test ! -d dialects/n+obsd/include # {
157+ then 181+ then
158+ mkdir dialects/n+obsd/include 182+ mkdir dialects/n+obsd/include
159+ fi # } 183+ fi # }
160+ if test ! -d dialects/n+obsd/include/fs # { 184+ if test ! -d dialects/n+obsd/include/fs # {
@@ -163,22 +187,22 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4 @@ -163,22 +187,22 @@ $NetBSD: patch-ag,v 1.11 2021/11/11 00:4
163+ fi # } 187+ fi # }
164+ rm -rf dialects/n+obsd/include/fs/tmpfs 188+ rm -rf dialects/n+obsd/include/fs/tmpfs
165+ mkdir dialects/n+obsd/include/fs/tmpfs 189+ mkdir dialects/n+obsd/include/fs/tmpfs
166+ cp $NETBSD_SYS/fs/tmpfs/tmpfs.h dialects/n+obsd/include/fs/tmpfs 190+ cp $NETBSD_SYS/fs/tmpfs/tmpfs.h dialects/n+obsd/include/fs/tmpfs
167+ echo $LSOF_CFGF | grep /dialects/n+obsd/include > /dev/null 2>&1 191+ echo $LSOF_CFGF | grep /dialects/n+obsd/include > /dev/null 2>&1
168+ if test $? -ne 0 # { 192+ if test $? -ne 0 # {
169+ then 193+ then
170+ LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include" 194+ LSOF_CFGF="$LSOF_CFGF -I`pwd`/dialects/n+obsd/include"
171+ fi # } 195+ fi # }
172+ fi # } 196+ fi # }
173 LSOF_CFGL="$LSOF_CFGL -lkvm" 197 LSOF_CFGL="$LSOF_CFGL -lkvm"
174 LSOF_DIALECT_DIR=n+obsd 198 LSOF_DIALECT_DIR=n+obsd
175 ;; 199 ;;
176@@ -5607,7 +5689,7 @@ fi # } 200@@ -5607,7 +5701,7 @@
177 echo "" >> $LSOF_MKFC 201 echo "" >> $LSOF_MKFC
178 if test "X$LSOF_DEBUG" = "X" # { 202 if test "X$LSOF_DEBUG" = "X" # {
179 then 203 then
180- LSOF_DEBUG="-O" 204- LSOF_DEBUG="-O"
181+ LSOF_DEBUG="" 205+ LSOF_DEBUG=""
182 else 206 else
183 if test "X$LSOF_DEBUG" = "XNo-O" # { 207 if test "X$LSOF_DEBUG" = "XNo-O" # {
184 then 208 then

File Added: pkgsrc/sysutils/lsof/patches/patch-dialects_n+obsd_dsock.c
$NetBSD: patch-dialects_n+obsd_dsock.c,v 1.1 2023/01/13 04:33:17 mrg Exp $

Handle the inpcb / inpcb6 merge.

--- dialects/n+obsd/dsock.c.orig	2005-08-08 12:53:34.000000000 -0700
+++ dialects/n+obsd/dsock.c	2023-01-12 15:42:17.533910449 -0800
@@ -58,11 +58,18 @@
 process_socket(sa)
 	KA_T sa;			/* socket address in kernel */
 {
+#if     NETBSDV >= 9099104
+# define NETBSD_MERGED_INPCB
+#endif
 	struct domain d;
 	unsigned char *fa = (unsigned char *)NULL;
 	int fam;
 	int fp, lp;
+#ifdef  NETBSD_MERGED_INPCB
+	struct in4pcb inp;
+#else
 	struct inpcb inp;
+#endif
 	unsigned char *la = (unsigned char *)NULL;
 	struct protosw p;
 	struct socket s;
@@ -73,6 +80,9 @@
 	struct sockaddr_un un;
 
 #if	defined(HASIPv6) && defined(NETBSDV) && !defined(HASINRIAIPv6)
+#ifdef  NETBSD_MERGED_INPCB
+# define in6p_ppcb in6p_pcb.inp_ppcb
+#endif
 	struct in6pcb in6p;
 #endif	/* defined(HASIPv6) && defined(NETBSDV) && !defined(HASINRIAIPv6) */
 
@@ -211,6 +221,16 @@
 					       (char *)NULL, 0));
 		if (p.pr_protocol == IPPROTO_TCP)
 		    ta = (KA_T)in6p.in6p_ppcb;
+#ifdef NETBSD_MERGED_INPCB
+	        la = (unsigned char *)&in6p_laddr(&in6p);
+	        lp = (int)ntohs(in6p.in6p_pcb.inp_lport);
+		if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(&in6p))
+		||  (in6p.in6p_pcb.inp_fport))
+		{
+		    fa = (unsigned char *)&in6p_faddr(&in6p);
+		    fp = (int)ntohs(in6p.in6p_pcb.inp_fport);
+		}
+#else
 	        la = (unsigned char *)&in6p.in6p_laddr;
 	        lp = (int)ntohs(in6p.in6p_lport);
 		if (!IN6_IS_ADDR_UNSPECIFIED(&in6p.in6p_faddr)
@@ -219,13 +239,14 @@
 		    fa = (unsigned char *)&in6p.in6p_faddr;
 		    fp = (int)ntohs(in6p.in6p_fport);
 		}
+#endif
 	    } else
 #endif	/* defined(HASIPv6) && defined(NETBSDV) && !defined(HASINRIAIPv6) */
 
 	    {
 
 	    /*
-	     * Read IPv4 or IPv6 (OpenBSD) protocol control block.
+	     * Read IPv4 or IPv6 (NetBSD) protocol control block.
 	     */
 		if (!s.so_pcb
 		||  kread((KA_T)s.so_pcb, (char *)&inp, sizeof(inp))) {
@@ -242,22 +263,38 @@
 		    enter_nm(Namech);
 		    return;
 		}
+#ifdef  NETBSD_MERGED_INPCB
+#define inp_ppcb in4p_pcb.inp_ppcb
+#define inp_lport in4p_pcb.inp_lport
+#endif
 		enter_dev_ch(print_kptr((KA_T)(inp.inp_ppcb ? inp.inp_ppcb
 							    : s.so_pcb),
 					       (char *)NULL, 0));
 		if (p.pr_protocol == IPPROTO_TCP)
 		    ta = (KA_T)inp.inp_ppcb;
 		lp = (int)ntohs(inp.inp_lport);
+#ifdef  NETBSD_MERGED_INPCB
+#undef inp_ppcb
+#undef inp_lport
+#endif
 		if (fam == AF_INET) {
 
 		/*
 		 * Save IPv4 address information.
 		 */
+#ifdef NETBSD_MERGED_INPCB
+		    la = (unsigned char *)&in4p_laddr(&inp);
+		    if (in4p_faddr(&inp).s_addr != INADDR_ANY || inp.in4p_pcb.inp_fport) {
+			fa = (unsigned char *)&in4p_faddr(&inp);
+			fp = (int)ntohs(inp.in4p_pcb.inp_fport);
+		    }
+#else
 		    la = (unsigned char *)&inp.inp_laddr;
 		    if (inp.inp_faddr.s_addr != INADDR_ANY || inp.inp_fport) {
 			fa = (unsigned char *)&inp.inp_faddr;
 			fp = (int)ntohs(inp.inp_fport);
 		    }
+#endif
 		}
 
 #if	defined(HASIPv6) && (defined(OPENBSDV) || defined(HASINRIAIPv6))