Patchwork [1/1] oprofile: Change /root to /home/root

login
register
mail settings
Submitter Mark Hatle
Date July 2, 2012, 7:25 p.m.
Message ID <ce879400de83074f4c24961787ec36aad372fb80.1341257063.git.mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/30985/
State Accepted
Commit d50c44585e72057532b8e0d9221ebf058e514672
Headers show

Comments

Mark Hatle - July 2, 2012, 7:25 p.m.
OE uses /home/root instead of /root for the root user's directory.  Update
oprofile to match.

Upstream-status: Inappropriate [OE Specific]

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/recipes-kernel/oprofile/oprofile.inc          |    3 +-
 .../oprofile/oprofile/oprofile-root.patch          |  108 ++++++++++++++++++++
 2 files changed, 110 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-kernel/oprofile/oprofile/oprofile-root.patch
Phil Blundell - July 2, 2012, 8:06 p.m.
On Mon, 2012-07-02 at 14:25 -0500, Mark Hatle wrote:
> +diff -ur oprofile-0.9.7.orig/utils/opcontrol oprofile-0.9.7/utils/opcontrol
> +--- oprofile-0.9.7.orig/utils/opcontrol	2011-07-20 14:36:48.000000000 -0500
> ++++ oprofile-0.9.7/utils/opcontrol	2012-07-02 13:55:06.232872688 -0500
> +@@ -384,7 +384,7 @@
> + 	OPROFILED="$OPDIR/oprofiled"
> + 
> + 	# location for daemon setup information
> +-	SETUP_DIR="/root/.oprofile"
> ++	SETUP_DIR="/home/root/.oprofile"
> + 	SETUP_FILE="$SETUP_DIR/daemonrc"
> + 	SEC_SETUP_FILE="$SETUP_DIR/daemonrc_new"
> + 

Why is it putting "daemon setup information" in /root in the first
place?  Surely that should go in /etc or some such place.

Also, the choice of where root's home directory goes is a distro
decision and, in the general case, it is not correct to say that "OE
uses /home/root".  Changing the hardcoded value from one thing to
another is probably not that much of an improvement overall. 

p.
Mark Hatle - July 2, 2012, 8:31 p.m.
On 7/2/12 3:06 PM, Phil Blundell wrote:
> On Mon, 2012-07-02 at 14:25 -0500, Mark Hatle wrote:
>> +diff -ur oprofile-0.9.7.orig/utils/opcontrol oprofile-0.9.7/utils/opcontrol
>> +--- oprofile-0.9.7.orig/utils/opcontrol	2011-07-20 14:36:48.000000000 -0500
>> ++++ oprofile-0.9.7/utils/opcontrol	2012-07-02 13:55:06.232872688 -0500
>> +@@ -384,7 +384,7 @@
>> + 	OPROFILED="$OPDIR/oprofiled"
>> +
>> + 	# location for daemon setup information
>> +-	SETUP_DIR="/root/.oprofile"
>> ++	SETUP_DIR="/home/root/.oprofile"
>> + 	SETUP_FILE="$SETUP_DIR/daemonrc"
>> + 	SEC_SETUP_FILE="$SETUP_DIR/daemonrc_new"
>> +
>
> Why is it putting "daemon setup information" in /root in the first
> place?  Surely that should go in /etc or some such place.
>
> Also, the choice of where root's home directory goes is a distro
> decision and, in the general case, it is not correct to say that "OE
> uses /home/root".  Changing the hardcoded value from one thing to
> another is probably not that much of an improvement overall.

systemd (meta-oe), base-passwd, base-files (profile settings), xserver-
nodm-init-2.0/xserver-nodm -- they all have patches that change hard coded /root 
to /home/root.

I don't honestly care which we used, but /home/root has been used as -the- root 
directory on OE since as far back as 2004 from what I can tell.

As for the files, these are files used by the system to setup and store the 
data.  oprofile does this to the root home directory.  I don't know or 
understand why, other then I have a bug in my pile that says oprofile is 
currently broken, as there is no /root directory.

--Mark

> p.
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Khem Raj - July 2, 2012, 11:44 p.m.
On Mon, Jul 2, 2012 at 1:06 PM, Phil Blundell <philb@gnu.org> wrote:
>
> Why is it putting "daemon setup information" in /root in the first
> place?  Surely that should go in /etc or some such place.
>
> Also, the choice of where root's home directory goes is a distro
> decision and, in the general case, it is not correct to say that "OE
> uses /home/root".  Changing the hardcoded value from one thing to
> another is probably not that much of an improvement overall.

yes having ROOTHOME configurable is desirable but probably nothing as such
exists AFAICT
Philip Balister - July 3, 2012, 3:28 p.m.
On 07/02/2012 07:44 PM, Khem Raj wrote:
> On Mon, Jul 2, 2012 at 1:06 PM, Phil Blundell <philb@gnu.org> wrote:
>>
>> Why is it putting "daemon setup information" in /root in the first
>> place?  Surely that should go in /etc or some such place.
>>
>> Also, the choice of where root's home directory goes is a distro
>> decision and, in the general case, it is not correct to say that "OE
>> uses /home/root".  Changing the hardcoded value from one thing to
>> another is probably not that much of an improvement overall.
>
> yes having ROOTHOME configurable is desirable but probably nothing as such
> exists AFAICT

Why do we use /home/root instead of /root? If we are having to patch 
multiple recipes to account for this, maybe we should default to /root?

Philip
Mark Hatle - July 3, 2012, 4:30 p.m.
On 7/3/12 10:28 AM, Philip Balister wrote:
> On 07/02/2012 07:44 PM, Khem Raj wrote:
>> On Mon, Jul 2, 2012 at 1:06 PM, Phil Blundell <philb@gnu.org> wrote:
>>>
>>> Why is it putting "daemon setup information" in /root in the first
>>> place?  Surely that should go in /etc or some such place.
>>>
>>> Also, the choice of where root's home directory goes is a distro
>>> decision and, in the general case, it is not correct to say that "OE
>>> uses /home/root".  Changing the hardcoded value from one thing to
>>> another is probably not that much of an improvement overall.
>>
>> yes having ROOTHOME configurable is desirable but probably nothing as such
>> exists AFAICT
>
> Why do we use /home/root instead of /root? If we are having to patch
> multiple recipes to account for this, maybe we should default to /root?

I attempted to figure this out yesterday... I probably have some details wrong, 
so anyone who knows should correct this...

The original Zaurus (commercial release) used /home/root, because the main / 
filesystem was read-only, and there was a need for all user data to reside on rw 
space (SD card?)

When OpenZaurus came about, it copied this behavior and it was eventually 
adopted by handhelds.org, nslu2, OpenEmbedded etc.. this is around 2004 time 
frame and later.

The first reference to this I find in the logs is around January of 2004, and 
it's been that way ever since.

 From what I can tell, there used to be a symlink from /root -> /home/root... 
but I don't see that symlink in OE anymore.


This who /home/root vs /root certainly caught me by surprise.. but frankly I 
don't care either way.  oprofile is not matching the system, so it needs to 
match -- or the system needs to change.

Most of the developers I work with are partial to /root vs /home/root.  I'm open 
to either changing it back to /root, allowing for a more dynamic option, or 
keeping it the way it is..

--Mark

> Philip
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Saul Wold - July 3, 2012, 4:45 p.m.
On 07/03/2012 09:30 AM, Mark Hatle wrote:
> On 7/3/12 10:28 AM, Philip Balister wrote:
>> On 07/02/2012 07:44 PM, Khem Raj wrote:
>>> On Mon, Jul 2, 2012 at 1:06 PM, Phil Blundell <philb@gnu.org> wrote:
>>>>
>>>> Why is it putting "daemon setup information" in /root in the first
>>>> place? Surely that should go in /etc or some such place.
>>>>
>>>> Also, the choice of where root's home directory goes is a distro
>>>> decision and, in the general case, it is not correct to say that "OE
>>>> uses /home/root". Changing the hardcoded value from one thing to
>>>> another is probably not that much of an improvement overall.
>>>
>>> yes having ROOTHOME configurable is desirable but probably nothing as
>>> such
>>> exists AFAICT
>>
>> Why do we use /home/root instead of /root? If we are having to patch
>> multiple recipes to account for this, maybe we should default to /root?
>
> I attempted to figure this out yesterday... I probably have some details
> wrong, so anyone who knows should correct this...
>
> The original Zaurus (commercial release) used /home/root, because the
> main / filesystem was read-only, and there was a need for all user data
> to reside on rw space (SD card?)
>
> When OpenZaurus came about, it copied this behavior and it was
> eventually adopted by handhelds.org, nslu2, OpenEmbedded etc.. this is
> around 2004 time frame and later.
>
> The first reference to this I find in the logs is around January of
> 2004, and it's been that way ever since.
>
>  From what I can tell, there used to be a symlink from /root ->
> /home/root... but I don't see that symlink in OE anymore.
>
>
> This who /home/root vs /root certainly caught me by surprise.. but
> frankly I don't care either way. oprofile is not matching the system, so
> it needs to match -- or the system needs to change.
>
> Most of the developers I work with are partial to /root vs /home/root.
> I'm open to either changing it back to /root, allowing for a more
> dynamic option, or keeping it the way it is..
>
Mark,

For the sack of expediency, maybe we take your change now, can you file 
a bug to make it dynamic and we can get that fixed overall?

Making it dynamic will require a bit more work, would you take that RFE 
on for 1.3 or future?

Sau!

> --Mark
>
>> Philip
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
Mark Hatle - July 3, 2012, 4:55 p.m.
On 7/3/12 11:45 AM, Saul Wold wrote:
> On 07/03/2012 09:30 AM, Mark Hatle wrote:
>> On 7/3/12 10:28 AM, Philip Balister wrote:
>>> On 07/02/2012 07:44 PM, Khem Raj wrote:
>>>> On Mon, Jul 2, 2012 at 1:06 PM, Phil Blundell <philb@gnu.org> wrote:
>>>>>
>>>>> Why is it putting "daemon setup information" in /root in the first
>>>>> place? Surely that should go in /etc or some such place.
>>>>>
>>>>> Also, the choice of where root's home directory goes is a distro
>>>>> decision and, in the general case, it is not correct to say that "OE
>>>>> uses /home/root". Changing the hardcoded value from one thing to
>>>>> another is probably not that much of an improvement overall.
>>>>
>>>> yes having ROOTHOME configurable is desirable but probably nothing as
>>>> such
>>>> exists AFAICT
>>>
>>> Why do we use /home/root instead of /root? If we are having to patch
>>> multiple recipes to account for this, maybe we should default to /root?
>>
>> I attempted to figure this out yesterday... I probably have some details
>> wrong, so anyone who knows should correct this...
>>
>> The original Zaurus (commercial release) used /home/root, because the
>> main / filesystem was read-only, and there was a need for all user data
>> to reside on rw space (SD card?)
>>
>> When OpenZaurus came about, it copied this behavior and it was
>> eventually adopted by handhelds.org, nslu2, OpenEmbedded etc.. this is
>> around 2004 time frame and later.
>>
>> The first reference to this I find in the logs is around January of
>> 2004, and it's been that way ever since.
>>
>>   From what I can tell, there used to be a symlink from /root ->
>> /home/root... but I don't see that symlink in OE anymore.
>>
>>
>> This who /home/root vs /root certainly caught me by surprise.. but
>> frankly I don't care either way. oprofile is not matching the system, so
>> it needs to match -- or the system needs to change.
>>
>> Most of the developers I work with are partial to /root vs /home/root.
>> I'm open to either changing it back to /root, allowing for a more
>> dynamic option, or keeping it the way it is..
>>
> Mark,
>
> For the sack of expediency, maybe we take your change now, can you file
> a bug to make it dynamic and we can get that fixed overall?
>
> Making it dynamic will require a bit more work, would you take that RFE
> on for 1.3 or future?

I'll add an enhancement request to the Yocto Project bugzilla.. I'm not sure at 
this point where it could be implemented, but due to history the "safe" answer 
right now is to keep /home/root until we can make it dynamic.

--Mark

> Sau!
>
>> --Mark
>>
>>> Philip
>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>>

Patch

diff --git a/meta/recipes-kernel/oprofile/oprofile.inc b/meta/recipes-kernel/oprofile/oprofile.inc
index 73a5a07..ac8ce10 100644
--- a/meta/recipes-kernel/oprofile/oprofile.inc
+++ b/meta/recipes-kernel/oprofile/oprofile.inc
@@ -19,10 +19,11 @@  FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
 FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
 FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
 
-INC_PR = "r0"
+INC_PR = "r1"
 
 SRC_URI = "file://opstart.patch \
            file://oprofile-no-query-modules.patch \
+           file://oprofile-root.patch \
            file://acinclude.m4"
 
 inherit autotools
diff --git a/meta/recipes-kernel/oprofile/oprofile/oprofile-root.patch b/meta/recipes-kernel/oprofile/oprofile/oprofile-root.patch
new file mode 100644
index 0000000..db63a8e
--- /dev/null
+++ b/meta/recipes-kernel/oprofile/oprofile/oprofile-root.patch
@@ -0,0 +1,108 @@ 
+Change hardcoded /root to /home/root
+
+Upstream-Status: inappropriate [OE specific]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -ur oprofile-0.9.7.orig/doc/opcontrol.1.in oprofile-0.9.7/doc/opcontrol.1.in
+--- oprofile-0.9.7.orig/doc/opcontrol.1.in	2011-07-04 21:25:04.000000000 -0500
++++ oprofile-0.9.7/doc/opcontrol.1.in	2012-07-02 14:02:16.358865420 -0500
+@@ -171,7 +171,7 @@
+ 
+ .SH FILES
+ .TP
+-.I /root/.oprofile/daemonrc
++.I /home/root/.oprofile/daemonrc
+ Configuration file for opcontrol
+ .TP
+ .I /var/lib/oprofile/samples/
+diff -ur oprofile-0.9.7.orig/doc/oprofile.1 oprofile-0.9.7/doc/oprofile.1
+--- oprofile-0.9.7.orig/doc/oprofile.1	2011-08-12 10:23:27.000000000 -0500
++++ oprofile-0.9.7/doc/oprofile.1	2012-07-02 14:02:29.295862358 -0500
+@@ -150,7 +150,7 @@
+ .I $HOME/.oprofile/
+ Configuration files
+ .TP
+-.I /root/.oprofile/daemonrc
++.I /home/root/.oprofile/daemonrc
+ Configuration file for opcontrol
+ .TP
+ .I /opt/oprofile-0.9.7-rc3/share/oprofile/
+diff -ur oprofile-0.9.7.orig/doc/oprofile.1.in oprofile-0.9.7/doc/oprofile.1.in
+--- oprofile-0.9.7.orig/doc/oprofile.1.in	2011-07-04 21:25:04.000000000 -0500
++++ oprofile-0.9.7/doc/oprofile.1.in	2012-07-02 14:01:35.812004623 -0500
+@@ -150,7 +150,7 @@
+ .I $HOME/.oprofile/
+ Configuration files
+ .TP
+-.I /root/.oprofile/daemonrc
++.I /home/root/.oprofile/daemonrc
+ Configuration file for opcontrol
+ .TP
+ .I @prefix@/share/oprofile/
+diff -ur oprofile-0.9.7.orig/doc/oprofile.html oprofile-0.9.7/doc/oprofile.html
+--- oprofile-0.9.7.orig/doc/oprofile.html	2011-07-04 21:32:35.000000000 -0500
++++ oprofile-0.9.7/doc/oprofile.html	2012-07-02 14:04:59.804018961 -0500
+@@ -1394,7 +1394,7 @@
+               <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">/home/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 @@
+               <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">/home/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 -ur oprofile-0.9.7.orig/doc/oprofile.xml oprofile-0.9.7/doc/oprofile.xml
+--- oprofile-0.9.7.orig/doc/oprofile.xml	2011-07-04 21:25:04.000000000 -0500
++++ oprofile-0.9.7/doc/oprofile.xml	2012-07-02 14:02:03.543019283 -0500
+@@ -568,7 +568,7 @@
+ 		<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>/home/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 @@
+ 		<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>/home/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 -ur oprofile-0.9.7.orig/gui/oprof_start_util.cpp oprofile-0.9.7/gui/oprof_start_util.cpp
+--- oprofile-0.9.7.orig/gui/oprof_start_util.cpp	2011-07-04 21:25:04.000000000 -0500
++++ oprofile-0.9.7/gui/oprof_start_util.cpp	2012-07-02 13:55:21.041876096 -0500
+@@ -39,7 +39,7 @@
+ // return the ~ expansion suffixed with a '/'
+ string const get_config_dir()
+ {
+-	return "/root";
++	return "/home/root";
+ }
+ 
+ string daemon_pid;
+diff -ur oprofile-0.9.7.orig/utils/opcontrol oprofile-0.9.7/utils/opcontrol
+--- oprofile-0.9.7.orig/utils/opcontrol	2011-07-20 14:36:48.000000000 -0500
++++ oprofile-0.9.7/utils/opcontrol	2012-07-02 13:55:06.232872688 -0500
+@@ -384,7 +384,7 @@
+ 	OPROFILED="$OPDIR/oprofiled"
+ 
+ 	# location for daemon setup information
+-	SETUP_DIR="/root/.oprofile"
++	SETUP_DIR="/home/root/.oprofile"
+ 	SETUP_FILE="$SETUP_DIR/daemonrc"
+ 	SEC_SETUP_FILE="$SETUP_DIR/daemonrc_new"
+