mirror of
https://git.yoctoproject.org/poky
synced 2026-02-12 19:53:03 +01:00
package.bbclass: improve permission handling
Change fs_link_table to be keyed by path, just like fs_perms_table. When a new entry is coming in for either table, remove any previous entry for that path. This way later permission file entries override earlier ones. [YOCTO #9430] (From OE-Core rev: b7504ece784fad997e72f4cd89cdf73f24901541) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
eeae2ac488
commit
83eac650fd
@@ -775,9 +775,13 @@ python fixup_perms () {
|
||||
entry = fs_perms_entry(d.expand(line))
|
||||
if entry and entry.path:
|
||||
if entry.link:
|
||||
fs_link_table[entry.link] = entry
|
||||
fs_link_table[entry.path] = entry
|
||||
if entry.path in fs_perms_table:
|
||||
fs_perms_table.pop(entry.path)
|
||||
else:
|
||||
fs_perms_table[entry.path] = entry
|
||||
if entry.path in fs_link_table:
|
||||
fs_link_table.pop(entry.path)
|
||||
f.close()
|
||||
|
||||
# Debug -- list out in-memory table
|
||||
@@ -789,8 +793,9 @@ python fixup_perms () {
|
||||
# We process links first, so we can go back and fixup directory ownership
|
||||
# for any newly created directories
|
||||
# Process in sorted order so /run gets created before /run/lock, etc.
|
||||
for link in sorted(fs_link_table):
|
||||
dir = fs_link_table[link].path
|
||||
for entry in sorted(fs_link_table.values(), key=lambda x: x.link):
|
||||
link = entry.link
|
||||
dir = entry.path
|
||||
origin = dvar + dir
|
||||
if not (cpath.exists(origin) and cpath.isdir(origin) and not cpath.islink(origin)):
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user