mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
classes/license_image.bbclass: Fix rootfs license file permissions
Fixes up the permissions on the license files when they are put on the target file system so that they are readable by everyone. Previously, they would have inherited whatever permissions the file had in the recipe, which may not have been appropriate. [YOCTO #13175] (From OE-Core rev: 8190d192fceb9b0969385507d3d4bca7be75c810) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a20a4d734d
commit
8d47356ad2
@@ -37,6 +37,7 @@ python license_create_manifest() {
|
||||
|
||||
def write_license_files(d, license_manifest, pkg_dic, rootfs=True):
|
||||
import re
|
||||
import stat
|
||||
|
||||
bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split()
|
||||
bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses)
|
||||
@@ -146,12 +147,17 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True):
|
||||
continue
|
||||
|
||||
os.link(pkg_license, pkg_rootfs_license)
|
||||
# Fixup file ownership
|
||||
# Fixup file ownership and permissions
|
||||
for walkroot, dirs, files in os.walk(rootfs_license_dir):
|
||||
for f in files:
|
||||
os.lchown(os.path.join(walkroot, f), 0, 0)
|
||||
p = os.path.join(walkroot, f)
|
||||
os.lchown(p, 0, 0)
|
||||
if not os.path.islink(p):
|
||||
os.chmod(p, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH)
|
||||
for dir in dirs:
|
||||
os.lchown(os.path.join(walkroot, dir), 0, 0)
|
||||
p = os.path.join(walkroot, dir)
|
||||
os.lchown(p, 0, 0)
|
||||
os.chmod(p, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user