diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/buildhistory-diff | 5 | ||||
-rw-r--r-- | scripts/lib/checklayer/cases/common.py | 2 | ||||
-rw-r--r-- | scripts/lib/devtool/deploy.py | 2 | ||||
-rw-r--r-- | scripts/lib/recipetool/create.py | 19 | ||||
-rw-r--r-- | scripts/lib/recipetool/create_buildsys.py | 3 | ||||
-rw-r--r-- | scripts/lib/scriptutils.py | 7 | ||||
-rw-r--r-- | scripts/lib/wic/engine.py | 6 | ||||
-rw-r--r-- | scripts/lib/wic/misc.py | 4 | ||||
-rw-r--r-- | scripts/lib/wic/pluginbase.py | 8 | ||||
-rw-r--r-- | scripts/lib/wic/plugins/imager/direct.py | 2 | ||||
-rwxr-xr-x | scripts/runqemu | 3 | ||||
-rwxr-xr-x | scripts/runqemu-ifdown | 1 | ||||
-rwxr-xr-x | scripts/wic | 7 | ||||
-rwxr-xr-x | scripts/yocto-check-layer | 13 |
14 files changed, 52 insertions, 30 deletions
diff --git a/scripts/buildhistory-diff b/scripts/buildhistory-diff index 3bd40a2a1e..a6e785aa23 100755 --- a/scripts/buildhistory-diff +++ b/scripts/buildhistory-diff | |||
@@ -11,7 +11,6 @@ | |||
11 | import sys | 11 | import sys |
12 | import os | 12 | import os |
13 | import argparse | 13 | import argparse |
14 | from distutils.version import LooseVersion | ||
15 | 14 | ||
16 | # Ensure PythonGit is installed (buildhistory_analysis needs it) | 15 | # Ensure PythonGit is installed (buildhistory_analysis needs it) |
17 | try: | 16 | try: |
@@ -73,10 +72,6 @@ def main(): | |||
73 | parser = get_args_parser() | 72 | parser = get_args_parser() |
74 | args = parser.parse_args() | 73 | args = parser.parse_args() |
75 | 74 | ||
76 | if LooseVersion(git.__version__) < '0.3.1': | ||
77 | sys.stderr.write("Version of GitPython is too old, please install GitPython (python-git) 0.3.1 or later in order to use this script\n") | ||
78 | sys.exit(1) | ||
79 | |||
80 | if len(args.revisions) > 2: | 75 | if len(args.revisions) > 2: |
81 | sys.stderr.write('Invalid argument(s) specified: %s\n\n' % ' '.join(args.revisions[2:])) | 76 | sys.stderr.write('Invalid argument(s) specified: %s\n\n' % ' '.join(args.revisions[2:])) |
82 | parser.print_help() | 77 | parser.print_help() |
diff --git a/scripts/lib/checklayer/cases/common.py b/scripts/lib/checklayer/cases/common.py index b82304e361..4495f71b24 100644 --- a/scripts/lib/checklayer/cases/common.py +++ b/scripts/lib/checklayer/cases/common.py | |||
@@ -14,7 +14,7 @@ class CommonCheckLayer(OECheckLayerTestCase): | |||
14 | # The top-level README file may have a suffix (like README.rst or README.txt). | 14 | # The top-level README file may have a suffix (like README.rst or README.txt). |
15 | readme_files = glob.glob(os.path.join(self.tc.layer['path'], '[Rr][Ee][Aa][Dd][Mm][Ee]*')) | 15 | readme_files = glob.glob(os.path.join(self.tc.layer['path'], '[Rr][Ee][Aa][Dd][Mm][Ee]*')) |
16 | self.assertTrue(len(readme_files) > 0, | 16 | self.assertTrue(len(readme_files) > 0, |
17 | msg="Layer doesn't contains README file.") | 17 | msg="Layer doesn't contain a README file.") |
18 | 18 | ||
19 | # There might be more than one file matching the file pattern above | 19 | # There might be more than one file matching the file pattern above |
20 | # (for example, README.rst and README-COPYING.rst). The one with the shortest | 20 | # (for example, README.rst and README-COPYING.rst). The one with the shortest |
diff --git a/scripts/lib/devtool/deploy.py b/scripts/lib/devtool/deploy.py index 833322571f..e14a587417 100644 --- a/scripts/lib/devtool/deploy.py +++ b/scripts/lib/devtool/deploy.py | |||
@@ -170,7 +170,7 @@ def deploy(args, config, basepath, workspace): | |||
170 | srcdir = recipe_outdir | 170 | srcdir = recipe_outdir |
171 | recipe_outdir = os.path.join(rd.getVar('WORKDIR'), 'devtool-deploy-target-stripped') | 171 | recipe_outdir = os.path.join(rd.getVar('WORKDIR'), 'devtool-deploy-target-stripped') |
172 | if os.path.isdir(recipe_outdir): | 172 | if os.path.isdir(recipe_outdir): |
173 | bb.utils.remove(recipe_outdir, True) | 173 | exec_fakeroot(rd, "rm -rf %s" % recipe_outdir, shell=True) |
174 | exec_fakeroot(rd, "cp -af %s %s" % (os.path.join(srcdir, '.'), recipe_outdir), shell=True) | 174 | exec_fakeroot(rd, "cp -af %s %s" % (os.path.join(srcdir, '.'), recipe_outdir), shell=True) |
175 | os.environ['PATH'] = ':'.join([os.environ['PATH'], rd.getVar('PATH') or '']) | 175 | os.environ['PATH'] = ':'.join([os.environ['PATH'], rd.getVar('PATH') or '']) |
176 | oe.package.strip_execs(args.recipename, recipe_outdir, rd.getVar('STRIP'), rd.getVar('libdir'), | 176 | oe.package.strip_execs(args.recipename, recipe_outdir, rd.getVar('STRIP'), rd.getVar('libdir'), |
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 116bdfd697..b9f9c80367 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py | |||
@@ -366,7 +366,7 @@ def supports_srcrev(uri): | |||
366 | def reformat_git_uri(uri): | 366 | def reformat_git_uri(uri): |
367 | '''Convert any http[s]://....git URI into git://...;protocol=http[s]''' | 367 | '''Convert any http[s]://....git URI into git://...;protocol=http[s]''' |
368 | checkuri = uri.split(';', 1)[0] | 368 | checkuri = uri.split(';', 1)[0] |
369 | if checkuri.endswith('.git') or '/git/' in checkuri or re.match('https?://github.com/[^/]+/[^/]+/?$', checkuri): | 369 | if checkuri.endswith('.git') or '/git/' in checkuri or re.match('https?://git(hub|lab).com/[^/]+/[^/]+/?$', checkuri): |
370 | # Appends scheme if the scheme is missing | 370 | # Appends scheme if the scheme is missing |
371 | if not '://' in uri: | 371 | if not '://' in uri: |
372 | uri = 'git://' + uri | 372 | uri = 'git://' + uri |
@@ -389,9 +389,6 @@ def reformat_git_uri(uri): | |||
389 | parms.update({('protocol', 'ssh')}) | 389 | parms.update({('protocol', 'ssh')}) |
390 | elif (scheme == "http" or scheme == 'https' or scheme == 'ssh') and not ('protocol' in parms): | 390 | elif (scheme == "http" or scheme == 'https' or scheme == 'ssh') and not ('protocol' in parms): |
391 | parms.update({('protocol', scheme)}) | 391 | parms.update({('protocol', scheme)}) |
392 | # We assume 'master' branch if not set | ||
393 | if not 'branch' in parms: | ||
394 | parms.update({('branch', 'master')}) | ||
395 | # Always append 'git://' | 392 | # Always append 'git://' |
396 | fUrl = bb.fetch2.encodeurl(('git', host, path, user, pswd, parms)) | 393 | fUrl = bb.fetch2.encodeurl(('git', host, path, user, pswd, parms)) |
397 | return fUrl | 394 | return fUrl |
@@ -438,7 +435,7 @@ def create_recipe(args): | |||
438 | if args.binary: | 435 | if args.binary: |
439 | # Assume the archive contains the directory structure verbatim | 436 | # Assume the archive contains the directory structure verbatim |
440 | # so we need to extract to a subdirectory | 437 | # so we need to extract to a subdirectory |
441 | fetchuri += ';subdir=${BP}' | 438 | fetchuri += ';subdir=${BPN}' |
442 | srcuri = fetchuri | 439 | srcuri = fetchuri |
443 | rev_re = re.compile(';rev=([^;]+)') | 440 | rev_re = re.compile(';rev=([^;]+)') |
444 | res = rev_re.search(srcuri) | 441 | res = rev_re.search(srcuri) |
@@ -481,6 +478,9 @@ def create_recipe(args): | |||
481 | storeTagName = params['tag'] | 478 | storeTagName = params['tag'] |
482 | params['nobranch'] = '1' | 479 | params['nobranch'] = '1' |
483 | del params['tag'] | 480 | del params['tag'] |
481 | # Assume 'master' branch if not set | ||
482 | if scheme in ['git', 'gitsm'] and 'branch' not in params and 'nobranch' not in params: | ||
483 | params['branch'] = 'master' | ||
484 | fetchuri = bb.fetch2.encodeurl((scheme, network, path, user, passwd, params)) | 484 | fetchuri = bb.fetch2.encodeurl((scheme, network, path, user, passwd, params)) |
485 | 485 | ||
486 | tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') | 486 | tmpparent = tinfoil.config_data.getVar('BASE_WORKDIR') |
@@ -530,10 +530,9 @@ def create_recipe(args): | |||
530 | # Remove HEAD reference point and drop remote prefix | 530 | # Remove HEAD reference point and drop remote prefix |
531 | get_branch = [x.split('/', 1)[1] for x in get_branch if not x.startswith('origin/HEAD')] | 531 | get_branch = [x.split('/', 1)[1] for x in get_branch if not x.startswith('origin/HEAD')] |
532 | if 'master' in get_branch: | 532 | if 'master' in get_branch: |
533 | # If it is master, we do not need to append 'branch=master' as this is default. | ||
534 | # Even with the case where get_branch has multiple objects, if 'master' is one | 533 | # Even with the case where get_branch has multiple objects, if 'master' is one |
535 | # of them, we should default take from 'master' | 534 | # of them, we should default take from 'master' |
536 | srcbranch = '' | 535 | srcbranch = 'master' |
537 | elif len(get_branch) == 1: | 536 | elif len(get_branch) == 1: |
538 | # If 'master' isn't in get_branch and get_branch contains only ONE object, then store result into 'srcbranch' | 537 | # If 'master' isn't in get_branch and get_branch contains only ONE object, then store result into 'srcbranch' |
539 | srcbranch = get_branch[0] | 538 | srcbranch = get_branch[0] |
@@ -546,8 +545,8 @@ def create_recipe(args): | |||
546 | # Since we might have a value in srcbranch, we need to | 545 | # Since we might have a value in srcbranch, we need to |
547 | # recontruct the srcuri to include 'branch' in params. | 546 | # recontruct the srcuri to include 'branch' in params. |
548 | scheme, network, path, user, passwd, params = bb.fetch2.decodeurl(srcuri) | 547 | scheme, network, path, user, passwd, params = bb.fetch2.decodeurl(srcuri) |
549 | if srcbranch: | 548 | if scheme in ['git', 'gitsm']: |
550 | params['branch'] = srcbranch | 549 | params['branch'] = srcbranch or 'master' |
551 | 550 | ||
552 | if storeTagName and scheme in ['git', 'gitsm']: | 551 | if storeTagName and scheme in ['git', 'gitsm']: |
553 | # Check srcrev using tag and check validity of the tag | 552 | # Check srcrev using tag and check validity of the tag |
@@ -606,7 +605,7 @@ def create_recipe(args): | |||
606 | splitline = line.split() | 605 | splitline = line.split() |
607 | if len(splitline) > 1: | 606 | if len(splitline) > 1: |
608 | if splitline[0] == 'origin' and scriptutils.is_src_url(splitline[1]): | 607 | if splitline[0] == 'origin' and scriptutils.is_src_url(splitline[1]): |
609 | srcuri = reformat_git_uri(splitline[1]) | 608 | srcuri = reformat_git_uri(splitline[1]) + ';branch=master' |
610 | srcsubdir = 'git' | 609 | srcsubdir = 'git' |
611 | break | 610 | break |
612 | 611 | ||
diff --git a/scripts/lib/recipetool/create_buildsys.py b/scripts/lib/recipetool/create_buildsys.py index 35a97c9345..5015634476 100644 --- a/scripts/lib/recipetool/create_buildsys.py +++ b/scripts/lib/recipetool/create_buildsys.py | |||
@@ -545,7 +545,7 @@ class AutotoolsRecipeHandler(RecipeHandler): | |||
545 | deps.append('zlib') | 545 | deps.append('zlib') |
546 | elif keyword in ('AX_CHECK_OPENSSL', 'AX_LIB_CRYPTO'): | 546 | elif keyword in ('AX_CHECK_OPENSSL', 'AX_LIB_CRYPTO'): |
547 | deps.append('openssl') | 547 | deps.append('openssl') |
548 | elif keyword == 'AX_LIB_CURL': | 548 | elif keyword in ('AX_LIB_CURL', 'LIBCURL_CHECK_CONFIG'): |
549 | deps.append('curl') | 549 | deps.append('curl') |
550 | elif keyword == 'AX_LIB_BEECRYPT': | 550 | elif keyword == 'AX_LIB_BEECRYPT': |
551 | deps.append('beecrypt') | 551 | deps.append('beecrypt') |
@@ -624,6 +624,7 @@ class AutotoolsRecipeHandler(RecipeHandler): | |||
624 | 'AX_CHECK_OPENSSL', | 624 | 'AX_CHECK_OPENSSL', |
625 | 'AX_LIB_CRYPTO', | 625 | 'AX_LIB_CRYPTO', |
626 | 'AX_LIB_CURL', | 626 | 'AX_LIB_CURL', |
627 | 'LIBCURL_CHECK_CONFIG', | ||
627 | 'AX_LIB_BEECRYPT', | 628 | 'AX_LIB_BEECRYPT', |
628 | 'AX_LIB_EXPAT', | 629 | 'AX_LIB_EXPAT', |
629 | 'AX_LIB_GCRYPT', | 630 | 'AX_LIB_GCRYPT', |
diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index 3164171eb2..47a08194d0 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py | |||
@@ -18,7 +18,8 @@ import sys | |||
18 | import tempfile | 18 | import tempfile |
19 | import threading | 19 | import threading |
20 | import importlib | 20 | import importlib |
21 | from importlib import machinery | 21 | import importlib.machinery |
22 | import importlib.util | ||
22 | 23 | ||
23 | class KeepAliveStreamHandler(logging.StreamHandler): | 24 | class KeepAliveStreamHandler(logging.StreamHandler): |
24 | def __init__(self, keepalive=True, **kwargs): | 25 | def __init__(self, keepalive=True, **kwargs): |
@@ -82,7 +83,9 @@ def load_plugins(logger, plugins, pluginpath): | |||
82 | logger.debug('Loading plugin %s' % name) | 83 | logger.debug('Loading plugin %s' % name) |
83 | spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] ) | 84 | spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] ) |
84 | if spec: | 85 | if spec: |
85 | return spec.loader.load_module() | 86 | mod = importlib.util.module_from_spec(spec) |
87 | spec.loader.exec_module(mod) | ||
88 | return mod | ||
86 | 89 | ||
87 | def plugin_name(filename): | 90 | def plugin_name(filename): |
88 | return os.path.splitext(os.path.basename(filename))[0] | 91 | return os.path.splitext(os.path.basename(filename))[0] |
diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py index 018815b966..674ccfc244 100644 --- a/scripts/lib/wic/engine.py +++ b/scripts/lib/wic/engine.py | |||
@@ -19,10 +19,10 @@ import os | |||
19 | import tempfile | 19 | import tempfile |
20 | import json | 20 | import json |
21 | import subprocess | 21 | import subprocess |
22 | import shutil | ||
22 | import re | 23 | import re |
23 | 24 | ||
24 | from collections import namedtuple, OrderedDict | 25 | from collections import namedtuple, OrderedDict |
25 | from distutils.spawn import find_executable | ||
26 | 26 | ||
27 | from wic import WicError | 27 | from wic import WicError |
28 | from wic.filemap import sparse_copy | 28 | from wic.filemap import sparse_copy |
@@ -245,7 +245,7 @@ class Disk: | |||
245 | for path in pathlist.split(':'): | 245 | for path in pathlist.split(':'): |
246 | self.paths = "%s%s:%s" % (native_sysroot, path, self.paths) | 246 | self.paths = "%s%s:%s" % (native_sysroot, path, self.paths) |
247 | 247 | ||
248 | self.parted = find_executable("parted", self.paths) | 248 | self.parted = shutil.which("parted", path=self.paths) |
249 | if not self.parted: | 249 | if not self.parted: |
250 | raise WicError("Can't find executable parted") | 250 | raise WicError("Can't find executable parted") |
251 | 251 | ||
@@ -283,7 +283,7 @@ class Disk: | |||
283 | "resize2fs", "mkswap", "mkdosfs", "debugfs","blkid"): | 283 | "resize2fs", "mkswap", "mkdosfs", "debugfs","blkid"): |
284 | aname = "_%s" % name | 284 | aname = "_%s" % name |
285 | if aname not in self.__dict__: | 285 | if aname not in self.__dict__: |
286 | setattr(self, aname, find_executable(name, self.paths)) | 286 | setattr(self, aname, shutil.which(name, path=self.paths)) |
287 | if aname not in self.__dict__ or self.__dict__[aname] is None: | 287 | if aname not in self.__dict__ or self.__dict__[aname] is None: |
288 | raise WicError("Can't find executable '{}'".format(name)) | 288 | raise WicError("Can't find executable '{}'".format(name)) |
289 | return self.__dict__[aname] | 289 | return self.__dict__[aname] |
diff --git a/scripts/lib/wic/misc.py b/scripts/lib/wic/misc.py index 57c042c503..3e11822996 100644 --- a/scripts/lib/wic/misc.py +++ b/scripts/lib/wic/misc.py | |||
@@ -16,9 +16,9 @@ import logging | |||
16 | import os | 16 | import os |
17 | import re | 17 | import re |
18 | import subprocess | 18 | import subprocess |
19 | import shutil | ||
19 | 20 | ||
20 | from collections import defaultdict | 21 | from collections import defaultdict |
21 | from distutils import spawn | ||
22 | 22 | ||
23 | from wic import WicError | 23 | from wic import WicError |
24 | 24 | ||
@@ -122,7 +122,7 @@ def find_executable(cmd, paths): | |||
122 | if provided and "%s-native" % recipe in provided: | 122 | if provided and "%s-native" % recipe in provided: |
123 | return True | 123 | return True |
124 | 124 | ||
125 | return spawn.find_executable(cmd, paths) | 125 | return shutil.which(cmd, path=paths) |
126 | 126 | ||
127 | def exec_native_cmd(cmd_and_args, native_sysroot, pseudo=""): | 127 | def exec_native_cmd(cmd_and_args, native_sysroot, pseudo=""): |
128 | """ | 128 | """ |
diff --git a/scripts/lib/wic/pluginbase.py b/scripts/lib/wic/pluginbase.py index d9b4e57747..b64568339b 100644 --- a/scripts/lib/wic/pluginbase.py +++ b/scripts/lib/wic/pluginbase.py | |||
@@ -9,9 +9,11 @@ __all__ = ['ImagerPlugin', 'SourcePlugin'] | |||
9 | 9 | ||
10 | import os | 10 | import os |
11 | import logging | 11 | import logging |
12 | import types | ||
12 | 13 | ||
13 | from collections import defaultdict | 14 | from collections import defaultdict |
14 | from importlib.machinery import SourceFileLoader | 15 | import importlib |
16 | import importlib.util | ||
15 | 17 | ||
16 | from wic import WicError | 18 | from wic import WicError |
17 | from wic.misc import get_bitbake_var | 19 | from wic.misc import get_bitbake_var |
@@ -54,7 +56,9 @@ class PluginMgr: | |||
54 | mname = fname[:-3] | 56 | mname = fname[:-3] |
55 | mpath = os.path.join(ppath, fname) | 57 | mpath = os.path.join(ppath, fname) |
56 | logger.debug("loading plugin module %s", mpath) | 58 | logger.debug("loading plugin module %s", mpath) |
57 | SourceFileLoader(mname, mpath).load_module() | 59 | spec = importlib.util.spec_from_file_location(mname, mpath) |
60 | module = importlib.util.module_from_spec(spec) | ||
61 | spec.loader.exec_module(module) | ||
58 | 62 | ||
59 | return PLUGINS.get(ptype) | 63 | return PLUGINS.get(ptype) |
60 | 64 | ||
diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index ea709e8c54..2c5d5efe0e 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py | |||
@@ -258,6 +258,8 @@ class DirectPlugin(ImagerPlugin): | |||
258 | if part.mountpoint == "/": | 258 | if part.mountpoint == "/": |
259 | if part.uuid: | 259 | if part.uuid: |
260 | return "PARTUUID=%s" % part.uuid | 260 | return "PARTUUID=%s" % part.uuid |
261 | elif part.label: | ||
262 | return "PARTLABEL=%s" % part.label | ||
261 | else: | 263 | else: |
262 | suffix = 'p' if part.disk.startswith('mmcblk') else '' | 264 | suffix = 'p' if part.disk.startswith('mmcblk') else '' |
263 | return "/dev/%s%s%-d" % (part.disk, suffix, part.realnum) | 265 | return "/dev/%s%s%-d" % (part.disk, suffix, part.realnum) |
diff --git a/scripts/runqemu b/scripts/runqemu index f3527a4412..f9a1a0da32 100755 --- a/scripts/runqemu +++ b/scripts/runqemu | |||
@@ -1573,7 +1573,8 @@ def main(): | |||
1573 | 1573 | ||
1574 | def sigterm_handler(signum, frame): | 1574 | def sigterm_handler(signum, frame): |
1575 | logger.info("SIGTERM received") | 1575 | logger.info("SIGTERM received") |
1576 | os.kill(config.qemupid, signal.SIGTERM) | 1576 | if config.qemupid: |
1577 | os.kill(config.qemupid, signal.SIGTERM) | ||
1577 | config.cleanup() | 1578 | config.cleanup() |
1578 | # Deliberately ignore the return code of 'tput smam'. | 1579 | # Deliberately ignore the return code of 'tput smam'. |
1579 | subprocess.call(["tput", "smam"]) | 1580 | subprocess.call(["tput", "smam"]) |
diff --git a/scripts/runqemu-ifdown b/scripts/runqemu-ifdown index a104c37bf8..e0eb5344c6 100755 --- a/scripts/runqemu-ifdown +++ b/scripts/runqemu-ifdown | |||
@@ -64,3 +64,4 @@ n=$[ (`echo $TAP | sed 's/tap//'` * 2) + 1 ] | |||
64 | dest=$[ (`echo $TAP | sed 's/tap//'` * 2) + 2 ] | 64 | dest=$[ (`echo $TAP | sed 's/tap//'` * 2) + 2 ] |
65 | $IPTABLES -D POSTROUTING -t nat -j MASQUERADE -s 192.168.7.$n/32 | 65 | $IPTABLES -D POSTROUTING -t nat -j MASQUERADE -s 192.168.7.$n/32 |
66 | $IPTABLES -D POSTROUTING -t nat -j MASQUERADE -s 192.168.7.$dest/32 | 66 | $IPTABLES -D POSTROUTING -t nat -j MASQUERADE -s 192.168.7.$dest/32 |
67 | true | ||
diff --git a/scripts/wic b/scripts/wic index a741aed364..c0bc0e6fe8 100755 --- a/scripts/wic +++ b/scripts/wic | |||
@@ -22,9 +22,9 @@ import sys | |||
22 | import argparse | 22 | import argparse |
23 | import logging | 23 | import logging |
24 | import subprocess | 24 | import subprocess |
25 | import shutil | ||
25 | 26 | ||
26 | from collections import namedtuple | 27 | from collections import namedtuple |
27 | from distutils import spawn | ||
28 | 28 | ||
29 | # External modules | 29 | # External modules |
30 | scripts_path = os.path.dirname(os.path.realpath(__file__)) | 30 | scripts_path = os.path.dirname(os.path.realpath(__file__)) |
@@ -47,7 +47,7 @@ if os.environ.get('SDKTARGETSYSROOT'): | |||
47 | break | 47 | break |
48 | sdkroot = os.path.dirname(sdkroot) | 48 | sdkroot = os.path.dirname(sdkroot) |
49 | 49 | ||
50 | bitbake_exe = spawn.find_executable('bitbake') | 50 | bitbake_exe = shutil.which('bitbake') |
51 | if bitbake_exe: | 51 | if bitbake_exe: |
52 | bitbake_path = scriptpath.add_bitbake_lib_path() | 52 | bitbake_path = scriptpath.add_bitbake_lib_path() |
53 | import bb | 53 | import bb |
@@ -159,6 +159,9 @@ def wic_create_subcommand(options, usage_str): | |||
159 | "(Use -e/--image-name to specify it)") | 159 | "(Use -e/--image-name to specify it)") |
160 | native_sysroot = options.native_sysroot | 160 | native_sysroot = options.native_sysroot |
161 | 161 | ||
162 | if options.kernel_dir: | ||
163 | kernel_dir = options.kernel_dir | ||
164 | |||
162 | if not options.vars_dir and (not native_sysroot or not os.path.isdir(native_sysroot)): | 165 | if not options.vars_dir and (not native_sysroot or not os.path.isdir(native_sysroot)): |
163 | logger.info("Building wic-tools...\n") | 166 | logger.info("Building wic-tools...\n") |
164 | subprocess.check_call(["bitbake", "wic-tools"]) | 167 | subprocess.check_call(["bitbake", "wic-tools"]) |
diff --git a/scripts/yocto-check-layer b/scripts/yocto-check-layer index 6975b09502..00a16d18fc 100755 --- a/scripts/yocto-check-layer +++ b/scripts/yocto-check-layer | |||
@@ -41,6 +41,12 @@ def test_layer(td, layer, test_software_layer_signatures): | |||
41 | tc.loadTests(CASES_PATHS) | 41 | tc.loadTests(CASES_PATHS) |
42 | return tc.runTests() | 42 | return tc.runTests() |
43 | 43 | ||
44 | def dump_layer_debug(layer): | ||
45 | logger.debug("Found layer %s (%s)" % (layer["name"], layer["path"])) | ||
46 | collections = layer.get("collections", {}) | ||
47 | if collections: | ||
48 | logger.debug("%s collections: %s" % (layer["name"], ", ".join(collections))) | ||
49 | |||
44 | def main(): | 50 | def main(): |
45 | parser = argparse.ArgumentParser( | 51 | parser = argparse.ArgumentParser( |
46 | description="Yocto Project layer checking tool", | 52 | description="Yocto Project layer checking tool", |
@@ -106,6 +112,13 @@ def main(): | |||
106 | else: | 112 | else: |
107 | dep_layers = layers | 113 | dep_layers = layers |
108 | 114 | ||
115 | logger.debug("Found additional layers:") | ||
116 | for l in additional_layers: | ||
117 | dump_layer_debug(l) | ||
118 | logger.debug("Found dependency layers:") | ||
119 | for l in dep_layers: | ||
120 | dump_layer_debug(l) | ||
121 | |||
109 | logger.info("Detected layers:") | 122 | logger.info("Detected layers:") |
110 | for layer in layers: | 123 | for layer in layers: |
111 | if layer['type'] == LayerType.ERROR_BSP_DISTRO: | 124 | if layer['type'] == LayerType.ERROR_BSP_DISTRO: |