diff options
-rw-r--r-- | sysutils/DTraceToolkit/Makefile | 7 | ||||
-rw-r--r-- | sysutils/DTraceToolkit/files/patch-Apps-shellsnoop | 35 | ||||
-rw-r--r-- | sysutils/DTraceToolkit/files/patch-opensnoop | 29 | ||||
-rw-r--r-- | sysutils/DTraceToolkit/pkg-plist | 2 |
4 files changed, 71 insertions, 2 deletions
diff --git a/sysutils/DTraceToolkit/Makefile b/sysutils/DTraceToolkit/Makefile index 189e9be3e268..cddab2525438 100644 --- a/sysutils/DTraceToolkit/Makefile +++ b/sysutils/DTraceToolkit/Makefile @@ -3,6 +3,7 @@ PORTNAME= DTraceToolkit PORTVERSION= 0.99 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= http://www.brendangregg.com/DTraceToolkit/ @@ -14,7 +15,7 @@ sh_OLD_CMD= /usr/bin/sh sh_CMD= ${SH} SHEBANG_LANG+= sh -SHEBANG_FILES= hotkernel procsystime +SHEBANG_FILES= hotkernel procsystime opensnoop Apps/shellsnoop NO_BUILD= YES .include <bsd.port.pre.mk> @@ -25,12 +26,14 @@ IGNORE= needs to have dtrace enabled kernel do-install: ${MKDIR} ${STAGEDIR}${DATADIR} - (cd ${WRKSRC}; ${TAR} cf - . ) | \ + (cd ${WRKSRC}; ${TAR} --exclude '*.orig' -cf - . ) | \ (cd ${STAGEDIR}${DATADIR}/; ${TAR} xvf -) post-install: ${LN} -fs ${DATADIR}/hotkernel ${STAGEDIR}${PREFIX}/bin/hotkernel ${LN} -fs ${DATADIR}/procsystime ${STAGEDIR}${PREFIX}/bin/procsystime + ${LN} -fs ${DATADIR}/opensnoop ${STAGEDIR}${PREFIX}/bin/opensnoop + ${LN} -fs ${DATADIR}/Apps/shellsnoop ${STAGEDIR}${PREFIX}/bin/shellsnoop @${CAT} ${PKGMESSAGE} .include <bsd.port.post.mk> diff --git a/sysutils/DTraceToolkit/files/patch-Apps-shellsnoop b/sysutils/DTraceToolkit/files/patch-Apps-shellsnoop new file mode 100644 index 000000000000..0e586e285f10 --- /dev/null +++ b/sysutils/DTraceToolkit/files/patch-Apps-shellsnoop @@ -0,0 +1,35 @@ +--- Apps/shellsnoop.orig 2014-06-04 09:00:10.000000000 -0400 ++++ Apps/shellsnoop 2014-06-04 09:01:29.000000000 -0400 +@@ -140,7 +140,7 @@ + /* + * Remember this PID is a shell child + */ +- syscall::exec:entry, syscall::exece:entry ++ syscall::exec:entry + /execname == "sh" || execname == "ksh" || execname == "csh" || + execname == "tcsh" || execname == "zsh" || execname == "bash"/ + { +@@ -151,7 +151,7 @@ + OPT_debug == 1 ? printf("PID %d CMD %s started. (%s)\n", + pid, execname, stringof(this->parent)) : 1; + } +- syscall::exec:entry, syscall::exece:entry ++ syscall::exec:entry + /(OPT_pid == 1 && PID != ppid) || (OPT_uid == 1 && UID != uid)/ + { + /* forget if filtered */ +@@ -256,12 +256,12 @@ + /* + * Cleanup + */ +- syscall::rexit:entry ++ syscall::exit:entry + { + child[pid] = 0; + + /* debug */ +- this->parent = (char *)curthread->t_procp->p_parent->p_user.u_comm; ++ this->parent = (char *)curthread->td_proc->p_pptr->p_comm; + OPT_debug == 1 ? printf("PID %d CMD %s exited. (%s)\n", + pid, execname, stringof(this->parent)) : 1; + } diff --git a/sysutils/DTraceToolkit/files/patch-opensnoop b/sysutils/DTraceToolkit/files/patch-opensnoop new file mode 100644 index 000000000000..9e09a7f45b45 --- /dev/null +++ b/sysutils/DTraceToolkit/files/patch-opensnoop @@ -0,0 +1,29 @@ +--- opensnoop.orig 2014-06-04 08:58:11.000000000 -0400 ++++ opensnoop 2014-06-04 08:58:42.000000000 -0400 +@@ -189,7 +189,7 @@ + /* + * Print open event + */ +- syscall::open:entry, syscall::open64:entry ++ syscall::open:entry + { + /* save pathname */ + self->pathp = arg0; +@@ -203,7 +203,7 @@ + /* OPT_file is checked on return to ensure pathp is mapped */ + } + +- syscall::open:return, syscall::open64:return ++ syscall::open:return + /self->ok && (! OPT_failonly || (int)arg0 < 0) && + ((OPT_file == 0) || (OPT_file == 1 && PATHNAME == copyinstr(self->pathp)))/ + { +@@ -235,7 +235,7 @@ + /* + * Cleanup + */ +- syscall::open:return, syscall::open64:return ++ syscall::open:return + /self->ok/ + { + self->pathp = 0; diff --git a/sysutils/DTraceToolkit/pkg-plist b/sysutils/DTraceToolkit/pkg-plist index 50c59856dcb5..c6fd5d3f2749 100644 --- a/sysutils/DTraceToolkit/pkg-plist +++ b/sysutils/DTraceToolkit/pkg-plist @@ -1007,6 +1007,8 @@ %%DATADIR%%/opensnoop bin/procsystime bin/hotkernel +bin/shellsnoop +bin/opensnoop @dirrm %%DATADIR%%/Mem @dirrm %%DATADIR%%/Man/man1m @dirrm %%DATADIR%%/Man |