aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/oprofile/oprofile/root-home-dir.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/oprofile/oprofile/root-home-dir.patch')
-rw-r--r--meta/recipes-kernel/oprofile/oprofile/root-home-dir.patch120
1 files changed, 120 insertions, 0 deletions
diff --git a/meta/recipes-kernel/oprofile/oprofile/root-home-dir.patch b/meta/recipes-kernel/oprofile/oprofile/root-home-dir.patch
new file mode 100644
index 0000000000..45cab7d3d8
--- /dev/null
+++ b/meta/recipes-kernel/oprofile/oprofile/root-home-dir.patch
@@ -0,0 +1,120 @@
+oprofile: Determine the root home directory dynamically
+
+This commit detects the root home directory dynamically with changes to
+the opcontrol script and the oprofile gui app source.
+
+The commit replaces an earlier fix that detected and adjusted a
+'non-standard' root home directory at build time. The advantage of this
+patch is that the oprofile tools are adjusted to the current run-time
+path to ~root, not the build time path.
+
+Upstream-Status: inappropriate [OE specific]
+
+Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+
+diff --git a/doc/opcontrol.1.in b/doc/opcontrol.1.in
+index c434704..f57eb76 100644
+--- a/doc/opcontrol.1.in
++++ b/doc/opcontrol.1.in
+@@ -171,7 +171,7 @@ No special environment variables are recognised by opcontrol.
+
+ .SH FILES
+ .TP
+-.I /root/.oprofile/daemonrc
++.I ~root/.oprofile/daemonrc
+ Configuration file for opcontrol
+ .TP
+ .I /var/lib/oprofile/samples/
+diff --git a/doc/oprofile.1.in b/doc/oprofile.1.in
+index 3d0f0ed..5c623e1 100644
+--- a/doc/oprofile.1.in
++++ b/doc/oprofile.1.in
+@@ -150,7 +150,7 @@ No special environment variables are recognised by oprofile.
+ .I $HOME/.oprofile/
+ Configuration files
+ .TP
+-.I /root/.oprofile/daemonrc
++.I ~root/.oprofile/daemonrc
+ Configuration file for opcontrol
+ .TP
+ .I @prefix@/share/oprofile/
+diff --git a/doc/oprofile.html b/doc/oprofile.html
+index 128d9f7..d7e4dea 100644
+--- a/doc/oprofile.html
++++ b/doc/oprofile.html
+@@ -1394,7 +1394,7 @@ The <span class="command"><strong>opcontrol</strong></span> script provides the
+ <dd>
+ <p>
+ Followed by list arguments for profiling set up. List of arguments
+- saved in <code class="filename">/root/.oprofile/daemonrc</code>.
++ saved in <code class="filename">~root/.oprofile/daemonrc</code>.
+ Giving this option is not necessary; you can just directly pass one
+ of the setup options, e.g. <span class="command"><strong>opcontrol --no-vmlinux</strong></span>.
+ </p>
+@@ -1430,7 +1430,7 @@ The <span class="command"><strong>opcontrol</strong></span> script provides the
+ <dd>
+ <p>
+ Start data collection with either arguments provided by <code class="option">--setup</code>
+- or information saved in <code class="filename">/root/.oprofile/daemonrc</code>. Specifying
++ or information saved in <code class="filename">~root/.oprofile/daemonrc</code>. Specifying
+ the addition <code class="option">--verbose</code> makes the daemon generate lots of debug data
+ whilst it is running.
+ </p>
+diff --git a/doc/oprofile.xml b/doc/oprofile.xml
+index 6a17c6d..0968d76 100644
+--- a/doc/oprofile.xml
++++ b/doc/oprofile.xml
+@@ -568,7 +568,7 @@ The <command>opcontrol</command> script provides the following actions :
+ <term><option>--setup</option></term>
+ <listitem><para>
+ Followed by list arguments for profiling set up. List of arguments
+- saved in <filename>/root/.oprofile/daemonrc</filename>.
++ saved in <filename>~root/.oprofile/daemonrc</filename>.
+ Giving this option is not necessary; you can just directly pass one
+ of the setup options, e.g. <command>opcontrol --no-vmlinux</command>.
+ </para></listitem>
+@@ -592,7 +592,7 @@ The <command>opcontrol</command> script provides the following actions :
+ <term><option>--start</option></term>
+ <listitem><para>
+ Start data collection with either arguments provided by <option>--setup</option>
+- or information saved in <filename>/root/.oprofile/daemonrc</filename>. Specifying
++ or information saved in <filename>~root/.oprofile/daemonrc</filename>. Specifying
+ the addition <option>--verbose</option> makes the daemon generate lots of debug data
+ whilst it is running.
+ </para></listitem>
+diff --git a/gui/oprof_start_util.cpp b/gui/oprof_start_util.cpp
+index d293431..d13fa8f 100644
+--- a/gui/oprof_start_util.cpp
++++ b/gui/oprof_start_util.cpp
+@@ -20,6 +20,8 @@
+ #include <iostream>
+ #include <fstream>
+ #include <cstdlib>
++#include <sys/types.h>
++#include <pwd.h>
+
+ #include <qfiledialog.h>
+ #include <qmessagebox.h>
+@@ -39,7 +41,8 @@ namespace {
+ // return the ~ expansion suffixed with a '/'
+ string const get_config_dir()
+ {
+- return "/root";
++ struct *pw = getpwnam("root");
++ return pw->pw_dir;
+ }
+
+ string daemon_pid;
+diff --git a/utils/opcontrol b/utils/opcontrol
+index 09fa5a7..a8acdae 100644
+--- a/utils/opcontrol
++++ b/utils/opcontrol
+@@ -385,7 +385,7 @@ do_init()
+ OPROFILED="$OPDIR/oprofiled"
+
+ # location for daemon setup information
+- SETUP_DIR="/root/.oprofile"
++ SETUP_DIR="`grep root /etc/passwd | cut -d: -f6`/.oprofile"
+ SETUP_FILE="$SETUP_DIR/daemonrc"
+ SEC_SETUP_FILE="$SETUP_DIR/daemonrc_new"
+