diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/license_image.bbclass | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/meta/classes/license_image.bbclass b/meta/classes/license_image.bbclass index 6ac63e0192..67500386bf 100644 --- a/meta/classes/license_image.bbclass +++ b/meta/classes/license_image.bbclass | |||
@@ -37,6 +37,7 @@ python license_create_manifest() { | |||
37 | 37 | ||
38 | def write_license_files(d, license_manifest, pkg_dic, rootfs=True): | 38 | def write_license_files(d, license_manifest, pkg_dic, rootfs=True): |
39 | import re | 39 | import re |
40 | import stat | ||
40 | 41 | ||
41 | bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split() | 42 | bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split() |
42 | bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses) | 43 | 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): | |||
146 | continue | 147 | continue |
147 | 148 | ||
148 | os.link(pkg_license, pkg_rootfs_license) | 149 | os.link(pkg_license, pkg_rootfs_license) |
149 | # Fixup file ownership | 150 | # Fixup file ownership and permissions |
150 | for walkroot, dirs, files in os.walk(rootfs_license_dir): | 151 | for walkroot, dirs, files in os.walk(rootfs_license_dir): |
151 | for f in files: | 152 | for f in files: |
152 | os.lchown(os.path.join(walkroot, f), 0, 0) | 153 | p = os.path.join(walkroot, f) |
154 | os.lchown(p, 0, 0) | ||
155 | if not os.path.islink(p): | ||
156 | os.chmod(p, stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH) | ||
153 | for dir in dirs: | 157 | for dir in dirs: |
154 | os.lchown(os.path.join(walkroot, dir), 0, 0) | 158 | p = os.path.join(walkroot, dir) |
159 | os.lchown(p, 0, 0) | ||
160 | os.chmod(p, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) | ||
155 | 161 | ||
156 | 162 | ||
157 | 163 | ||