diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2015-08-18 17:28:49 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-19 18:05:52 +0100 |
commit | 99730d64d4b83ce37d4b3f5a7f992512fd12cbf7 (patch) | |
tree | e25464c8651e14cffc5db34a7a70a68994abbae0 | |
parent | 3a1af0717782896051cf376b04b221653207ed19 (diff) | |
download | poky-99730d64d4b83ce37d4b3f5a7f992512fd12cbf7.tar.gz |
bitbake: toaster: checksettings: fix TEMPLATECONF detection
Improving the TEMPLATECONF detection by verifying the return
code and dumping extra debug information in case of exception.
(Bitbake rev: bdc00755993aa37e7669c3859ef4ea9b1fc3e680)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py index 2978db23aa..83b4f28c86 100644 --- a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py +++ b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py | |||
@@ -166,7 +166,12 @@ class Command(NoArgsCommand): | |||
166 | for dirname in self._recursive_list_directories(be.sourcedir,2): | 166 | for dirname in self._recursive_list_directories(be.sourcedir,2): |
167 | if os.path.exists(os.path.join(dirname, ".templateconf")): | 167 | if os.path.exists(os.path.join(dirname, ".templateconf")): |
168 | import subprocess | 168 | import subprocess |
169 | conffilepath, error = subprocess.Popen('bash -c ". '+os.path.join(dirname, ".templateconf")+'; echo \"\$TEMPLATECONF\""', shell=True, stdout=subprocess.PIPE).communicate() | 169 | proc = subprocess.Popen('bash -c ". '+os.path.join(dirname, ".templateconf")+'; echo \"\$TEMPLATECONF\""', shell=True, stdout=subprocess.PIPE) |
170 | conffilepath, stderroroutput = proc.communicate() | ||
171 | proc.wait() | ||
172 | if proc.returncode != 0: | ||
173 | raise Exception("Failed to source TEMPLATECONF: %s" % stderroroutput) | ||
174 | |||
170 | conffilepath = os.path.join(conffilepath.strip(), "toasterconf.json") | 175 | conffilepath = os.path.join(conffilepath.strip(), "toasterconf.json") |
171 | candidatefilepath = os.path.join(dirname, conffilepath) | 176 | candidatefilepath = os.path.join(dirname, conffilepath) |
172 | if "toaster_cloned" in candidatefilepath: | 177 | if "toaster_cloned" in candidatefilepath: |
@@ -195,6 +200,7 @@ class Command(NoArgsCommand): | |||
195 | return is_changed | 200 | return is_changed |
196 | except Exception as e: | 201 | except Exception as e: |
197 | print "Failure while trying to import the toaster config file: %s" % e | 202 | print "Failure while trying to import the toaster config file: %s" % e |
203 | traceback.print_exc(e) | ||
198 | else: | 204 | else: |
199 | print "\n Toaster could not find a configuration file. You need to configure Toaster manually using the web interface, or create a configuration file and use\n bitbake/lib/toaster/managepy.py loadconf [filename]\n command to load it. You can use https://wiki.yoctoproject.org/wiki/File:Toasterconf.json.txt.patch as a starting point." | 205 | print "\n Toaster could not find a configuration file. You need to configure Toaster manually using the web interface, or create a configuration file and use\n bitbake/lib/toaster/managepy.py loadconf [filename]\n command to load it. You can use https://wiki.yoctoproject.org/wiki/File:Toasterconf.json.txt.patch as a starting point." |
200 | 206 | ||