diff options
author | Stephano Cetola <stephano.cetola@linux.intel.com> | 2016-12-06 07:30:59 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-12-08 10:31:30 +0000 |
commit | d8fbaebc482f0e8556077006b8fac43db8927793 (patch) | |
tree | 781537a2885b0fe0bf5933797a13a42e6aa86838 /meta/lib/oe/package.py | |
parent | 56b4aa820c3e8a7755ca5e41866d1015f025ad46 (diff) | |
download | poky-d8fbaebc482f0e8556077006b8fac43db8927793.tar.gz |
package_manager: remove strings and migrate to direct arrays
When using subprocess call and check_output, it is better to use arrays
rather than strings when possible to avoid whitespace and quoting
problems.
[ YOCTO #9342 ]
(From OE-Core rev: b12cec9a5ef14ecb02be7feec65508cf5d65c795)
Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/package.py')
-rw-r--r-- | meta/lib/oe/package.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 02642f29f0..ae60a5843e 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py | |||
@@ -18,23 +18,24 @@ def runstrip(arg): | |||
18 | newmode = origmode | stat.S_IWRITE | stat.S_IREAD | 18 | newmode = origmode | stat.S_IWRITE | stat.S_IREAD |
19 | os.chmod(file, newmode) | 19 | os.chmod(file, newmode) |
20 | 20 | ||
21 | extraflags = "" | 21 | stripcmd = [strip] |
22 | 22 | ||
23 | # kernel module | 23 | # kernel module |
24 | if elftype & 16: | 24 | if elftype & 16: |
25 | extraflags = "--strip-debug --remove-section=.comment --remove-section=.note --preserve-dates" | 25 | stripcmd.extend(["--strip-debug", "--remove-section=.comment", |
26 | "--remove-section=.note", "--preserve-dates"]) | ||
26 | # .so and shared library | 27 | # .so and shared library |
27 | elif ".so" in file and elftype & 8: | 28 | elif ".so" in file and elftype & 8: |
28 | extraflags = "--remove-section=.comment --remove-section=.note --strip-unneeded" | 29 | stripcmd.extend(["--remove-section=.comment", "--remove-section=.note", "--strip-unneeded"]) |
29 | # shared or executable: | 30 | # shared or executable: |
30 | elif elftype & 8 or elftype & 4: | 31 | elif elftype & 8 or elftype & 4: |
31 | extraflags = "--remove-section=.comment --remove-section=.note" | 32 | stripcmd.extend(["--remove-section=.comment", "--remove-section=.note"]) |
32 | 33 | ||
33 | stripcmd = "'%s' %s '%s'" % (strip, extraflags, file) | 34 | stripcmd.append(file) |
34 | bb.debug(1, "runstrip: %s" % stripcmd) | 35 | bb.debug(1, "runstrip: %s" % stripcmd) |
35 | 36 | ||
36 | try: | 37 | try: |
37 | output = subprocess.check_output(stripcmd, stderr=subprocess.STDOUT, shell=True) | 38 | output = subprocess.check_output(stripcmd, stderr=subprocess.STDOUT) |
38 | except subprocess.CalledProcessError as e: | 39 | except subprocess.CalledProcessError as e: |
39 | bb.error("runstrip: '%s' strip command failed with %s (%s)" % (stripcmd, e.returncode, e.output)) | 40 | bb.error("runstrip: '%s' strip command failed with %s (%s)" % (stripcmd, e.returncode, e.output)) |
40 | 41 | ||