summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2021-01-30 13:12:16 +0000
committerDimitry Andric <dim@FreeBSD.org>2021-01-30 13:12:16 +0000
commit5fd66cdfbf4bae9c1247eda874d443a359be4691 (patch)
tree8e916db9f2c894409fb3c52afe283f92c7067ad5
parent- Update to 0.58.0 (diff)
sysutils/lsof: Update to 4.94
* Update to 4.94. * Update or remove patches that are included in upstream. * Fix build with Clang 11 without setting 'CFLAGS+=-fcommon' in Makefile. * Use new pwddesc structure if applicable. Change Log: https://github.com/lsof-org/lsof/releases/tag/4.94.0 Submitted by: Yasuhiro Kimura <yasu@utahime.org> PR: 251096 MFH: 2021Q1
-rw-r--r--sysutils/lsof/Makefile4
-rw-r--r--sysutils/lsof/distinfo6
-rw-r--r--sysutils/lsof/files/patch-Configure21
-rw-r--r--sysutils/lsof/files/patch-dialects-freebsd-dlsof.h43
-rw-r--r--sysutils/lsof/files/patch-dialects_freebsd_dnode.c21
-rw-r--r--sysutils/lsof/files/patch-dialects_freebsd_dnode2.c17
-rw-r--r--sysutils/lsof/files/patch-dialects_freebsd_dproc.c179
-rw-r--r--sysutils/lsof/files/patch-dialects_freebsd_dsock.c11
8 files changed, 52 insertions, 250 deletions
diff --git a/sysutils/lsof/Makefile b/sysutils/lsof/Makefile
index d14a78165af9..8f7b493750d4 100644
--- a/sysutils/lsof/Makefile
+++ b/sysutils/lsof/Makefile
@@ -5,8 +5,7 @@
# to commit it. I (ler) don't have access to all the ARCH's
PORTNAME= lsof
-DISTVERSION= 4.93.2
-PORTREVISION= 14
+DISTVERSION= 4.94.0
PORTEPOCH= 8
CATEGORIES= sysutils
@@ -33,7 +32,6 @@ AIM_CFLAGS= -DAIM
BOOKE_DESC= Set for BOOKE hardware
BOOKE_CFLAGS= -DBOOKE
-CFLAGS+= -fcommon
CFLAGS_powerpc= -DAIM
CFLAGS_powerpcspe= -DBOOKE
diff --git a/sysutils/lsof/distinfo b/sysutils/lsof/distinfo
index 8322a7d643d5..cd81ec4afd12 100644
--- a/sysutils/lsof/distinfo
+++ b/sysutils/lsof/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1557404723
-SHA256 (lsof-org-lsof-4.93.2_GH0.tar.gz) = 3df912bd966fc24dc73ddea3e36a61d79270b21b085936a4caabca56e5b486a2
-SIZE (lsof-org-lsof-4.93.2_GH0.tar.gz) = 1319222
+TIMESTAMP = 1605257406
+SHA256 (lsof-org-lsof-4.94.0_GH0.tar.gz) = a9865eeb581c3abaac7426962ddb112ecfd86a5ae93086eb4581ce100f8fa8f4
+SIZE (lsof-org-lsof-4.94.0_GH0.tar.gz) = 1340224
diff --git a/sysutils/lsof/files/patch-Configure b/sysutils/lsof/files/patch-Configure
index 068090f7588e..aedc48ddc6a3 100644
--- a/sysutils/lsof/files/patch-Configure
+++ b/sysutils/lsof/files/patch-Configure
@@ -1,11 +1,22 @@
---- Configure.orig 2019-05-22 14:43:59 UTC
-+++ Configure
-@@ -1639,7 +1639,7 @@ kernel generation process.
+--- Configure.orig 2020-11-10 11:00:21.000000000 -0800
++++ Configure 2021-01-29 19:04:42.100811000 -0800
+@@ -1628,6 +1628,10 @@
+ LSOF_TSTBIGF=" "
+ LSOF_VERS=13000
+ ;;
++ 14*)
++ LSOF_TSTBIGF=" "
++ LSOF_VERS=14000
++ ;;
+ *)
+ echo Unknown FreeBSD release: `uname -r`
+ rm -f $LSOF_HLP
+@@ -1639,7 +1643,7 @@
# Clear LSOF_UNSUP message for supported versions of FreeBSD.
case $LSOF_VERS in # {
-- 4090|8020|8030|8040|9000|10000|11000|12000)
-+ 4090|8020|8030|8040|9000|10000|11000|12000|13000)
+- 4090|8020|8030|8040|9000|10000|11000|12000|13000)
++ 4090|8020|8030|8040|9000|10000|11000|12000|13000|14000)
LSOF_UNSUP=""
;;
esac # }
diff --git a/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h b/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h
index 17bcc69d323c..5c8b9aadbdee 100644
--- a/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h
+++ b/sysutils/lsof/files/patch-dialects-freebsd-dlsof.h
@@ -1,40 +1,15 @@
---- dialects/freebsd/dlsof.h.orig 2019-05-08 07:32:25 UTC
+--- dialects/freebsd/dlsof.h.orig 2020-11-10 19:00:21 UTC
+++ dialects/freebsd/dlsof.h
-@@ -38,6 +38,7 @@
- #if !defined(FREEBSD_LSOF_H)
- #define FREEBSD_LSOF_H 1
-
-+#include <stddef.h>
- #include <stdlib.h>
- #include <dirent.h>
- #include <nlist.h>
-@@ -45,6 +46,12 @@
- #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 */
- # if FREEBSDV>=4000
- # if FREEBSDV>=5000
- # if FREEBSDV<6020
-@@ -105,6 +112,12 @@ typedef struct device *device_t;
+@@ -559,7 +559,7 @@ typedef u_long KA_T;
+ * Global storage definitions (including their structure definitions)
+ */
- #include <sys/conf.h>
+-struct file * Cfp;
++extern struct file * Cfp;
-+/*
-+ * 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 {
+ # if FREEBSDV>=2000
+ extern kvm_t *Kd;
+@@ -663,9 +663,15 @@ struct sfile {
*/
struct namecache {
diff --git a/sysutils/lsof/files/patch-dialects_freebsd_dnode.c b/sysutils/lsof/files/patch-dialects_freebsd_dnode.c
deleted file mode 100644
index 00744eaeee0d..000000000000
--- a/sysutils/lsof/files/patch-dialects_freebsd_dnode.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- dialects/freebsd/dnode.c.orig 2019-05-08 07:32:25 UTC
-+++ dialects/freebsd/dnode.c
-@@ -58,9 +58,7 @@ _PROTOTYPE(static int lkup_dev_tty,(dev_t *dr, INODETY
-
-
- #if defined(HAS_TMPFS)
--#define _KERNEL
- #include <fs/tmpfs/tmpfs.h>
--#undef _KERNEL
- #endif /* defined(HAS_TMPFS) */
-
- _PROTOTYPE(static void get_lock_state,(KA_T f));
-@@ -562,7 +560,7 @@ process_overlaid_node:
- * Get the pseudo vnode tag type for FreeBSD >= 5.
- */
- vtag = VT_UNKNOWN;
-- if (v->v_tag && !kread((KA_T)v->v_tag, (char *)&vtbuf, sizeof(vtbuf)))
-+ if (!kread((KA_T)v->v_lock.lock_object.lo_name, (char *)&vtbuf, sizeof(vtbuf)))
- {
- vtbuf[sizeof(vtbuf) - 1] = '\0';
- vtbp = vtbuf;
diff --git a/sysutils/lsof/files/patch-dialects_freebsd_dnode2.c b/sysutils/lsof/files/patch-dialects_freebsd_dnode2.c
deleted file mode 100644
index 845fc1e4585f..000000000000
--- a/sysutils/lsof/files/patch-dialects_freebsd_dnode2.c
+++ /dev/null
@@ -1,17 +0,0 @@
---- dialects/freebsd/dnode2.c.orig 2019-05-08 07:32:25 UTC
-+++ dialects/freebsd/dnode2.c
-@@ -49,7 +49,13 @@ static char *rcsid = "$Id: dnode2.c,v 1.7 2018/02/14 1
- *
- * Note: clang's complaint about VOP_FSYNC can't be avoided.
- */
--#define VOP_UNLOCK(vp, f) ((void)0)
-+#include <sys/param.h>
-+#if __FreeBSD_version >= 1300074
-+#define VOP_UNLOCK_FLAGS(vp, f) ((void)0)
-+#define VOP_UNLOCK(vp) ((void)0)
-+#else
-+#define VOP_UNLOCK(vp, f) ((void)0)
-+#endif
- # endif /* defined(__clang__) */
-
- #define KLD_MODULE /* for ARM: prevent "ARM_NARCH is 0 " error */
diff --git a/sysutils/lsof/files/patch-dialects_freebsd_dproc.c b/sysutils/lsof/files/patch-dialects_freebsd_dproc.c
index 260899ff9687..d54fb390c5c9 100644
--- a/sysutils/lsof/files/patch-dialects_freebsd_dproc.c
+++ b/sysutils/lsof/files/patch-dialects_freebsd_dproc.c
@@ -1,157 +1,24 @@
---- dialects/freebsd/dproc.c.orig 2019-05-08 07:32:25 UTC
+--- dialects/freebsd/dproc.c.orig 2020-11-10 19:00:21 UTC
+++ dialects/freebsd/dproc.c
-@@ -37,6 +37,14 @@ static char *rcsid = "$Id: dproc.c,v 1.20 2018/02/14 1
-
- #include "lsof.h"
-
-+/*
-+ * This is not an exact version but it should not matter. At worst there
-+ * is a small version window where this lsof does not compile on older
-+ * -CURRENT.
-+ */
-+#if __FreeBSD_version >= 1300081
-+#define HAS_PWD
-+#endif
-
- _PROTOTYPE(static void enter_vn_text,(KA_T va, int *n));
- _PROTOTYPE(static void get_kernel_access,(void));
-@@ -132,6 +140,15 @@ gather_proc_info()
- KA_T fa;
- #endif /* defined(HAS_FDESCENTTBL) */
-
-+#if defined(HAS_PWD)
-+ struct pwd pwd;
-+ KA_T pwd_addr;
-+#endif /* defined(HAS_FDESCENTTBL) */
-+
-+ struct vnode *cdir;
-+ struct vnode *rdir;
-+ struct vnode *jdir;
-+
- static ofb_t *ofb = NULL;
- static int ofbb = 0;
- int pgid, pid;
-@@ -305,13 +322,29 @@ gather_proc_info()
- if (!fd.fd_files
- || kread((KA_T)fd.fd_files, (char *)&fdt, sizeof(fdt)))
- continue;
-- if (!fd.fd_refcnt || fd.fd_lastfile > fdt.fdt_nfiles)
-+ if (!fd.fd_refcnt)
- continue;
- #else /* !defined(HAS_FDESCENTTBL) */
- if (!fd.fd_refcnt || fd.fd_lastfile > fd.fd_nfiles)
- continue;
- #endif /* defined(HAS_FDESCENTTBL) */
-
-+#if defined(HAS_PWD)
-+ cdir = rdir = jdir = NULL;
-+ pwd_addr = (KA_T)FILEDESC_KVM_LOAD_PWD(&fd);
-+ if (pwd_addr != 0) {
-+ if (!kread(pwd_addr, (char *)&pwd, sizeof(pwd))) {
-+ cdir = pwd.pwd_cdir;
-+ rdir = pwd.pwd_rdir;
-+ jdir = pwd.pwd_jdir;
-+ }
-+ }
-+#else
-+ cdir = fd.fd_cdir;
-+ rdir = fd.fd_rdir;
-+ jdir = fd.fd_jdir;
-+#endif
-+
- /*
- * Allocate a local process structure.
- */
-@@ -347,20 +380,20 @@ gather_proc_info()
- /*
- * Save current working directory information.
- */
-- if (!ckscko && fd.fd_cdir) {
-+ if (!ckscko && cdir) {
- alloc_lfile(CWD, -1);
- Cfp = (struct file *)NULL;
-- process_node((KA_T)fd.fd_cdir);
-+ process_node((KA_T)cdir);
- if (Lf->sf)
- link_lfile();
- }
- /*
- * Save root directory information.
- */
-- if (!ckscko && fd.fd_rdir) {
-+ if (!ckscko && rdir) {
- alloc_lfile(RTD, -1);
- Cfp = (struct file *)NULL;
-- process_node((KA_T)fd.fd_rdir);
-+ process_node((KA_T)rdir);
- if (Lf->sf)
- link_lfile();
- }
-@@ -369,10 +402,10 @@ gather_proc_info()
- /*
- * Save jail directory information.
- */
-- if (!ckscko && fd.fd_jdir) {
-+ if (!ckscko && jdir) {
- alloc_lfile("jld", -1);
- Cfp = (struct file *)NULL;
-- process_node((KA_T)fd.fd_jdir);
-+ process_node((KA_T)jdir);
- if (Lf->sf)
- link_lfile();
- }
-@@ -655,7 +688,29 @@ kread(addr, buf, len)
- return((br == len) ? 0 : 1);
- }
-
-+static int
-+vm_map_reader(void *token, vm_map_entry_t addr, vm_map_entry_t dest)
-+{
-+ return (kread((KA_T)addr, (char *)dest, sizeof(*dest)));
-+}
-
-+#if __FreeBSD_version < 1300060
-+typedef int vm_map_entry_reader(void *token, vm_map_entry_t addr,
-+ vm_map_entry_t dest);
-+
-+static inline vm_map_entry_t
-+vm_map_entry_read_succ(void *token, struct vm_map_entry *const clone,
-+ vm_map_entry_reader reader)
-+{
-+ vm_map_entry_t next;
-+
-+ next = clone->next;
-+ if (!reader(token, next, clone))
-+ return (NULL);
-+ return (next);
-+}
-+#endif /* __FreeBSD_version < 1300060 */
-+
- /*
- * process_text() - process text information
- */
-@@ -682,20 +737,15 @@ process_text(vm)
- /*
- * Read the vm_map structure. Search its vm_map_entry structure list.
- */
-+ vmme = vmsp.vm_map.header;
-+ e = &vmme;
- for (i = 0; i < vmsp.vm_map.nentries; i++) {
-
- /*
- * Read the next vm_map_entry.
- */
-- if (i == 0)
-- e = &vmsp.vm_map.header;
-- else {
-- if (!(ka = (KA_T)e->next))
-- return;
-- e = &vmme;
-- if (kread(ka, (char *)e, sizeof(vmme)))
-- return;
-- }
-+ if (!vm_map_entry_read_succ(NULL, e, vm_map_reader))
-+ return;
-
- #if defined(MAP_ENTRY_IS_A_MAP)
- if (e->eflags & (MAP_ENTRY_IS_A_MAP|MAP_ENTRY_IS_SUB_MAP))
+@@ -125,6 +125,9 @@ gather_proc_info()
+ * streams with eXPORT data,
+ * where supported */
+ struct filedesc fd;
++#if defined(PWDDESC_KVM_LOAD_PWD)
++ struct pwddesc pd;
++#endif /* defined(PWDDESC_KVM_LOAD_PWD) */
+ int i, nf;
+ MALLOC_S nb;
+
+@@ -330,7 +333,11 @@ gather_proc_info()
+
+ #if defined(HAS_PWD)
+ cdir = rdir = jdir = NULL;
++#if defined(PWDDESC_KVM_LOAD_PWD)
++ pwd_addr = (KA_T)PWDDESC_KVM_LOAD_PWD(&pd);
++#else /* defined(PWDDESC_KVM_LOAD_PWD) */
+ pwd_addr = (KA_T)FILEDESC_KVM_LOAD_PWD(&fd);
++#endif /* defened(PWDDESC_KVM_LOAD_PWD) */
+ if (pwd_addr != 0) {
+ if (!kread(pwd_addr, (char *)&pwd, sizeof(pwd))) {
+ cdir = pwd.pwd_cdir;
diff --git a/sysutils/lsof/files/patch-dialects_freebsd_dsock.c b/sysutils/lsof/files/patch-dialects_freebsd_dsock.c
deleted file mode 100644
index 5a3f822b6db6..000000000000
--- a/sysutils/lsof/files/patch-dialects_freebsd_dsock.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- dialects/freebsd/dsock.c.orig 2019-05-08 07:32:25 UTC
-+++ dialects/freebsd/dsock.c
-@@ -182,7 +182,7 @@ process_socket(sa)
- #endif /* FREEBSDV<4050 */
-
- #if defined(HASIPv6) && !defined(HASINRIAIPv6)
-- struct in6pcb in6p;
-+ struct inpcb in6p;
- #endif /* defined(HASIPv6) && !defined(HASINRIAIPv6) */
-
- (void) snpf(Lf->type, sizeof(Lf->type), "sock");