1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 00:20:08 +00:00

sanity: detect if bitbake wrapper is not being used or pseudo is broken

* Shows a warning during sanity checking if the scripts/bitbake wrapper is
  not being used
* Check to see if pseudo is working during sanity checking, and if it
  isn't an error occurs (if we are using the wrapper script and pseudo
  has been built; otherwise it is a warning).

Fixes [YOCTO #653]

(From OE-Core rev: 0b06b69992dd3df1dfff7bde694d7ad23d8d15a0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton
2011-03-16 16:51:40 +00:00
committed by Saul Wold
parent a7d927af35
commit 97532bc759
3 changed files with 28 additions and 2 deletions
+24 -1
View File
@@ -40,7 +40,26 @@ def check_sanity_tmpdir_change(tmpdir):
def check_sanity_version_change():
# Sanity checks to be done when SANITY_VERSION changes
return ""
def check_pseudo_wrapper():
import subprocess as sub
# Check if bitbake wrapper is being used
pseudo_build = os.environ.get( 'PSEUDO_BUILD' )
if not pseudo_build:
bb.warn("Bitbake has not been run using the bitbake wrapper (scripts/bitbake); this is likely because your PATH has been altered from that normally set up by the poky-init-build-env script. Not using the wrapper may result in failures during package installation, so it is highly recommended that you set your PATH back so that the wrapper script is being executed.")
if (not pseudo_build) or pseudo_build == '2':
# pseudo ought to be working, let's see if it is...
p = sub.Popen(['sh', '-c', 'PSEUDO_DISABLED=0 id -u'],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
if out.rstrip() != '0':
msg = "Pseudo is not functioning correctly, which will cause failures during package installation. Please check your configuration."
if pseudo_build == '2':
return msg
else:
bb.warn(msg)
return ""
def check_create_long_filename(filepath, pathname):
testfile = os.path.join(filepath, ''.join([`num`[-1] for num in xrange(1,200)]))
try:
@@ -187,6 +206,10 @@ def check_sanity(e):
missing = missing.rstrip(',')
messages = messages + "Please install following missing utilities: %s\n" % missing
pseudo_msg = check_pseudo_wrapper()
if pseudo_msg != "":
messages = messages + pseudo_msg + '\n'
# Check if DISPLAY is set if IMAGETEST is set
if not data.getVar( 'DISPLAY', e.data, True ) and data.getVar( 'IMAGETEST', e.data, True ) == 'qemu':
messages = messages + 'qemuimagetest needs a X desktop to start qemu, please set DISPLAY correctly (e.g. DISPLAY=:1.0)\n'