summaryrefslogtreecommitdiff
path: root/sysutils/lsof/patches
diff options
context:
space:
mode:
authoratatat <atatat@pkgsrc.org>2003-05-03 16:55:28 +0000
committeratatat <atatat@pkgsrc.org>2003-05-03 16:55:28 +0000
commit68b37f4439de74e926844fb6ef235db7cfb07394 (patch)
tree461b6621f0116f713b9b14ce50dc0c1f56cab564 /sysutils/lsof/patches
parent568250dd7a4ad6e76e92fb59edfe2a28c388b9f2 (diff)
downloadpkgsrc-68b37f4439de74e926844fb6ef235db7cfb07394.tar.gz
Re-patch lsof with patches from Vic Abell. Building should now work
on all platforms, with ffs2 (and ext2fs) related bugs smoothed out. Bump to PKGREVISION 2.
Diffstat (limited to 'sysutils/lsof/patches')
-rw-r--r--sysutils/lsof/patches/patch-ab258
-rw-r--r--sysutils/lsof/patches/patch-ac71
-rw-r--r--sysutils/lsof/patches/patch-ad151
3 files changed, 449 insertions, 31 deletions
diff --git a/sysutils/lsof/patches/patch-ab b/sysutils/lsof/patches/patch-ab
index 047db072a7e..fda099a6ea5 100644
--- a/sysutils/lsof/patches/patch-ab
+++ b/sysutils/lsof/patches/patch-ab
@@ -1,49 +1,245 @@
-$NetBSD: patch-ab,v 1.19 2003/04/19 02:09:09 christos Exp $
+$NetBSD: patch-ab,v 1.20 2003/05/03 16:55:29 atatat Exp $
--- dialects/n+obsd/dnode.c.orig 2003-03-23 14:26:47.000000000 -0500
-+++ dialects/n+obsd/dnode.c 2003-04-18 22:02:42.000000000 -0400
-@@ -616,8 +616,18 @@
++++ dialects/n+obsd/dnode.c
+@@ -200,6 +200,22 @@ process_node(va)
+
+ #endif /* defined(HASFDESCFS) */
+
++#if defined(HASEXT2FS)
++# if defined(HASI_E2FS_PTR)
++ struct ext2fs_dinode ed;
++# endif /* defined(HASI_E2FS_PTR) */
++ struct ext2fs_dinode *edp = (struct ext2fs_dinode *)NULL;
++#endif /* defined(HASEXT2FS) */
++
++#if defined(HASI_FFS1)
++ unsigned char ffs = 0;
++ unsigned char u1s = 0;
++ unsigned char u2s = 0;
++ struct ufs1_dinode u1;
++ struct ufs2_dinode u2;
++ struct ufsmount um;
++#endif /* defined(HASI_FFS1) */
++
+ #if defined(HASKERNFS)
+ struct kernfs_node kn;
+ struct stat ksb;
+@@ -262,6 +278,14 @@ process_overlaid_node:
+ ksbs = 0;
+ #endif /* defined(HASKERNFS) */
+
++#if defined(HASEXT2FS)
++ edp = (struct ext2fs_dinode *)NULL;
++#endif /* defined(HASEXT2FS) */
++
++#if defined(HASI_FFS1)
++ ffs = u1s = u2s = 0;
++#endif /* defined(HASI_FFS1) */
++
+ /*
+ * Read the vnode.
+ */
+@@ -503,12 +527,51 @@ process_overlaid_node:
+ }
+
+ #if defined(HASEXT2FS)
+- if (v->v_tag == VT_EXT2FS)
++ if (v->v_tag == VT_EXT2FS) {
+ nty = EXT2NODE;
+- else
++
++# if defined(HASI_E2FS_PTR)
++ if (i.i_din.e2fs_din
++ && !kread((KA_T)i.i_din.e2fs_din, (char *)&ed, sizeof(ed)))
++ edp = &ed;
++# else /* !defined(HASI_E2FS_PTR) */
++ edp = &i.i_din.e2fs_din;
++# endif /* defined(HASI_E2FS_PTR) */
++
++ } else
+ #endif /* defined(HASEXT2FS) */
+
++ {
+ nty = INODE;
++
++#if defined(HASI_FFS1)
++ /*
++ * If there are multiple FFS's, read the relevant structures.
++ */
++ if (i.i_ump
++ && !kread((KA_T)i.i_ump, (char *)&um, sizeof(um))) {
++ if (um.um_fstype == UFS1) {
++ ffs = 1;
++ if (i.i_din.ffs1_din
++ && !kread((KA_T)i.i_din.ffs1_din, (char *)&u1,
++ sizeof(u1)))
++ {
++ u1s = 1;
++ }
++ } else if (um.um_fstype == UFS2) {
++ ffs = 2;
++ if (i.i_din.ffs2_din
++ && !kread((KA_T)i.i_din.ffs2_din, (char *)&u2,
++ sizeof(u2)))
++ {
++ u2s = 1;
++ }
++ }
++ }
++#endif /* defined(HASI_FFS1) */
++
++ }
++
+ if ((lff = i.i_lockf)) {
+
+ /*
+@@ -609,18 +672,21 @@ process_overlaid_node:
+ #if defined(HASEXT2FS)
+ case EXT2NODE:
+
+-# if defined(HASI_FFS)
+- dev = i.i_dev;
+- devs = 1;
+-# else /* !defined(HASI_FFS) */
dev = i.i_dev;
devs = 1;
if ((type == VCHR) || (type == VBLK)) {
-+#ifdef i_e2fs_rdev
-+ struct ext2fs_dinode din;
-+ if (i.i_din.e2fs_din &&
-+ !kread((KA_T)i.i_din.e2fs_din, (char *)&din, sizeof(din))) {
-+ rdev = din.e2di_rdev;
+- rdev = i.i_rdev;
++
++# if defined(HASI_E2FS_PTR)
++ if (edp) {
++ rdev = edp->e2di_rdev;
+ rdevs = 1;
-+ } else
-+ rdevs = 0;
-+#else
- rdev = i.i_rdev;
++ }
++# else /* !defined(HASI_E2FS_PTR) */
++ rdev = i.i_din.e2fs_din.e2di_rdev;
rdevs = 1;
-+#endif
- }
- # endif /* defined(HASI_FFS) */
+- }
+-# endif /* defined(HASI_FFS) */
++# endif /* defined(HASI_E2FS_PTR) */
+
++ }
+ break;
+ #endif /* defined(HASEXT2FS) */
+
+@@ -631,11 +697,26 @@ process_overlaid_node:
-@@ -628,14 +638,22 @@
- dev = i.i_dev;
- devs = 1;
- if ((type == VCHR) || (type == VBLK)) {
--
#if defined(HASI_FFS)
-- rdev = i.i_ffs_rdev;
+ rdev = i.i_ffs_rdev;
++ rdevs = 1;
#else /* !defined(HASI_FFS) */
-+#ifdef i_ffs1_rdev
-+ struct ufs1_dinode din;
-+ if (i.i_din.ffs1_din &&
-+ !kread((KA_T)i.i_din.ffs1_din, (char *)&din, sizeof(din))) {
-+ rdev = din.di_rdev;
-+ rdevs = 1;
-+ } else
-+ rdevs = 0;
-+#else
++# if defined(HASI_FFS1)
++ if (ffs == 1) {
++ if (u1s) {
++ rdev = u1.di_rdev;
++ rdevs = 1;
++ }
++ } else if (ffs == 2) {
++ if (u2s) {
++ rdev = u2.di_rdev;
++ rdevs = 1;
++ }
++ }
++# else /* !defined(HASI_FFS1) */
rdev = i.i_rdev;
+ rdevs = 1;
-+#endif
++# endif /* defined(HASI_FFS1) */
#endif /* defined(HASI_FFS) */
- rdevs = 1;
}
break;
+@@ -807,11 +888,26 @@ process_overlaid_node:
+
+ #if defined(HASI_FFS)
+ Lf->sz = (SZOFFTYPE)i.i_ffs_size;
++ Lf->sz_def = 1;
+ #else /* !defined(HASI_FFS) */
++# if defined(HASI_FFS1)
++ if (ffs == 1) {
++ if (u1s) {
++ Lf->sz = (SZOFFTYPE)u1.di_size;
++ Lf->sz_def = 1;
++ }
++ } else if (ffs == 2) {
++ if (u2s) {
++ Lf->sz = (SZOFFTYPE)u2.di_size;
++ Lf->sz_def = 1;
++ }
++ }
++# else /* !defined(HASI_FFS1) */
+ Lf->sz = (SZOFFTYPE)i.i_size;
++ Lf->sz_def = 1;
++# endif /* defined(HASI_FFS1) */
+ #endif /* defined(HASI_FFS) */
+
+- Lf->sz_def = 1;
+ }
+
+ #if defined(HASMSDOSFS)
+@@ -828,14 +924,15 @@ process_overlaid_node:
+
+ #if defined(HASEXT2FS)
+ else if (nty == EXT2NODE) {
+-
+-# if defined(HASI_E2FS)
++# if defined(HASI_E2FS_PTR)
++ if (edp) {
++ Lf->sz = (SZOFFTYPE)edp->e2di_size;
++ Lf->sz_def = 1;
++ }
++# else /* !defined(HASI_E2FS_PTR) */
+ Lf->sz = (SZOFFTYPE)i.i_e2fs_size;
+-# else /* !defined(HASI_E2FS) */
+- Lf->sz = (SZOFFTYPE)i.i_size;
+-# endif /* defined(HASI_E2FS) */
+-
+ Lf->sz_def = 1;
++# endif /* defined(HASI_E2FS_PTR) */
+ }
+ #endif /* defined(HASEXT2FS) */
+
+@@ -880,8 +977,24 @@ process_overlaid_node:
+
+ # if defined(HASI_FFS)
+ Lf->nlink = (long)i.i_ffs_nlink;
++ Lf->nlink_def = 1;
+ # else /* !defined(HASI_FFS) */
++# if defined(HASI_FFS1)
++ if (ffs == 1) {
++ if (u1s) {
++ Lf->nlink = (long)u1.di_nlink;
++ Lf->nlink_def = 1;
++ }
++ } else if (ffs == 2) {
++ if (u2s) {
++ Lf->nlink = (long)u2.di_nlink;
++ Lf->nlink_def = 1;
++ }
++ }
++# else /* !defined(HASI_FFS1) */
+ Lf->nlink = (long)i.i_nlink;
++ Lf->nlink_def = 1;
++# endif /* defined(HASI_FFS1) */
+ # endif /* defined(HASI_FFS) */
+
+ Lf->nlink_def = 1;
+@@ -897,8 +1010,15 @@ process_overlaid_node:
+
+ #if defined(HASEXT2FS)
+ else if (nty == EXT2NODE) {
+- Lf->nlink - (long)i.i_e2fs_nlink;
++# if defined(HASI_E2FS_PTR)
++ if (edp) {
++ Lf->nlink = (long)edp->e2di_nlink;
++ Lf->nlink_def = 1;
++ }
++# else /* !defined(HASI_E2FS_PTR) */
++ Lf->nlink = (long)i.i_e2fs_nlink;
+ Lf->nlink_def = 1;
++# endif /* defined(HASI_E2FS_PTR) */
+ }
+ #endif /* defined(HASEXT2FS) */
+
diff --git a/sysutils/lsof/patches/patch-ac b/sysutils/lsof/patches/patch-ac
new file mode 100644
index 00000000000..66f89e3f4aa
--- /dev/null
+++ b/sysutils/lsof/patches/patch-ac
@@ -0,0 +1,71 @@
+$NetBSD: patch-ac,v 1.8 2003/05/03 16:55:29 atatat Exp $
+
+--- dialects/n+obsd/dlsof.h.orig 2003-03-23 14:51:12.000000000 -0500
++++ dialects/n+obsd/dlsof.h
+@@ -73,7 +73,17 @@ struct buf; /* dummy for function protot
+
+ #define NFS
+ #define m_stat mnt_stat
++
++# if defined(NETBSDV) && __NetBSD_Version__>=106060000
++#define _KERNEL
++# endif /* defined(NETBSDV) && __NetBSD_Version__>=106060000 */
++
+ #include <sys/mount.h>
++
++# if defined(NETBSDV) && __NetBSD_Version__>=106060000
++#undef _KERNEL
++# endif /* defined(NETBSDV) && __NetBSD_Version__>=106060000 */
++
+ #include <rpc/types.h>
+ #include <sys/protosw.h>
+
+@@ -87,6 +97,7 @@ struct buf; /* dummy for function protot
+ #include <msdosfs/bpb.h>
+ #include <msdosfs/fat.h>
+
++# if defined(OPENBSDV) || (defined(NETBSDV) && __NetBSD_Version__<106060000)
+ /*
+ * As a terrible hack, the lsof Configure script extracts the netcred and
+ * netexport structure definitions from <sys/mount.h> and places them in
+@@ -100,9 +111,14 @@ struct buf; /* dummy for function protot
+ *
+ * THIS IS A TERRIBLE AND FRAGILE HACK!!! It might break if the netexport or
+ * netcred definitions change radically in <sys/mount.h>.
++ *
++ * It is no longer needed for NetBSD Versions 1.6F and above.
+ */
+
+ #include "netexport.h"
++# endif /* defined(OPENBSDV)
++ || (defined(NETBSDV) && __NetBSD_Version__<106060000) */
++
+ #define _KERNEL
+ struct nameidata; /* to satisfy a function prototype in msdosfsmount.h */
+ #include <msdosfs/msdosfsmount.h>
+@@ -178,6 +194,12 @@ struct sockproto {
+ #undef DIRBLKSIZ
+ # endif /* defined(DIRBLKSIZ) */
+
++# if defined(HASI_FFS1)
++#define _KERNEL
++#include <ufs/ufs/ufsmount.h>
++#undef _KERNEL
++# endif /* defined(HASI_FFS1) */
++
+ #include <ufs/ufs/inode.h>
+
+ # if defined(DIRENT_BLKSIZ)
+@@ -223,9 +245,10 @@ struct sockproto {
+
+ # if defined(HASNULLFS)
+ #define _KERNEL
+-# if defined(NETBSDV) && NETBSDV>=1050
++# if defined(NETBSDV) && NETBSDV>=1050 && __NetBSD_Version__<106060000
+ #include "netexport.h"
+-# endif /* defined(NETBSDV) && NETBSDV>=1050 */
++# endif /* defined(NETBSDV) && NETBSDV>=1050
++ && __NetBSD_Version__<106060000 */
+ #include <miscfs/nullfs/null.h>
+ #undef _KERNEL
+ # endif /* defined(HASNULLFS) */
diff --git a/sysutils/lsof/patches/patch-ad b/sysutils/lsof/patches/patch-ad
new file mode 100644
index 00000000000..7921c412beb
--- /dev/null
+++ b/sysutils/lsof/patches/patch-ad
@@ -0,0 +1,151 @@
+$NetBSD: patch-ad,v 1.3 2003/05/03 16:55:30 atatat Exp $
+
+--- Configure.orig 2003-03-23 14:28:10.000000000 -0500
++++ Configure
+@@ -169,9 +169,9 @@ then
+ LSOF_VSTR=""
+ fi # }
+
+-# Make sure the help file is removed before an abnormal exit.
++# Make sure temporary files are removed before an abnormal exit.
+
+-trap 'rm -f $LSOF_HLP ${LSOF_TMPC_BASE}*; exit 1' 1 2 3 15
++trap 'rm -f ${LSOF_HLP_BASE}* ${LSOF_TMPC_BASE}*; exit 1' 1 2 3 15
+
+ rm -f $LSOF_HLP
+ cat > $LSOF_HLP << LSOF_HLP
+@@ -230,11 +230,11 @@ do
+ echo "(cd ${LSOF_TSTSUBD}; make spotless)"
+ (cd ${LSOF_TSTSUBD}; make spotless)
+ else
+- echo '(cd ${LSOF_TSTSUBD); rm *.o config.*)'
++ echo '(cd ${LSOF_TSTSUBD}; rm *.o config.*)'
+ (cd ${LSOF_TSTSUBD}; rm *.o config.*)
+ fi # }
+- rm -f $LSOF_F $LSOF_HLP $LSOF_MKFC ${LSOF_TMPC_BASE}*
+- echo rm -f $LSOF_F $LSOF_HLP $LSOF_MKFC ${LSOF_TMPC_BASE}*
++ rm -f $LSOF_F $LSOF_MKFC ${LSOF_TMPC_BASE}*
++ echo rm -f $LSOF_F $LSOF_MKFC ${LSOF_TMPC_BASE}*
+ rm -rf AFSHeaders AFSVersion version.h
+ echo "rm -rf AFSHeaders AFSVersion version.h"
+ rm -f ${LSOF_HLP_BASE}* cd9660_node.h
+@@ -2212,15 +2212,21 @@ kernel generation process.
+ if test $? -eq 0 # {
+ then
+ LSOF_CFGF="$LSOF_CFGF -DHASI_FFS"
++ else
++ grep -q i_ffs1_size ${LSOF_INCLUDE}/ufs/ufs/inode.h
++ if test $? -eq 0 # {
++ then
++ LSOF_CFGF="$LSOF_CFGF -DHASI_FFS1"
++ fi #}
+ fi # }
+ grep -q VT_EXT2FS ${LSOF_INCLUDE}/sys/vnode.h
+ if test $? -eq 0 # {
+ then
+ LSOF_CFGF="$LSOF_CFGF -DHASEXT2FS"
+- grep -q i_e2fs_size ${LSOF_INCLUDE}/ufs/ufs/inode.h
++ grep -q "*e2fs_din" ${LSOF_INCLUDE}/ufs/ufs/inode.h
+ if test $? -eq 0 # {
+ then
+- LSOF_CFGF="$LSOF_CFGF -DHASI_E2FS"
++ LSOF_CFGF="$LSOF_CFGF -DHASI_E2FS_PTR"
+ fi # }
+ fi # }
+ if test -r ${LSOF_INCLUDE}/nfs/nfsnode.h # {
+@@ -2272,7 +2278,7 @@ kernel generation process.
+ if test -r ${LSOF_INCLUDE}/sys/mount.h # {
+ then
+
+- # Build the netexport.h header file for NetBSD from <sys/mount.h>.
++ # Build the netexport.h header file for NetBSD.
+
+ LSOF_TMP1=${LSOF_TMPC}.edscr
+ LSOF_TMP2=${LSOF_TMPC}.netcred
+@@ -2447,23 +2453,10 @@ kernel generation process.
+ # If the OpenBSD version isn't pre-defined, determine it.
+
+ case $LSOF_VSTR in # {
+- 1.2*)
++ 1*)
+ LSOF_VERS=1020
+- ;;
+- 2.0*)
+- LSOF_VERS=2000
+- ;;
+- 2.1*)
+- LSOF_VERS=2010
+- ;;
+- 2.2*)
+- LSOF_VERS=2020
+- ;;
+- 2.3*)
+- LSOF_VERS=2030
+- ;;
+- 2.4*)
+- LSOF_VERS=2040
++ echo "!!!WARNING!!! Unsupported OpenBSD 1.x version: $LSOF_VSTR"
++ echo "!!!WARNING!!! Configuring for OpenBSD 1.2"
+ ;;
+ 2.5*)
+ LSOF_VERS=2050
+@@ -2483,6 +2476,12 @@ kernel generation process.
+ LSOF_TSTBIGF=" "
+ LSOF_VERS=2090
+ ;;
++ 2*)
++ LSOF_TSTBIGF=" "
++ LSOF_VERS=2090
++ echo "!!!WARNING!!! Unsupported OpenBSD 2.x version: $LSOF_VSTR"
++ echo "!!!WARNING!!! Configuring for OpenBSD 2.9"
++ ;;
+ 3.0*)
+ LSOF_TSTBIGF=" "
+ LSOF_VERS=3000
+@@ -2495,15 +2494,20 @@ kernel generation process.
+ LSOF_TSTBIGF=" "
+ LSOF_VERS=3020
+ ;;
++ 3.3*)
++ LSOF_TSTBIGF=" "
++ LSOF_VERS=3030
++ ;;
+ 3*)
+- LSOF_VERS=3010
+- echo "!!!WARNING!!! Unsupported OpenBSD version: $LSOF_VSTR"
+- echo "!!!WARNING!!! Configuring for OpenBSD 3.1"
++ LSOF_TSTBIGF=" "
++ LSOF_VERS=3020
++ echo "!!!WARNING!!! Unsupported OpenBSD 3.x version: $LSOF_VSTR"
++ echo "!!!WARNING!!! Configuring for OpenBSD 3.2"
+ ;;
+ *)
+ echo "Unknown OpenBSD release: $LSOF_VSTR"
+- echo Assuming OpenBSD 1.2
+- LSOF_VERS=1020
++ echo Assuming OpenBSD 3.2
++ LSOF_VERS=3020
+ ;;
+ esac # }
+ fi # }
+@@ -2511,7 +2515,7 @@ kernel generation process.
+ # Test for legal OpenBSD version.
+
+ case $LSOF_VERS in # {
+- 1020|2000|2010|2020|2030|2040|2050|2060|2070|2080|2090|3000|3010|3020)
++ 1020|2050|2060|2070|2080|2090|3000|3010|3020|3030)
+ ;;
+ *)
+ echo "Unknown OpenBSD version: $LSOF_VERS"
+@@ -2597,6 +2601,11 @@ kernel generation process.
+ if test $? -eq 0 # {
+ then
+ LSOF_CFGF="$LSOF_CFGF -DHASEXT2FS"
++ grep -q "*e2fs_din" ${LSOF_INCLUDE}/ufs/ufs/inode.h
++ if test $? -eq 0 # {
++ then
++ LSOF_CFGF="$LSOF_CFGF -DHASI_E2FS_PTR"
++ fi # }
+ fi # }
+ grep -q nc_vpid ${LSOF_INCLUDE}/sys/namei.h
+ if test $? -eq 0 # {