linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] trace-cmd: Some fixes, and add make-trace-cmd.sh package building helper script
@ 2020-12-16 22:00 Steven Rostedt
  2020-12-16 22:00 ` [PATCH 1/3] trace-cmd: Move add_event_pid() out of #ifndef NO_PTRACE Steven Rostedt
  2020-12-16 22:00 ` [PATCH 3/3] trace-cmd: Add a make-trace-cmd.sh script to simplify creating a trace-cmd package Steven Rostedt
  0 siblings, 2 replies; 3+ messages in thread
From: Steven Rostedt @ 2020-12-16 22:00 UTC (permalink / raw)
  To: linux-trace-devel

Steven Rostedt (VMware) (3):
      trace-cmd: Move add_event_pid() out of #ifndef NO_PTRACE
      trace-cmd: Add #include <fcntl.h> to trace-cmd-private.h
      trace-cmd: Add a make-trace-cmd.sh script to simplify creating a trace-cmd package

----
 PACKAGING                                         | 30 ++++++++++++++++++++++
 lib/trace-cmd/include/private/trace-cmd-private.h |  1 +
 make-trace-cmd.sh                                 | 31 +++++++++++++++++++++++
 tracecmd/trace-record.c                           | 12 ++++-----
 4 files changed, 68 insertions(+), 6 deletions(-)
 create mode 100644 PACKAGING
 create mode 100755 make-trace-cmd.sh

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/3] trace-cmd: Move add_event_pid() out of #ifndef NO_PTRACE
  2020-12-16 22:00 [PATCH 0/3] trace-cmd: Some fixes, and add make-trace-cmd.sh package building helper script Steven Rostedt
@ 2020-12-16 22:00 ` Steven Rostedt
  2020-12-16 22:00 ` [PATCH 3/3] trace-cmd: Add a make-trace-cmd.sh script to simplify creating a trace-cmd package Steven Rostedt
  1 sibling, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2020-12-16 22:00 UTC (permalink / raw)
  To: linux-trace-devel

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

When NO_PTRACE is defined, add_event_pid() is also not defined, but it is
used outside of NO_PTRACE pre processor block. And this causes a
"add_event_pid" not defined build failure.

Fixes: 0844cff1c ("trace-cmd: Fix "trace-cmd reset" command to restore the default value of set_event_pid")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 tracecmd/trace-record.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c
index f8baed7dcd47..e2d1cedf05fb 100644
--- a/tracecmd/trace-record.c
+++ b/tracecmd/trace-record.c
@@ -1312,8 +1312,13 @@ out:
 	free(pidfds);
 	return ret;
 }
-#ifndef NO_PTRACE
 
+static void add_event_pid(struct buffer_instance *instance, const char *buf)
+{
+	tracefs_instance_file_write(instance->tracefs, "set_event_pid", buf);
+}
+
+#ifndef NO_PTRACE
 /**
  * append_pid_filter - add a new pid to an existing filter
  * @curr_filter: the filter to append to. If NULL, then allocate one
@@ -1369,11 +1374,6 @@ static void update_sched_events(struct buffer_instance *instance, int pid)
 static int open_instance_fd(struct buffer_instance *instance,
 			    const char *file, int flags);
 
-static void add_event_pid(struct buffer_instance *instance, const char *buf)
-{
-	tracefs_instance_file_write(instance->tracefs, "set_event_pid", buf);
-}
-
 static void add_new_filter_child_pid(int pid, int child)
 {
 	struct buffer_instance *instance;
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 3/3] trace-cmd: Add a make-trace-cmd.sh script to simplify creating a trace-cmd package
  2020-12-16 22:00 [PATCH 0/3] trace-cmd: Some fixes, and add make-trace-cmd.sh package building helper script Steven Rostedt
  2020-12-16 22:00 ` [PATCH 1/3] trace-cmd: Move add_event_pid() out of #ifndef NO_PTRACE Steven Rostedt
@ 2020-12-16 22:00 ` Steven Rostedt
  1 sibling, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2020-12-16 22:00 UTC (permalink / raw)
  To: linux-trace-devel

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

Add a script "make-trace-cmd.sh" and a help file "PACKAGKING" to describe
what it does. The make-trace-cmd.sh will help create a full directory that
has libtraceevent, libtracefs, libtracecmd and trace-cmd binary without
needing to install them on the host machine.

As described in PACKAGING, the steps to do so are:

 git clone git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git
 git clone git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git
 git clone git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git

 cd libtraceevent
 INSTALL_PATH=/tmp/install ../trace-cmd/make-trace-cmd.sh install

 cd ../libtracefs
 INSTALL_PATH=/tmp/install ../trace-cmd/make-trace-cmd.sh install

 cd ../trace-cmd
 INSTALL_PATH=/tmp/install ./make-trace-cmd.sh install install_libs

 cd /tmp/install
 tar cvjf /tmp/trace-cmd-files.tar.bz2 .

And then the tarball of /tmp/trace-cmd-files.tar.bz2 will can be extracted
on another machine at the root directory, and trace-cmd will be installed there.

Note, the above process uses the /usr prefix. To have the package be
installed in /usr/local, add:

 PREFIX=/usr/local

in front of each of the make-trace-cmd.sh commands.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 PACKAGING         | 30 ++++++++++++++++++++++++++++++
 make-trace-cmd.sh | 31 +++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 PACKAGING
 create mode 100755 make-trace-cmd.sh

diff --git a/PACKAGING b/PACKAGING
new file mode 100644
index 000000000000..7e7d20653017
--- /dev/null
+++ b/PACKAGING
@@ -0,0 +1,30 @@
+The libtracefs and libtraceevent packages are required for trace-cmd
+and libtracecmd.so
+
+In order to create a package directory with libtraceevent, libtracefs
+and libtracecmd and trace-cmd, you can follow these steps:
+
+ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git
+ git clone git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git
+ git clone git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git
+
+ cd libtraceevent
+ INSTALL_PATH=/tmp/install ../trace-cmd/make-trace-cmd.sh install
+
+ cd ../libtracefs
+ INSTALL_PATH=/tmp/install ../trace-cmd/make-trace-cmd.sh install
+
+ cd ../trace-cmd
+ INSTALL_PATH=/tmp/install ./make-trace-cmd.sh install install_libs
+
+ cd /tmp/install
+ tar cvjf /tmp/trace-cmd-files.tar.bz2 .
+
+And then the tarball of /tmp/trace-cmd-files.tar.bz2 will can be extracted
+on another machine at the root directory, and trace-cmd will be installed there.
+
+Note, to define a prefix, add a PREFIX variable before calling make-trace-cmd.sh
+
+ For example:
+
+  PREFIX=/usr/local INSTALL_PATH=/tmp/install ./make-trace-cmd.sh install
diff --git a/make-trace-cmd.sh b/make-trace-cmd.sh
new file mode 100755
index 000000000000..ddff18146c84
--- /dev/null
+++ b/make-trace-cmd.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+if [ -z "$INSTALL_PATH" ]; then
+	echo
+	echo 'Error: No $INSTALL_PATH defined'
+	echo
+	echo "   usage: [PREFIX=prefix][BUILD_PATH=/path/to/build] INSTALL_PATH=/path/to/install make-trace-cmd.sh install|install_libs|clean|uninstall"
+	echo
+	echo "     Used to create a self contained directory to copy to other machines."
+	echo
+	echo "   Please read PACKAGING for more information."
+	echo
+	exit
+fi
+
+if [ ! -d $INSTALL_PATH ]; then
+	mkdir $INSTALL_PATH
+fi
+
+if [ ! -z "$BUILD_PATH" ]; then
+	if [ ! -d $BUILD_PATH ]; then
+		mkdir $BUILD_PATH
+	fi
+	O_PATH="O=$BUILD_PATH"
+fi
+
+if [ -z "$PREFIX" ]; then
+	PREFIX="/usr"
+fi
+
+PKG_CONFIG="pkg-config --with-path $INSTALL_PATH/usr/lib64/pkgconfig --define-variable=prefix=$INSTALL_PATH/$PREFIX" CFLAGS="-g -Wall -I$INSTALL_PATH/$PREFIX/include" make DESTDIR=$INSTALL_PATH  $O_PATH prefix=$PREFIX $@
-- 
2.29.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-16 22:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-16 22:00 [PATCH 0/3] trace-cmd: Some fixes, and add make-trace-cmd.sh package building helper script Steven Rostedt
2020-12-16 22:00 ` [PATCH 1/3] trace-cmd: Move add_event_pid() out of #ifndef NO_PTRACE Steven Rostedt
2020-12-16 22:00 ` [PATCH 3/3] trace-cmd: Add a make-trace-cmd.sh script to simplify creating a trace-cmd package Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).