From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx> 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@xxxxxxxxxxx> --- 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