* [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).