[OE-core] [PATCHv4] Fix recursive mode -st on BUILDDIR setup
Alex Franco
alejandro.franco at linux.intel.com
Thu Sep 3 21:56:44 UTC 2015
Removing recursive option from chmod -st on BUILDDIR as it would
take very long on existing build directories
[YOCTO #7669]
Signed-off-by: Alex Franco <alejandro.franco at linux.intel.com>
---
meta/classes/sanity.bbclass | 9 ++++++---
scripts/oe-setup-builddir | 5 ++++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 2864318..29bb619 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -841,9 +841,12 @@ def check_sanity_everybuild(status, d):
else:
bb.utils.mkdirhier(tmpdir)
# Remove setuid, setgid and sticky bits from TMPDIR
- os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID)
- os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID)
- os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX)
+ try:
+ os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISUID)
+ os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISGID)
+ os.chmod(tmpdir, os.stat(tmpdir).st_mode & ~ stat.S_ISVTX)
+ except OSError:
+ bb.warn("Unable to chmod TMPDIR: %s" % tmpdir)
with open(checkfile, "w") as f:
f.write(tmpdir)
diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
index f5b7e4e..91bd86b 100755
--- a/scripts/oe-setup-builddir
+++ b/scripts/oe-setup-builddir
@@ -24,7 +24,10 @@ if [ -z "$BUILDDIR" ]; then
fi
mkdir -p "$BUILDDIR/conf"
-chmod -R -st "$BUILDDIR"
+
+# Attempting removal of sticky,setuid bits from BUILDDIR, BUILDDIR/conf
+chmod -st "$BUILDDIR" 2>/dev/null || echo "WARNING: unable to chmod $BUILDDIR"
+chmod -st "$BUILDDIR/conf" 2>/dev/null || echo "WARNING: unable to chmod $BUILDDIR/conf"
if [ ! -d "$BUILDDIR" ]; then
echo >&2 "Error: The builddir ($BUILDDIR) does not exist!"
--
2.5.1
More information about the Openembedded-core
mailing list