From: Joël Esponde Date: Thu, 27 Jun 2019 09:12:04 +0000 (+0200) Subject: package.bbclass: fix directories setuid and setgid bits X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~14042 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f82b53a650e76e0129fae6ce7581a41d042315b;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git package.bbclass: fix directories setuid and setgid bits populate_packages relies on ``mkdir`` to both create a directory and set its permissions. However, ``mkdir`` honors the ``umask`` value. Therefore, some bits may be lost in the operation. In our case, the setgid bit on the directories were lost. This commit fixes this by having a distinct call to create the directory and to set the permissions. Signed-off-by: Jean-Tiare Le Bigot Signed-off-by: Richard Purdie --- diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 20d72bba799..cd223a121e4 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1216,7 +1216,8 @@ python populate_packages () { src = os.path.join(src, p) dest = os.path.join(dest, p) fstat = cpath.stat(src) - os.mkdir(dest, fstat.st_mode) + os.mkdir(dest) + os.chmod(dest, fstat.st_mode) os.chown(dest, fstat.st_uid, fstat.st_gid) if p not in seen: seen.append(p)