sanity.bbclass: quote path passed to stat in get_filesystem_id()
PATCH 1/2 sanity.bbclass: quote path passed to stat in get_filesystem_id()
Although get_filesystem_id() is a private API and never gets passed a path containing spaces or other special characters, etc, quote the path anyway for consistency.
--- meta/classes/sanity.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/sanity.bbclass +1 -1
@@ -336,7 +336,7 @@ def check_path_length(filepath, pathname, limit): return "" def get_filesystem_id(path): - status, result = oe.utils.getstatusoutput("stat -f -c '%s' %s" % ("%t", path)) + status, result = oe.utils.getstatusoutput("stat -f -c '%s' '%s'" % ("%t", path)) if status == 0: return result else:
Signature · 1 line
1.9.1
PATCH 2/2 package.bbclass: use single quotes for path passed to file in isELF()
Apparently there are recipes in the wild which generate files with filenames containing '$' characters - which cause errors during packaging.
Instead of adding another special case to escape '$' characters when constructing the command passed to oe.utils.getstatusoutput(), switch to using single quotes to quote the path - and therefore make isELF() consistent with the way filenames and paths are quoted by every other caller of oe.utils.getstatusoutput() in oe-core.
--- meta/classes/package.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/package.bbclass +1 -1
@@ -918,7 +918,7 @@ python split_and_strip_files () { # 16 - kernel module def isELF(path): type = 0 - ret, result = oe.utils.getstatusoutput("file \"%s\"" % path.replace("\"", "\\\"")) + ret, result = oe.utils.getstatusoutput("file '%s'" % path) if ret: msg = "split_and_strip_files: 'file %s' failed" % path
Signature · 1 line
1.9.1
A better fix would be to not use getstatusoutput() at all, but directly hit subprocess and pass the argument as a list.
Ross
Quoted 30 lines · Andre McCurdy
Although
get_filesystem_id()is a private API and never gets passed a path containing spaces or other special characters, etc, quote the path anyway for consistency.Signed-off-by Andre McCurdy <[email protected]>--- meta/classes/sanity.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)meta/classes/sanity.bbclass +1
-2@@ -336,7 +336,7 @@ def check_path_length(filepath, pathname, limit): return "" def get_filesystem_id(path): - status, result = oe.utils.getstatusoutput("stat -f -c '%s' %s" % ("%t", path)) + status, result = oe.utils.getstatusoutput("stat -f -c '%s' '%s'" % ("%t", path)) if status == 0: return result else: --1.9.1
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core