Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: Ownership issue in package contents
Date: Tue, 31 Mar 2015 13:23:00 -0500	[thread overview]
Message-ID: <551AE604.6090804@windriver.com> (raw)
In-Reply-To: <87wq1xgk2j.fsf@email.parenteses.org>

On 3/31/15 12:20 PM, Mario Domenech Goulart wrote:
> Hi Ross,
> 
> On Tue, 31 Mar 2015 14:50:06 +0100 "Burton, Ross" <ross.burton@intel.com> wrote:
> 
>> On 27 March 2015 at 17:31, Mario Domenech Goulart <mario@ossystems.com.br> wrote:
>>
>>     Note that, although I run "chown -R foo:foo ${D}${libdir}/foo" in
>>     the recipe, ./usr/lib/foo/ in the package is owned by root.
>>     However, its content has the right ownership.
>>
>> Looks like a bug in pseudo to me, can you file a bug for that?
> 
> Sure.  Filed #7554.

I'd suggest you look at meta/classes/package.bbclass "fixup_perms" function.

The ${D}${libdir} (and above) are "corrected" to be 'root:root' by this
function.  I don't know why 'foo' would be, but if it's a standard defined
variable -- or if 'directory walking' is enabled it could end up doing this as well.

The control file for this is in meta/files/fs-perms.txt (unless otherwise
defined by a distribution or other configuration file.)

Format of the file is:

# The format of this file
#
#<path> <mode>  <uid>   <gid>   <walk>  <fmode> <fuid>  <fgid>
#
# or
#
#<path> link <target>
#
# <path>: directory path
# <mode>: mode for directory
# <uid>:  uid for directory
# <gid>:  gid for directory
# <walk>: recursively walk the directory?  true or false
# <fmode>: if walking, new mode for files
# <fuid>:  if walking, new uid for files
# <fgid>:  if walking, new gid for files
# <target>: turn the directory into a symlink point to target

The default is:

base_prefix	0755 root root false - - -
prefix		0755 root root false - - -
exec_prefix	0755 root root false - - -
base_bindir	0755 root root false - - -
base_sbindir	0755 root root false - - -
base_libdir	0755 root root false - - -
datadir		0755 root root false - - -
sysconfdir	0755 root root false - - -
servicedir	0755 root root false - - -
sharedstatedir	0755 root root false - - -
localstatedir	0755 root root false - - -
infodir		0755 root root false - - -
mandir		0755 root root false - - -
docdir		0755 root root false - - -
bindir		0755 root root false - - -
sbindir		0755 root root false - - -
libexecdir	0755 root root false - - -
libdir		0755 root root false - - -
includedir	0755 root root false - - -
oldincludedir	0755 root root false - - -

The easiest way to debug all of this is to edit meta/classes/package.bbclass,
find the following lines:

    # Debug -- list out in-memory table
    #for dir in fs_perms_table:
    #    bb.note("Fixup Perms: %s: %s" % (dir, str(fs_perms_table[dir])))

remove the '#' from the 'for' and following lines, then inspect the table from
the build logs.

Similarly, you can trace the actual fixups, by searching for def fix_perms(path,
mode, uid, gid, dir):, and removing the comment from the two bb.note entries.

This should give you an idea if this code is replacing your value with it's own.

(I give this a VERY low probability that it's a bug in pseudo.)

--Mark

> Best wishes.
> Mario
> 



  reply	other threads:[~2015-03-31 18:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-27 17:31 Ownership issue in package contents Mario Domenech Goulart
2015-03-27 17:43 ` Otavio Salvador
2015-03-31 13:50 ` Burton, Ross
2015-03-31 17:20   ` Mario Domenech Goulart
2015-03-31 18:23     ` Mark Hatle [this message]
2015-03-31 20:12       ` Burton, Ross
2015-03-31 20:18         ` Otavio Salvador
2015-03-31 20:33       ` Mario Domenech Goulart
2015-03-31 20:51         ` Mark Hatle
2015-03-31 21:01           ` Mario Domenech Goulart
2015-03-31 21:09             ` Mark Hatle
2015-03-31 21:21               ` Mario Domenech Goulart
2015-03-31 21:47                 ` Mark Hatle
2015-04-06 12:59                   ` Mario Domenech Goulart
2015-04-06 14:53                     ` Mark Hatle
2015-04-06 14:57                       ` Otavio Salvador
2015-04-06 16:49                         ` Mark Hatle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=551AE604.6090804@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox