mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
sstatesig: Only apply group/other permissions to pseudo files
We hardlink some files into the build, such as licence files in do_populate_lic tasks. Depending on the umask that the source tree was checked out with, the group permissions would vary. This results in inconsistent task outhashes. Avoid this by ignoring the group/other bits unless we're under pseudo context. Bump the ABI numbers to ensure we don't see cache corruption from earlier builds. (From OE-Core rev: 2bd9c806de7e5197168360e3bd1d223a04a92291) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
SSTATE_VERSION = "5"
|
||||
SSTATE_VERSION = "6"
|
||||
|
||||
SSTATE_MANIFESTS ?= "${TMPDIR}/sstate-control"
|
||||
SSTATE_MANFILEPREFIX = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-${PN}"
|
||||
|
||||
@@ -12,4 +12,4 @@ OELAYOUT_ABI = "14"
|
||||
# a reset of the equivalence, for example when reproducibility issues break the
|
||||
# existing match data. Distros can also append to this value for the same effect.
|
||||
#
|
||||
HASHEQUIV_HASH_VERSION = "8"
|
||||
HASHEQUIV_HASH_VERSION = "9"
|
||||
|
||||
@@ -552,21 +552,22 @@ def OEOuthashBasic(path, sigfile, task, d):
|
||||
else:
|
||||
add_perm(stat.S_IXUSR, 'x')
|
||||
|
||||
add_perm(stat.S_IRGRP, 'r')
|
||||
add_perm(stat.S_IWGRP, 'w')
|
||||
if stat.S_ISGID & s.st_mode:
|
||||
add_perm(stat.S_IXGRP, 's', 'S')
|
||||
else:
|
||||
add_perm(stat.S_IXGRP, 'x')
|
||||
|
||||
add_perm(stat.S_IROTH, 'r')
|
||||
add_perm(stat.S_IWOTH, 'w')
|
||||
if stat.S_ISVTX & s.st_mode:
|
||||
update_hash('t')
|
||||
else:
|
||||
add_perm(stat.S_IXOTH, 'x')
|
||||
|
||||
if include_owners:
|
||||
# Group/other permissions are only relevant in pseudo context
|
||||
add_perm(stat.S_IRGRP, 'r')
|
||||
add_perm(stat.S_IWGRP, 'w')
|
||||
if stat.S_ISGID & s.st_mode:
|
||||
add_perm(stat.S_IXGRP, 's', 'S')
|
||||
else:
|
||||
add_perm(stat.S_IXGRP, 'x')
|
||||
|
||||
add_perm(stat.S_IROTH, 'r')
|
||||
add_perm(stat.S_IWOTH, 'w')
|
||||
if stat.S_ISVTX & s.st_mode:
|
||||
update_hash('t')
|
||||
else:
|
||||
add_perm(stat.S_IXOTH, 'x')
|
||||
|
||||
try:
|
||||
update_hash(" %10s" % pwd.getpwuid(s.st_uid).pw_name)
|
||||
update_hash(" %10s" % grp.getgrgid(s.st_gid).gr_name)
|
||||
|
||||
Reference in New Issue
Block a user